2.6k stars!告别反爬虫封锁!这个开源项目让你的自动化脚本“隐身“!
告别反爬虫封锁!这个开源项目让你的自动化脚本"隐身"
你是否遇到过:精心写好的爬虫脚本,刚跑没多久就被 Cloudflare 拦截?Playwright 自动化测试莫名其妙触发人机验证?多账号运营工具因为"指纹相同"被平台封号?
今天介绍的这个开源项目,正是为了彻底解决这些问题而生的。
一、痛点:为什么普通浏览器自动化会被识别?
现代网站的反机器人体系已经相当成熟。它们不只看 IP,而是综合分析 50+ 个浏览器指纹信号:
- Canvas 指纹、WebGL 渲染特征
- 音频上下文指纹
- GPU 型号与渲染器信息
- 字体列表、屏幕分辨率
- 时区、语言、用户代理
更致命的是,Playwright / Puppeteer 等自动化框架在调用浏览器时会走 CDP(Chrome DevTools Protocol),而这个协议本身就会暴露"这是一个被程序控制的浏览器"的信号。
传统的应对方案——比如 puppeteer-extra-plugin-stealth——是通过注入 JavaScript 来覆盖 navigator 等属性,属于"化妆",治标不治本。一旦检测方升级策略,这些 JS 补丁往往在下一个 Chrome 版本更新后就会失效。
二、CloakBrowser 是什么?
CloakBrowser 是一个开源的隐身 Chromium 浏览器,GitHub 地址:CloakHQ/CloakBrowser。
它的核心思路与众不同:不在 JavaScript 层面打补丁,而是直接在 C++ 源码层面修改 Chromium,并重新编译成二进制文件。
目前它在 Chromium 源码中内置了 30+ 个 C++ 级别的指纹补丁,覆盖了 Canvas、WebGL、音频、GPU、字体、屏幕尺寸、时区、Locale 等所有主流指纹维度。对检测网站来说,它看起来就是一个真实的普通用户浏览器,因为它本来就是。
核心特点
| 特性 | 说明 |
|---|---|
| 🔧 源码级补丁 | 32+ 个 C++ 补丁,非 JS 注入 |
| ✅ 30/30 检测全过 | 通过 BotD、CreepJS、Sannysoft 等主流检测站 |
| 🔄 零迁移成本 | 与 Playwright / Puppeteer API 完全兼容 |
| 🐳 Docker 支持 | 一行命令即可运行 |
| 🆓 完全免费 | MIT 开源,无订阅费用 |
| 🛡 通过 Cloudflare Turnstile | reCAPTCHA v3 评分可达 0.9+ |
![]() |
三、怎么用?
方式一:Python(替换 Playwright,一行代码完成迁移)
# 原来的写法
# from playwright.sync_api import sync_playwright
# pw = sync_playwright().start()
# browser = pw.chromium.launch()
# 换成 CloakBrowser,其余代码完全不变
from cloakbrowser import launch
browser = launch()
page = browser.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()
安装:
pip install cloakbrowser
首次运行会自动下载约 200MB 的隐身 Chromium 二进制文件,之后缓存在本地。
方式二:JavaScript / Node.js
import { launch } from 'cloakbrowser';
const browser = await launch();
const page = await browser.newPage();
await page.goto('https://protected-site.com');
console.log(await page.title());
await browser.close();
支持代理、时区、Locale 等高级配置:
const browser = await launch({
proxy: 'http://user:pass@proxy:8080',
timezone: 'America/New_York',
locale: 'en-US',
headless: false, // 可视化模式
});
安装:
npm install cloakbrowser
方式三:Docker(最省心)
# 直接运行一个测试脚本
docker run --rm cloakhq/cloakbrowser python -c "
from cloakbrowser import launch
browser = launch()
page = browser.new_page()
page.goto('https://example.com')
print(page.title())
browser.close()
"
方式四:CloakBrowser Manager(可视化多账号管理)
这是 CloakBrowser 官方提供的配套工具,是 Multilogin / GoLogin / AdsPower 的免费开源替代方案。
docker run -p 8080:8080 -v cloakprofiles:/data cloakhq/cloakbrowser-manager
然后打开浏览器访问 http://localhost:8080,即可通过 Web UI:
- 创建多个独立浏览器 Profile
- 为每个 Profile 设置独立的指纹种子、代理、时区、语言、屏幕分辨率
- 通过 noVNC 在浏览器中直接操作每个 Profile
- 每个 Profile 还暴露 CDP 端点,可以用 Playwright 连接实现自动化
每个 Profile 对网站来说,就是一台完全不同的设备。
四、安全性验证
CloakBrowser 对发布的二进制文件提供了完整的签名验证链:
- GPG 签名:每个发布的 tag 都有 GPG 签名
- GitHub Attestation:通过 Sigstore 验证二进制文件来源
- Docker 镜像签名:通过 Cosign 验证官方 Docker 镜像
不用担心供应链安全问题,每一步都可以验证。
五、与竞品的对比
| 工具 | 方案 | 稳定性 | 费用 |
|---|---|---|---|
| puppeteer-stealth | JS 注入 | 易失效 | 免费 |
| Multilogin | 商业产品 | 稳定 | 高额订阅 |
| GoLogin | 商业产品 | 稳定 | 付费 |
| CloakBrowser | C++ 源码补丁 | 稳定 | 完全免费 |
六、总结
CloakBrowser 做了一件看似简单却很硬核的事:回归本质,从根上解决问题。
与其在 JavaScript 层面打无休止的"猫鼠游戏",不如直接修改浏览器源码,让它在底层就表现得像一个真实用户。这种思路使其天然具备了对抗检测升级的稳定性。
对于以下人群,这个项目值得重点关注:
- 爬虫工程师:需要绕过 Cloudflare、反爬系统的数据采集场景
- 自动化测试工程师:需要在生产环境真实运行测试、避免触发安全验证
- 多账号运营者:需要管理多个独立身份的平台账号
- AI Agent 开发者:构建需要浏览器操作能力的智能体应用
GitHub:github.com/CloakHQ/CloakBrowser ⭐ 目前已获得 1.6k Stars,项目仍在活跃开发中。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)