← all repositories
h4ckf0r0day/obscura

A headless browser that fits in a Docker layer

Obscura replaces Chrome for scraping and AI agents with a 70 MB Rust binary that starts instantly and speaks Puppeteer.

14.4k stars Rust AgentsOther AI
obscura
Velocity · 7d
+258
★ / day
Trend
steady
star history

What it does Obscura is a headless browser engine written in Rust, embedding V8 directly. It runs JavaScript, renders pages, and implements the Chrome DevTools Protocol so Puppeteer and Playwright connect without knowing the difference. The binary is ~70 MB, uses ~30 MB RAM, and starts instantly—no Chrome, no Node.js, no dependencies.

The interesting bit The stealth mode is where the paranoia pays off: per-session fingerprint randomization across GPU, canvas, audio, and battery APIs, plus navigator.webdriver = undefined and native-function masking so bot detectors see a plausible Chrome 145 user. It also blocks 3,520 tracker domains outright. The MCP server is the other quiet bet—exposing browser tools over stdio or HTTP for Claude Desktop, Cursor, and whatever agent framework ships next.

Key highlights

  • CDP-compatible: drop-in for Puppeteer/Playwright via WebSocket on port 9222
  • Parallel scraping with obscura scrape and worker processes
  • Raw V8 tuning via --v8-flags for heap limits on JS-heavy pages
  • Docker image ~57 MB compressed, distroless base, no shell
  • CLI outputs: HTML, text, links, markdown, assets (NDJSON), or raw binary (original)

Caveats

  • First source build compiles V8 from scratch (~5 min, then cached)
  • Linux release targets glibc 2.35+ (Ubuntu 22.04); older distros need a build
  • Stealth mode is a compile-time feature flag, not runtime

Verdict Worth a look if you run scraping at volume or feed web pages to LLM agents and are tired of Chrome’s memory footprint and startup tax. Skip it if you need full desktop browser behavior or deep DevTools beyond the implemented CDP subset.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.