Commit Graph
21 Commits
Author SHA1 Message Date
snowy-yang dd28ba157c docs: 文档与实现对齐,并收录全量代码检查报告
- README:平台能力表按实际能力位修正(qs 歌单/专辑改 —、kw/kg/tx/wy 的
  parse 改 ✅、qt/lr 封面改 ✅),接口表补 album 分页位、parse/playlist
  支持平台、user-playlist 仅 tx/wy、DELETE 登录端点、qs 扫码方式;
  项目结构补 http/ 下 4 个文件与 routes-login 的 bili/lr
- docs/API.md:整篇改为指向 /openapi.json 的速查版,把唯一的接口事实
  来源收敛到 JSON Schema;平台数按实际 15 个更新
- CODE-AUDIT.md:新增,记录 2026-10-03 全量检查的 P0/P1/P2 与文档不一致项,
  顶部标注修复状态(已修 P0/P1,未动项明确列出)

为什么改写而不是逐条打补丁:文档与实现双向失配的地方太多,逐条修补会留下
自相矛盾的段落;改成「能力以 /sources 与 /openapi.json 为准,文档只做索引」
后,漂移的结构性来源就被消除了。
2026-10-03 00:27:30 +08:00
snowy-yang 436b102ae2 feat(api): 列表接口分页统一 path 段——boards/song-list/singer songs与albums/album 支持可选 /:page,弃用 ?page= 2026-10-02 20:57:31 +08:00
snowy-yang baa34a501c feat(api): search/find 改 path 风格——/search/:source/:keyword[/:page] 与 /url 同构,find 支持单平台/all 2026-10-02 20:51:50 +08:00
snowy-yang cf0874fc15 feat(auth): 流代理升级短时签名 URL——?exp=&sig=(HMAC 派生 10 分钟有效)替代裸 ?key=,秘钥不再落入 URL/日志 2026-10-02 20:39:25 +08:00
snowy-yang 415a04dea8 feat(auth): 统一 X-Server-Key 全路径鉴权(防扫描探测)+ per-IP 滑动窗口限流 2026-10-02 20:31:59 +08:00
snowy-yang 649ebbe12b feat(auth): 调用秘钥鉴权——AUTH_KEY 环境变量启用,Bearer/X-Api-Key/?key= 三种携带方式,流地址自动附带 key 2026-10-02 20:15:36 +08:00
snowy-yang 1fec828547 feat: 平台注册与路由收尾——9 平台(含 xm/me/qt/lr 有声)、复合 id 约定、64k 档位、测试与文档 2026-10-02 19:43:21 +08:00
snowy-yang e796e622f2 docs(readme): 补齐 qs 平台与双通道后的过期内容
- 平台列表/接口表补 qs(抖音扫码登录、/stream/qs 解密流代理)与取流链说明
- 歌曲 ID 约定补 qs,删掉已失效的 kg 风控告示(2026-10-01 /v5/url 已修复,
  VIP 歌改为需登录的准确表述)
- 外部音源章节说明候选链只覆盖 kw/kg/tx/wy、失败回落 SDK 与酷我兜底
- 已知限制重写:kg 登录取流、kw 严格档位校验与降级链、qs 试听/解密代理
- 项目结构注释补 qs 目录与 auth 续期描述
2026-10-01 22:54:05 +08:00
snowy-yang 0f9989b26f feat(login): kg 扫码/短信验证码登录、QQ 扫码登录
- kg:sdk/auth 新增 qrKey/qrCheck 扫码与 sendCaptcha/cellphoneLogin 短信登录,路由接线
- tx:新增 /login/tx/qr(/check)(移植 sansenjian/qq-music-api):ptlogin 扫码 →
  check_sig 换 p_skey → OAuth authorize 换 code → QQConnectLogin 换凭据;
  状态码对齐 wy(800 过期/801 等待/802 已扫/803 成功),qrsig 失效 403 映射 800;
  成功凭据入库(通常含 openid/refresh_key,可走自动续期)
2026-10-01 16:35:08 +08:00
snowy-yang 3c51e4d06a feat(dev): 热重载开发模式(node --watch 限定 src/sdk/sources 目录)
- package.json 新增 dev 脚本;--watch-path 限定监视范围,
  规避 @fastify/swagger-ui 启动时写 node_modules 触发的多余重启
- start.bat 支持 dev 参数(保留 SOURCE_ENABLED 外部音源开关)
- README 快速开始补充 pnpm dev
2026-09-29 20:24:40 +08:00
snowy-yang 354df2e739 refactor: 架构整固——分层单向化、全量 TypeScript、直接运行
- 移除 bd/mg 两平台及磁盘残留产物;清理 api-test 死脚本、musicSdk/message+options 死模块、infSign vendor
- musicSdk/ 改名 sdk/;src/common、src/auth、src/apis 整体移入 sdk/,依赖方向定为 src → sdk 严格单向
- src/ 手写 JS 全量转 .ts,删除 JS 类型垫片 modules.d.ts;源码 import 统一 .ts 后缀
- Node 原生类型剥离直接运行 .ts(engines >=22.18),取消 tsc 发射产物,tsc 仅类型检查(pnpm typecheck)
- 删除 kwdes 备用实现与 src/index.ts 转发垫片;测试移至 test/smoke-test.ts
- common/request.ts 补显式导出类型;修复 set-cookie 单值形态、ApiError 类字段等隐患

验证:tsc 零错误,smoke-test 41/41
2026-09-25 23:06:23 +08:00
snowy-yang 45f3a4b989 feat(login): 新增网易云扫码/手机号登录与酷狗 token 绑定 2026-09-18 19:15:11 +08:00
snowy-yang 0f2585e5bd feat(album): 新增 QQ 音乐(tx)专辑支持 2026-09-17 06:20:37 +08:00
snowy-yang b06769dbbd fix(album): 修复 kw 专辑接口——上游通道可用,故障为路由误传参数 2026-09-16 22:34:41 +08:00
snowy-yang 23c7ad91e4 feat(api): 新增歌手与专辑接口,修复各平台死代码中的多处隐藏 bug 2026-09-16 22:23:22 +08:00
snowy-yang 5dd0468860 refactor!: 移除品牌字样,音源改为 sources/ 目录自动加载,脚本不入库 2026-09-16 21:28:50 +08:00
snowy-yang f548e5990b chore: 切换包管理器为 pnpm 2026-09-16 21:14:33 +08:00
snowy-yang c1c8aa4b94 refactor(routes)!: 移除旧版 query 风格路由 2026-09-16 21:07:01 +08:00
snowy-yang ab90c5b4c4 docs: 移除 lx 音源签名分析与逆向相关表述 2026-09-16 20:29:18 +08:00
snowy-yang 2b4bb16e02 refactor(server): 迁移到 Fastify 5 + 完善文档与路由参数适配 2026-09-09 21:56:06 +08:00
archive f289df4cd7 存档:TS 重构前基线(lx 聚合源 = isolated-vm 加载器,签名方案已移除) 2026-08-28 23:24:49 +08:00