- --stealth is now a global flag: document it on every subcommand including scrape, and that it works before or after the subcommand. - Correct the stealth description: it presents a consistent Chrome fingerprint (TLS, headers, JS surfaces), not a randomized one, and scripted fetch()/XHR share that fingerprint. - Add --dump cookies to the CLI reference and the extract-data guide. - Note --dump assets now also lists fetch()/XHR request URLs.
Obscura is an open-source headless browser engine written in Rust. It runs JavaScript via V8, speaks the Chrome DevTools Protocol, and works as a drop-in replacement for headless Chrome with Puppeteer and Playwright.
Versus headless Chrome
| Metric | Obscura | Headless Chrome |
|---|---|---|
| Memory | 30 MB | 200+ MB |
| Binary size | 70 MB | 300+ MB |
| Startup | Instant | ~2s |
| Page load | 85 ms | ~500 ms |
| Anti-detect | Built-in | None |
| Puppeteer | Yes | Yes |
| Playwright | Yes | Yes |
Quickstart
Guides
- Build from source
- Configure stealth and proxies
- Markdown extraction
- Use with Puppeteer
- Use with Playwright
- Use the MCP server
- Use as a Rust library
- Persist cookies and storage
- Intercept and modify requests
- Run in production at scale
Reference
Contributing
Links
- Source: https://github.com/h4ckf0r0day/obscura
- Releases: https://github.com/h4ckf0r0day/obscura/releases
- Issues: https://github.com/h4ckf0r0day/obscura/issues
License: Apache-2.0.