基于XCQ0607/katabump优化:增加singbox全协议代理、随机时间签到、ALTCHA验证码自动绕过
这是最省心的方式,配置一次即可每天自动执行。
- Fork 本仓库 到你的 GitHub 账号。
- 进入你的仓库,点击 Settings -> Secrets and variables -> Actions。
- 点击 New repository secret,添加一个名为
USERS_JSON的 Secret。 - Value 的格式必须是 JSON 数组(请尽量压缩为一行):
[{"username": "your_email@example.com", "password": "your_password"}, {"username": "another@example.com", "password": "pwd"}] - (可选) 配置代理:
支持两种代理方式:
全协议代理 (推荐)
添加名为 PROXY_URL 的 Secret,支持 vmess、vless、hy2、tuic、socks5 等所有主流协议。
脚本会自动下载 sing-box 并在本地启动 HTTP 代理,无需手动配置。
- 格式示例:
- vmess:
vmess://base64EncodedJSON - vless:
vless://uuid@host:port?security=tls&type=ws&...#name - hy2:
hy2://password@host:port?sni=xxx - socks5:
socks5://user:pass@host:port
- vmess:
- (可选) Telegram 消息推送:
如果你希望在续期成功、失败或跳过时收到 Telegram 通知(包含截图),请配置以下 Secret:
TG_BOT_TOKEN: 你的 Telegram Bot Token (从 @BotFather 获取)。TG_CHAT_ID: 你的 Chat ID (用户 ID 或群组 ID)。
如果未配置,脚本将跳过发送通知。
- 运行日志: 在 Actions 中的
Run Renew Script步骤查看。 - 截图留存: 每次运行(无论成功与否),通过
Upload Screenshots步骤自动上传截图。- 你可以在 Workflow 运行详情页的 Artifacts 区域下载
screenshots压缩包。 - 每个账号对应一张截图(
username.png),方便确认状态。
- 你可以在 Workflow 运行详情页的 Artifacts 区域下载
- 保存后,进入 Actions 页面,启用 Workflow。它会在每天北京时间 08:00 (UTC 00:00) 自动运行。
- 你也可以手动点击 "Run workflow" 立即测试。
- 随机延迟: 定时任务触发时,脚本会随机延迟 0-3 小时后执行,防止被目标站识别为自动化。手动触发时不会有延迟,立即执行。
如果你想在本地观察运行过程或进行调试,请按以下步骤操作。
确保你已经安装了 Node.js (建议版本 v18+)。
在项目根目录打开终端 (PowerShell 或 CMD),运行:
npm install项目中有一个 login.json.template 模板文件。
-
将其重命名为
login.json。 -
用记事本或编辑器打开,填入你的账号密码:
[ { "username": "myemail@gmail.com", "password": "mypassword123" } ]注意:
login.json已被加入.gitignore,不会被上传到 GitHub,请放心使用。
打开 renew.js 文件,找到第 11-12 行:
const CHROME_PATH = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe";
const USER_DATA_DIR = path.join(__dirname, 'ChromeData_Katabump');
const HEADLESS = true;- CHROME_PATH: 这是你本地 Chrome 浏览器的安装路径。如果你的安装位置不同,请务必修改!
- USER_DATA_DIR:
- 这是一个用于存放 Script 运行时产生的浏览器数据(缓存、Cookie、登录状态等)的文件夹。
- 作用: 它能让你的登录状态保持更久,不需要每次运行都重新输入密码。
- 能不能删?: 可以删。如果你想要重置所有状态(彻底清除缓存),只需删除这个文件夹即可。脚本下次运行时会自动重新创建它。
- HEADLESS:
false: 脚本运行时会弹出一个 Chrome 窗口,你可以看到它在做什么。true: (默认)脚本在后台无头运行,界面不可见(适合只想静默完成任务时开启)。
如果你需要使用代理运行脚本,请设置环境变量 HTTP_PROXY:
Powershell:
$env:HTTP_PROXY="http://user:pass@127.0.0.1:7890"
node renew.jsCMD:
set HTTP_PROXY=http://user:pass@127.0.0.1:7890
node renew.js如果不设置代理,直接运行:
node renew.js脚本会自动启动 Chrome (如果需要),逐个处理账号,并在根目录下的 photo/ 文件夹中保存每个账号运行结束时的截图(账号名.png)。窗口(默认无头模式为 false,你可以看到操作过程),并依次为列表中的用户续期。
renew.js: Windows 本地运行的主程序。action_renew.js: 专门用于 GitHub Actions 环境的脚本(适配 Linux/Headless),支持随机延迟和 sing-box 代理。proxy_handler.py: 代理协议解析器,将 vmess/vless/hy2/tuic/socks5 等协议转换为 sing-box 配置。.github/workflows/renew.yml: GitHub Actions 的定时任务配置文件。login.json: (需手动创建) 存放本地运行的账号信息。