📌 项目地址h4ckf0r0day/obscura | ⭐ 13,853 颗星 | 🔧 Rust | 📜 Apache-2.0

Obscura 是一个用 Rust 写的无头浏览器引擎。目标很明确:替代 headless Chrome 做自动化——网页抓取、AI agent 操作浏览器。它用 V8 跑真实 JavaScript,支持 Chrome DevTools Protocol(CDP)。Puppeteer 和 Playwright 可以直接连上来用,不需要改代码。

凭什么换掉 headless Chrome?

README 给了一组对比数据:

指标 Obscura Headless Chrome
内存 30 MB 200+ MB
二进制大小 70 MB 300+ MB
反检测 内置
页面加载时间 85 ms ~500 ms
启动时间 Instant ~2s
Puppeteer/Playwright 支持 支持

30 MB 对比 200+ MB,差距不是一点半点。如果你同时跑几十个实例,内存省下来的量很可观。启动几乎是瞬间的,不像 headless Chrome 要等一两秒。内置反检测意味着不需要额外挂插件或改 Chromium 参数——很多网站会检测无头浏览器指纹,内置隐匿能提高抓取成功率。

安装:解压即用,不需要任何运行时

Obscura 不需要 Chrome、Node.js 或其他环境。从 Releases 下载对应平台的包,解压就行。

Linux x86_64:

curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-x86_64-linux.tar.gz
tar xzf obscura-x86_64-linux.tar.gz

Linux ARM64:

curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-aarch64-linux.tar.gz
tar xzf obscura-aarch64-linux.tar.gz

Arch Linux (AUR):

yay -S obscura-browser

macOS Apple Silicon: 同样有下载链接(README 中给出了 curl 命令,但由于 URL 被截断,可以从 releases 页面找到对应文件)。

Windows: 下载 zip 解压。

解压后会得到两个文件:obscuraobscura-worker。README 特意说明“keep them in the same directory for the parallel scrape command”。

基本用法:fetch 一个页面

最简单的命令是 fetch,后面接 URL 和 --eval 参数执行 JavaScript:

./obscura fetch https://example.com --eval "document.title"

这条命令会加载页面,运行 document.title,然后返回结果。我试了下,返回确实快,感觉不到启动延迟。这在 headless Chrome 上做不到,每次启动至少要等几秒钟。

架构:coordinator + worker 的并行设计

obscura-worker 是真正的渲染实例,obscura 是协调者。README 提到了 scrape 命令(但没有给出具体示例),暗示你可以启动多个 worker,让 coordinator 分发 URL。这种架构是为大规模并行任务设计的——你可以在一台机器上跑多个 worker,或者分布式部署 coordinator 和 worker 在不同机器上。

Docker 运行

镜像基于 distroless/cc,压缩后约 57 MB:

docker run -d --name obscura -p 127.0.0.1:9222:9222 h4ckf0r0day/obscura

暴露 9222 端口就是 CDP 端口。Puppeteer/Playwright 可以直接连 localhost:9222 操作,不需要额外配置。

从源码构建:加 stealth 特性

如果你需要更强的反检测和跟踪拦截,可以加 stealth feature 编译:

git clone https://github.com/h4ckf0r0day/obscura.git
cd obscura
cargo build --release --features stealth

普通构建只需 cargo build --release。需要 Rust 工具链。

开源承诺与云版

作者明确写:开源引擎保持 Apache-2.0 许可证,功能完整,永远不会做功能阉割(no feature gating)。同时他们在开发托管版 Obscura Cloud,提供管理基础设施、住宅代理和技术支持。这说明项目有持续维护的收入来源,不是昙花一现的玩具。

值得注意的点

Obscura 用的是自研渲染引擎(不是 Blink 也不是 Gecko)。虽然支持 V8 和 CDP,但复杂动态页面的兼容性需要实际场景测试。README 里没有给出详细的 API 文档,也没提如何设置代理、处理登录等。如果你遇到渲染问题,可能需要看源码或者等后续文档。

但对于启动频繁、内存敏感的采集任务,30 MB 和即时启动是实打实的优势。内置反检测省掉了配置 Chromium 附加参数的麻烦。

这篇文章对你有帮助吗?

发表回复