Skip to main content

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:

  1. Open the Endfield Sign-in Page
  2. Log in with your Hypergryph/SKPORT account
  3. Open browser DevTools (F12) → Application tab
  4. In the left sidebar, expand Cookies → click .skport.com
  5. Find the cookie named ACCOUNT_TOKEN and 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

# Optional: Discord notifications
notifications = [
    {type = "discord", webhook_url = "https://discord.com/api/webhooks/..."}
]

[[accounts]]
identifier = "Main Account"
token = "YOUR_ACCOUNT_TOKEN_HERE"

[[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:

  1. Log out and log back in on the sign-in page
  2. Copy the new ACCOUNT_TOKEN value
  3. 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:

  1. Exchange ACCOUNT_TOKEN for OAuth code via Gryphline OAuth
  2. Generate credentials from OAuth code
  3. Refresh signing token
  4. Fetch player binding info (game role)
  5. 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

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

endfield_daily_helper-1.0.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

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

endfield_daily_helper-1.0.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file endfield_daily_helper-1.0.0.tar.gz.

File metadata

  • Download URL: endfield_daily_helper-1.0.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for endfield_daily_helper-1.0.0.tar.gz
Algorithm Hash digest
SHA256 35ba7b5d139f72f0968f31a91ebec24befe9c1e871aca674dbf00ab8ceb70a6b
MD5 a234a048d16a6d77e8a68364c75d030c
BLAKE2b-256 f177a66470eb3d523113ba3823fb46e25be1f7ce9eb35bf0b63fcf00459b1719

See more details on using hashes here.

Provenance

The following attestation bundles were made for endfield_daily_helper-1.0.0.tar.gz:

Publisher: build-and-publish.yml on chiraitori/endfield-daily-helper

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

File details

Details for the file endfield_daily_helper-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for endfield_daily_helper-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee1427c596e5d02f9d1a341a69dc6e6ce05f382d901ab77978c7f91805a84825
MD5 58967a23e75777c75931b46a4fc9c15d
BLAKE2b-256 5c0bb77aa53903a7e4ecfb71e2fca08d71b48dbb90f2ae7213d65b6e05ac0a92

See more details on using hashes here.

Provenance

The following attestation bundles were made for endfield_daily_helper-1.0.0-py3-none-any.whl:

Publisher: build-and-publish.yml on chiraitori/endfield-daily-helper

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