Draco——用 Rust 编写的单二进制文件、可自托管 Firecrawl 替代方案
Show HN: Draco – A single-binary, self-hostable Firecrawl alternative in Rust
我们发现了什么
内置 MCP 服务器:它原生提供 Model Context Protocol 服务器,因此你可以将其直接接入 Claude Desktop 或你的 AI 智能体。交互模式:像使用开发者工具控制台一样以有状态方式驱动页面,在导航之间持久保存 Cookie(主要供 LLM 使用)。
- 来源:Hacker News(发现于 2026-08-03)
- 证据等级:D · 发现产品或需求信号,暂未获得可核验的商业证据。
- 商业模式:API / Usage-based
- 主题:独立产品
- 初筛评分:15.4/100 · 收录 1 次
证据,比故事更重要。
规则清洗与初筛,未经人工商业核验。原文语境、实际客户和付费情况仍需自行验证。
引用与数字披露
来源类型(原作者自述/第三方测算/媒体转引)需采集端标注,本版尚未落字段。
- 作者
- 未标注
- 抓取日期
- 来源类型
- 未标注
- 币种
- 未标注
- 口径
- 未标注
- 披露主体
- 未标注
- 披露日期
- 未标注
中文辅助译文(全文)
抓取现代网站已经成为一件极为头疼的事。你基本上只有两种选择:要么为 Firecrawl/Browserbase 这样昂贵的 API 付费,要么运行一组无头 Chrome 实例,每个页面要吃掉 1GB 内存,而且仍然会被 Cloudflare 拦截。我构建 Draco 来解决这个问题。它是一个用 Rust 编写的快速、单二进制文件的网页抓取器。你只需指向一个 URL,它就会输出干净的 Markdown 或供 LLM 使用的结构化 JSON。其秘诀在于:它不会为每个请求都启动一个浏览器。它使用分级升级引擎:第 1 级(Stealth Fetch):Draco 使用自定义的 TLS/JA4 指纹,从数据包级别完美地模拟真实浏览器的网络特征。事实证明,许多反机器人墙只要你的握手看起来正确,就会直接放行。在我对 Cloudflare 和 Target 等网站的基准测试中,Playwright 消耗了约 500MB 内存并超时,而 Draco 仅用 20MB 内存、不到 1 秒就绕过了它们。第 2 级(V8 Isolate):如果遇到需要渲染的 React/Next.js SPA,Draco 会在个位数毫秒内启动一个进程内 V8 引擎。它会执行 DOM 水合,并拦截页面正在调用的隐藏 JSON API——让你直接获取原始数据,而无需图形浏览器的开销。第 3 级(Real Browser):如果遇到绝对无法绕过的障碍,它会无缝回退,检测并驱动你机器上的真实浏览器。
我还内置了所有相关工具,使其可以成为托管服务的完整即插即用替代品:守护进程模式:运行 draco serve,你将获得一个持久化的 HTTP 服务器,并提供与 Firecrawl 兼容的 REST API。你可以直接替换 API 密钥,立即自托管。内置 MCP 服务器:它原生暴露一个 Model Context Protocol 服务器,因此你可以直接将其接入 Claude Desktop 或你的 AI 智能体。Web 搜索:内置并行的多引擎 Web 搜索(无需 Google Search API 密钥)。交互模式:像 devtools 控制台一样有状态地驱动页面,在导航之间持久化 Cookie(主要供 LLM 使用)。它完全开源(MIT/Apache-2.0)。我只是想把它提供给那些受够了与无头 Chromium 搏斗、或为按页面计费抓取成本而苦恼的人。下载二进制文件,对一个刁钻的 URL 试试吧。需要注意的是它仍在开发中,因此对于一些不常见的网站可能会出现意想不到的故障,但在大多数情况下它能力相当强——它可以处理受 CF 保护的站点和繁重的 SPA,而其他工具在耗时更长或占用更多资源的同时只能部分甚至完全失败。
(已在 example.com、hackernews、cloudflare、glassdoor、bluff.com、target.com、stake.com 和 thrill.com 上测试)┏━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┓ ┃ 排名 ┃ 工具 ┃ 分数 ┃ 通过 ┃ 平均时间 ┃ 平均内存 ┃ ┡━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━╇━━━━━━━━━━╇━━━━━━━━━┩ │ #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 │ └──────┴─…
译文由上游机器翻译生成,可能有误;判断请以英文原文为准。
英文原文(来源本站未改写)
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 │ └──────┴──
这条还缺什么证据?
下面每条都由本条已有字段推出(等级、理由、商业模式、来源次数、是否演示), 本站不生成推测性结论;通用验证方法放在方法论页。
- 可核验的收入或付费证据查官网定价页与付费口径;第三方数据源(如 GetLatka)只作旁证,需标注来源与时点。
- 只有单一来源找一手站点或其他渠道是否重复出现同一产品;社区热帖数量不等于商业进展。
通用验证清单(谁有这个问题/谁愿意付费/一个人能交付哪一小步)见我们的筛选方法。