多服务签到自动化工具,支持 YuChen、GlaDos、AirPort、JavBus 等服务的自动签到。
- ✅ 配置与代码解耦 - 配置文件可使用任意字段名,代码自动映射
- ✅ 多账号支持 - 每个服务支持多个账号,一个失败不影响其他
- ✅ 双环境运行 - 支持在 Qinglong 面板或 GitHub Actions 中运行
- ✅ 错误隔离 - 单个账号失败不会影响其他账号和任务
- ✅ 详细日志 - 清晰的日志输出和失败详情
- ✅ 多种推送 - 支持 Gotify、Telegram、Webhook、邮件通知
- Python 3.7+
- 依赖:
requests,pyyaml
pip install requests pyyaml在 config/ 目录下创建各服务的配置文件:
config/
├── yuchen.yaml # 御厨签到配置
├── glados.yaml # GlaDos 签到配置
├── airport.yaml # AirPort 签到配置
├── javbus.yaml # JavBus 签到配置
└── config.yaml # 全局配置 (可选)
accounts:
- url: "https://your-yuchen-site.com/api/checkin"
username: "your_username"
password: "your_password"
- url: "https://another-site.com/api/checkin"
username: "user2"
password: "pass2"accounts:
- cookies: "glados.one 的登录 Cookie"accounts:
- base_url: "https://your-airport-site.com"
email: "your_email@example.com"
password: "your_password"accounts:
- url: "https://javbus.com"
cookies: "登录 Cookie"# 推送配置
push:
type: "telegram" # gotify/telegram/webhook/mail
api_url: "https://api.telegram.org/bot<token>/sendMessage"
chat_id: "your_chat_id"
# 自定义 User-Agent
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"配置文件支持使用多种字段名,代码会自动映射:
| 标准字段 | 可用别名 |
|---|---|
| url | base_url, domain, site_url |
| username | user, account, email |
| password | pass, pwd |
| cookies | cookie |
| user_agent | user-agent, ua |
例如,以下配置都是等价的:
# 方式1: 使用标准字段
accounts:
- url: "https://example.com"
username: "user"
password: "pass"
# 方式2: 使用别名
accounts:
- base_url: "https://example.com"
account: "user"
pass: "pass"
# 方式3: 混用
accounts:
- site_url: "https://example.com"
user: "user"
pwd: "pass"python3 main.py- 将项目文件上传到 Qinglong
- 在 Qinglong 中添加环境变量或配置文件
- 创建定时任务运行
python3 main.py
- Fork 本项目
- 在仓库 Settings → Secrets 中添加以下 secrets:
| Secret 名称 | 说明 | 格式 |
|---|---|---|
| YUCHEN_ACCOUNTS | 御厨账号 | JSON 数组 |
| GLADOS_ACCOUNTS | GlaDos 账号 | JSON 数组 |
| AIRPORT_ACCOUNTS | AirPort 账号 | JSON 数组 |
| JAVBUS_ACCOUNTS | JavBus 账号 | JSON 数组 |
| PUSH_CONFIG | 推送配置 | JSON 对象 |
| USER_AGENT | User-Agent | 字符串 |
// YUCHEN_ACCOUNTS
[
{
"url": "https://your-site.com/api/checkin",
"username": "your_username",
"password": "your_password"
}
]
// GLADOS_ACCOUNTS
[
{
"cookies": "glados登录cookie"
}
]
// PUSH_CONFIG
{
"type": "telegram",
"api_url": "https://api.telegram.org/bot<TOKEN>/sendMessage",
"chat_id": "<CHAT_ID>"
}- 启用 GitHub Actions 工作流 (默认每天 UTC 0:00 执行)
- 可手动触发: 进入 Actions → Auto Checkin → Run workflow
2024-01-01 00:00:00 - autocheck - INFO - ========== AutoCheck 开始 ==========
2024-01-01 00:00:00 - autocheck - INFO - ========== YuChen 开始签到 (共 2 个账号) ==========
2024-01-01 00:00:01 - autocheck - INFO - YuChen 开始签到: user1
2024-01-01 00:00:02 - autocheck - INFO - YuChen 签到成功: user1
2024-01-01 00:00:02 - autocheck - INFO - YuChen 开始签到: user2
2024-01-01 00:00:03 - autocheck - WARNING - YuChen 签到失败: user2 - 密码错误
2024-01-01 00:00:03 - autocheck - INFO - ========== YuChen 签到完成: 成功 1/2 ==========
...
2024-01-01 00:00:10 - autocheck - INFO - ========== 签到汇总 ==========
2024-01-01 00:00:10 - autocheck - INFO - YuChen: 成功 1/2
2024-01-01 00:00:10 - autocheck - INFO - GlaDos: 成功 2/2
2024-01-01 00:00:10 - autocheck - INFO - AirPort: 成功 1/1
2024-01-01 00:00:10 - autocheck - INFO - JavBus: 成功 0/1
2024-01-01 00:00:10 - autocheck - INFO - 总计: 成功 4, 失败 2
2024-01-01 00:00:10 - autocheck - INFO - ========== 全部完成 ==========
autoCheck/
├── main.py # 主程序入口
├── README.md # 说明文档
├── TASKS.md # 任务计划
├── requirements.txt # Python 依赖
├── config/ # 配置文件目录
│ ├── yuchen.yaml
│ ├── glados.yaml
│ ├── airport.yaml
│ └── javbus.yaml
├── checkin/ # 签到模块
│ ├── __init__.py
│ ├── yuchen.py
│ ├── glados.py
│ ├── airport.py
│ └── javbus.py
└── utils/ # 工具模块
├── __init__.py
├── config.py
├── logger.py
├── gotify.py
├── telegram.py
├── webhook.py
└── mail.py
A: 在浏览器中登录后,按 F12 打开开发者工具 → Network → 找到任意请求 → 复制 Request Headers 中的 Cookie。
A: 检查 Secrets 配置是否正确,特别是 JSON 格式是否有效。可以手动触发 workflow 查看详细日志。
A: 单个账号失败不会影响其他账号和其他服务。每个账号的签到结果是独立的。
MIT