自动签到脚本,通过 GitHub Actions 定时执行,支持 Telegram 推送签到结果。
如果觉得有用,右上角点个 ⭐ Star 支持一下,感谢!
| 站点 | 方式 | 奖励 |
|---|---|---|
| V2EX | Cookie | 铜币 |
| Bilibili | Cookie | 硬币 |
| Yamibo(百合会 / 300) | 账号密码 | 对象 |
| Yurifans | 账号密码 | 积分 |
| 赛马娘 | Cookie | 游戏内道具 + 积分 |
| 哔咔漫画 | 账号密码 | 经验 |
⚠️ FF14 商城签到已废弃。SDO 登录接口接入了 Geetest 风控,脚本登录会触发滑块验证码,无法自动绕过。
Telegram 推送:
- Fork 本仓库
- 添加环境变量:Settings → Secrets and variables → Actions → New repository secret
- 默认使用 GitHub-hosted runner(
ubuntu-latest),北京时间每天 07:30 自动运行
更新:打开自己 fork 的仓库,点击 Sync fork → Update branch 即可同步
签到结果示例:
| GitHub-hosted | Self-hosted |
|---|---|
![]() |
![]() |
项目提供两个 workflow 文件:
| 文件 | Runner | 说明 |
|---|---|---|
checkin.yml |
ubuntu-latest |
fork 直接使用,无需额外配置 |
checkin-self-hosted.yml |
self-hosted |
需自建 runner,纯 shell 步骤不依赖 action 下载 |
Fork 后开箱即用。Yamibo 论坛有百度 WAF 防护,脚本通过 Playwright 解决 JS 挑战。
适合需要本地网络环境的场景(例如 Yamibo 签到),使用 myoung34/docker-github-actions-runner 在本地启动 runner:
docker run -d \
--name github-runner \
--net=host \
--platform linux/amd64 \
--restart unless-stopped \
-e ACCESS_TOKEN="<PAT>" \
-e DEBUG_OUTPUT="true" \
-e LABELS="self-hosted,linux" \
-e REPO_URL="https://github.com/jckling/Daily-Bonus" \
-e RUN_AS_ROOT="true" \
-e RUNNER_NAME="local-runner" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v runner_work:/_work \
myoung34/github-runner:latest需要修改的参数:
ACCESS_TOKEN:GitHub Personal Access TokenREPO_URL:fork 的仓库地址
Self-hosted runner 卡住没有日志
检查容器能否连接 launch.actions.githubusercontent.com,国内网络可能无法直连。checkin-self-hosted.yml 已改为纯 shell 步骤(git clone + curl),不依赖 external action 下载。如仍有问题,给容器配置代理或使用 --net=host。
Yamibo 签到提示「页面被拦截」
Yamibo 启用了百度 WAF JS 挑战,curl_cffi 无法执行 JS 会返回 405。脚本通过 Playwright 启动 headless Chromium 解决挑战并提取 nox_jst_v1 cookie。GitHub-hosted runner 已内置 Playwright 浏览器安装步骤;self-hosted runner 需确保 Docker 容器内有 Chromium 运行依赖。
签到失败
在 Actions 页面点击 Re-run 重新运行即可。Cookie 可能过期,重新获取后更新 Secrets。
在仓库 Settings → Secrets → Actions 中添加以下环境变量,按需配置:
| Name | Description |
|---|---|
| TG_BOT_TOKEN | Bot Token,参考 How Do I Create a Bot? |
| TG_USER_ID | 用户 ID,参考 How can I send a message to someone with my telegram bot using their Username |
使用 Cookie 登录,需要 site、joy_jct、DedeUserID、SESSDATA
| Name | Description |
|---|---|
| UMA_COOKIES | Cookie |
使用 Cookie 登录,需要 PB3_SESSION、A2、V2EX_LANG、V2EX_TAB
| Name | Description |
|---|---|
| V2EX_COOKIES | Cookie |
使用账号密码登录,通过 Playwright 解决百度 WAF JS 挑战
| Name | Description |
|---|---|
| YAMIBO_USERNAME | 用户名 |
| YAMIBO_PASSWORD | 密码 |
| Name | Description |
|---|---|
| YURIFANS_EMAIL | 邮箱 |
| YURIFANS_PASSWORD | 密码 |
使用 Cookie 登录,需要 SESSDATA、DedeUserID
| Name | Description |
|---|---|
| BILIBILI_COOKIES | Cookie |
| Name | Description |
|---|---|
| PICA_USERNAME | 用户名或邮箱 |
| PICA_PASSWORD | 密码 |
- macOS (Apple Silicon, ARM64)
- Python 3.13
- uv(依赖管理)
- curl_cffi(TLS 指纹伪装)
- Playwright(WAF JS 挑战)
- Chrome DevTools / HAR 抓包



