stealthy-auto-browse

🕵️ 隐形浏览器自动化,穿透企业级反爬

browser-automation榜 #14

基于 Camoufox 的隐形浏览器自动化方案,通过 OS 级输入模拟和零 CDP 暴露绕过 Cloudflare、DataDome 等反爬系统,适合高对抗性数据采集场景。

收藏
11.7k
安装
3k
版本
2.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

stealthy-auto-browse 是一款面向高对抗性环境的浏览器自动化工具,采用 Camoufox(定制 Firefox 内核)实现零 Chrome DevTools Protocol (CDP) 暴露,彻底消除被检测的特征向量。通过 PyAutoGUI 模拟真实的操作系统级鼠标/键盘事件,配合持久化指纹管理,可成功通过 CreepJS、BrowserScan、Pixelscan 及 Cloudflare、DataDome、PerimeterX、Akamai 等主流反爬系统的检测。

两种运行模式

  • HTTP API 模式:常驻 Docker 服务,支持 MCP 协议接入,提供完整的 RESTful 接口
  • Script 模式:YAML 驱动的一次性容器,适合 CI/CD 流水线

双轨输入策略

| 模式 | 技术实现 | 检测风险 | 适用场景 |
|------|---------|---------|---------|
| System Input | PyAutoGUI OS 级事件 | 极低(无 DOM 痕迹) | 确认存在 bot 检测的高对抗站点 |
| Playwright Input | DOM 事件注入 | 可被高级检测识别 | 无防护或低风险站点,追求效率 |

关键工作流

1. goto 加载页面 → 2. get_text/get_interactive_elements 获取页面信息 → 3. 优先尝试 click/fill → 4. 遇阻时切换 system_click/system_type(需先 calibrate)→ 5. wait_for_* 条件等待 → 6. 结果提取

集群部署特性

  • HAProxy 请求队列 + 粘性会话(INSTANCEID cookie)
  • Redis PubSub 实时同步 cookies,实现单点登录、全网认证
  • 多实例模式下强制 run_script 原子操作,避免状态竞争

显著优点

1. 检测通过率行业领先:零 CDP 信号 + 真实硬件输入模拟,通过主流扫描器检测率接近 100%
2. 架构灵活:单实例开发调试、集群生产部署、Script 批处理三种模式覆盖全生命周期

3. MCP 原生支持:可作为 Model Context Protocol 服务器接入 Claude Desktop 等 AI 客户端

4. 状态隔离设计:浏览器状态(DOM、JS、Storage)实例隔离,仅 cookies 按需同步

5. Page Loaders 机制:URL 触发自动化脚本,实现站点特定的导航后处理(如自动关闭 Cookie Banner)

潜在缺点与局限性

1. 资源消耗较高:相比 curl 或纯 Playwright,需运行完整浏览器容器,内存占用数百 MB 起步
2. 延迟敏感system_click/system_type 需配合 calibrate 和人工化延迟,操作速度显著慢于 DOM 注入

3. 坐标依赖脆弱:高分辨率/缩放场景下需重新校准,容器内外显示参数变化会导致点击偏移

4. 集群模式功能受限:多实例时仅支持 run_script,单步调试困难

5. Firefox 生态限制:部分 Chrome-only 特性或扩展无法使用

适合人群

  • 需要长期维持登录会话且避免封号的数据采集团队
  • 对抗 Cloudflare Turnstile、DataDome 等企业级防护的安全研究者
  • 构建 AI Agent 需要高保真浏览器交互的开发者(通过 MCP 接入)
  • 已有 Playwright/Puppeteer 方案被检测拦截,需升级 stealth 能力的迁移用户

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 指纹漂移 | 持久化指纹若长期不变可能被行为分析标记 | 定期轮换指纹配置,模拟真实用户行为模式 |
| 时区/IP 不匹配 | 常见检测信号 | 确保容器 TZ 与代理出口 IP 地理位置一致 |
| 过度依赖 OS 输入 | 所有操作使用 `system_*` 会降低效率且仍可能因行为模式异常被识别 | 分层策略:Playwright 优先,System 兜底 |
| 集群状态不一致 | 非 cookie 状态(localStorage、DOM)实例隔离可能导致逻辑断裂 | 利用 `run_script` 原子性确保单实例内完成完整流程 |
| 容器逃逸 | Docker 特权模式或挂载敏感目录可能带来安全风险 | 遵循最小权限原则,避免 `-v /:/host` 等危险挂载 |

stealthy-auto-browse 内容

references文件夹
scripts文件夹
手动下载zip · 10.9 kB
setup.mdtext/markdown
请选择文件