Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/workflows/checkin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ name: AnyRouter 自动签到

on:
schedule:
# 每天 UTC 时间 0:00 执行 (北京时间 8:00)
- cron: '0 0 * * *'
workflow_dispatch: # 允许手动触发
workflow_dispatch:

jobs:
checkin:
Expand All @@ -28,6 +27,14 @@ jobs:
- name: 执行签到
env:
ANYROUTER_ACCOUNTS: ${{ secrets.ANYROUTER_ACCOUNTS }}
DINGDING_WEBHOOK: ${{ secrets.DINGDING_WEBHOOK }}
EMAIL_USER: ${{ secrets.EMAIL_USER }}
EMAIL_PASS: ${{ secrets.EMAIL_PASS }}
EMAIL_TO: ${{ secrets.EMAIL_TO }}
PUSHPLUS_TOKEN: ${{ secrets.PUSHPLUS_TOKEN }}
SERVERPUSHKEY: ${{ secrets.SERVERPUSHKEY }}
FEISHU_WEBHOOK: ${{ secrets.FEISHU_WEBHOOK }}
WEIXIN_WEBHOOK: ${{ secrets.WEIXIN_WEBHOOK }}
run: |
python checkin.py

Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
.claude
.claude
.env*
.venv
__pycache__
.pytest_cache
64 changes: 40 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,8 @@

### 4. 多账号配置格式

支持以下几种格式:
支持单个与多个

#### 格式一:JSON 数组格式 (推荐)
```json
[
{
Expand All @@ -65,27 +64,6 @@
]
```

#### 格式二:JSON 对象格式 (单账号)
```json
{
"cookies": {
"session": "session_value"
},
"api_user": "api_user_id"
}
```

#### 格式三:简化格式(没测试)
```
session=value1|api_user1;session=value4|api_user2
```

格式说明:
- 使用 `;` 分隔不同账号
- 使用 `|` 分隔 cookies 和 api_user
- 使用 `,` 分隔不同的 cookie 键值对
- 使用 `=` 分隔 cookie 的 key 和 value

通过 F12 工具可获取 cookies 与 api_user 的值。

![获取签到](./assets/request-header.png)
Expand Down Expand Up @@ -140,6 +118,35 @@ session=value1|api_user1;session=value4|api_user2
]
```

## 开启通知

脚本支持多种通知方式,可以通过配置以下环境变量开启,如果 `webhook` 有要求安全设置,例如钉钉,可以在新建机器人时选择自定义关键词,填写 `AnyRouter`。

### 邮箱通知
- `EMAIL_USER`: 发件人邮箱地址
- `EMAIL_PASS`: 发件人邮箱密码/授权码
- `EMAIL_TO`: 收件人邮箱地址

### 钉钉机器人
- `DINGDING_WEBHOOK`: 钉钉机器人的 Webhook 地址

### 飞书机器人
- `FEISHU_WEBHOOK`: 飞书机器人的 Webhook 地址

### 企业微信机器人
- `WEIXIN_WEBHOOK`: 企业微信机器人的 Webhook 地址

### PushPlus 推送
- `PUSHPLUS_TOKEN`: PushPlus 的 Token

### Server酱
- `SERVERPUSHKEY`: Server酱的 SendKey

配置步骤:
1. 在仓库的 Settings -> Environments -> production -> Environment secrets 中添加上述环境变量
2. 每个通知方式都是独立的,可以只配置你需要的推送方式
3. 如果某个通知方式配置不正确或未配置,脚本会自动跳过该通知方式

## 故障排除

如果签到失败,请检查:
Expand All @@ -150,6 +157,15 @@ session=value1|api_user1;session=value4|api_user2
4. 网站是否更改了签到接口
5. 查看 Actions 运行日志获取详细错误信息

## 测试

```python
uv venv
.venv\Scripts\activate
pip install -r requirements-dev.txt
pytest tests/
```

## 免责声明

本脚本仅用于学习和研究目的,使用前请确保遵守相关网站的使用条款
本脚本仅用于学习和研究目的,使用前请确保遵守相关网站的使用条款.
Loading