Commit Graph
14 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 96f6a7fe91 feat(source): 外部音源迁 src/ 并新增 source-simple 进程内直载
- apis/source(.ivm).ts → src/source(.ivm).ts(音源属服务端职责,不入 SDK)
- 新增 src/source-simple.ts:sources/*.mjs 进程内直载(getMusicUrl 极简契约),
  与 *.js 的 IVM 沙箱(globalThis.lx 契约)按扩展名混排候选链,失败降权冷却
- server 挂载决策:SOURCE_ENABLED 非 0/false 启用,/url 取流分流到外部音源;
  音源模式下登录态不参与取流,自动续期不启动(手动 /login/refresh 仍可用)
- 新增 src/env.ts(.env 最先加载)与 test/source-simple-test.ts(并入 pnpm test)
2026-10-01 16:35:08 +08:00
snowy-yang aca7928019 feat(login): kg/tx 登录态自动续期(移植 lx-music-api-server 方案)
- kg: login_by_token 续期(AES-256-CBC + RSA 裸加密,参考其 refresh/kg.py),新 token 回写 data/auth.json
- tx: 新增 sdk/auth/tx.ts —— cookie 解析、VIP 检测(vip_login_base)、
  music.login.LoginServer 续期(走既有 musicu.fcg 未签名通道,最佳努力)
- 调度:启动 10s 后首刷 + 每 24h 一次(对齐参考项目 86400s + next_run_time=now)
- /login/tx 支持可选 App 抓包凭据(openId/accessToken/refreshToken/refreshKey)
- 新增 POST /login/refresh 手动续期;/login/status 增补 tx 字段与更新时间
- 补充 /login/tx 文档行与 smoke 测试
2026-09-29 20:16:33 +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 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
snowy-yang 59b2aae584 feat(server): 标准 HTTP 服务器重构 + FastAPI 风格自动文档 2026-08-29 11:51:07 +08:00
archive f289df4cd7 存档:TS 重构前基线(lx 聚合源 = isolated-vm 加载器,签名方案已移除) 2026-08-28 23:24:49 +08:00