CloakBrowser 完整部署教程
根据仓库内容,CloakBrowser 是一个基于 Chromium 源码级修改的指纹伪装浏览器,能够通过各类反机器人检测。以下是详细的部署和使用指南。
一、快速开始
1. 环境要求
- 操作系统:Linux (x86_64/ARM64)、macOS (Intel/Apple Silicon)、Windows (x86_64)
- Python:Python 3.7+ 或 Node.js 14+
- 磁盘空间:约 200MB (二进制文件)
2. 安装方式
Python 安装
1 2 3 4 5
| pip install cloakbrowser
pip install 'cloakbrowser[geoip]'
|
Node.js 安装
1 2 3 4 5
| npm install cloakbrowser playwright-core
npm install cloakbrowser puppeteer-core
|
.NET 安装
1
| dotnet add package CloakBrowser
|
3. 首次运行与登录
首次启动时会自动下载约200MB的Chromium二进制文件。
1 2 3 4 5 6 7 8
| python -m cloakbrowser login
export CLOAKBROWSER_LICENSE_KEY=cb_xxxxxxxx
python -m cloakbrowser install
|
二、基本使用
Python 示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| from cloakbrowser import launch
browser = launch()
browser = launch(headless=False)
browser = launch(humanize=True)
page = browser.new_page() page.goto("https://example.com") print(page.title()) browser.close()
|
JavaScript/Node.js 示例
1 2 3 4 5 6 7 8 9 10 11 12
| import { launch } from 'cloakbrowser';
const browser = await launch({ headless: false, humanize: true });
const page = await browser.newPage(); await page.goto('https://example.com'); console.log(await page.title()); await browser.close();
|
三、高级配置
1. 代理与指纹伪装(反检测核心配置)
1 2 3 4 5 6 7 8 9 10 11
| browser = launch( proxy="http://user:pass@residential-proxy:port", geoip=True, headless=False, humanize=True, args=[ "--fingerprint=12345", "--fingerprint-noise=false", "--fingerprint-platform=windows" ] )
|
2. 持久化配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13
| from cloakbrowser import launch_persistent_context
ctx = launch_persistent_context( "./my-profile", headless=False, proxy="http://proxy:8080", extension_paths=["./my-extension"] )
page = ctx.new_page() page.goto("https://example.com") ctx.close()
|
3. 异步启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import asyncio from cloakbrowser import launch_async
async def main(): browser = await launch_async( headless=False, humanize=True, geoip=True ) page = await browser.new_page() await page.goto("https://example.com") await browser.close()
asyncio.run(main())
|
四、部署场景
1. Docker 部署(推荐)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| docker run --rm cloakhq/cloakbrowser cloaktest
docker run --rm -v ./my_script.py:/app/my_script.py cloakhq/cloakbrowser python my_script.py
docker run -d --name cloak -p 127.0.0.1:9222:9222 cloakhq/cloakbrowser cloakserve
docker run --rm cloakhq/cloakbrowser python -c " from cloakbrowser import launch browser = launch(proxy='http://user:pass@proxy:8080', humanize=True, headless=False) page = browser.new_page() page.goto('https://example.com') print(page.title()) browser.close() "
|
2. Docker Compose
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| services: cloakbrowser: image: cloakhq/cloakbrowser command: cloakserve restart: unless-stopped ports: - "127.0.0.1:9222:9222" environment: - CLOAKBROWSER_LICENSE_KEY=cb_xxxxxxxx - CLOAKBROWSER_FETCH_WIDEVINE=1 volumes: - ./profile:/profile healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9222/json/version"] interval: 30s timeout: 5s retries: 3
|
3. 自定义Docker镜像
1 2 3
| FROM cloakhq/cloakbrowser COPY your_script.py /app/ CMD ["python", "your_script.py"]
|
4. AWS Lambda 部署
参考仓库中的 aws_lambda/ 目录,使用容器镜像部署。
五、环境变量配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| export CLOAKBROWSER_LICENSE_KEY=cb_xxxxxxxx
export CLOAKBROWSER_CACHE_DIR=/path/to/cache
export CLOAKBROWSER_BINARY_PATH=/path/to/chrome
export CLOAKBROWSER_VERSION=146.0.7680.177.5
export CLOAKBROWSER_RELEASE_CHANNEL=preview
export CLOAKBROWSER_AUTO_UPDATE=false
export CLOAKBROWSER_GEOIP_TIMEOUT_SECONDS=10
|
六、命令行工具
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| python -m cloakbrowser login
python -m cloakbrowser logout
python -m cloakbrowser install
python -m cloakbrowser info python -m cloakbrowser info --quick python -m cloakbrowser info --json
python -m cloakbrowser update
python -m cloakbrowser clear-cache
|
七、测试验证
运行内置测试
1 2 3 4 5 6 7 8 9
| python -c " from cloakbrowser import launch browser = launch(headless=False, humanize=True) page = browser.new_page() page.goto('https://fingerprintjs.com/demo/') print('FingerprintJS 测试完成') browser.close() "
|
测试反检测能力
1 2 3
| python examples/stealth_test.py python examples/recaptcha_score.py
|
八、常见问题解决
1. macOS 首次运行被阻止
1
| xattr -cr ~/.cloakbrowser/chromium-*/Chromium.app
|
2. Linux 缺少系统依赖
1 2 3 4 5 6 7 8
| sudo apt install -y fonts-noto-color-emoji fonts-freefont-ttf fonts-unifont \ fonts-ipafont-gothic fonts-wqy-zenhei fonts-tlwg-loma-otf
mkdir -p ~/.local/share/fonts/windows cp -r /path/to/windows/Fonts/. ~/.local/share/fonts/windows/ fc-cache -f
|
3. 虚拟显示(无头服务器)
1 2 3 4 5 6
| sudo apt install xvfb
Xvfb :99 -screen 0 1920x1080x24 & export DISPLAY=:99
|
4. 检测到 WebDriver 标志
- 使用 Playwright 而非 Puppeteer(Puppeteer 易被检测)
- 确保
headless=False(有头模式)
- 使用
humanize=True 和 geoip=True
5. reCAPTCHA v3 分数低
1 2 3 4 5 6 7 8 9 10 11
| import time
time.sleep(3)
page.type("#email", "user@example.com", delay=50)
browser = launch(args=["--fingerprint=12345"])
|
九、性能与资源
- 空闲内存:约190MB
- 3个标签页:约280MB
- 每个额外标签页:约30MB
- 二进制大小:约200MB
十、安全注意事项
- CDP端口(如9222)不要暴露到公网
- 密钥通过环境变量或配置文件管理,避免硬编码
- 遵守目标网站的使用条款和法律法规
- 商业用途请购买Pro许可证
参考链接
按照上述步骤,您应该能够在本地、Docker或服务器环境中成功部署和使用CloakBrowser。核心在于使用住宅代理 + geoip + 有头模式 + humanize的组合配置,以获得最佳的反检测效果。