每天自动完成签到,结果可推送到手机。
支持 多账号 · 域名自动探测 · 设备自适应 · 单轮时间预算,运行在 GitHub Actions 上,无需服务器。
Note
非官方项目,与 GLaDOS 官方无关,仅供学习与交流使用。
- Fork 本仓库。
- 在自己的仓库进入
Settings→Secrets and variables→Actions→New repository secret,至少添加GLADOS_COOKIES。 - 打开
Actions→GLaDOS Check-in→Run workflow手动跑一次,看到「签到成功」或「重复签到」即完成。 - 之后每天 09:18 / 12:18(北京时间)自动运行。
| Secret | 必填 | 说明 |
|---|---|---|
GLADOS_COOKIES |
是 | 账号列表,固定 JSON 数组,见账号配置 |
PUSHDEER_SENDKEY |
否 | PushDeer 推送,见消息推送 |
SERVERCHAN_SENDKEY |
否 | Server酱 推送,见消息推送 |
GLADOS_EXCHANGE_PLAN |
否 | plan100 / plan200 / plan500,见积分兑换 |
GLADOS_VERBOSE |
否 | true / 1 / yes 输出详细日志 |
必须是 JSON 数组,每个账号一个对象,只允许下面四个字段:
[
{
"name": "大号",
"origin": "glados.cloud",
"cookie": "koa:sess=...; koa:sess.sig=...; gld:sess=...",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... Safari/537.36"
},
{
"name": "小号",
"origin": "railgun.info",
"cookie": "koa:sess=...; koa:sess.sig=..."
},
{
"name": "账号3",
"cookie": "gld:sess=..."
}
]| 字段 | 必填 | 说明 |
|---|---|---|
cookie |
是 | 完整 Cookie;新版建议同时包含 gld:sess 与 gld:sess.sig |
name |
否 | 备注名,不填显示 账号1 |
origin |
否 | Cookie 所属域名,不填自动探测 |
user-agent |
否 | 提取 Cookie 时的浏览器 UA,建议填写 |
要点
- 字段名固定,出现其他字段直接报错。
- 重复 Cookie 自动去重,不会重复签到。
- 旧
&分隔仍兼容但会提示迁移;换行分隔、字符串数组、单个对象已不支持。
如何获取
签到页按 F12 → Network → 刷新 → 选中任一请求 → Request Headers,复制 Cookie 与 User-Agent 的完整值。
探测顺序(不填 origin 时按此顺序,命中即停)
glados.cloud → railgun.info → glados.network → glados.rocks → glados.one → glados.space → glados.vip → glados-facility.com
探测用短超时快速筛一遍;只对网络无响应的域名再试一次,返回「没有权限」的不重试。
设置 GLADOS_EXCHANGE_PLAN 后才执行,且只在签到成功 / 重复时兑换。
| 档位 | 消耗积分 | 获得天数 |
|---|---|---|
plan100 |
100 | 10 天 |
plan200 |
200 | 30 天 |
plan500 |
500 | 100 天 |
不填或填非法值则不兑换;余额不足时接口返回失败,不会扣成负数。
| 后端 | Secret | 获取密钥 |
|---|---|---|
| PushDeer | PUSHDEER_SENDKEY |
pushdeer.com 下载 App,在 App 内获取 pushkey |
| Server酱 | SERVERCHAN_SENDKEY |
sct.ftqq.com 微信扫码登录,在页面获取 SendKey |
两个可单独或同时配置(都发,任一成功即视为成功);都不配则跳过推送,不影响签到。
GLaDOS 签到 · 成功 1 · 失败 1 · 重复 1
#1 大号 ✅ 签到成功 glados.cloud 获得 20 积分 · 剩余 48 天 · 总 409 积分
#2 小号 🔄 重复签到 railgun.info 获得 0 积分 · 剩余 23 天 · 总 528 积分
#3 账号3 🔴 签到失败 未探测 获得 0 积分 · 剩余 None 天 · 总 None 积分
| 标记 | 含义 |
|---|---|
✅ 签到成功 |
本次签到成功,获得 N 积分 为本次所得 |
🔄 重复签到 |
今天已签过,正常结果,不算失败 |
🔴 签到失败 |
未能签到,见问题排查 |
账号名列只在多账号时出现。
默认每天 09:18 / 12:18(北京时间),由 .github/workflows/gladosCheck.yml 的 schedule 控制:
schedule:
- cron: '18 9,12 * * *'
timezone: 'Asia/Shanghai'改 cron 即可调整时间;timezone 让 GitHub 按北京时间解释。例如只保留早上一次:
schedule:
- cron: '18 9 * * *'
timezone: 'Asia/Shanghai'正常日志
| 日志片段 | 说明 |
|---|---|
✅ 命中登录域名(剩余 N 天) |
探测成功,后续只在该域名签到 |
✅ 重试后命中登录域名(剩余 N 天) |
该域名首次无响应,重试后成功 |
[REDACTED] |
脱敏标记,凭证已被替换 |
异常日志
| 日志片段 | 原因与处理 |
|---|---|
候选域名均返回「没有权限」 |
Cookie 失效,或账号不在候选域名内 → 重新登录并更新 Cookie |
候选域名均未获得服务端响应 |
网络/服务端故障,非 Cookie 问题 → 稍后重跑 |
设备平台不匹配(loginDevice=…) |
UA 与登录设备不一致 → 补充 user-agent 字段 |
签到被拒:please checkin via … |
token 与域名不符(多为服务端规则变更)→ 确认 Cookie 来源域名 |
无权限(code=-2) |
该 Cookie 失效或账号风控 |
Automated check-in detected / 只给 1 积分 |
GLaDOS 判定为自动签到;脚本已适配 challenge,但 TLS/HTTP 指纹、IP、设备等仍可能被识别 → 手动签到或使用官方客户端 |
运行超出预算 |
单轮超时,剩余账号被跳过 → 下轮或手动重跑 |
积分请求失败 / 响应解析失败 / 格式异常 / 字段无法解析 |
查总积分失败 → 推送里显示 总 None 积分,不影响签到结果,可忽略 |
推送里出现
总 None 积分只表示本次没取到总积分(该接口偶发较慢),与签到成功与否无关;想确认可手动重跑一次。
Q:一次运行多久?
正常几秒到几十秒。单轮预算 300 秒(约 5 分钟),超出会跳过剩余账号。
Q:Cookie 多久会过期?
没有固定期限。退出登录、改密码、服务端会话策略调整都可能让它提前失效。出现「候选域名均返回没有权限」或 code=-2 时,重新登录并更新 GLADOS_COOKIES 即可。
Q:支持多个账号吗?
支持,数量不限,在 JSON 数组里多写几项即可。重复的 Cookie 会自动去重,不会重复签到。
Q:需要标注每条 Cookie 属于哪个域名吗?
不需要,脚本会自动探测。填 origin 的好处是少发几个探测请求、日志更清楚。注意各站 Cookie 通常不互通,每条 Cookie 必须来自它真正登录的站点。
Q:填错 origin 会怎样?
不会失败。origin 只是优先尝试:命中就直接签到,返回「没有权限」则自动回退遍历全部 8 个内置域名。
Q:多账号时怎么区分日志是哪个账号?
不填 name 时按顺序自动命名,显示 🍪[账号1]、🍪[账号2];填了则显示 🍪[1:大号]、🍪[2:小号]、🍪[3:账号3],序号与总结里的 #1 #2 #3 对应。
Q:一个账号会跑几个任务?
一个。脚本先探测域名、再只在该域名签到,任务数等于账号数。
Q:「重复签到」算成功还是失败?
算正常结果。表示当天已签过,服务端返回 code=1,总结里单独计数为「重复」,不计入失败。
Q:遇到设备不匹配(code=4)怎么办?
GLaDOS 会校验 UA 与登录设备。填了 user-agent 就原样使用;没填则用默认 UA,失败时按 loginDevice 自动重试一次;仍失败会提示补充 user-agent —— 填入提取 Cookie 时那个浏览器的 UA 即可。
Q:Actions 是绿色的,但没收到通知?
先确认对应 Secret 拼写正确(日志会打印「已配置 N 个后端」)。注意 Server酱 返回 code=0 只代表任务已入队,不代表已送达;长时间未收到请检查该 SendKey 是否已绑定微信。
Q:公开仓库的定时任务会自己停掉吗?
会。GitHub 对公开仓库有「连续 60 天无活动则停用 schedule」的规则。本仓库内置 keepalive 步骤定期产生活动,但并非 100% 保证;发现停跑去 Actions 页面重新启用即可。
Q:配置了兑换会不会把积分乱花掉?
按 GLADOS_EXCHANGE_PLAN 指定档位执行,不填就不兑换,且只在签到成功/重复时才兑换。余额不足时接口返回失败,不会扣成负数。
Q:签到失败会让 Actions 变红吗?
分两种情况:配置错误(未填 Cookie、JSON 格式非法)会以非 0 退出码结束,工作流变红;业务失败(Cookie 失效 code=-2、服务端 5xx)不会变红,避免偶发失败天天误报。因此业务失败需要自己关注推送或日志。
Q:「剩余 0 天」是怎么回事?
账号当天到期,签到本身仍会成功。建议配置 GLADOS_EXCHANGE_PLAN 用积分续期,详见积分兑换。
Q:可以本地运行吗?
可以,用于调试。安装依赖后设置环境变量再执行:
pip install -r requirements.txt
export GLADOS_COOKIES='[{"cookie":"koa:sess=..."}]'
python checkin.pyWindows PowerShell 用 $env:GLADOS_COOKIES='[...]'。
.
├── checkin.py # 主程序:账号模型 / API / 配置 / 报告 / 推送
├── logging_config.py # 日志配置(北京时间、级别短标签、脱敏)
├── requirements.txt # 依赖
├── README.md # 说明文档
├── LICENSE # MIT 许可
└── .github/workflows/
└── gladosCheck.yml # Actions 定时任务
2026-01
- 重构代码,添加日志输出方便定位,支持新版网址,支持配置积分兑换策略。
2026-04
- 优化代码逻辑与日志输出。
2026-09
- 设备平台自适应重试,无需手动配置 UA。
- 网络层自动重试与退避。
- 日志时间统一为北京时间;定时任务调整为每天 2 次。
- 默认关闭自动兑换。
2026-10
- 推送兼容 Server酱。
2026-11
- GLADOS_COOKIES 格式改为 JSON 数组,支持
name/origin/cookie/user-agent;旧&格式仍兼容。 - 优化失败原因提示;签到被拒、兑换未完成等场景给出可执行建议。
- 日志自动脱敏:
koa:*/gld:*/ Bearer →[REDACTED]。 - 加入 challenge 校验机制;获取失败时回退旧协议。
- 不保证稳定运行,接口与风控策略可能随时调整。
- 只调用网页端使用的公开 API,不破解验证码;服务端风控仍可能拒绝或降权。
- 使用风险自负;因使用本工具导致的账号风控、限权或封禁由使用者自行承担。
- 本项目以 MIT 发布。
如果这个项目对你有帮助,欢迎点个 ⭐ Star。