指纹浏览器,一条 docker run 即可运行
拉取官方镜像,你就有了一个在 CDP 端口上监听的 Clearcote 浏览器。把 Playwright、Puppeteer、browser-use、Crawl4AI 或 Stagehand 指向它,代码原样不动。镜像直接启动二进制文件,不带自动化开关,navigator.webdriver 保持为 false。
镜像无需密钥即可运行开源版构建。加上免费的 GitHub 密钥,就能用上最新构建。
运行它,连上它
# CDP on http://localhost:9222, published to this host only
docker run -d --rm -p 127.0.0.1:9222:9222 --shm-size=1g teamflatearth/clearcote亮点
内置经过校验的二进制文件
镜像内置经过 SHA-256 校验的 Linux 开源版构建,以及常见 Windows 字体的度量兼容替代字体,因此拉丁文字的测量结果与身份画像的字体一致。开源版构建的字体包不含 CJK 字体,授权版构建的则包含。
用环境变量配置
种子、平台、品牌、语言、时区和 TLS 配置都通过 CC_* 环境变量设置。容器里没有需要你维护的代码。
按需获取最新构建
设置 CLEARCOTE_LICENSE_KEY 后,容器会解析出最新的授权版构建;如果是 Pro,还可以用 CC_VERSION 锁定某个版本。
serve() 与 CLI
不用 Docker?在 Python、Node 或 .NET 中调用 serve(),或在 shell 中运行 clearcote serve,都能以同样的方式直接启动,并给你一个 CDP URL。
任意 CDP 客户端
Playwright 的 connectOverCDP、puppeteer.connect、browser-use、Crawl4AI、Stagehand,或者直接在该端口上使用原始 DevTools 协议。
可审计的 Dockerfile
Dockerfile 及其入口脚本都在公开仓库中,你可以确切看到镜像安装和运行了什么,也可以自己构建。这涵盖镜像本身及其内置的开源版构建;如果使用许可证密钥,容器会在启动时下载授权版引擎。
容器是如何配置的
容器直接启动 Clearcote,而不是通过测试驱动程序启动,并在 9222 端口上暴露 Chrome DevTools 协议。直接启动正是关键:自动化框架会加上暴露自身的启动开关,而由镜像启动的常驻端点从来不会传入这些开关。
默认的身份画像是一个一致的原生 Linux 身份,这个默认值是刻意为之。页面能读到的部分信息来自浏览器之下的操作系统:在 Linux 容器里,无论 user agent 怎么写,文本都由 FreeType 排版,字体都来自 fontconfig。在这个镜像上用 Windows 身份画像实测,字号每次调整 0.01 px,有 66% 的步进会改变文本宽度,而真实的 Windows Chrome 上是 99%。如果需要 Windows 身份,请运行 Windows 构建,或者使用运行在 Windows 机器上的托管浏览器。
授权版容器首次启动时会下载引擎,并签出一个并发租约,因此需要能出站访问许可证 API。挂载缓存卷,引擎就只下载一次,而不是每个新容器都重新下载。
可以通过 CDP 连接的客户端
| 客户端 | 方式 |
|---|---|
| Playwright | chromium.connect_over_cdp(url) / connectOverCDP(url) |
| Puppeteer | puppeteer.connect({ browserURL: url, defaultViewport: null }) |
| browser-use · Crawl4AI · Stagehand | 把它们的 CDP 端点设置指向该 URL |
| 其他任何支持 CDP 的工具 | 在发布的端口上直接使用原始 DevTools 协议 |
典型用途
Compose 或 Kubernetes 中的爬虫
在你的 worker 旁边部署一个浏览器服务,完全通过环境变量配置。
智能体框架
给 browser-use、Crawl4AI 或 Stagehand 一个 CDP URL,而不是本地的 Chrome。
可复现的 CI
固定镜像标签后,每次流水线运行都使用同一个开源版构建;使用许可证密钥时,只有 Pro 的 CC_VERSION 能锁定授权版构建。
任意语言
任何带有 CDP 客户端的语言,从 Python、Node 到 Go、Rust,都能驱动这个端点。
Clearcote 专为隐私保护、测试、研究和合法自动化而打造。你须对自己的使用方式负责,并遵守所访问网站的条款。
哪些套餐包含此功能
Docker 镜像、serve() 和 CDP 端点在所有套餐中都可用。镜像默认运行开源版构建;传入许可证密钥(GitHub 免费版可同时运行一个浏览器)即可运行最新构建。免费密钥的单浏览器限制按你所有容器合并计算。
常见问题
用的是哪个 Docker 镜像?
Docker Hub 上的 teamflatearth/clearcote,由公开的 clearcote-browser 仓库中的 Dockerfile 构建。运行 docker pull teamflatearth/clearcote 即可更新旧的本地副本。
发布 9222 端口安全吗?
只有在你信任的网络中才安全。拿到 CDP 端点,就等于完全控制了浏览器。用 -p 127.0.0.1:9222:9222 只发布到本机,或者把它留在私有网络内,切勿暴露在公网接口上。
容器能呈现 Windows 身份吗?
你可以设置 CC_PLATFORM=windows,但 Linux 容器里的字体度量和系统字体仍然来自 Linux,指纹检测会发现这一点。默认的 Linux 身份画像是一致的。如果需要 Windows 身份,请在 Windows 上运行 Windows 构建,或者使用托管浏览器。
如何在 Docker 中运行授权版构建?
设置 CLEARCOTE_LICENSE_KEY,并在 /opt/xdg-cache 挂载一个卷,这样引擎只需下载一次。镜像须基于 SDK 0.26.1 或更高版本构建;使用免费 GitHub 密钥则需要 0.30.0 或更高版本。启动日志会显示你拿到的是哪个引擎,以及是否成功获取了许可证租约。
为什么 navigator.webdriver 始终是 false?
引擎不再根据 --enable-automation(常规自动化所用的开关)来设置它,何况镜像启动浏览器时本来就不带这个开关。之后再通过 CDP 连接客户端,也不会改变它。
在文档中深入了解
相关功能
一次 API 调用即可在云端启动 Clearcote 浏览器,并通过 CDP 连接 Playwright 或 Puppeteer。含住宅 IP,按流量(GB)计费。
为 browser-use、Stagehand、Crawl4AI 或你自己的智能体提供具备引擎层面身份控制的 Chromium,或者用你自己的模型运行 Clearcote 需主动开启的浏览器内置智能体。
通过 Model Context Protocol 为 Claude Desktop、Cursor 或 Cline 提供 Clearcote 浏览器:20 个工具,底层是一个一致的身份。
可直接替换的 Chromium,适用于 Playwright 和 Puppeteer:在 Python、Node 或 .NET 中只需改一行 import,浏览器会自动下载并完成 SHA-256 校验。
相关阅读
试用 Clearcote
可直接接入 Playwright 与 Puppeteer,一直到 TLS 握手都保持一致,并提供开源构建作为起点。
通过 GitHub 可免费使用一个浏览器。无需信用卡。