All 23 Dependencies
Every package obscura depends on, ranked by repo health score.
Obscura is an open-source headless browser engine written in Rust, purpose-built for web scraping and AI agent automation. It runs real JavaScript through V8 (via deno_core), implements the Chrome DevTools Protocol, and serves as a drop-in replacement for headless Chrome with both Puppeteer and Playwright — without requiring Chrome, Node.js, or any runtime dependencies.
Where headless Chrome weighs in at 200+ MB RAM and ~2 seconds to start, Obscura uses around 30 MB of memory, starts instantly, and loads pages in tens of milliseconds. Its architecture is a workspace of focused Rust crates — each responsible for one layer: networking, DOM parsing, JavaScript execution, CDP dispatch, and the MCP server — wired together with strict layering rules to keep the codebase auditable and extensible.
Stealth mode (opt-in at compile time with `--features stealth`) brings per-session fingerprint randomization across GPU, screen, canvas, audio, and battery signals, realistic navigator.userAgentData, event.isTrusted spoofing, native function masking, and a bundled tracker blocklist covering over 3,500 domains. This makes Obscura meaningfully harder to detect than stock headless Chrome without relying on external browser patches or third-party anti-detect layers.
Obscura also ships a first-class MCP server (`obscura serve --mcp`), letting AI coding agents drive browser sessions directly over the Model Context Protocol — fetching pages, extracting structured data, filling forms, and intercepting network traffic — all without leaving the agent's tool interface.