Obscura 给 AI 助手用的开源无头浏览器 不用装 Chrome

Obscura 是一个用 Rust 写的无头浏览器引擎,专门给爬虫和 AI 助手用。它最特别的点是:不需要 Chromium。

一、问题是什么

做爬虫或者给 AI 助手加「上网」能力,绕不开无头浏览器。而现在的默认答案是 headless Chrome:功能全、生态成熟,但也有几个长期被吐槽的问题。

一是重。一个无头 Chrome 跑起来要 200MB 以上内存,安装包 300MB 以上,启动要两秒左右。你要是想在一台小服务器上并行跑几十个实例,光内存就撑不住。

二是慢。页面加载五百毫秒起步,对批量抓取来说是实打实的成本。

三是反检测要自己折腾。无头 Chrome 会暴露一堆指纹特征,站点一看就知道你不是真人浏览器,得靠 puppeteer-stealth 之类的插件一个个补。

四是依赖链长。部署一个爬虫先得保证 Chrome 装得上、版本对得上、缺的库都有——在精简的容器镜像里这是常见坑。

二、核心设计

Obscura 的路线是自己实现浏览器内核,而不是包一层 Chrome。

它内置 V8 来真实执行 JavaScript——这一点很关键,很多轻量方案直接不跑 JS,遇到现代前端页面就废了。渲染也是自己实现的,官方明确说了「Native rendering is here. No Chromium required」,能截图、能录屏、能导 PDF。

对外协议走 Chrome DevTools Protocol。这个选择很聪明:因为 CDP 是 Chrome 的公开协议,Puppeteer 和 Playwright 都支持连它,所以 Obscura 可以直接当它们的替代后端用——你的脚本几乎不用改,把连接地址指过去就行。

反检测能力内置在里面,不是外挂插件。官方还说 Cloudflare 在做他们新的 agent 浏览器(Kitesurf)时,第一个原型就是把 Obscura 移植到 Workers 上开始的。

三、功能拆解

  • 替代 headless Chrome:官方给的对照表是内存 30MB vs 200MB+、二进制约 70MiB vs 300MB+、页面加载 85ms vs 约 500ms、启动即时 vs 约 2s。
  • 四种变体:默认版(有渲染、无反检测)、-stealth(有渲染、有反检测)、-no-render(无渲染、无反检测)、-no-render-stealth(无渲染、有反检测)。按用途挑,不需要渲染的场景能省更多资源。
  • Puppeteer / Playwright 兼容:走标准 CDP,现有脚本改连接地址即可。
  • 截图 / 录屏 / 导出 PDF:都是内置能力,不用再装额外组件。
  • Docker 镜像:基于 distroless/cc:nonroot 多阶段构建,压缩后约 57MB,以 uid 65532 非 root 运行,没有 shell 也没有包管理器。
  • 并行抓取:obscura scrape 会同时拉起多个 worker(Windows 上要保证 obscura 和 obscura-worker 在同一目录)。

四、适合谁、不适合谁

适合:要在大批量并行抓取时压内存的团队;需要把爬虫塞进小容器或边缘节点的人;给 AI 助手加网页访问能力、又不想背一个 Chrome 在身上的人;已经写了 Playwright 脚本、想换个更轻后端的开发者。

不适合:需要 Chrome 全部特性的人——扩展系统、DevTools 全套面板、某些冷门 Web API,Obscura 不一定都覆盖;依赖 Chrome 特定版本行为做兼容测试的人也不适合;完全不想写代码的人当然也不适合,它是命令行工具。

五、诚实提醒

「内置反检测」不等于「不可能被识别」。 各家风控一直在升级,没有任何方案能保证长期有效。重要用途建议自己再加代理池和请求限速,别把所有压力放在这一层。

性能数字是同条件对照,不是绝对承诺。 85ms 对比 500ms 是在官方给的测试条件下测的,实际取决于页面复杂度、网络、机器。渲染复杂页面时它不可能比 Chrome 快十倍。

项目在做商业版,但开源版不阉割。 官方明确写了「The open-source engine stays Apache-2.0, fully featured. No feature gating, ever.」即将推出的 Obscura Cloud 是托管服务(带住宅代理和运维支持),那个要付费,和本地引擎是两回事。

Windows 只有 64 位。 没有 32 位构建,解压后要把目录加进 PATH,并且保持运行时 DLL 和两个可执行文件在同一目录。

Linux 构建目标为 Ubuntu 22.04,需要 glibc 2.35 以上,很老的发行版跑不起来。

六、项目现状

用 Rust 写成,Apache-2.0 协议,目前约 3.4 万 star,最新版本 v0.2.6。版本号还在 0.x,说明引擎本身还在快速演进期,接口和行为都可能有变化。项目在 Trendshift 上拿到过当天的第一。

发布页提供 macOS(aarch64 / x86_64)、Linux(aarch64 / x86_64)、Windows(x86_64)三个平台各四种变体,共 20 个资产;另有 Docker Hub 镜像和 NixOS 包。

七、常见问题

问:真的完全不用装 Chrome 吗?

答:不用。V8 和渲染都内置了,官方写的是 no Chrome、no Node.js、no dependencies。

问:免费吗?

答:本地引擎 Apache-2.0,功能不做阉割。官方的托管服务 Obscura Cloud 要付费,但不影响本地版。

问:我的 Playwright 脚本要重写吗?

答:基本不用。它走标准 CDP,把连接地址指过去就行;个别依赖 Chrome 私有行为的调用可能要调。

问:能躲过 Cloudflare 吗?

答:不能保证。反检测能减少指纹暴露,但风控在持续升级,重要用途建议叠加代理和限速。

问:Windows 上怎么装?

答:下载 zip 解压,把目录加进 PATH,保持运行时 DLL 和两个 exe 在同一目录。也可以用 Scoop 装(默认变体是「有渲染、无反检测」)。

下载地址

夸克网盘(永久有效,无提取码):https://pan.quark.cn/s/06b4376de1f6

本文由「宝藏星球屋」整理,更多软件、游戏、开源项目都在 https://cbge.top。

本站全部免费,如果觉得内容有用,可打赏支持服务器续费打赏支持
固定文章缩略图

新人必看的入站详细说明指南

解决的你的各种疑难杂症以及各种相关教程

前往查看 »
© 版权声明
THE END
喜欢就支持一下吧
点赞21 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容