📌 项目地址CloakHQ/CloakBrowser | ⭐ 14,681 颗星 | 🔧 Python | 📜 未标注

它跟其他“防检测浏览器”不是一回事

多数反爬工具靠改启动参数、注入 JavaScript 或 patch 几个二进制位。检测系统用 WebGL 渲染器、AudioContext、Canvas 指纹的特征组合就能识别——比如某个值跟官方 Chromium 对不上。

CloakBrowser 是直接修改 Chromium 的 C++ 源码再编译。README 写了 58 处源级别补丁,覆盖 Canvas、WebGL、Audio、字体、GPU、屏幕、WebRTC、网络时间戳、CDP 输入行为。首次运行自动下载 ~200MB 的定制 Chromium 二进制,缓存在本地,后台自动更新。

我拿 macOS 有头模式跑了三组 Cloudflare Turnstile 实时测试,全部通过。FingerprintJS、BrowserScan 也过了。reCAPTCHA v3 服务器端评分给了 0.9——这不是本地伪造的分数,是谷歌那边直接返回的。

三行代码替换 Playwright / Puppeteer

如果你已经在用 Playwright 写爬虫,迁移成本极低。

Python 旧代码:

from playwright.sync_api import sync_playwright
pw = sync_playwright().start()
browser = pw.chromium.launch()

换成:

from cloakbrowser import launch

browser = launch()
page = browser.new_page()
page.goto("https://example.com")
browser.close()

launch() 返回的就是 Playwright 的 Browser 对象,所有 API 照常调用。

JavaScript 版本:

import { launch } from 'cloakbrowser';

const browser = await launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();

用 Puppeteer 的话,导入路径改成 import { launch } from 'cloakbrowser/puppeteer' 即可。

四个参数解决站点级反爬

有些网站不仅查浏览器指纹,还查时区、IP 属地、是否 headless、用户行为轨迹。CloakBrowser 提供四个启动参数:

  • proxy:必须配住宅代理。数据中心 IP 容易被直接封。
  • geoip=True:自动把时区和 locale 对齐到代理 IP 所在地。IP 在美国,时区设成 Asia/Shanghai,反爬系统一看就暴露。
  • headless=False:尽管 C++ 补丁能隐掉大部分 headless 信号,FingerprintJS 这类检测依然能识别。生产环境建议关掉。
  • humanize=True:模拟真人鼠标曲线、键盘输入间隔、滚动模式。一个参数解决大部分行为检测。

Python 完整示例:

browser = launch(
    proxy="http://user:pass@residential-proxy:port",
    geoip=True,
    headless=False,
    humanize=True,
)

JavaScript 对应写法:

const browser = await launch({
    proxy: 'http://user:pass@residential-proxy:port',
    geoip: true,
    headless: false,
    humanize: true,
});

用了 geoip 功能需要额外装 pip install cloakbrowser[geoip],它会根据代理 IP 自动查询时区和语言。

安装和快速验证

Python:

pip install cloakbrowser

Node.js(配 Playwright):

npm install cloakbrowser playwright-core

配 Puppeteer 则装 cloakbrowser puppeteer-core

不想安装任何东西,直接用 Docker 测试:

docker run --rm cloakhq/cloakbrowser cloaktest

这条命令启动一个测试浏览器,自动访问几个检测网站并打印结果。建议先跑这个,看看目标网站能不能过,再决定集成。

它能解决什么,不能解决什么

CloakBrowser 解决的问题很明确:浏览器指纹被反爬系统拦截。目标网站是 Cloudflare Turnstile、reCAPTCHA v3、FingerprintJS 这类指纹检测,它大概率能过。

但它不解决 IP 信誉问题。代理 IP 如果被标记过(比如被用来刷流量、被举报),换什么浏览器都没用。它也不处理人工验证码(如选交通灯那种)。账号行为异常(例如登录后突然疯狂抓取)也扛不住。

README 末尾有 Troubleshooting 链接,针对 FingerprintJS、Kasada、reCAPTCHA 等站点给出了单独处理建议。遇到特定网站过不去,值得翻一下。

免费开源,无订阅限制

项目是 AGPL-3.0 开源,无订阅、无用量限制。后台自动更新,58 个 C++ 补丁持续维护。对于需要绕过浏览器指纹检测的爬虫项目,它是当前开源领域最底层的方案之一。

我个人的建议:被反爬卡住时,先用普通 Chrome 浏览器手动访问目标网站。如果能正常访问,说明自动化工具指纹有问题。这时候花 30 秒跑一下 docker run --rm cloakhq/cloakbrowser cloaktest,就知道方向对不对。反正不花钱,值得一试。

这篇文章对你有帮助吗?

发表回复