From 68721d1abb1c8c125844ee44803334e477ae1b4d Mon Sep 17 00:00:00 2001 From: zhuhjay Date: Wed, 4 Nov 2026 20:49:54 +0800 Subject: [PATCH] =?UTF-8?q?refactor(qqmusic):=20=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E6=94=B9=E5=90=8D=20scrip=5Fqqmusic=5Fcheckin.js=20=E4=BB=A5?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E8=AE=A2=E9=98=85=E7=99=BD=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 订阅规则 ql repo 的 whitelist 参数是 "scrip_",只有文件名带该前缀的才会被拉取。 原文件名 qqmusic_checkin.js 不在白名单内,青龙订阅拉不到。 - qqmusic/qqmusic_checkin.js -> qqmusic/scrip_qqmusic_checkin.js(git mv 保留历史) - test_sign_run.js 的 require 路径同步 - qqmusic/README.md 与根 README.md 更新文件名与白名单约定说明 - 根 README 补 QQ音乐条目(环境变量 SH_QQMUSIC_KEY / cron 1 0,6 * * *) 依赖拉取不受影响:订阅命令的 dependence 参数 sendNotify|common 会额外拉这两个文件, 脚本的 require('../sendNotify') 仍指向青龙内置/仓库根的 sendNotify.js。 验证:node --check 通过 / 签名对拍 6 组向量全 PASS / 空 env 优雅跳过 / 单账号与 & 多账号解析正确 / 整串 cookie 形态解析正确 --- README.md | 4 ++++ qqmusic/README.md | 11 +++++++---- .../{qqmusic_checkin.js => scrip_qqmusic_checkin.js} | 5 ++++- qqmusic/test_sign_run.js | 2 +- 4 files changed, 16 insertions(+), 6 deletions(-) rename qqmusic/{qqmusic_checkin.js => scrip_qqmusic_checkin.js} (98%) diff --git a/README.md b/README.md index e267619..f0bdc5b 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,10 @@ |---------|---------|----------|----------|----------| | 京东Cookie辅助脚本 | `jd/scrip_moving_env_enhance.js` | 将JD CK进行重排序,保证所有账号都有助力与被助力的机会 | 需要修改脚本内域名(对应ql的域名) | `59 23 */3 * *` | | 携趣白名单切换 | `xiequ/scrip_switch.js` | 多个携趣账号,多个IP,自动选择合适的携趣进行白名单切换 | `XQ_ACCOUNTS`
`XQ_WHITELIST` | `38 2,8,14,20 * * *` | +| QQ音乐自动签到 | `qqmusic/scrip_qqmusic_checkin.js` | QQ音乐会员成长值任务 + 会员福利站自动签到(签到/挂件/装扮/听书/节目/礼券/月里程碑/抽奖) | `SH_QQMUSIC_KEY`
(多账号同名多条,格式 `#`) | `1 0,6 * * *` | + +> **文件名约定**:订阅白名单是 `scrip_`,所有脚本文件必须带该前缀才会被拉取。 +> 详见各目录下的 README。 ## 安装使用 diff --git a/qqmusic/README.md b/qqmusic/README.md index 83ca4d8..a3da68e 100644 --- a/qqmusic/README.md +++ b/qqmusic/README.md @@ -1,9 +1,12 @@ -# QQ音乐自动签到(qqmusic_checkin.js) +# QQ音乐自动签到(scrip_qqmusic_checkin.js) QQ音乐会员成长值任务 + 会员福利站 自动签到,青龙面板 Node 零依赖。 协议底座与 [LDP924/auto-checkin](https://github.com/LDP924/auto-checkin)(Python)逐字节同源: `u6.y.qq.com/cgi-bin/musics.fcg` 网关 + `zzc` 签名(sha1 重组 + 置乱表 + b64 去尾)+ `qm_keyst` cookie。 +> **文件名必须带 `scrip_` 前缀**:本仓库的青龙订阅规则白名单是 `scrip_`, +> 不带前缀的文件不会被订阅拉取(脚本、测试、文档同一约定)。 + ## 环境变量 | 变量 | 必填 | 说明 | @@ -53,7 +56,7 @@ cron: 1 0,6 * * * ## 本地测试 ```bash -node --check qqmusic_checkin.js # 语法 -node qqmusic_checkin.js # 无 env 时优雅跳过 -SH_QQMUSIC_KEY='123#Q_H_L_x' node -e "console.log(require('./qqmusic_checkin').parseAccounts())" +node --check scrip_qqmusic_checkin.js # 语法 +node scrip_qqmusic_checkin.js # 无 env 时优雅跳过 +SH_QQMUSIC_KEY='123#Q_H_L_x' node -e "console.log(require('./scrip_qqmusic_checkin').parseAccounts())" ``` diff --git a/qqmusic/qqmusic_checkin.js b/qqmusic/scrip_qqmusic_checkin.js similarity index 98% rename from qqmusic/qqmusic_checkin.js rename to qqmusic/scrip_qqmusic_checkin.js index d6f7734..783fae6 100644 --- a/qqmusic/qqmusic_checkin.js +++ b/qqmusic/scrip_qqmusic_checkin.js @@ -1,6 +1,9 @@ #!/usr/bin/env node /** - * qqmusic_checkin.js —— QQ音乐会员成长值 + 会员福利站 自动签到(青龙 Node 零依赖) + * scrip_qqmusic_checkin.js —— QQ音乐会员成长值 + 会员福利站 自动签到(青龙 Node 零依赖) + * + * 文件名前缀 scrip_ 是订阅白名单要求(ql repo 的 whitelist 参数 = "scrip_"), + * 不带前缀的文件不会被青龙订阅拉取。 * * 协议底座: u6.y.qq.com/cgi-bin/musics.fcg + zzc 签名 + qm_keyst cookie * - zzc / time33 实现与 LDP924/auto-checkin qmcommon.py 逐字节同源(sha1 重组 + 置乱表 + b64 去尾) diff --git a/qqmusic/test_sign_run.js b/qqmusic/test_sign_run.js index 27c5a45..2499a6b 100644 --- a/qqmusic/test_sign_run.js +++ b/qqmusic/test_sign_run.js @@ -3,7 +3,7 @@ 'use strict' const fs = require('fs') const path = require('path') -const { zzc, time33 } = require(path.join(__dirname, 'qqmusic_checkin.js')) +const { zzc, time33 } = require(path.join(__dirname, 'scrip_qqmusic_checkin.js')) const expect = JSON.parse(fs.readFileSync(path.join(__dirname, 'test_sign_expect.json'), 'utf8')) let fails = 0