zhuhjay 2bfddc7e04 feat(qqmusic): VIP 体验券(分享卡)配额查询与建卡
从体验券落地页 y.qq.com/m/vip/experience_card/dist/index.html 的
index.036b2e716.js 逆出 music.vip.VipFreeCardSvr 全部 7 个 method,
并在 u6 网关实测路由(GetCanNumConf 用假 key 也返回真实配额表
{1:1,2:1,3:2,4:3,5:3,6:5,7:5,8:7,9:10,10:15},说明该 method 不校验登录;
CreatCard / CheckCurrentCardList 返回 1000=未登录,确认需要登录态)。

语义(官方特权页):有效期内的豪华绿钻每 31 天可按等级赠送不同非会员
好友 3 天体验券,LV1-2 各 1 张、LV3 2 张、LV4-5 各 3 张、LV6-7 各 5 张、
LV8 7 张。卡只能送人,自己领不了自己的(CheckCard 的 ownerUin 判定);
好友非会员自然月限领 1 张。

实现:
- 新增 QMClient.shareCard(),接在 vipStation 之后,失败不拖垮主流程
  (QmDead 照常上抛,其他异常只记日志)
- 默认只读:报「本月配额 N 张 / 已送 M 张 / 剩余 K 张」,不 CreatCard
- QM_SHARE_CARD=on 才在 remain>0 时 CreatCard,输出 cardid 分享链接
- 配额来源:本月卡 sum 优先;本月无卡时取 confInfo 最大档位作上限参考
  (不拿 confInfo[0] 兜底 —— 表里没有 0 号档,会取到 undefined 让 remain 恒 0)
- run() 返回值新增 cardUrl,汇总与通知里带分享链接

验证:node --check 通过 / 签名对拍 6 组 PASS / 空 env 优雅跳过 /
5 个 mock 用例(只读/用完/建卡/无卡兜底)输出符合预期 /
_probe_meta 三元数据 PASS
2026-11-04 22:43:06 +08:00

青龙面板脚本库

这是一个专为青龙面板设计的脚本库,包含各种自动化脚本和工具。

简介

青龙面板是一个支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台。本仓库提供了一系列实用的脚本,帮助用户更好地使用青龙面板进行自动化任务管理。

功能特性

  • 📦 丰富的脚本库
  • 🔧 易于配置和使用
  • 📝 详细的文档说明
  • 🚀 持续更新维护

脚本列表

脚本名称 文件路径 功能描述 环境变量 定时规则
京东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
(多账号同名多条,格式 <uin>#<qm_keyst>)
1 0,6 * * *

文件名约定:订阅白名单是 scrip_,所有脚本文件必须带该前缀才会被拉取。 详见各目录下的 README。

安装使用

环境要求

  • Node.js >= 14.0.0
  • 青龙面板 >= 2.10.0

快速开始

  1. 订阅
ql repo https://gitea.zhuhjay.cn/zhuhjay/ql-scripts.git "scrip_" "" "sendNotify|common" "js"

青龙自动建任务的元数据约定(必读)

订阅勾了「自动添加定时任务」时,青龙从脚本正文正则提取任务名与 cron。 两条正则都不锚定行首、取全文第一个命中(2026-11-04 真机踩坑实录):

项 青龙的提取规则 必须怎么写
任务名 /name:\s*(.+)/ 文件最前面写一行 // name: 中文任务名。全文任何位置都不能再出现「name + 冒号」的连写 —— https.request({ hostname: u.hostname }) 会被抓成任务名 u.hostname,(已复现)
cron /\bcron:\s*([^\r\n]+)/,必须带冒号 写 // cron: 1 0,6 * * *,独占一行、后面不跟任何注释(同一行剩余文字会被一起吞进 schedule)

两个都抓不到时的兜底:任务名 = 文件名;cron = 随机 M H * * *(这就是那次任务被建成 18 21 * * * 的原因)。

自检:

node _probe_meta.js     # 扫描所有 scrip_*.js,复刻两个版本青龙的正则,验证提取结果

_probe_meta.js 是开发期工具,不带 scrip_ 前缀,不会被订阅拉取。 新增脚本后跑一次,全 PASS 再提交。

各脚本的注解写法

// cron: <表达式>
// name: <中文任务名>
/** 说明文字写这里,注意别写 "name:" 连写 */

用行注释而不是块注释:块注释里 cron 的 */ 会提前闭合注释,必须写成 *\/, 而青龙会把反斜杠一起提取出去导致 cron 非法。

脚本说明

使用方法

每个脚本都有详细的使用说明,请查看对应的文档或脚本内的注释。

注意事项

  • 请确保脚本符合青龙面板的规范
  • 使用前请仔细阅读脚本说明
  • 定期更新脚本以获得最新功能

免责声明

本项目仅供学习交流使用,请勿用于非法用途。使用本项目所产生的一切后果由使用者自行承担。


⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!

Description
青龙面板脚本库
Readme 613 KiB
Languages
JavaScript 84.9%
Python 15.1%