案例 CloakBrowser:4.3k Stars!开源浏览器反检测终极解决方案

2026-05-11 08:20:25 +0800 CST views 21

CloakBrowser:4.3k Stars!开源浏览器反检测终极解决方案

标签: CloakBrowser / 反爬虫 / 浏览器指纹 / 绕过检测 / Playwright / Chromium / WebRTC
原文: https://mp.weixin.qq.com/s/hY6G3ji-uB1rm9FICWUk0Q


核心亮点

做爬虫被反爬虫系统拦疯?CloakBrowser 可能是目前最接近"完美伪装"的解决方案。

  • 4300+ GitHub Stars:反爬虫检测领域的明星项目
  • 49 个 C++ 源码级补丁:从 Chromium 源码层面修改,而非运行时打补丁
  • humanize=True:一键开启人性化鼠标移动、真实打字、模拟滚动
  • WebRTC IP 欺骗:自动从代理获取 IP,防止本地 IP 泄露
  • 浏览器配置管理器:可替代 Multilogin、GoLogin、AdsPower 等商业工具
  • 零侵入迁移:仅需 3 行代码即可替换 Playwright

一、被反爬虫支配的恐惧

做爬虫的开发者,大概都遇到过这种情况:

  • 网页直接弹出一个验证框:"对不起,检测到异常访问…"
  • 或者更狠的,直接返回 403 Forbidden,连验证的机会都不给

Cloudflare、reCAPTCHA、FingerprintJS……这些反爬虫系统越来越聪明,传统的 Selenium、Playwright 在它们面前就像"透明人"——一眼就被认出来。


二、问题的根源:浏览器指纹

为什么 Selenium、Playwright 会被检测出来?

答案在于浏览器指纹

当你用普通浏览器访问网站时,网站会收集大量的浏览器特征:

特征类型说明
Canvas 画布渲染结果不同的显卡和驱动会产生不同的渲染结果
WebGL 渲染信息图形加速信息
字体列表系统安装的字体
屏幕分辨率显示器的分辨率
WebRTC IP 地址用于 P2P 通信的 IP
navigator.webdriver自动化工具永远是 true
插件列表浏览器插件
TLS 指纹SSL/TLS 握手特征

这些特征组合起来,就是一个浏览器的"指纹"。而 Selenium、Playwright 由于它们的特征是固定的——比如 navigator.webdriver 永远是 true——所以网站可以轻松识别。

传统方案的局限性

传统的解决方案是打补丁:在代码里注入 JavaScript,修改这些特征值。

但这有个问题:

  • 每次浏览器更新,补丁就可能失效
  • 打补丁本身就是一种特征,专业的检测系统能识别出"被修改过的痕迹"

三、CloakBrowser 核心原理

C++ 源码级修改

CloakBrowser 的思路完全不同。

它不是在运行时打补丁,而是直接修改 Chromium 的 C++ 源码,重新编译成新的二进制。

这意味着什么?

Detection sites see a real browser — because it is a real browser.

测试数据(2026年4月实测,Chromium 146)

检测服务普通 PlaywrightCloakBrowser
reCAPTCHA v30.1(机器人)0.9(人类)
Cloudflare TurnstileFAILPASS
FingerprintJSDETECTEDPASS
BrowserScanDETECTEDNORMAL (4/4)

30+ 个检测站点测试,30+ 个通过。


四、核心功能详解

4.1 49 个源码级补丁

CloakBrowser 对 Chromium 进行了 49 个 C++ 级别的源码补丁

  • Canvas 指纹
  • WebGL 指纹
  • Audio 指纹
  • Fonts 指纹
  • GPU 指纹
  • Screen 指纹
  • WebRTC IP
  • Network timing
  • Automation signals
  • CDP input behavior

每一个指纹都在源码层面被修改,检测系统看到的不是"被修改的特征",而是"真实的浏览器特征"。

4.2 humanize=True:人性化行为

除了硬件指纹,还有行为检测

真人操作浏览器时:

  • 鼠标移动不是直线,而是有弧度的曲线
  • 打字时每个字符之间有微小的停顿
  • 滚动页面时速度不均匀

CloakBrowser 的 humanize=True 参数可以一键开启这些人性化行为:

  • Bézier 曲线鼠标移动
  • 逐字符真实打字
  • 模拟真人滚动模式

4.3 WebRTC IP 欺骗

使用代理时,真人浏览器会暴露本地 IP,而不是代理 IP。

CloakBrowser 的 --fingerprint-webrtc-ip=auto 可以自动从代理 IP 获取并欺骗 WebRTC,让检测系统看到的是代理 IP,而不是本地 IP。

4.4 浏览器配置管理器

CloakBrowser 还提供了自托管的浏览器配置管理器,可以替代 Multilogin、GoLogin、AdsPower 等商业工具

  • 创建唯一指纹的浏览器配置
  • 代理支持
  • 持久会话
  • 通过 noVNC 在浏览器中启动和交互

五、快速开始:3 行代码,30 秒

CloakBrowser 最大的优点是对现有代码的零侵入

如果你已经在用 Playwright

只需要修改 3 行代码

# 修改前
from playwright.sync_api import sync_playwright
pw = sync_playwright().start()
browser = pw.chromium.launch()

# 修改后
from cloakbrowser import launch
browser = launch()

剩下的代码完全不用改。

安装方式

# Python
pip install cloakbrowser

# JavaScript
npm install cloakbrowser playwright-core

第一次运行时,CloakBrowser 会自动下载约 200MB 的 stealth Chromium 二进制,之后会缓存在本地。


六、支持的主流框架

CloakBrowser 可以与多种框架集成:

框架说明
browser-useAI 代理浏览器交互
Crawl4AIAI 友好的爬虫
Scrapling高性能爬虫
StagehandAI 驱动的浏览器交互
LangChainLLM 应用框架
Selenium传统自动化测试

基本上,只要是基于 Playwright 或 Puppeteer 的框架,CloakBrowser 都可以无缝替换


七、注意事项

❌ 这个工具能解决 CAPTCHA 吗?

不能。它是预防,不是解决。

CloakBrowser 的目标是防止验证码出现,而不是在出现验证码后自动破解。如果目标网站坚持要你输入 CAPTCHA,那还是需要额外的 CAPTCHA 解决服务。

❓ 需要自己准备代理

CloakBrowser 不内置代理旋转功能。你需要自己准备代理服务器,在 launch 时通过 proxy 参数传入。

✅ 浏览器会自动更新

CloakBrowser 有自动更新机制,会在后台检查新版本并下载。对于需要固定版本的场景,可以在 launch 时指定特定版本。


八、写在最后

用 CloakBrowser 跑了一周爬虫项目,感触最深的一点是:

好的工具应该是透明的。

你不需要去研究每个网站的检测机制,不需要去写一堆 workaround,不需要每次浏览器更新就提心吊胆。

CloakBrowser 把这些复杂的事情在底层处理掉了,对上层代码来说,就是换一个 import。

如果你正在被反爬虫困扰,或者你的 AI 代理需要稳定的浏览器环境,CloakBrowser 值得一试。

毕竟,3 行代码、30 秒的迁移成本,试试也不亏。


项目地址

🔗 https://github.com/CloakHQ/CloakBrowser


本文整理自微信公众号「小华同学ai」,原文链接:https://mp.weixin.qq.com/s/hY6G3ji-uB1rm9FICWUk0Q

推荐文章

JavaScript中的常用浏览器API
2024-11-18 23:23:16 +0800 CST
Vue3结合Driver.js实现新手指引功能
2024-11-19 08:46:50 +0800 CST
前端如何给页面添加水印
2024-11-19 07:12:56 +0800 CST
2025年,小程序开发到底多少钱?
2025-01-20 10:59:05 +0800 CST
Vue3中如何处理SEO优化?
2024-11-17 08:01:47 +0800 CST
为什么要放弃UUID作为MySQL主键?
2024-11-18 23:33:07 +0800 CST
Golang Select 的使用及基本实现
2024-11-18 13:48:21 +0800 CST
程序员茄子在线接单