🇬🇧 English | 🇨🇳 简体中文
这是一个用于 HidenCloud 服务自动续期的脚本,支持本地运行、GitHub Actions 云端运行和青龙面板三种部署方式。可以自动完成续期和支付操作,并智能管理 Cookie 缓存。
- ☁️ 多种部署方式:本地运行 / GitHub Actions / 青龙面板
- 🔄 Cookie 自动持久化:自动更新并缓存最新 Cookie
- 👥 多账号支持:支持同时处理多个账号(最多 10 个)
- 💳 自动支付:自动完成续期后的支付流程
- 📊 详细日志:实时输出处理进度和结果
- 🛡️ 智能重试:Cookie 失效时自动回退重试
- 🔐 安全可靠:GitHub Actions 自动更新仓库变量中的 Cookie
- 📜 工作流对比:提供多种工作流选择,灵活应对验证策略
前置要求:
- Node.js (建议 v14 或更高版本)
- npm 包依赖:
axios,cheerio,playwright,playwright-extra,puppeteer-extra-plugin-stealth
快速开始:
详见 快速开始指南
完全云端自动化,无需本地环境,自动更新 Cookie。
配置步骤:
-
Fork 本仓库到你的 GitHub 账号
-
Fork 本仓库到你的 GitHub 账号
-
设置仓库 Secret
- 进入你 Fork 的仓库 → Settings → Secrets and variables → Actions
- 点击 New repository secret
- Name:
USERS_JSON - Secret: 粘贴你的账号配置 JSON(格式如下)
[ {"username": "user1@example.com", "password": "password123"}, {"username": "user2@example.com", "password": "password456"} ]
-
启用 GitHub Actions
- 进入 Actions 标签
- 如果看到提示,点击 "I understand my workflows, go ahead and enable them"
-
手动运行测试
- Actions → Katabump Auto Renew New → Run workflow
- 查看运行日志确认成功
如果需要任务执行结果通知,可以配置 Telegram Bot:
-
获取配置信息:
TG_BOT_TOKEN: 联系 @BotFather 创建机器人获取 TokenTG_CHAT_ID: 联系 @userinfobot 获取你的 ID,或邀请机器人入群获取群组 ID
-
添加 Secrets:
- 同样在 Settings → Secrets and variables → Actions 中添加:
- Name:
TG_BOT_TOKEN - Secret: 你的 Bot Token
- Name:
TG_CHAT_ID - Secret: 你的 User ID 或 Group ID
- Name:
- 同样在 Settings → Secrets and variables → Actions 中添加:
配置完成后,每次任务执行结束都会发送简要报告到你的 Telegram。
工作流说明:
- 自动运行:每 3 天自动触发
- 手动触发:可随时在 Actions 页面手动运行
- Cookie 自动更新:执行完成后会自动更新仓库变量中的 Cookie
适合已有青龙面板的用户。
使用方法:
- 复制
qinglong.js到青龙面板 - 设置环境变量
HIDEN_COOKIE,多账号用&或换行分隔 - 定时规则:
0 10 */7 * *(每 7 天运行)
详见文件内注释说明。
npm install
在脚本同目录下创建 cookie.json 文件,格式如下:
{
"cookie1": "你的第一个账号的完整Cookie字符串",
"cookie2": "你的第二个账号的完整Cookie字符串",
"cookie3": ""
}说明:
- 字段名必须为
cookie1,cookie2,cookie3等格式 - 留空或不填的字段会被自动忽略
- Cookie 获取方法见下文
node local_renew.js- 登录 HidenCloud Dashboard
- 按
F12打开开发者工具 - 切换到
Network(网络) 标签 - 刷新页面
- 点击任意请求,查看
Request Headers - 复制
Cookie字段的完整内容
使用 Cookie 导出扩展(如 EditThisCookie、Cookie-Editor)直接导出。
如果您是在 Windows 本地运行,可以使用提供的自动登录脚本来生成 Cookie。
-
准备账号文件:在项目根目录创建
users.json,格式如下:[ {"username": "你的邮箱", "password": "你的密码"}, {"username": "第二个账号", "password": "密码"} ] -
运行登录脚本:
node win_login.js
脚本会自动打开 Chrome 浏览器进行登录,通过验证后将 Cookie 保存到
cookie.json。 -
配置 Chrome 路径: 打开
win_login.js,找到const CHROME_PATH = ...这一行。 将路径修改为你本机 Chrome 的实际安装路径(例如'D:\\Software\\Chrome\\Application\\chrome.exe')。
双击 start.bat 脚本。
它会自动执行:登录获取 Cookie → 生成 cookie.json → 执行续期。
脚本内的可配置参数(在 local_renew.js 顶部):
const RENEW_DAYS = 10; // 续期天数,默认 10 天
const COOKIE_FILE = path.join(__dirname, 'cookie.json'); // Cookie 文件路径
const CACHE_FILE = path.join(__dirname, 'hiden_cookies_cache.json'); // 缓存文件路径╔════════════════════════════════════════════╗
║ HidenCloud 本地自动续期脚本 v2.0 ║
╚════════════════════════════════════════════╝
📋 共找到 2 个账号
==================================================
开始处理: cookie1 (1/2)
==================================================
[cookie1] 🔄 发现本地缓存 Cookie,优先使用...
[cookie1] 🔍 正在验证登录状态...
[cookie1] ✅ 登录成功,发现 3 个服务
[cookie1] >>> 处理服务 ID: 12345
[cookie1] 📅 提交续期 (10天)...
[cookie1] ⚡️ 续期成功,前往支付
[cookie1] 💳 提交支付...
[cookie1] ✅ 支付成功!
💾 [cookie1] 最新 Cookie 已保存到本地缓存
╔════════════════════════════════════════════╗
║ 续期结果汇总 ║
╚════════════════════════════════════════════╝
📊 cookie1:
✅ 成功续期 3 个服务
📊 cookie2:
✅ 成功续期 2 个服务
✨ 脚本执行完毕!
- Cookie 安全:请妥善保管
cookie.json文件,不要泄露给他人 - 定期更新:Cookie 可能会过期,失效时请及时更新
- 运行频率:建议设置定时任务,每 7 天运行一次
- 网络环境:确保网络能正常访问 hidencloud.com
- 打开「任务计划程序」
- 创建基本任务
- 触发器设置为每 7 天运行一次
- 操作选择「启动程序」
- 程序/脚本填写
node - 添加参数填写脚本完整路径
# 编辑 crontab
crontab -e
# 添加定时任务(每周一上午10点运行)
0 10 * * 1 cd /path/to/hidencloud && node local_renew.js >> renew.log 2>&1| 特性 | 本地运行 | GitHub Actions | 青龙面板 |
|---|---|---|---|
| 运行环境 | 本地 Node.js | GitHub 云端 | 青龙容器 |
| Cookie 来源 | cookie.json | 仓库变量 | 环境变量 |
| 自动定时 | 需手动设置 | ✅ 内置 | ✅ 内置 |
| Cookie 自动更新 | ✅ 本地缓存 | ❌ 每次IP不同,保存COOKIE下次也无法使用 | ✅ 本地缓存 |
| 消息推送 | ❌ | ❌ | ✅ |
| 多账号支持 | ✅ | ✅ | ✅ |
| 推荐指数 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
现象:提示「当前 Cookie 已失效」
解决:
- 重新登录 HidenCloud
- 获取最新 Cookie
- 更新
cookie.json
现象:npm install 报错
解决:
# 清除缓存
npm cache clean --force
# 重新安装
npm install现象:请求超时或连接失败
解决:
- 检查网络连接
- 尝试使用代理
- 增加脚本中的
timeout值
MIT License
感谢 gally16 提供的青龙脚本!本项目在此基础上进行了优化和Github Actions部署和windows部署。