[2.0.0]隐身模式加强
更新日志[ 🔒v2.0.0 隐身模式反检测增强][2-6]
概述
针对 Cloudflare Turnstile 行为检测的全面优化,解决隐身模式下发送消息被拦截的问题。核心思路:最小化 JS 注入,人类化操作时序,模拟真实浏览行为。
✨ 新特性
页面预热机制
- 在首次输入前自动模拟人类浏览行为(鼠标移动、页面滚动)
- 为 Cloudflare 的 JS 传感器提供足够的"人类存在"行为数据
- 仅在隐身模式下触发,每次会话执行一次
人类化按键系统
- 新增
_human_key_combo方法,组合键每个 key_down/key_up 之间加入 30-120ms 随机微延迟 - Ctrl+A、Ctrl+V 等操作不再以固定间隔执行
- 按键时序参数可通过
browser_config.json配置
粘贴后阅读延迟
- 根据文本长度自动计算"人类阅读检查"时间
- 基础延迟 1-2 秒,每 5000 字符额外增加 0.3-0.6 秒,上限 3 秒
- 解决"粘贴长文本后瞬间发送"的自动化特征
隐身模式零 JS 注入发送
- 新增
_execute_click_send_stealth方法 - 发送按钮点击后不再注入 JS 检查输入框状态
- 图片上传场景采用盲等待+重试策略
🔧 优化
剪贴板粘贴流程优化
- 操作序列从 Ctrl+A → Delete → Ctrl+V 简化为 Ctrl+A → Ctrl+V(选中直接覆盖,符合人类习惯)
- 默认跳过粘贴后的 JS 注入验证(
STEALTH_SKIP_PASTE_VERIFY) - 可选的轻量级验证仅通过 DrissionPage 原生属性读取,不注入脚本
点击行为优化
- 发送按钮犹豫概率从 40% 提升至 50%,时间范围从 0.4-0.9s 扩大到 0.5-1.2s
- 鼠标移动到元素后增加 80-200ms 随机停留(模拟"瞄准")
🔧 配置变更
browser_config.json 新增参数
| 参数 | 默认值 | 说明 |
|---|---|---|
STEALTH_KEY_DOWN_UP_MIN |
0.03 | 按键按下到释放最小间隔(秒) |
STEALTH_KEY_DOWN_UP_MAX |
0.09 | 按键按下到释放最大间隔(秒) |
STEALTH_KEY_BETWEEN_MIN |
0.04 | 组合键各键之间最小间隔(秒) |
STEALTH_KEY_BETWEEN_MAX |
0.12 | 组合键各键之间最大间隔(秒) |
STEALTH_PASTE_SETTLE_MIN |
0.4 | 粘贴后等待 DOM 更新最小时间 |
STEALTH_PASTE_SETTLE_MAX |
0.8 | 粘贴后等待 DOM 更新最大时间 |
STEALTH_SKIP_PASTE_VERIFY |
true | 是否跳过粘贴后的 JS 验证 |
STEALTH_SEND_IMAGE_WAIT |
8.0 | 图片上传等待超时(秒) |
STEALTH_SEND_IMAGE_RETRY_INTERVAL |
1.5 | 图片上传重试间隔(秒) |
sites.json(arena.ai)
WAIT时间从 0.5s 增加到 2.0s,确保 Cloudflare JS 完成初始化
📁 变更文件
config/browser_config.json — 新增 9 个隐身模式参数
config/sites.json — arena.ai 工作流优化
app/core/workflow/text_input.py — 剪贴板粘贴反检测增强
app/core/workflow/executor.py — 页面预热 + 零 JS 发送 + 阅读延迟
⚠️ 兼容性说明
- 所有改动仅影响
stealth: true的站点,普通模式完全不受影响 - 新增配置参数均有默认值,无需手动修改即可生效
- 如需恢复粘贴验证,将
STEALTH_SKIP_PASTE_VERIFY设为false