- Obscura là headless browser engine mới viết bằng Rust, chạy V8 thật, hỗ trợ CDP và cắm thẳng vào Puppeteer/Playwright.
- Memory 30MB, startup 85ms, binary 70MB — nhẹ hơn Chrome gấp 4–7 lần.
- Miễn phí, Apache 2.0.
TL;DR
Obscura là một headless browser engine mới viết bằng Rust, sinh ra cho AI agent và web scraping. Nó chạy JavaScript thật qua V8, nói giao thức Chrome DevTools Protocol (CDP), và cắm thẳng vào Puppeteer lẫn Playwright như một drop-in replacement cho headless Chrome. Benchmark công bố: RAM 30MB, page load 85ms, binary 70MB — nhẹ hơn Chrome 4–7 lần ở mọi trục. Open source, Apache 2.0, đang có repo tại github.com/h4ckf0r0day/obscura.
What's new
Điểm đáng chú ý: Obscura không là một client Rust điều khiển Chrome (như rust-headless-chrome hay chromiumoxide). Nó là một browser engine hoàn chỉnh — tự chạy V8, tự xử lý DOM, tự mở CDP server. Không cần cài Chrome/Chromium đi kèm. Bạn tải 1 binary 70MB, chạy là xong.
Ba cách dùng qua CLI:
obscura serve— mở CDP WebSocket server (mặc định port 9222), Puppeteer/Playwright connect quabrowserWSEndpointhoặcchromium.connectOverCDP().obscura fetch— render 1 trang, trả HTML / text / links, hỗ trợ wait conditions kiểunetworkidle0.obscura scrape— chạy song song nhiều URL với concurrency cấu hình được, phù hợp crawl quy mô lớn.
Why it matters
Mỗi instance headless Chrome ngốn 200MB+ RAM và mất ~2 giây startup. Với một AI agent sinh ra hàng trăm session mỗi giờ, hoặc một scraper chạy parallel 50 worker, con số đó dịch thành hoá đơn cloud thật. Nếu Obscura giữ được 30MB và startup gần như tức thời như công bố, cùng khối lượng công việc có thể chạy trên 1/6 bộ nhớ — hoặc cùng máy nhưng concurrency cao gấp 6 lần.
Điểm thứ hai: việc giữ nguyên CDP + Puppeteer/Playwright nghĩa là bạn không phải viết lại code. Đổi endpoint, giữ nguyên script.
Technical facts
| Metric | Obscura | Headless Chrome |
|---|---|---|
| Memory | 30 MB | 200+ MB |
| Binary size | 70 MB | 300+ MB |
| Page load | 85 ms | ~500 ms |
| Startup | Instant | ~2 s |
Real-world page loads được repo đưa ra: static HTML 51ms, JS + XHR + fetch 84ms, dynamic scripts 78ms. CDP domains đã hỗ trợ: Target, Page, Runtime, DOM, Network, Fetch, Storage, Input — đủ cho 90% use case automation thực tế. Proxy HTTP và SOCKS5 có sẵn. Build yêu cầu Rust 1.75+; lần compile đầu ~5 phút vì V8 build from source, sau đó cache lại.
Comparison
Đối thủ gần nhất là Lightpanda, cũng sinh ra cho AI agent nhưng viết bằng Zig. Lightpanda công bố peak 123MB, nhanh gấp 9 lần Chrome trong benchmark chromedp. Obscura dùng Rust + V8 thật thay vì Zig với JS runtime custom — nghĩa là parity với Chrome về JS behavior cao hơn, đổi lại binary hơi to hơn. Với số liệu công bố, Obscura còn nhẹ hơn Lightpanda ~4 lần về RAM.
| Tool | Language | JS Engine | Memory |
|---|---|---|---|
| Obscura | Rust | V8 | 30 MB |
| Lightpanda | Zig | Custom | 123 MB |
| Headless Chrome | C++ | V8 | 200+ MB |
Use cases
- AI agent workflow: LangChain, AutoGPT-style pipeline nơi mỗi lần agent chạy đều mở browser mới — cold-start 85ms thay vì 2s thay đổi hoàn toàn trải nghiệm.
- High-concurrency scraping: dùng
scrapevới worker pool, chạy hàng trăm URL song song trên 1 VM thay vì cần cả cụm. - Anti-bot scraping: stealth mode randomize fingerprint mỗi session, block 3,520 domain tracker mặc định — khó dính ban hơn.
- CI/CD test: binary 70MB vs image Chrome 300MB+ giúp test pipeline kéo container nhanh hơn hẳn.
- Serverless function: memory limit 128–512MB của Lambda/Cloud Run trước đây là rào cản lớn cho Chrome; 30MB biến nó thành chuyện nhỏ.
Limitations & pricing
Giá: miễn phí, Apache 2.0, self-host. Không có SaaS chính thức.
Điểm cần cân nhắc:
- Headless-only — không render GUI. Không phù hợp nếu bạn cần screenshot pixel-perfect, video capture, hoặc WebGL chính xác như trình duyệt thật.
- Project còn rất trẻ (repo public ~1 tuần tại thời điểm viết bài). Một số CDP domain nâng cao, service worker, WebRTC edge case, extension support nhiều khả năng chưa đầy đủ.
- Lần build đầu mất ~5 phút vì V8 compile from source. Nếu bạn lười compile, dùng binary pre-built cho Linux x86_64, macOS (Apple Silicon + Intel), Windows.
- Benchmark do tác giả tự công bố, chưa có bên thứ ba kiểm chứng độc lập.
What's next
Làn sóng "lightweight browser cho AI agent" đang hình thành rõ: Lightpanda, Browserbase, Anchor, và giờ là Obscura. Điểm khác biệt của Obscura là chiến lược stay compatible — giữ V8 thật, giữ CDP, giữ Puppeteer API — để dev không phải học lại gì. Roadmap chính thức chưa công khai, nhưng hướng đi hợp lý tiếp theo là mở rộng CDP coverage và parity Playwright sâu hơn.
Nếu bạn đang build AI agent tốn tiền Chrome, hoặc scraper bị bóp cổ bởi RAM, đáng clone repo thử ngay tuần này.
Nguồn: github.com/h4ckf0r0day/obscura, @QingQ77 tweet, Lightpanda.
