🔧 AI 知识库

Obscura:30MB Rust 无头浏览器,击败 Chrome,AI Agent 与爬虫的隐形核武器

原文链接

Obscura:30MB Rust 无头浏览器,击败 Chrome,AI Agent 与爬虫的隐形核武器

原文链接:https://mp.weixin.qq.com/s/NUEohrYRxKTb2QJ6eHQ-yg 作者:小K / 如此才是 GitHub:https://github.com/h4ckf0r0day/obscura

摘要

纯 Rust 打造的无头浏览器引擎,30MB 内存、70MB 二进制、85ms 页面加载、瞬时启动。真实运行 V8 JavaScript,完整支持 Chrome DevTools Protocol(CDP),可直接替代 Puppeteer/Playwright。内置反检测(指纹随机化 + 3520 个 tracker 域名阻断),Chrome 的 1/7 内存、1/5 启动时间。


Obscura vs Chrome

指标ObscuraChrome
内存30MB200MB+
二进制体积70MB300MB+
页面加载85ms~500ms
启动速度瞬时~2s
反检测内置需插件

三大核心能力

1. CLI 工具

obscura fetch <url>            # 单页抓取,支持 JS 渲染、eval、selector 等待
obscura scrape <url1> <url2>   # 多 URL 并行抓取,--concurrency 控制
obscura serve                  # 启动 CDP WebSocket 服务器

2. Stealth Mode(--stealth

  • 指纹随机化:每次会话随机 GPU/Screen/Canvas/Audio/Battery 指纹
  • 真实 Chrome 模拟:userAgentData 高熵值、event.isTrusted=true、navigator.webdriver=undefined、Function.prototype.toString() 返回 [native code]
  • Tracker Blocking:自动阻断 3520 个 analytics/ads/telemetry/fingerprinting 域名

3. CDP 全兼容

Puppeteer-core 和 playwright-core 通过 ws://127.0.0.1:9222 直连,零修改替代。已实现 Domain:

  • Target / Page / Runtime / DOM / Network / Fetch / Storage / Input / LP(DOM 转 Markdown)

额外支持:--proxy(HTTP/SOCKS5)、--obey-robots--wait-until--workers 多进程、表单提交/登录/302/Cookie 原生支持。


安装

# macOS Apple Silicon
curl -LO https://github.com/h4ckf0r0day/obscura/releases/latest/download/obscura-aarch64-macos.tar.gz
tar xzf obscura-aarch64-macos.tar.gz

# 源码(含 Stealth)
cargo build --release --features stealth

架构设计

6 个 crate 的 Cargo Workspace

Crate职责核心依赖
obscura-domHTML/CSS/DOM 解析html5ever + selectors + cssparser
obscura-jsV8 引擎集成deno_core 0.350
obscura-netHTTP + tracker 阻断reqwest + wreq
obscura-browser胶水层,页面生命周期协调 DOM + JS + Net
obscura-cdpCDP WebSocket 服务器tokio-tungstenite
obscura-cli命令行入口clap

关键设计

  • deno_core 直接嵌入 V8,无需 Chromium 渲染引擎 → 极低内存和体积
  • 每个 Page 独立 JS 上下文,真实 JS 执行非模拟
  • Stealth 编译时 feature 切换 + 运行时 per-session 随机化
  • 无 Blink、无桌面特性、纯 Rust + Tokio 异步 → 瞬时启动

典型用途

  • AI Agent 自主浏览(内存小,可并行跑几十个实例)
  • 大规模网页抓取(反爬检测器看不见)
  • 低资源环境下的无头浏览器
  • Puppeteer/Playwright 的无缝轻量替代