docs: align qx repo with legacy layout

This commit is contained in:
2026-05-17 12:37:34 +08:00
parent de33953c3c
commit 295e6bd0de
6 changed files with 186 additions and 80 deletions
+71
View File
@@ -0,0 +1,71 @@
# QX 重写制作经验(QDReader 复盘)
## 仓库结构
参考 `chickliu/qx` 老仓库风格,推荐保留这两个顶层目录:
```text
conf/ # Quantumult X 远程重写订阅文本
js/ # Rewrite 脚本入口,订阅文本直接引用这里
```
本仓库为了兼容历史路径,也保留:
```text
qx/subscribe/ # 旧订阅地址,内容与 conf/qdreader.conf 同步
qx/rewrite/ # 旧脚本地址,内容与 js/qdreader_cookie.js 同步
```
## QX 订阅格式
BOSS 常用的远程订阅不是 JSON 对象,而是类似下面的纯文本:
```text
hostname = h5.if.qidian.com
^https:\/\/h5\.if\.qidian\.com\/argus\/api\/v1\/user\/getlogininfo url script-response-body https://gitea.chickliu.fun/Hermes/qdreader-qx-cookie-autman-bot/raw/branch/main/js/qdreader_cookie.js
```
注意:即使文件名叫 `*.json`,只要给 QX 作为重写订阅使用,内容也应该是这种文本格式,而不是 JSON object。
## QDReader 这类 Cookie 捕获脚本原则
1. QX 只负责抓取 Cookie,不直接调用 Autman。
2. 不在 QX 本地持久化 Cookie;账号保存交给 Autman 插件。
3. 弹窗正文只保留完整快速提交命令:
```text
启点ck <完整 Cookie>
```
4. 不要在弹窗正文加说明、账号数、变量名、截断摘要;BOSS 要直接复制整段命令。
5. 失败弹窗可以保留简短错误,例如“请求中没有 Cookie”“无法识别 uid”。
6. Rewrite 类型按实际取值选择:
- 只读请求头 Cookie`script-request-header` 即可;
- 需要读取响应 body 辅助解析 uid:用 `script-response-body`
QDReader 当前需要兼容从响应 body 取 `UserId`,所以使用 `script-response-body`
## 与 Autman 插件配合
Autman 插件保留快捷命令:
```text
启点ck <cookie>
```
并由 Autman 负责:
- 解析 uid
- 保存到专属 bucket,例如 `hermes_qidian`
- 绑定发送者用户 ID
- 后续账号管理、备注、签到和最后执行日志查询。
## 验证清单
- `node --check js/qdreader_cookie.js`
- `node --check qx/rewrite/qdreader_cookie.js`
- raw 地址返回 HTTP 200
- `conf/qdreader.conf`
- `js/qdreader_cookie.js`
- 兼容旧地址 `qx/subscribe/qdreader.subscription.json`
- 兼容旧地址 `qx/rewrite/qdreader_cookie.js`
- 订阅文本内容第一行是 `hostname = ...`,第二行是 rewrite rule。