camoufox
基于 Firefox 的反检测浏览器,专为 AI Agent 自动化网页操作设计
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 Firefox 的反检测浏览器,专为 AI Agent 自动化网页操作设计
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你一定见过这样的场景:爬虫脚本刚跑起来,没几分钟 IP 就被封了;LLM 自动化任务点击按钮,结果网站弹出一个验证码——网站已经识别出你是"机器人"。这种困扰的背后,是现代网站日益精密的反爬虫检测体系。Camoufox 正是为解决这个痛点而生。
Camoufox 的作者 daijro 在开发爬虫和 AI 自动化工具时,频繁遭遇网站的反爬机制。传统 Selenium 和 Playwright 浏览器有着高度可预测的指纹特征:固定的 Canvas 哈希、标准的 HTTP 头顺序、机器特有的 WebGL 渲染结果……网站只需组合几个信号,就能轻松识别出非人类访问。
他决定从 Firefox 内核入手,对浏览器的底层特征进行系统性地随机化改造。项目于 2023 年底正式开源,迅速在 GitHub 获得关注。2025 年,随着 AI Agent 浪潮到来,Camoufox 定位升级为「The browser built for AI agents」,成为 AI 自动化工作流中的关键基础设施。目前 Stars 数已超过 8800,覆盖全球数十万次下载。
打个比方:传统浏览器就像一个人穿着制服、戴着工牌走进大楼——安保一眼就认出是工作人员。而 Camoufox 就像一个「随机换装」的普通人:每次进入都换一套衣服、不同的发型、不同的走路姿势,让安保无法把你和之前的人对上号。
Camoufox 的核心反检测能力来自以下几个维度:
浏览器指纹随机化:通过 BrowserForge 库,每次启动随机生成真实设备的 OS、CPU 信息、GPU 型号、屏幕分辨率、WebGL 参数、已安装字体列表等,与真实用户群的统计分布保持一致,而非简单随机。
TLS/HTTP 指纹:模拟不同浏览器版本的 TLS 握手特征和 HTTP 请求头顺序,避免协议层面的"机器味道"。
代理地理位置匹配:结合 GeoIP 数据库,自动计算代理出口 IP 对应的真实时区、地理位置和语言设置,让"IP 在美国、浏览器却在东京"这种露馅情况不再发生。
Firefox 内核级补丁:通过 Mozilla 上游 Firefox 源码进行深度定制,修改 Navigator 对象、WebGL 实现、电池 API 等多处信息泄露点。
Camoufox 提供两种使用方式:直接下载预编译的 Firefox 内核二进制,或从源码构建。官方推荐的日常使用方式是 pip 安装 Python 包:
pip install -U camoufox[geoip]
camoufox fetch
[geoip] 是强烈建议安装的可选依赖,用于代理地理位置解析。camoufox fetch 命令会从 GitHub 下载指定版本的 Camoufox 浏览器内核,支持多版本并行管理。
项目采用语义化版本策略,官方维护 Stable(稳定版)和 Beta 两个发布通道。camoufox sync 可同步多个社区维护者的版本仓库,目前已汇聚来自官方和 CoryKing 等贡献者的 20+ 个版本。
Camoufox 并非另起炉灶,而是选择站在 Playwright 的肩膀上。它提供一个轻量 Python 封装库,内部调用 Playwright 的 API,自动完成指纹注入和浏览器启动。用户几乎不需要改变已有的 Playwright 代码:
import camoufox
with camoufox.launch() as browser:
page = browser.new_page()
page.goto('https://example.com')
# 自动携带随机指纹、匹配代理地理位置
这种设计极大降低了迁移成本——已有 Playwright 爬虫只需改两行 import,就能获得反检测能力。
不习惯命令行的用户可以通过 camoufox gui 启动一个 PySide6 构建的图形界面,管理已安装的浏览器版本、切换活跃版本、查看存储路径,甚至配置 GeoIP 数据库。界面截图展示了一个清晰的多版本管理面板(见 GitHub 仓库 pythonlib/README.md)。
Camoufox 的技术栈分为两层:
底层:C++ 内核(Firefox 定制)
核心是经过深度定制的 Firefox 浏览器内核,通过 multibuild.py 构建脚本从 Mozilla 官方源码构建。构建系统支持 Linux/macOS/Windows 三个平台,由 Makefile 统一调度。每个平台有独立的 .mozconfig 配置(如 linux.mozconfig)来控制编译选项。upstream.sh 管理上游 Firefox 版本的更新流程。
上层:Python 工具生态
Python 层负责浏览器版本管理、指纹生成和 Playwright 集成。关键依赖:
browserforge:生成随机但符合真实分布的设备指纹rich / rich-click:美化 CLI 输出和交互式提示lxml、requests、orjson:高效的 HTTP 处理和数据解析screeninfo、numpy:屏幕信息和数学计算支持pysocks:SOCKS 代理支持此外还有 jsonvv、patches、legacy 等目录,分别存放内部数据结构工具、历史补丁和已废弃模块,体现了项目演进过程中的代码积累。
优点:
局限:
Camoufox 的出现折射出一个更大的趋势:AI Agent 需要"能骗过网站的浏览器"。随着 Claude Agent、Cursor、Copilot 等工具逐渐替代人工操作网页,反爬虫检测也在同步升级——检测的目标已从爬虫扩展到了 AI Agent。Camoufox 正是这一博弈的产物。
从技术演进方向看,Camoufox 的下一步可能是与 Stealth Puppeteer(Playwright 的反检测插件)深度整合,以及对 WebGPU 指纹等新型检测手段的应对。项目当前活跃,Issues 和 PR 响应及时,是当前反检测浏览器领域的头部开源方案之一。
本报告基于 GitHub 最新源码(分支:main,MPL-2.0 许可证)和 PyPI 分发信息生成,分析时间:2026-05-30。