围绕账号做一套全新设计,不再参照虎牙,并丢掉旧结构的包袱。 推翻的直接证据: 1. 三个「状态」都找不到家 —— 凭证在 login_tasks.cookie、健康与重登在 login_tasks.ck_check_*/relogin_*、 生命周期状态根本不存在(只能靠「有没有持 CK 的记录」反推); 2. accounts.bind_status 一列塞了 36 种取值,混了三种性质(真绑定状态/一次性动作痕迹/业务结果) 且互相覆盖 —— 查一次精英宝典状态就把 bind_confirmed 冲掉,账号详情页还拿它显示「绑定状态」; 3. 开通/积分/兑换/充值这些账号事实全埋在 douyu_tasks.result(22 万行 / 687MB,绝大多数是轮询噪声); 4. 账号检测页粘贴文本检测、结果不落库、连 account_id 字段都没有,与库内账号完全脱节。 设计要点: - 账号为聚合根;当前状态在账号上、发生过什么在 account_events,两者严格分离; - 登录态(CK/健康/重登)内联 accounts(否决独立表:多会话与懒加载风险,且内联切换面最小), 并说明 1:1 场景下 defer() 已能解决列表查询拖大字段的问题; - 新增显式生命周期状态机 imported/active/invalid/relogin/manual/disabled/archived, 写入收口到唯一服务,禁止各处直接赋值(bind_status 崩掉的直接教训); - account_events 扩展 category/subject_type/subject_key/actor_* 与台账复合索引, 一张表同时承载「时间线 + 开通/积分/兑换/充值台账」,支撑 365 天同皮肤规则; 有流程的兑换工单仍独立建表 —— 流程归工单、事实归事件流; - login_tasks 瘦身为纯登录尝试历史,douyu_tasks 降级为执行日志并加保留策略; - 迁移沿用 CK 解耦文档的回填机制(分块/幂等/自校验 fail closed/值级校验), 历史业务记录不回填 douyu_tasks,需要时走斗鱼侧权威接口按需同步; - 落地分 S1~S8,S1→S2 为关键路径,S8(drop 旧列)不可逆且前置每日备份。 同时更新 CK 解耦文档头部,标注其目标模型已被取代、迁移机制仍然有效。
项目文档索引
更新时间:2026-10-02
当前入口
- 自动化与资料收集规划:CK 自动管理、资料收集链接、皮肤台账与半自动工单的分期计划(规划中,未开工)。
- 皮肤准入映射分析:C 桶皮肤类到斗鱼商品目录的归一与覆盖分析(923 个快手名 → 78 个斗鱼商品,覆盖率 40.1%)。
- 虎牙 Cookie 路线状态:当前实现、字段状态、验证边界和后续工作。
- 虎牙网页设备字段溯源:浏览器证据、字段来源和生成算法。
- 虎牙 Cookie 合并审计与来源矩阵:字段来源约束和合并策略。
- 虎牙精英宝典联调指南:工作台联调顺序和只读验证方法。
虎牙业务与协议
- 虎牙精英宝典 9.1 全流程分析
- 虎牙精英宝典后端与抓包对照
- 虎牙精英宝典 8.31 Python 重分析
- 虎牙精英宝典联调指南
- 网页 Cookie 缺失字段历史方案
- 虎牙 App 登录总览
- 虎牙纯 Python 自动登录总结
虎牙设备与加密逆向
- HDID 算法生成
- HDID 研究记录
- 标识符命名规范
- 铸币机终局总结
- App 登录协议抓包实证
- App 登录 WUP 明文抓包
- App 登录加密算法动态验证
- App 登录 APK 静态分析
- App 登录逆向笔记
- 扫码登录闭环逆向
- hyCred 签发侦察笔记
设备注册与运行工具
鱼翅充值接口
文档约定
- 带日期的抓包和逆向笔记属于历史证据,结论以对应日期为准。
- 当前代码行为和未完成项以“虎牙 Cookie 路线状态”为准。
- Cookie、UID、订单号和设备标识进入文档时使用脱敏值;真实数据只保存在本地 evidence 目录。
- 兑换、下单和支付属于写操作,除非明确确认,不纳入自动回归测试。