Automatically claim daily login rewards for Arknights: Endfield
Project description
Endfield Daily Login Helper
Automatically claim daily login rewards for Arknights: Endfield.
Inspired by hoyo-daily-logins-helper.
Features
- 🎁 Automatic daily sign-in
- 📋 Multiple account support
- ⏰ Scheduler mode for continuous operation
- 🔔 Discord webhook notifications
- 🐳 Docker support
Installation
pipx (Recommended)
pipx installs the tool in an isolated environment:
pipx install endfield-daily-helper
Or install directly from GitHub:
pipx install git+https://github.com/chiraitori/endfield-daily-helper.git
pip
pip install endfield-daily-helper
From Source
git clone https://github.com/chiraitori/endfield-daily-helper.git
cd endfield-daily-helper
pip install -e .
Docker
docker build -t endfield-daily .
docker run --rm -e ENDFIELD_TOKEN="your_token" endfield-daily
Quick Start
1. Get Your ACCOUNT_TOKEN
The website uses httpOnly cookies that cannot be copied via document.cookie. You need to extract the ACCOUNT_TOKEN manually:
- Open the Endfield Sign-in Page
- Log in with your Hypergryph/SKPORT account
- Open browser DevTools (F12) → Application tab
- In the left sidebar, expand Cookies → click
.skport.com - Find the cookie named
ACCOUNT_TOKENand copy its Value
2. Run Sign-in
endfield-daily --token "YOUR_ACCOUNT_TOKEN_HERE"
That's it! 🎉
CLI Usage
endfield-daily [OPTIONS]
Options:
--version Show version and exit
--token TOKEN ACCOUNT_TOKEN from browser cookies (required)
--cookie COOKIE Cookie string (backup method)
--config-file FILE Path to TOML configuration file
--identifier NAME Account identifier for logging
--debug Enable debug logging
-h, --help Show help message
Examples
Basic usage:
endfield-daily --token "YOUR_TOKEN"
With custom identifier:
endfield-daily --token "YOUR_TOKEN" --identifier "Main Account"
Debug mode:
endfield-daily --token "YOUR_TOKEN" --debug
Using environment variable:
export ENDFIELD_TOKEN="YOUR_TOKEN"
endfield-daily
Configuration File
For multiple accounts or advanced features, create a config file endfield-daily-helper.toml:
[config]
enable_scheduler = false
[[accounts]]
identifier = "Main Account"
token = "YOUR_ACCOUNT_TOKEN_HERE"
# Add more accounts:
# [[accounts]]
# identifier = "Alt Account"
# token = "ANOTHER_ACCOUNT_TOKEN"
Run with config file:
endfield-daily --config-file endfield-daily-helper.toml
The CLI automatically looks for config files in these locations:
./endfield-daily-helper.toml~/.config/endfield-daily-helper.toml
Scheduler Mode
Enable continuous operation with automatic daily sign-ins:
[config]
enable_scheduler = true
[[accounts]]
identifier = "My Account"
token = "YOUR_ACCOUNT_TOKEN"
# Optional: customize check-in time (default: 00:05 Asia/Shanghai)
checkin_time = {hour = 0, minute = 5, timezone = "Asia/Shanghai"}
Run the scheduler:
endfield-daily --config-file endfield-daily-helper.toml
The scheduler will:
- Sign in immediately on start
- Run daily at the configured time
- Keep running until stopped (Ctrl+C)
Environment Variables
| Variable | Description |
|---|---|
ENDFIELD_TOKEN |
ACCOUNT_TOKEN value (recommended) |
ENDFIELD_COOKIE |
Cookie string (backup method) |
ENDFIELD_CONFIG |
Path to config file |
ENDFIELD_DEBUG |
Enable debug mode (1 or true) |
Docker
Docker Run
docker run --rm \
-e ENDFIELD_TOKEN="your_token" \
ghcr.io/Chiraitori/endfield-daily-helper
Docker Compose
version: "3"
services:
endfield-daily:
image: ghcr.io/chiraitori/endfield-daily-helper
environment:
- ENDFIELD_TOKEN=your_token_here
restart: unless-stopped
Build Locally
docker build -t endfield-daily .
docker run --rm -e ENDFIELD_TOKEN="your_token" endfield-daily
Troubleshooting
"Already signed in today"
This is normal! It means you (or this tool) already claimed today's reward.
401 Unauthorized Error
Your token has expired. Get a fresh ACCOUNT_TOKEN from browser DevTools:
- Log out and log back in on the sign-in page
- Copy the new
ACCOUNT_TOKENvalue - Update your config or CLI argument
Token Expiration
The ACCOUNT_TOKEN may expire after extended periods. If sign-in fails after working previously, refresh your token from the browser.
Debug Mode
If you encounter issues, run with --debug to see detailed request/response logs:
endfield-daily --token "YOUR_TOKEN" --debug
How It Works
The authentication flow:
- Exchange
ACCOUNT_TOKENfor OAuth code via Gryphline OAuth - Generate credentials from OAuth code
- Refresh signing token
- Fetch player binding info (game role)
- POST to attendance API with signed headers
Publishing to PyPI
To publish this package:
# Build the package
pip install build
python -m build
# Upload to PyPI
pip install twine
twine upload dist/*
License
MIT
Credits
- Inspired by hoyo-daily-logins-helper
- API reverse-engineered from SKPORT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file endfield_daily_helper-1.0.1.tar.gz.
File metadata
- Download URL: endfield_daily_helper-1.0.1.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d35d2dbbb4b042eccf09a19b97fcbf473c660dd01c75c453295cf250375f638d
|
|
| MD5 |
b8d51a1527806c50370e309b2de08522
|
|
| BLAKE2b-256 |
012bd906778b641d67570216f2713f823b5924aa69bd1a541b313db7a72feeeb
|
Provenance
The following attestation bundles were made for endfield_daily_helper-1.0.1.tar.gz:
Publisher:
build-and-publish.yml on chiraitori/endfield-daily-helper
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
endfield_daily_helper-1.0.1.tar.gz -
Subject digest:
d35d2dbbb4b042eccf09a19b97fcbf473c660dd01c75c453295cf250375f638d - Sigstore transparency entry: 849798042
- Sigstore integration time:
-
Permalink:
chiraitori/endfield-daily-helper@b74ab8e4ce5153e65ea38d39e4d6b168287d450a -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/chiraitori
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-and-publish.yml@b74ab8e4ce5153e65ea38d39e4d6b168287d450a -
Trigger Event:
push
-
Statement type:
File details
Details for the file endfield_daily_helper-1.0.1-py3-none-any.whl.
File metadata
- Download URL: endfield_daily_helper-1.0.1-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ed612345d290375bad4d39a21f5d75e8d2c2cac967889225acc7592e6076d4d
|
|
| MD5 |
c8195166e2d9e4cb963d40c3d2bc28a1
|
|
| BLAKE2b-256 |
be793fa43a929a098d836f03576ad531662330c77e98a02ed0063476f7aad1d5
|
Provenance
The following attestation bundles were made for endfield_daily_helper-1.0.1-py3-none-any.whl:
Publisher:
build-and-publish.yml on chiraitori/endfield-daily-helper
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
endfield_daily_helper-1.0.1-py3-none-any.whl -
Subject digest:
5ed612345d290375bad4d39a21f5d75e8d2c2cac967889225acc7592e6076d4d - Sigstore transparency entry: 849798043
- Sigstore integration time:
-
Permalink:
chiraitori/endfield-daily-helper@b74ab8e4ce5153e65ea38d39e4d6b168287d450a -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/chiraitori
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-and-publish.yml@b74ab8e4ce5153e65ea38d39e4d6b168287d450a -
Trigger Event:
push
-
Statement type: