Skip to content

[2.0.0]隐身模式加强

Choose a tag to compare

@lumingya lumingya released this 06 Feb 05:58
· 170 commits to main since this release

更新日志[ 🔒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