背景

恩山无线论坛(right.com.cn)有个二郎签到插件,每天手动点一下拿 1 积分,虽然不多但积少成多。平时签到脚本跑在青龙面板上,顺手给它安排上。

抓包分析

手机开 Stream 抓了个 HAR,核心就两个东西:

  1. formhash — 签到页 erling_qd-sign_in.html 的隐藏字段,每次请求可取到
  2. 签到接口POST /forum/plugin.php?id=erling_qd:action&action=sign,带 formhash 发 POST 即签

响应很简单:

1
{"success":true,"credit":1,"continuous_days":1,"message":"签到成功"}

插件叫 erling_qd,页面还有排行走、签到日历,但脚本只需要做到 POST 签到即可。

脚本

青龙面板跑 Node.js,纯 https 模块请求,不依赖第三方包:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const https = require('https');

// 从页面取 formhash
function getFormhash() {
return request('https://www.right.com.cn/forum/erling_qd-sign_in.html', {
headers: { Cookie: COOKIE, 'User-Agent': UA }
}).then(({ body }) => {
const m = body.match(/formhash\s*=\s*['"]([a-f0-9]+)['"]/);
if (m) return m[1];
throw new Error('未找到 formhash');
});
}

// 签到
function signin(formhash) {
return request('https://www.right.com.cn/forum/plugin.php?id=erling_qd:action&action=sign', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded', Cookie: COOKIE },
body: `formhash=${formhash}`
}).then(res => JSON.parse(res.body));
}

Cookie 从抓包 HAR 提取,设到青龙环境变量 RIGHT_COOKIE,脚本启动时读环境变量。

部署效果

青龙面板直接 API 上传脚本 + 建定时任务,每天早 8 点自动跑:

  • 脚本已上传青龙 /ql/data/scripts/right_checkin.js
  • 环境变量 RIGHT_COOKIE 已配置
  • 定时 0 8 * * *
  • 试跑一次 —— ✅ 签到成功,+1 积分,连续 1 天

日志输出简洁,失败时打印错误信息,成功时显示积分变化和连续天数。


📝 本文由 AI 助手群晖仕辅助生成