Introduction
Obscura is a Rust-based headless browser purpose-built for AI agents and automated web interaction. Unlike general-purpose browsers running in headless mode, Obscura is designed from the ground up for programmatic control, with built-in anti-detection features and an API optimized for agent-driven navigation and data extraction.
What Obscura Does
- Renders web pages with full JavaScript execution in headless mode
- Exposes Chrome DevTools Protocol for programmatic control
- Provides built-in anti-fingerprinting and stealth capabilities
- Handles concurrent page sessions with low memory overhead
- Supports screenshot, PDF export, and DOM extraction
Architecture Overview
Obscura implements a Chromium-compatible rendering engine in Rust, optimized for server-side execution. It speaks CDP natively, allowing any existing Puppeteer or Playwright script to connect. The stealth layer randomizes browser fingerprints (canvas, WebGL, fonts, navigator properties) per session. A session manager handles connection pooling and resource cleanup for concurrent agent workloads.
Self-Hosting & Configuration
- Deploy via Docker image or compile from source with Rust
- Configure max concurrent sessions and memory limits
- Set proxy rotation and custom user-agent strings per session
- Enable or disable JavaScript execution per request
- Integrates with any CDP-compatible client library
Key Features
- Built-in anti-detection bypassing common bot-detection systems
- Low memory footprint compared to full Chrome headless
- Native CDP support for drop-in compatibility with existing tools
- Concurrent session management with resource isolation
- Written in Rust for reliability and performance
Comparison with Similar Tools
- Puppeteer/Playwright — control layers over Chrome; Obscura replaces Chrome itself
- Browserless — managed headless Chrome service; Obscura is self-hosted and free
- Crawlee — scraping framework; Obscura is the browser engine underneath
- Selenium — legacy automation; Obscura is purpose-built for modern agent workflows
- Browser Use — AI browser agent; Obscura provides the underlying headless browser
FAQ
Q: Is it a fork of Chromium? A: No. Obscura is a clean Rust implementation that speaks CDP but is not built on Chromium source code.
Q: Can I use Playwright with Obscura? A: Yes. Point your Playwright CDP connection to Obscura's endpoint and existing scripts work unchanged.
Q: How does it handle JavaScript-heavy sites? A: Obscura includes a full JavaScript engine and renders SPAs, handling dynamic content like a real browser.
Q: What about resource limits for many concurrent sessions? A: Configure per-session memory caps and total session limits. Idle sessions are automatically cleaned up.