🕵️ 开源项目 🏆 17.1K星 🔖 MIT协议

CloakBrowser — 反侦测浏览器

在Chromium源码改了49个C++文件,重新编译。reCAPTCHA v3拿0.9分,Cloudflare自动过,FingerprintJS测不出来。

17.1K
⭐ GitHub Stars
49
🔧 C++ Patches
30/30
✅ 通过率
200MB
📦 二进档

一句话:别人做反侦测是在外面打补丁——JS注入、改启动参数。它直接在Chromium源码改49个C++文件,重新编译成新浏览器。反侦测系统看到的不是一个"伪装的机器人",而是一个真正的浏览器。调用就三行Python代码。

普通Playwright vs CloakBrowser

所有测试项,CloakBrowser全通过。GitHub仓库 →

测试项目普通PlaywrightCloakBrowser
reCAPTCHA v3 分数0.1(机器人)0.9(人类)
Cloudflare Turnstile❌ 失败✅ 自动通过
FingerprintJS❌ 被侦测✅ 通过
BrowserScan❌ 标记机器人✅ NORMAL
navigator.webdrivertruefalse
UA 字串HeadlessChromeChrome/146

它不是"降低被挡的概率"

它是完全不被挡。从JS注入到编译层修改,三层递进。

🎨

Canvas/WebGL指纹

编译层级修改渲染输出的指纹信息。不像JS注入那样可以被检测到覆盖痕迹。

🔤

字体枚举

返回跟真实浏览器完全一致的字体列表。不会出现"Linux字体列表"这种暴露信号。

🖥️

GPU报告伪装

伪装GPU供应商和渲染器信息,不让检测系统发现你是虚拟环境。

🌐

WebRTC IP替换

自动把WebRTC泄露的真实IP替换为代理出口IP,防止IP不一致暴露。

🕵️

CDP侦测移除

移除isAutomatedWithCDP等自动化信标。DevTools Protocol痕迹全部清除。

⏱️

网络时间消除

消除代理产生的DNS/TLS时间差。网络层面的时间特征也伪装成普通浏览器。

一步一步从零开始

Python或Node.js两选一,会一种就行。

检查 Python 环境

按 Win + R,输入 cmd,回车。在黑窗口里输入:

python --version

✅ 看到 Python 3.x.x 就说明有 Python。

❌ 如果提示"不是内部或外部命令",去 python.org 下载安装,装完重启终端。

安装 CloakBrowser

在刚才的窗口里输入:

pip install cloakbrowser

⏳ 它会自动下载安装并下载修改过的 Chromium(约200MB),第一次需要等几分钟。

如果你用 Node.js,用 npm 装:

npm install cloakbrowser

新建测试文件

在桌面新建一个文本文件,改名为 test_cloak.py。

⚠ 要把 .txt 后缀改成 .py。如果看不到后缀,在文件夹上面点「查看」→ 勾上「文件扩展名」。

右键用记事本打开,把下面代码复制进去,保存:

from cloakbrowser import launch browser = launch() page = browser.new_page() page.goto("https://bot.sannysoft.com") page.screenshot(path="result.png") print("截图已保存,检查 result.png") browser.close()

运行测试

回到 CMD 窗口,输入:

cd Desktop python test_cloak.py

⏳ 第一次运行会自动下载修改版 Chromium(约200MB),需要等几分钟。

✅ 运行完后桌面上出现 result.png,打开看——所有测试项绿色通过,说明反侦测生效了。

💡 从 Playwright 迁移:如果你已经在用 Playwright,改一行 import 就行。
原来:from playwright.sync_api import sync_playwright
改成:from cloakbrowser import launch
然后把原来的 with sync_playwright() as p: browser = p.chromium.launch() 替换成 browser = launch(),其他代码不用动。

或者用npm(Node.js版也有):

npm install cloakbrowser

使用(Python)

from cloakbrowser import launch browser = launch() page = browser.new_page() page.goto("https://protected-site.com") # 不会被挡

使用(JavaScript)

import { launch } from 'cloakbrowser'; const browser = await launch(); const page = await browser.newPage(); await page.goto('https://protected-site.com');

看看CloakBrowser有多硬核

2分钟讲清楚:49个C++ patch的故事,怎么用,谁适合。

cloakbrowser-v1.mp4 · 2分04秒 · 1080×1920 · QC已通过

爬虫和自动化都值得一试

从爬虫到AI Agent,覆盖率极高。

🕷️

爬虫开发者

Cloudflare Turnstile不再是你对手。之前被反爬挡住的网站,换CloakBrowser直接过。

🧪

自动化测试

网站反爬不再影响你的CI。测试环境稳定通过,不再因为"检测到自动化工具"而失败。

🤖

AI Agent开发者

browser-use、Crawl4AI这些框架可以直接整合,让你的AI Agent不被网站挡在门外。

📖 想看完整的文章?

三层解法的技术细节、测试数据全记录、Docker部署方式,公众号文章都有。

📱 关注公众号看全文 ← 回到首页