stealth-browser

🕵️ 智能反检测浏览器自动化方案

🥥32总安装量 16评分人数 10
100% 的用户推荐

基于 Puppeteer 的隐身浏览器自动化工具,通过指纹伪装和住宅代理绕过机器人检测,适用于反爬场景的数据采集与自动化测试。

B

存在边界风险,建议在隔离环境中验证

  • 来自可信组织或认证账号,需要结合权限范围判断
  • ⚠️ 该 Skill 设计目的为绕过网站机器人检测机制,可能违反目标站点服务条款
  • ⚠️ 通过修改浏览器指纹(navigator.webdriver、plugins、languages 等)隐藏自动化特征
  • ✅ 代码本身无恶意注入、数据窃取或系统破坏功能,依赖项均为公开维护库
  • ⚠️ 代理凭据从本地文件读取,安全性依赖用户手动设置 600 文件权限
  • ⚠️ 存在被滥用于未经授权数据抓取、绕过付费墙等违规场景的风险

使用说明

核心用法

stealth-browser 是一款专为绕过网站反爬虫机制设计的浏览器自动化 Skill。它基于 Puppeteer 框架,通过 puppeteer-extra-plugin-stealth 插件实现浏览器指纹伪装,并可选配 Smartproxy 住宅代理服务突破 IP 封锁。用户可通过命令行快速启动隐身浏览器会话,支持网页截图、HTML 内容提取、纯文本抓取三种输出模式,也可作为模块导入 JavaScript 项目调用。

典型使用场景包括:访问被 Cloudflare/Vercel 防护的网站、抓取 Reddit/Twitter 等社交平台数据、自动化注册流程测试、以及需要模拟真人行为的 Web 自动化任务。基础用法仅需执行 node scripts/browser.js "URL",添加 --proxy 参数即可启用住宅代理,配合 --screenshot--html--text` 指定输出格式。

显著优点

该 Skill 的最大优势在于其开箱即用的反检测能力。相比原生 Puppeteer,它自动应用了 20 余项隐身规避策略,包括移除 navigator.webdriver 标记、伪造 Chrome 121 用户代理、模拟真实插件列表和语言设置、覆盖 WebGL/Canvas 指纹等。测试验证可有效通过 sannysoft.com 等 bot 检测站点,对 Relay.link、X/Twitter、Reddit 等曾封锁自动化工具的平台均有良好兼容性。

住宅代理集成是另一核心亮点。通过 Smartproxy 的住宅 IP 池,可突破数据中心 IP 的地理封锁和频率限制,支持按国家区域(如 _area-US)和会话粘性(_life-30)精细配置。相比自建代理基础设施,该方案降低了运维复杂度,适合中小规模的数据采集需求。

潜在缺点与局限性

首先,该 Skill 无法完全消除 CAPTCHA 挑战,仅能降低触发概率。对于强防护站点,仍需配合 2captcha 等验证码解决服务。其次,高级 JavaScript 指纹分析(如 Canvas 哈希、WebGL 渲染差异)在部分高安全级别站点仍可能识别出自动化特征。此外,住宅代理按流量计费(约 $7.50/GB),单页加载成本约 $0.01-0.03,高频使用场景下成本累积显著。

技术层面,Stealth 插件和代理路由会引入额外延迟,页面加载速度低于直接请求。依赖项方面,Puppeteer 需要完整的 Chromium 运行环境,在容器化或资源受限环境中部署需额外配置系统依赖。最后,该工具的设计初衷涉及规避网站安全机制,存在合规性灰色地带。

适合的目标群体

主要面向三类用户:一是数据工程师和爬虫开发者,需要采集受反爬机制保护的公开数据;二是 QA 自动化测试人员,需在真实浏览器环境中验证用户注册、登录等流程;三是安全研究人员,用于测试网站防护机制的有效性。对于仅需简单页面抓取的轻量用户,该 Skill 的功能过剩且成本不经济;而对于大规模商业爬虫团队,Smartproxy 的流量成本可能高于自建代理池方案。

使用风险

性能风险方面,Chromium 实例内存占用较高(通常 300-500MB 每实例),并发场景需合理控制实例数量。依赖风险方面,Puppeteer 版本与 Chromium 版本强绑定,升级可能导致行为变化。成本风险方面,代理流量消耗难以精确预估,建议启用前在 Smartproxy 控制台设置用量告警。合规风险方面,使用该 Skill 访问网站可能违反目标站点的服务条款,需自行评估法律后果。配置风险方面,代理凭据以明文存储于本地 JSON 文件,若权限设置不当(未设为 600)可能导致敏感信息泄露。

stealth-browser 内容

文件夹图标scripts文件夹
手动下载zip · 21.5 kB
browser.jstext/javascript
请选择文件