字
字节笔记本
2026年6月4日
Obscura:Rust 开源无头浏览器,AI 代理与网页爬虫利器
API中转
¥120
本文介绍 Obscura,一个用 Rust 编写的开源无头浏览器,专为 AI 代理和网页抓取而设计。该项目提供了轻量级、高反检测能力的浏览器引擎,帮助开发者在大规模网页自动化时替代 Chrome。
项目简介
Obscura 是一个开源的 headless browser 引擎,由 h4ckf0r0day 开发维护。截至目前,该项目在 GitHub 上已获得 14,000+ stars,主要使用 Rust 编写。
它通过嵌入 V8 引擎运行真实的 JavaScript,支持 Chrome DevTools Protocol(CDP),可以作为 Puppeteer 和 Playwright 的底层浏览器直接替换。
核心特性
- 极致轻量:运行时内存仅 30 MB,二进制大小 70 MB,启动速度毫秒级
- 真实 JS 引擎:嵌入 V8,支持完整 JavaScript 执行、DOM 操作和网络请求
- CDP 兼容:实现 Chrome DevTools Protocol,无缝对接 Puppeteer/Playwright
- 反检测指纹:内置会话级指纹随机化,隐藏 webdriver,返回真实
[native code] - 追踪器拦截:内置 3,520 个追踪器域名黑名单,自动拦截分析/广告脚本
- 并行爬取:内置
scrape命令,支持多 worker 并发爬取 - AI Agent 集成:内置 MCP Server,可直接接入 Claude Desktop、Cursor 等 AI 工具
- 跨平台:支持 Linux、macOS(ARM64/Intel)、Windows,提供 Docker 镜像
技术栈
- Rust - 核心引擎
- V8 JavaScript 引擎 - JavaScript 执行
- Chrome DevTools Protocol - 远程调试与控制
- WebSocket - CDP 通信
安装指南
下载预编译二进制
bash
# 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
# macOS Apple Silicon
curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-aarch64-macos.tar.gz
tar xzf obscura-aarch64-macos.tar.gzDocker
bash
docker run -d --name obscura -p 127.0.0.1:9222:9222 h4ckf0r0day/obscura源码编译
bash
git clone https://github.com/h4ckf0r0day/obscura.git
cd obscura
cargo build --release
# 开启反检测模式
cargo build --release --features stealth快速开始
获取页面标题
bash
obscura fetch https://example.com --eval "document.title"提取所有链接
bash
obscura fetch https://example.com --dump links启动 CDP 服务器
bash
obscura serve --port 9222 --stealth使用示例
Puppeteer 接入
javascript
import puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://127.0.0.1:9222/devtools/browser',
});
const page = await browser.newPage();
await page.goto('https://news.ycombinator.com');
const stories = await page.evaluate(() =>
Array.from(document.querySelectorAll('.titleline > a'))
.map(a => ({ title: a.textContent, url: a.href }))
);
console.log(stories);Playwright 接入
javascript
import { chromium } from 'playwright-core';
const browser = await chromium.connectOverCDP({
endpointURL: 'ws://127.0.0.1:9222',
});
const page = await browser.newContext().then(ctx => ctx.newPage());
await page.goto('https://en.wikipedia.org/wiki/Web_scraping');
console.log(await page.title());AI 代理 MCP 集成
在 Claude Desktop 配置中添加:
json
{
"mcpServers": {
"obscura": {
"command": "obscura",
"args": ["mcp"]
}
}
}性能对比
| 指标 | Obscura | Headless Chrome |
|---|---|---|
| 内存 | 30 MB | 200+ MB |
| 二进制大小 | 70 MB | 300+ MB |
| 页面加载 | 85 ms | ~500 ms |
| 启动速度 | 毫秒级 | ~2s |
项目链接
- GitHub 仓库:h4ckf0r0day/obscura
- Docker Hub:h4ckf0r0day/obscura
- 许可证:Apache 2.0
分享: