====== CloakBrowser 介绍 ======
CloakBrowser 是一款开源的无头浏览器自动化工具(([[https://github.com/CloakHQ/CloakBrowser|CloakBrowser - GitHub]])),它不依赖 JavaScript 注入或启动参数配置,而是通过直接修改 Chromium 的 C++ 源代码来抹除指纹特征。配合 Playwright 或 Puppeteer 使用,可在 3 行代码内完成从普通自动化浏览器到隐身浏览器的切换(([[https://ajianaz.dev/cloakbrowser-the-stealth-chromium-that-passes-every-bot-detection-test/|CloakBrowser blog post]]))。
截至 v0.4.10 版本,CloakBrowser 包含 66 个源代码级别的 C++ 补丁,基于 Chromium 148,拥有 7700+ GitHub Stars,并通过了 reCAPTCHA v3 0.9 分的验证(([[https://cloakbrowser.dev|CloakBrowser 官网]]))。
===== 技术原理 =====
传统的隐身浏览器工具(如 playwright-stealth、undetected-chromedriver、Camoufox 等)都在表面层修补指纹:
- JavaScript 注入:在运行时重写浏览器 API,检测系统可检查这些重写行为
- 启动参数配置:修改 Chrome 启动参数,每次更新都可能破坏
CloakBrowser 从 C++ 源代码层面直接修改 Chromium——指纹信息不是在运行时模拟的,而是编译进二进制文件的(([[https://ajianaz.dev/cloakbrowser-the-stealth-chromium-that-passes-every-bot-detection-test/|CloakBrowser blog post]]))。
===== 主要功能 =====
==== 66 个 C++ 补丁 ====
覆盖所有指纹向量:
- Canvas 指纹随机化——在不影响视觉效果的前提下打乱 canvas 渲染输出
- WebGL 渲染器和厂商——在所有 WebGL 查询中一致模拟 GPU 信息
- 音频上下文指纹——标准化 AudioContext 输出
- 字体枚举——返回与所报告操作系统匹配的真实字体列表
- GPU 和屏幕属性——与用户代理一致的硬件信息
- WebRTC IP 泄漏防护——可自动伪造 WebRTC ICE 候选项以匹配代理出口 IP
- 网络时间同步——消除 DNS/连接/SSL 时序中的代理检测信号
- CDP 自动化信号——Chrome DevTools Protocol 泄漏完全修补
- Navigator 属性——webdriver、plugins、chrome 对象均通过检测
==== Humanize 模式 ====
开启 %%humanize=True%% 后,浏览器交互行为模拟真实用户,包括贝塞尔曲线鼠标移动、自然键盘输入和真实滚动模式。
==== 测试成绩 ====
以下为 CloakBrowser 与标准 Playwright 在常见检测服务中的表现对比(([[https://ajianaz.dev/cloakbrowser-the-stealth-chromium-that-passes-every-bot-detection-test/|CloakBrowser blog post]])):
^ 检测服务 ^ 标准 Playwright ^ CloakBrowser ^
| reCAPTCHA v3 | 0.1(机器人) | **0.9(人类)** |
| Cloudflare Turnstile | 失败 | 通过 |
| FingerprintJS | 被检测 | 通过 |
| BrowserScan | 被检测 | 正常(4/4) |
| navigator.webdriver | true | false |
| TLS 指纹(JA3) | 不匹配 | 与 Chrome 一致 |
===== 安装与使用 =====
CloakBrowser 支持 Python、JavaScript(Node.js)和 .NET(([[https://github.com/CloakHQ/CloakBrowser|CloakBrowser GitHub - Installing]])):
**Python**
pip install cloakbrowser
from cloakbrowser import launch
browser = launch()
page = browser.new_page()
page.goto("https://example.com")
browser.close()
**JavaScript(Playwright)**
npm install cloakbrowser playwright-core
**Docker 快速测试**
docker run --rm cloakhq/cloakbrowser cloaktest
首次运行时会自动下载隐身版 Chromium 二进制文件(约 200MB),本地缓存。从 Playwright 迁移只需修改导入语句。
===== 应对强反爬站点的配置 =====
对于具有强反爬保护的网站,建议启用以下配置:
browser = launch(
proxy="http://user:pass@residential-proxy:port",
geoip=True,
headless=False,
humanize=True,
)
===== 免费版与 Pro 版 =====
CloakBrowser 采用双重发布模式(([[https://github.com/CloakHQ/CloakBrowser|CloakBrowser GitHub - Licensing]])):
- **免费版(v146)**:基于 Chromium 146 的旧版本二进制文件,可在 GitHub Releases 下载。随着检测系统更新,几周内可能失效
- **Pro 版(最新,Chromium 148)**:最新的补丁和 Chromium 升级,支持 Windows、Linux 和 macOS。通过 license_key 或 %%CLOAKBROWSER_LICENSE_KEY%% 环境变量激活
Python 和 JavaScript 的封装层代码以 MIT 许可证开源,永久免费。Pro 版提供 7 天免费试用。
===== 应用场景 =====
- **网页抓取**:绕过 Cloudflare、reCAPTCHA 等反爬保护的自动化数据采集
- **AI Agent 浏览器操作**:与 browser-use、Crawl4AI 等框架集成,实现无检测的浏览器自动化
- **自动化测试**:在需要真实浏览器指纹的测试环境中使用
- **多账号管理**:配合代理使用,管理多个互联网身份
===== 总结 =====
CloakBrowser 通过 C++ 源代码级别的 Chromium 修补,提供了一种从根本上解决浏览器隐身问题的方法。它不需要配置繁琐的参数或注入脚本,作为 Playwright/Puppeteer 的即插即用替代品,在反爬对抗场景中表现突出。
{{tag>CloakBrowser 反爬虫 浏览器隐身 自动化 Chromium 指纹}}