Commit Graph
66 Commits
Author SHA1 Message Date
yml2213 9471a5b4ff 修复斗鱼绑定主链路:双 actAlias 分工与任务驱动扫码确认
扫码/确认走活动 alias,角色与换绑最新态优先查 cjm;生成二维码前强制校验换绑冷却,前端以任务结果为单一数据源展示二维码、待确认角色与换绑时间。
2026-07-24 22:36:25 +08:00
yml2213 781ad74762 修复邮箱验证码日期解析 BUG:旧邮件完整时间戳格式无法解析,导致每次命中同一旧验证码
- 新增 YYYY-MM-DD HH:MM 和 YYYY-MM-DD HH:MM:SS 格式解析
- 新增 MM-DD HH:MM 格式解析
- 日期无法解析时跳过该邮件而非放行(安全兜底)
2026-07-24 20:42:57 +08:00
yml2213 62099e8d68 新增斗鱼活动任务模块:绑定、宝典、鱼翅、积分、兑换等功能
- 新增 activity_client.py:封装斗鱼活动/兑换/充值/送礼接口
- 新增 cookie_utils.py:Cookie 解析与规范化工具
- 新增 douyu_service/douyu_runner:斗鱼任务服务层与批量执行器
- 新增 douyu 路由:任务类型查询、账号列表、配置管理、商品管理、批量任务、WebSocket 日志
- 新增 models/schemas:DouyuTask/DouyuConfig/DouyuGoodsSnapshot 模型,Account 扩展点数/鱼翅/绑定状态等字段
- 新增数据库迁移:斗鱼活动相关表与 accounts 字段补充
- 新增前端 DouyuTasksPage 任务操作台页面
- 兑换商品请求添加 sec-ch-ua 反检测头
- 兑换商品支持最多 8 次重试 + csrf_token 自动刷新
- 注册 douyu:task / douyu:config 权限点
- 侧边栏新增斗鱼分组与任务操作台菜单入口
2026-07-24 16:11:39 +08:00
yml2213 69b6120ede 修复虎牙绑定角色识别 2026-07-22 16:59:12 +08:00
yml2213 b2619caa14 修复虎牙国际手机号格式:按抓包使用 00+区号+本地号
香港号 +852… 应提交 00852…(非 0852…/裸 852…);同步支持印尼 62、英国 44 等国际号,大陆仍用 086。
2026-07-12 20:19:00 +08:00
yml2213 cd2d02c86e 增加斗鱼账号检测功能 2026-07-09 23:12:39 +08:00
yml2213 45dd7e5a74 兼容虎牙四段账号格式
支持虎牙号、密码、手机号、验证码链接导入,并补充美国等国际手机号格式处理。
2026-07-06 11:45:42 +08:00
yml2213 72e7947a39 完善自动注册代理和状态恢复 2026-07-06 02:58:17 +08:00
yml2213 db4ca78280 完善虎牙自动注册改密 2026-07-06 01:20:22 +08:00
yml2213 af98ea8416 添加虎牙自动注册 2026-07-06 00:31:34 +08:00
yml2213 3f50d962a0 添加虎牙短信登录 2026-07-05 23:10:50 +08:00
yml2213 552eb9fa82 自动关闭虎牙支付成功弹窗 2026-07-05 13:25:55 +08:00
yml2213 984096f758 完善虎牙账号管理并规范Cookie 2026-07-05 13:13:38 +08:00
yml2213 32065c75a3 增强虎牙滑块验证重试 2026-07-05 11:51:08 +08:00
yml2213 2824c5a54c 实现虎牙密码登录 2026-07-05 11:12:36 +08:00
yml2213 5534293ed1 实现虎牙商品兑换并优化列表展示 2026-07-05 10:46:00 +08:00
yml2213 b63d685f2f 迁移虎牙验证码核心逻辑 2026-07-05 09:55:04 +08:00
yml2213 d5ecfb1c89 实现虎牙查询兑换记录 2026-07-05 00:15:10 +08:00
yml2213 5513b5a313 实现虎牙充值商品列表与支付二维码 2026-07-04 23:48:53 +08:00
yml2213 fa0d49ff8c 实现虎牙刷新商品列表 2026-07-04 22:21:35 +08:00
yml2213 e855d7e449 完善虎牙确认绑定与角色查询 2026-07-04 21:06:33 +08:00
yml2213 7e92008f7b 实现虎牙绑定小程序码展示 2026-07-04 19:05:35 +08:00
yml2213 3b88653e5d 完善虎牙积分查询日志 2026-07-04 17:57:33 +08:00
yml2213 56ffaf531c 实现虎牙积分查询执行器 2026-07-04 17:07:29 +08:00
yml2213 e1d47a85be 新增虎牙账号和任务基础功能 2026-07-04 16:31:12 +08:00
yml2213 0faaa2c302 增加另一个登录接口-登录错误 2026-06-26 17:43:00 +08:00
yml2213 d7d7c0cbb0 增加另一个登录接口 2026-06-26 17:22:51 +08:00
yml2213 f736ef4f4c 优化邮箱登录错误分支,增加备用密码 2026-06-25 09:58:46 +08:00
yml2213 f21f82cbed ck 复制格式优化,修复错误 2026-06-25 09:16:23 +08:00
yml2213 0b4fe1daa2 继续优化登录逻辑 2026-06-25 08:40:00 +08:00
yml2213 a62e7c192f 优化白名单逻辑 2026-06-25 08:19:18 +08:00
yml2213 ef12dcf4a3 优化代理相关, 移除旧的死代码 2026-06-25 08:04:56 +08:00
yml2213 a7da949d9c 修复Roundcube空URL和白名单重复同步
1. ROUNDCUBE_URL: os.getenv返回空字符串时不回退默认值,改为 or 默认值
2. ProxyFetcher: 缓存已同步白名单IP,后续线程跳过重复同步
2026-06-24 16:04:21 +08:00
yml2213 e478ac4d09 简化登录流程:砍掉代理池,极验不内部切代理
- 新建 ProxyFetcher 替代 ProxyManager,每次从API取1个代理,无池无锁无冷却
- 极验最多3次尝试,失败直接抛异常回到login整体重试取新代理
- 删掉极验内部的 refresh_proxy/proxy_switches/_soft_fail_streak 逻辑
- login整体重试时取新代理从头走完整流程
- 代理验证超时从(5,8)缩短为(3,5),白名单同步后立即重试不等待
- login_service 删掉60行代理池预检/等待代码
- 修复邮件验证码日期比较:Roundcube分钟精度与秒级时间戳对齐
2026-06-24 15:37:48 +08:00
yml2213 ca5bf3531d 优化代理相关的 2026-06-24 14:44:09 +08:00
yml2213 83345dfdc5 增加了代理平台和日志 2026-06-24 14:22:29 +08:00
yml2213 0d03b2c242 优化登录重试与配置清理 2026-06-24 10:20:33 +08:00
yml2213 72248eb3cc 拆分补CK逻辑 2026-06-24 09:38:17 +08:00
yml2213 d87aa7c1e6 移除HTTP详情请求日志 2026-06-24 09:29:47 +08:00
yml2213 7bb50a9bbf 增强登录稳定性 2026-06-24 09:17:15 +08:00
yml2213 177ec42416 加密敏感数据并优化补CK流程 2026-06-24 09:10:31 +08:00
yml2213 8e65af538c 完全对齐目标 ck 2026-06-24 08:28:37 +08:00
yml2213 ae92cd2441 cvl_csrf_token 是有了, 但是 acf_ccn 还没有 2026-06-24 08:15:15 +08:00
yml2213 4813eb039d feat: 极验验证默认无限重试,由登录整体超时兜底
- max_proxy_retries 默认值从10改为0(无限重试)
- _solve_geetest 增加 deadline 参数,超时则主动退出
- login() 计算 deadline 并传递给极验验证
- 前端/Schema/Service 默认值同步更新
2026-06-23 23:40:40 +08:00
yml2213 7711111015 fix: 极验异常日志中 _truncate_error 缺少 self. 前缀导致 NameError 2026-06-23 22:50:39 +08:00
yml2213 cc30697c97 feat: 登录流程整体重试机制 + 代理池耗尽等待恢复
- DouyuLogin.login() 添加整体重试循环,失败时换新代理从头重跑
  - 新增 max_login_retries(默认3次)和 max_total_time(默认300秒)
  - 重试前重置 session cookies + 换新代理,避免残留状态
  - 成功后归还代理到池;失败时标记代理坏
- 代理池耗尽时不再立即放弃账号,等待最多60秒恢复后再试
- API代理模式改为 DouyuLogin 内部通过 proxy_manager 自治管理
  登录过程中的代理切换(极验、整体重试)不再由服务层预取
- Schema/LoginBatchRequest 添加 max_login_retries 和 max_total_time
- 前端 API 调用改为对象参数形式,透传新参数
2026-06-23 22:06:00 +08:00
yml2213 36d55ed685 fix: 代理验证增加极验api.geetest.com连通性测试
- 原来只验证douyu.com,能过但极验不通的代理会入池后立即失败
- 现在两关验证:先过douyu.com,再过api.geetest.com
- 日志中09:04:03验证10/10全通过但极验连续失败的问题不会再出现
- 极验超时/不可达的代理在入池前就被过滤掉
2026-06-23 09:40:44 +08:00
yml2213 e778acbccd fix: 极验重试区分代理死亡和临时波动,减少无效换代理
- 新增 _is_proxy_connection_error 判断异常类型
- 代理连接类错误(ProxyError/超时/502):立即换代理+标记坏
- 临时波动(slide/网络不给力/KeyError):先用原代理重试2次,才换代理
- _refresh_proxy 新增 mark_bad 参数,临时换代理不标记坏
- 解决日志中'网络不给力'反复换代理导致池枯竭的问题
2026-06-23 09:39:43 +08:00
yml2213 ab4b5e7f08 fix: mark_bad改为带冷却期的软隔离,防止代理池快速枯竭
- 失败1次: 冷却30s后可重新入池(指数退避:30s→60s→120s)
- 连续失败3次: 才永久移出池
- 选代理时优先跳过冷却中的代理,池子全冷却时退而求其次
- 成功归还代理时清除失败记录(release_proxy)
- 解决日志中09:02:23后代理被逐个误杀导致池枯竭的问题
2026-06-23 09:36:57 +08:00
yml2213 3b36175bbb fix: 改用Roundcube API获取验证码,修复邮件时间解析不可靠问题
- 新增Roundcube Webmail登录+JSON API读取邮件列表(含精确日期)
- Roundcube优先,read.php降为备用回退
- 解析Roundcube返回的中文日期格式(今天/昨天/星期X HH:MM)
- 修复read.php时间字段被MIME编码Subject污染导致'保守拒绝'误判
- 修复邮件时间UTC/本地时区8小时偏差导致正常邮件被跳过的问题
- read.php备用模式下解析不到时间不再保守拒绝,改为放行
2026-06-23 09:34:44 +08:00