核心用法
stealthy-auto-browse 是一套面向高对抗性环境的浏览器自动化解决方案,采用 Camoufox(定制版 Firefox)作为渲染引擎,完全禁用 Chrome DevTools Protocol(CDP)信号暴露,配合 PyAutoGUI 实现操作系统级的鼠标键盘事件模拟,从底层规避主流 bot 检测机制。
该技能提供两种操作模式:
- HTTP API 模式:长期运行的 Docker 容器暴露 REST 接口,支持实时交互控制
- 脚本模式(Script Mode):通过 stdin 传入 YAML 剧本,stdout 返回 JSON 结果,容器执行完毕后自动退出,适合批处理任务
关键特性
隐蔽性架构:
- 零 CDP 暴露,消除 "navigator.webdriver" 等自动化特征
- OS 级输入模拟(
system_click,system_type),浏览器无法区分人机操作 - 持久化指纹管理,支持会话保持
- 通过 CreepJS、BrowserScan、Pixelscan 及 Cloudflare 验证
双轨输入策略:
- System Input(推荐用于对抗场景):拟人化鼠标轨迹、随机延迟打字、真实滚轮事件
- Playwright Input(便捷模式):CSS/XPath 选择器操作,速度快但可被检测
高级功能:
- Page Loaders:URL 触发的自动化工作流,支持 cookie 清除、弹窗处理等预处理
- 网络日志捕获、对话框管理、文件上传下载、多标签页操作
- 截图支持浏览器视口/完整桌面两种模式
显著优点
1. 检测绕过能力强:实测通过 Cloudflare、DataDome、PerimeterX、Akamai 等企业级防护
2. 架构设计严谨:CDP 完全禁用 + OS 输入层模拟,从根源消除检测向量
3. 运维友好:Docker 封装,一键部署;HTTP API 便于集成现有工作流
4. 灵活的工作流:YAML 剧本模式支持变量替换、错误处理、输出收集
5. 坐标校准系统:get_interactive_elements 提供精确视口坐标,避免盲猜点击
潜在缺点与局限性
1. 资源开销大:完整 Firefox 容器比 headless 方案(Puppeteer、Playwright 原生)内存占用高 2-3 倍
2. 速度权衡:System Input 的拟人化延迟(鼠标移动 0.5s、打字间隔 80ms)显著慢于 DOM 操作
3. 维护状态未知:GitHub 仓库活跃度、Camoufox 内核更新频率需持续关注
4. IP 信誉依赖:仅解决浏览器指纹问题,IP 黑名单、行为模式检测仍需配合优质代理
5. 无云原生适配:需自行管理 Docker 宿主机,缺乏 Serverless 托管选项
适合人群
- 数据采集团队:需要稳定抓取受 Cloudflare/DataDome 保护的电商、社交媒体数据
- 安全研究人员:验证反爬虫机制、测试 WAF 绕过策略
- 自动化测试工程师:高保真模拟真实用户行为的端到端测试
- 需要长期会话保持的场景:账号管理、自动化操作等需避免频繁登录封禁
常规风险
- 合规风险:绕过反爬虫机制可能违反目标网站 ToS,需评估法律边界
- 指纹漂移:浏览器内核更新滞后可能导致新检测特征出现
- 资源耗尽:多实例并行时宿主机内存/CPU 易成为瓶颈
- 调试困难:隐蔽性设计使得传统 DevTools 调试手段受限,问题定位依赖截图和文本日志