Skip to main content

CLI command for claiming Honkai: Star Rail HoYoLAB daily check-in rewards.

Project description

hsr-login

崩壊:スターレイルのWebログインボーナスを取得するCLIコマンドです。

現在のバージョンは 0.3.1 です。

HoYoLAB の Web 版デイリーチェックインのうち、ゲーム名が「崩壊:スターレイル」のものだけを対象にします。原神やゼンレスゾーンゼロのチェックイン API は呼びません。

クイックインストール

macOS / Linux:

pipx install hsr-login

Windows PowerShell:

pipx install hsr-login

インストール後は hsr-login コマンドで実行します。

pipx を使うと、専用の仮想環境に PyPI 版の hsr-login を入れ、コマンドだけを普段の PATH から呼び出せます。hsr-login コマンドが見つからない場合は、PATH の設定を確認してください。

使い方

初回だけ HoYoLAB のログイン Cookie を保存します。

hsr-login login --check

hsr-login login --check では、自動取得用のブラウザーで「崩壊:スターレイル」のチェックインページを開きます。HoYoLAB にログインすると、CLI がブラウザー内の Cookie を検出して保存します。

保存後は次のコマンドで本日のログインボーナスを受け取れます。

hsr-login claim

サブコマンドを省略した場合も claim として動作します。

hsr-login

受け取り状態だけを確認する場合は次を使います。

hsr-login status

保存した Cookie を削除する場合は次を使います。

hsr-login logout

ログインのオプション

ブラウザー自動取得

既定では --browser auto として動作します。Chrome / Chromium / Edge / Brave / Comet / Arc などの Chromium 系ブラウザーを順に探し、macOS では Chromium 系ブラウザーが見つからない場合に Safari も候補にします。

Chromium 系ブラウザーを明示する場合は --browser chromium を指定します。

hsr-login login --browser chromium --check

Chrome が自動検出できない場合は、実行ファイルを指定できます。

macOS:

hsr-login login --browser-command "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --check

Windows PowerShell:

hsr-login login --browser-command "C:\Program Files\Google\Chrome\Application\chrome.exe" --check

Safari を明示して使う場合は --browser safari を指定します。

hsr-login login --browser safari --check

Safari 自動取得は macOS の safaridriver を使います。初回は Safari の開発メニューで「リモートオートメーションを許可」を有効にするか、次を実行してください。

safaridriver --enable

Safari WebDriver は通常の Safari プロファイルではなく隔離された自動化ウィンドウを使うため、普段使いの Safari に保存済みの Cookie は読み取りません。表示された Safari ウィンドウで HoYoLAB にログインしてください。

safaridriver の場所を明示する場合は --safaridriver-command を使います。

hsr-login login --browser safari --safaridriver-command /usr/bin/safaridriver --check

手動入力

自動取得を使わず、従来どおり開発者ツールから Request Headers の Cookie: 以降を貼り付ける場合は --manual を使います。

hsr-login login --manual --check

インストール詳細

Homebrew 版 Python など PEP 668 に対応した環境では、グローバルな python3 -m pip install --user ...externally-managed-environment で失敗することがあります。CLI として使う場合は、専用 venv を自動で管理する pipx を推奨します。

PyPI からインストールする

PyPI に公開済みのリリースは、次のコマンドでインストールできます。

pipx install hsr-login

更新する場合は次を使います。

pipx upgrade hsr-login

すでに自分で作った venv の中に入れる場合は、通常の pip install も使えます。

python -m pip install hsr-login

ローカルリポジトリからインストールする

未公開の開発版をこのリポジトリから入れる場合は、専用 venv に pip install して hsr-login コマンドだけを呼べるようにするローカルインストーラを使えます。

macOS / Linux:

./scripts/install-local.sh

Windows PowerShell:

.\scripts\install-local.ps1

インストール後は hsr-login コマンドで実行します。

hsr-login --help

バージョンを確認する場合は次を使います。

hsr-login --version

PATH の設定

hsr-login コマンドが見つからない場合は、macOS / Linux では ~/.local/bin、Windows では $HOME\.local\binPATH に追加してください。

export PATH="$HOME/.local/bin:$PATH"

PowerShell では次のように追加できます。

$env:Path = "$HOME\.local\bin;$env:Path"

インストール先を変える

インストール先を変えたい場合は、次の環境変数を使えます。

HSR_LOGIN_VENV_DIR=~/.venvs/hsr-login HSR_LOGIN_BIN_DIR=~/bin ./scripts/install-local.sh

PowerShell:

$env:HSR_LOGIN_VENV_DIR = "$HOME\.venvs\hsr-login"
$env:HSR_LOGIN_BIN_DIR = "$HOME\bin"
.\scripts\install-local.ps1

既存の venv を使う

すでに venv を使っている場合は、その venv の中で通常の pip install も使えます。

python3 -m venv .venv
.venv/bin/python -m pip install .
.venv/bin/hsr-login --help

PowerShell:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install .
.\.venv\Scripts\hsr-login.exe --help

この venv 直下のインストールでは、Python の console script として .\.venv\Scripts\hsr-login.exe が作成されます。上の install-local.ps1$HOME\.local\bin に作成する hsr-login.cmd とは別です。

pipx でローカル版を使う

pipx でも、ローカルリポジトリから開発版を CLI としてインストールできます。

pipx install .

Windows の実行ファイル名

Windows PowerShell 版のインストーラは、既定では $HOME\.local\binhsr-login.cmdhsr-login.ps1 を作成し、内部から専用 venv の Scripts\hsr-login.exe を呼びます。

対話的に実行する場合は、$HOME\.local\binPATH に追加しておけば hsr-login と入力できます。タスク スケジューラなどで実行ファイルのフルパスを指定する場合は、hsr-login.cmd を指定してください。

PyPI 公開手順

このリポジトリは pyproject.tomlproject.scriptshsr-login = "hsr_login:main" を公開します。wheel / sdist を作る場合は次を実行します。

python -m pip install --upgrade build
python -m build

公開は GitHub Actions の Publish to PyPI ワークフローを使います。PyPI 側で Umichang/hsr-login に対する Trusted Publishing を設定してから、GitHub Release を publish するか、手動で workflow dispatch を実行してください。

リリース前には、hsr_login.py__version__、README 冒頭の現在バージョン、GitHub Release のタグを同じバージョンにそろえてください。

Cookie の保存先

既定では次の場所に保存します。

~/.config/hsr-login/config.json

Windows では次の場所です。

%APPDATA%\hsr-login\config.json

保存ファイルは可能な環境では 0600 にします。Chromium 系ブラウザーの自動取得用プロファイルは、既定では設定ファイル横の browser-profile に保存します。このプロファイルにもログイン情報が含まれるため、共有やコミットはしないでください。

Safari 自動取得では browser-profile は使いません。Safari WebDriver の隔離された自動化セッションでログインし、そのセッションから Cookie を取得します。

保存先を変える場合は --config または HSR_LOGIN_CONFIG を使ってください。

hsr-login --config ~/.config/hsr-login/main.json login
HSR_LOGIN_CONFIG=~/.config/hsr-login/main.json hsr-login claim

PowerShell:

hsr-login --config "$env:APPDATA\hsr-login\main.json" login
$env:HSR_LOGIN_CONFIG = "$env:APPDATA\hsr-login\main.json"
hsr-login claim

Cookie はログイン情報そのものです。共有リポジトリへコミットしたり、チャットやログへ貼り付けたりしないでください。

定時実行

hsr-login login --check で Cookie を保存したあとは、hsr-login claim を定時実行できます。

macOS / Linux では cron を使えます。まず hsr-login の実行ファイルの場所を確認します。

which hsr-login

crontab -e で cron の設定を開き、たとえば毎日 5:10 に実行する場合は次のように追加します。cron は通常のシェルより PATH が短いため、hsr-login はフルパスで指定してください。

10 5 * * * /Users/yourname/.local/bin/hsr-login claim >> /Users/yourname/.local/state/hsr-login.log 2>&1

設定ファイルの場所を明示したい場合は、HSR_LOGIN_CONFIG を同じ行で指定できます。

10 5 * * * HSR_LOGIN_CONFIG=/Users/yourname/.config/hsr-login/config.json /Users/yourname/.local/bin/hsr-login claim >> /Users/yourname/.local/state/hsr-login.log 2>&1

Windows では cron の代わりに「タスク スケジューラ」を使えます。操作画面から登録する場合は、毎日実行するトリガーを作り、操作として hsr-login.cmd のフルパスと claim 引数を指定してください。

PowerShell から登録する場合は、次のようにタスクを作成できます。

$action = New-ScheduledTaskAction -Execute "$HOME\.local\bin\hsr-login.cmd" -Argument "claim"
$trigger = New-ScheduledTaskTrigger -Daily -At 5:10
Register-ScheduledTask -TaskName "hsr-login claim" -Action $action -Trigger $trigger

HSR_LOGIN_CONFIG を使う場合は、PowerShell 経由で環境変数を指定してから実行します。

$command = "`$env:HSR_LOGIN_CONFIG = '$env:APPDATA\hsr-login\config.json'; & '$HOME\.local\bin\hsr-login.cmd' claim"
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -Command `"$command`""
$trigger = New-ScheduledTaskTrigger -Daily -At 5:10
Register-ScheduledTask -TaskName "hsr-login claim" -Action $action -Trigger $trigger

対象ページ

このスクリプトは HoYoLAB の「崩壊:スターレイル」チェックインページで使われている hkrpg 用の act_id=e202303301540311 を使います。

https://act.hoyolab.com/bbs/event/signin/hkrpg/index.html?act_id=e202303301540311

HoYoLAB 側の CAPTCHA / リスク判定が出た場合は、CLI では受け取りに失敗します。その場合はブラウザーで手動確認してください。

FAQ

Q. なぜ原神やゼンレスゾーンゼロには対応していないの?

A. どちらも作者が引退状態で、不具合が出た際に即座に対応できないからです。仕組みとしては同じなので、どなたか面倒を見てくださる方がいればワンチャンはあります。自分からはやりません。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hsr_login-0.3.1.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hsr_login-0.3.1-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

Details for the file hsr_login-0.3.1.tar.gz.

File metadata

  • Download URL: hsr_login-0.3.1.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hsr_login-0.3.1.tar.gz
Algorithm Hash digest
SHA256 211414bab601e19577a0a972520d603f7f91bda299458a26779deb85142e3673
MD5 baac230e4cdfa5b019cb7d9837d11433
BLAKE2b-256 bd0eaa07eb3d13ceb61efee0ffe779bcfd23931a2501d6e51b5e22d858a443bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hsr_login-0.3.1.tar.gz:

Publisher: publish.yml on Umichang/hsr-login

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hsr_login-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: hsr_login-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 16.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hsr_login-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1bb27b5c6a2ad36a054f6a71aca0abb2866cbc7a6f617872b0b689088eaac7b
MD5 7ecd3b254a73535398c9ae289688803d
BLAKE2b-256 ca2fc96aeaddf1b1842dc733b9e76d42fdb607ad9ec5990cd01ef84583647db8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hsr_login-0.3.1-py3-none-any.whl:

Publisher: publish.yml on Umichang/hsr-login

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page