Back to News
Advertisement
cccheshirecat about 2 hours ago 0 commentsRead Article on github.com

DE version is available. Content is displayed in original English for accuracy.

Scraping modern websites has become a massive headache. You basically have two choices: pay for an expensive API like Firecrawl/Browserbase, or run a fleet of headless Chrome instances that eat 1GB of RAM per page and still get blocked by Cloudflare.

I built Draco to fix this. It’s a fast, single-binary web scraper written in Rust. You point it at a URL, and it spits out perfectly clean Markdown or structured JSON for LLMs.

The secret sauce is that it doesn't just boot a browser for every request. It uses a tiered escalation engine:

Tier 1 (Stealth Fetch): Draco uses a custom TLS/JA4 fingerprint to perfectly mimic a real browser's network signature at the packet level. It turns out a lot of anti-bot walls will let you right through if your handshake looks correct. In my benchmarks against sites like Cloudflare and Target, Playwright ate ~500MB of RAM and timed out. Draco bypassed them in under a second using just 20MB of RAM.

Tier 2 (V8 Isolate): If it hits a React/Next.js SPA that needs rendering, Draco boots an in-process V8 engine in single-digit milliseconds. It hydrates the DOM and intercepts the hidden JSON APIs the page is callingβ€”giving you the raw data without the overhead of a graphical browser.

Tier 3 (Real Browser): If it hits an absolute wall, it seamlessly falls back to detecting and driving a real browser on your machine.

I also built in all the tooling to make it a complete drop-in replacement for the hosted services:

Daemon Mode: Run draco serve and you get a persistent HTTP server with a Firecrawl-compatible REST API. You can swap out your API keys and self-host immediately.

Built-in MCP Server: It natively exposes a Model Context Protocol server so you can plug it directly into Claude Desktop or your AI agents.

Web Search: Built-in parallel multi-engine web search (bypassing the need for a Google Search API key).

Interact Mode: Drive a page statefully like a devtools console, persisting cookies across navigations(for LLM's mainly).

It’s completely open source (MIT/Apache-2.0). I just wanted to put this out there for anyone tired of fighting headless Chromium or paying per-page scraping costs. Grab the binary and throw a difficult URL at it.

Note that it's still a WIP so there might be some unexpected breakages of uncommon sites but for the most part its quite capable, it can handle cf-protected sites and heavy SPA's while everything else fails partially or completely while taking longer or more resources. (tested on example.com, hackernews, cloudflare, glassdoor, bluff.com, target.com, stake.com and thrill.com)

┏━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓ ┃ Rank ┃ Tool ┃ Score ┃ Pass ┃ Avg Time ┃ Avg RAM ┃ ┑━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩ β”‚ #1 β”‚ Draco β”‚ 769.7 β”‚ 8/8 β”‚ 3.45 β”‚ 216.50 β”‚ β”‚ #2 β”‚ Obscura β”‚ 384.5 β”‚ 4/8 β”‚ 2.68 β”‚ 87.59 β”‚ β”‚ #3 β”‚ BrowserOxide β”‚ 373.4 β”‚ 4/8 β”‚ 6.42 β”‚ 105.95 β”‚ β”‚ #4 β”‚ Playwright β”‚ 342.2 β”‚ 4/8 β”‚ 1.71 β”‚ 535.07 β”‚ β”‚ #5 β”‚ Bouncy β”‚ 196.6 β”‚ 2/8 β”‚ 0.59 β”‚ 19.38 β”‚ β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Repo: https://github.com/0xchasercat/draco/

Advertisement

Discussion (0 Comments)Read Original on HackerNews

No comments available or they could not be loaded.