Camoufox 反侦测浏览器快速上手:三步跑通 + 指纹调优实战
Camoufox 反侦测浏览器快速上手:三步跑通 + 指纹调优实战
【免费下载链接】camoufox🦊 Anti-detect browser项目地址: https://gitcode.com/gh_mirrors/ca/camoufox
Playwright 请求一个站点,批量 403、弹验证码,多半不是代码的问题——浏览器指纹对不上:IP 在美国、时区在北京、navigator.webdriver是 True。Camoufox 是面向网页数据采集和 AI agent 的反侦测浏览器,本质是一个打了补丁的 Firefox。每次启动,它从 fpgen 模型里抽一份真实设备指纹,并用 C++ 上报这些值,页面看到的是原生值而不是 JS 覆盖。自动化跑在 Juggler 隔离世界里,页面脚本看不见。用 Python 或 Node 做采集的话,这是个能直接接上 Playwright 的工具。
三步跑起来:装包、fetch、第一次抓取
环境要 Python 3.10 以上,Node.js 用户则装camoufox加playwright-core,参数一致。安装就两条命令:pip install -U "camoufox[geoip]",然后camoufox fetch,后者装上与本版本配对、sha256 校验过的浏览器构建和 fpgen 模型;不跑 fetch 也会在首次启动时自动下载。
第一次抓取只有几行:导入from camoufox.sync_api import Camoufox,with Camoufox(headless=True) as browser:启动,browser.new_page()后page.goto(...)。返回的是普通 PlaywrightBrowser,存量代码只需改启动部分。没有显示器的服务器用headless="virtual"(Linux,需要 Xvfb 和 setpriv),虚拟显示默认 1x1,用环境变量CAMOUFOX_VIRTUAL_DISPLAY_SIZE可放大。
三个高频场景
代理后面抓数据,时区和 IP 自动对齐
启动参数传proxy(server、username、password),再加geoip=True。Camoufox 会经代理查出出口 IP,把时区、locale、地理位置、WebRTC IP 自动对齐到它;已知 IP 的话直接传 IP 字符串跳过查询。
一个浏览器跑多个指纹
NewContext(browser, os="macos", proxy=...)给每个 context 独立身份:navigator、屏幕、WebGL、字体、语音、时区各自独立,且在页面脚本运行前注入,context 内每个页面都看到自己的"机器"。需要复用登录态时用persistent_context=True加user_data_dir(返回值变为BrowserContext)。
让鼠标轨迹像真人
默认鼠标走直线。humanize=True会回放真人轨迹(Cursory 的 2356 条录制),带停顿和过冲;传数字则给单次移动限时,默认上限 1.5 秒。目标站点有行为分析(轨迹速度、停留时间)时值得开。
指纹参数:默认够用,什么时候必须改
默认策略是"和原版 Firefox 行为完全一致,只汇报另一台机器":canvas 像素、文字宽度、音频渲染都不动,因为加噪本身就是指纹。多数人不用碰webgl_config和canvas_noise。
必须处理的场景:身份声称了另一个操作系统时,真实 GPU 的像素会暴露,Camoufox 自动把 canvas/WebGL 读回换成随机值(类似 LibreWolf)并打印LeakWarning;接受默认即可,或显式canvas_noise=True/False。webgl_config只接受 fpgen 记录过的 GPU,其他值直接ValueError。
容易被漏掉的一项:pin_cpu_cores=True把浏览器绑到与hardwareConcurrency相同数量的核心上,页面用并行 worker 计时测出的核数才对得上;代价是 CPU 开销和并发启动串行化,只对在意它的站点开。
避坑:四个常见报错怎么处理
- canvas 相关
LeakWarning:声称了别的 OS 或 GPU 导致,默认已用随机读回兜住,可忽略;嫌烦用i_know_what_im_doing=True静默。 AmbiguousGpuSelection/GpuSoftwareFallback:headless="virtual-gpu"找不到卡或没渲染在卡上。先用python -m camoufox gpu-xorg-config列出显卡,再跑一次python -m camoufox gpu-setup <PCI地址> | sudo sh配置 Xorg;不要 GPU 就退回headless="virtual"。fetch非零退出或提示包需要升级:浏览器与包接口版本不匹配。升级包到最新,或camoufox set --release回到配对构建;CI runner 上设GITHUB_TOKEN避免 API 限流。- 用了
block_images/block_webgl出警告:部分 WAF 能检测这类行为,默认别开。
适合谁:边界与下一步
适合网页采集、反爬对抗、AI agent 上网,尤其 Python/Node + Playwright 的工作流。两个边界要知道:Camoufox 只呈现 Firefox 身份,WAF 若测 SpiderMonkey 引擎行为,它装不成 Chromium;README 也明说仍可能被检测,项目未公开统一通过率数据,上线前拿目标站点自行跑一遍。完整参数表读 python/README.md,多身份注入原理看 docs/per-context-patches.md。
【免费下载链接】camoufox🦊 Anti-detect browser项目地址: https://gitcode.com/gh_mirrors/ca/camoufox
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考