【免费下载链接】crwFast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler search API with MCP server for AI agents. Drop-in Firecrawl-compatible API (/scrape, /crawl, /search). 2.3x faster than Tavily, 1.5x faster than Firecrawl in 1K-URL benchmarks. 6 MB RAM, single binary. Self-host or use managed cloud.项目地址https://gitcode.com/gh_mirrors/cr/crw点击查看免费下载fastCRWcrw是一个用 Rust 编写的轻量级 Web 抓取 API 引擎提供与 Firecrawl 兼容的/v1/scrape、/v1/crawl、/v1/map接口并内置/v1/search搜索端点和 MCP Server是 Tavily、Firecrawl 的自托管替代方案。它的核心二进制空闲时只占用十几 MB 内存意味着在一台 512 MB 的廉价 VPS 上用一条 Docker 命令就能跑起一个免费的私有抓取 API——无需 Redis、PostgreSQL 或 RabbitMQ没有按次计费的账单抓多少都不花钱。本文将带你完成从安装 Docker、启动容器、验证接口到配置认证与加固的完整流程。为什么选择 Docker 自托管 fastCRW先说结论如果你需要私有、可控、零按次费用的抓取 APIDocker 自托管 fastCRW 是目前门槛最低的方案。它与传统抓取栈的差异在于资源占用方案依赖组件空闲内存最低 VPSFirecrawl 全家桶Node.js Redis PostgreSQL RabbitMQ~500 MB4 GBCrawl4AI PlaywrightPython 浏览器~200 MB2 GBfastCRWDocker单个 Rust 二进制~14 MB512 MB官方 1,000-URL 基准测试显示fastCRW 在内容恢复率truth-recall和延迟上均优于同场对比的 Crawl4AI 与 Firecrawl对自托管用户来说还有三个实际好处Firecrawl 兼容现有 Firecrawl 代码只需改一下 base URL 就能指向你的私有实例搜索开箱即用Docker Compose 栈自带 SearXNG 元搜索引擎/v1/search直接可用JS 渲染自带轻量级无头浏览器 LightPanda 作为 sidecar 一起启动SPA 页面自动降级渲染。一键启动1分钟部署单个 Docker 容器如果你的目标只是快速获得一个抓取 API静态页面为主这是最快的路径。前置要求一台任意发行版的 Linux VPSUbuntu 22.04/24.04 均可已安装 Docker Enginecurl -fsSL https://get.docker.com | sh即可拉取并运行镜像docker pull ghcr.io/fastcrw/crw:0.16.0 docker run -d --name crw -p 3000:3000 --restart unless-stopped ghcr.io/fastcrw/crw:0.16.0 生产环境建议使用固定 tag如0.16.0而不是latest避免每次发版自动滚动导致行为变化。镜像基于debian:bookworm-slim体积很小构建细节见 Dockerfile。验证服务状态curl http://localhost:3000/health # {status:ok}看到ok就说明你的私有抓取 API 已经上线了。完整方案用 Docker Compose 部署「抓取 搜索 JS 渲染」全栈单容器适合起步而仓库内置的 Compose 编排才是生产形态一次up就得到三个协作的服务。全栈服务一览克隆仓库获取编排文件仓库地址https://gitcode.com/gh_mirrors/cr/crwgit clone https://gitcode.com/gh_mirrors/cr/crw cd crw docker compose up -d启动的服务及端口分工如下完整定义见 docker-compose.yml服务端口是否发布到宿主机作用crw3000是0.0.0.0:3000API 服务器加载config.docker.tomlsearxng8080否仅内部网络元搜索引擎支撑/v1/searchlightpanda9222否仅内部网络轻量无头浏览器JS 渲染主力chrome9222否完整 Chromium复杂 SPA 兜底需--profile heavy几个值得注意的设计搜索端口不对外searxng:8080只在 Compose 内部网络可达搜索流量统一走/v1/search攻击面更小crw 会自动等待 searxng 健康检查通过再处理首个搜索请求所以compose up后前 15–30 秒的搜索请求可能报timeout属于冷启动正常现象渲染器与搜索后端的接线已经写死在 config.docker.toml 里ws://lightpanda:9222、http://searxng:8080你不需要手工拼环境变量。可选启用 Chrome 重渲染档位LightPanda 足以应付大多数 JS 站点但遇到重型 SPA 或 Cloudflare 质询时可以加挂完整 Chromiumdocker compose --profile heavy up -d该档位使用 Apache-2 许可的chromedp/headless-shell镜像约 500 MB按需选择。从源码构建的注意事项Compose 默认是build: .本地交叉编译。构建 Rust 工程峰值内存较高请确保Docker 可用内存 ≥ 4 GB受限时可串行链接降低峰值CARGO_BUILD_JOBS1 docker compose build crw docker compose up -d构建是一次性成本运行镜像本身很小。如果你的 VPS 配置低直接docker pull官方镜像并在 Compose 中把build: .换成image:更稳妥。首次请求验证/v1/scrape、/v1/search 与 /health部署完成后按官方推荐的顺序做三件事先scrape一个真实目标再验证一个search请求最后跑一个有页数上限的小crawl。# 1. 抓取单页为 Markdown curl -X POST http://localhost:3000/v1/scrape \ -H Content-Type: application/json \ -d {url:https://example.com,formats:[markdown]} # 2. 搜索由内置 searxng sidecar 提供 curl -X POST http://localhost:3000/v1/search \ -H Content-Type: application/json \ -d {query:rust web scraping,limit:5} # 3. 有界爬取限 10 页防止跑飞 curl -X POST http://localhost:3000/v1/crawl \ -H Content-Type: application/json \ -d {url:https://docs.example.com,limit:10}这三个端点与 Firecrawl 的请求/响应结构保持一致你的旧代码改个 base URL 即可切换。生产前必做API 密钥认证与密钥轮换自托管默认不启用认证——服务器启动时会明确告警若[auth] api_keys为空任何能访问该端口的人都可以使用你的 API见 crates/crw-server/src/main.rs。暴露在公网前请务必配置 Bearer 令牌。方式一环境变量注入推荐不改镜像在项目根目录创建.env文件Compose 会自动读取echo CRW_AUTH__API_KEYS$(openssl rand -hex 32) .env再为两个自带占位默认值的密钥生成真实值echo SEARXNG_SECRET_KEY$(openssl rand -hex 32) .env echo BROWSERLESS_TOKEN$(openssl rand -hex 24) .env docker compose up -d --force-recreate searxng⚠️SEARXNG_SECRET_KEY与BROWSERLESS_TOKEN的仓库默认值是公开占位符任何知道默认值的人都可能伪造会话或打开浏览器会话公网部署前必须轮换。方式二挂载自定义配置文件Compose 将 config.docker.toml 只读挂载到容器内你可以复制一份并填入密钥[auth] api_keys [你的真实密钥]之后带密钥调用curl -X POST http://localhost:3000/v1/scrape \ -H Authorization: Bearer 你的真实密钥 \ -H Content-Type: application/json \ -d {url:https://example.com}容器安全加固已内置无需额外操作官方 Compose 文件已对每个服务做了纵深防御可以直接放心使用read_only: true根文件系统只读恶意解析产物重启即消失cap_drop: ALLno-new-privileges:true引擎不依赖任何 Linux capabilitiesmem_limit: 2g/pids_limit: 512防止失控 worker 拖垮宿主机PDF 解析默认开启sandbox true每次解析跑在带内存上限的隔离子进程中。更多加固细节SSRF 防护、/metrics访问控制、CORS 白名单见官方文档 docs/docs/self-hosting-hardening.md。常用调优参数速查fastCRW 的所有配置项都支持CRW_模块__字段环境变量覆盖优先级高于配置文件。VPS 上最常用的几个环境变量作用示例值CRW_AUTH__API_KEYSBearer 认证密钥[sk-prod-xxx]CRW_SERVER__PORT服务监听端口8080CRW_SEARCH__SEARXNG_URL指向外部搜索后端http://your-host:8080CRW_CRAWLER__REQUESTS_PER_SECOND全局爬取限速5.0CRW_CRAWLER__USER_AGENT自定义 UAMyBot/1.0CRW_RENDERER__LIGHTPANDA__WS_URL外部 LightPanda 地址ws://lp:9222CRW_BIND_ADDRESS/CRW_HOST_PORT宿主机绑定地址/端口Compose 插值127.0.0.1/3055两个实用场景3000 端口被占用在.env中设置CRW_HOST_PORT3055无需改 Compose 文件前面挂了反向代理Caddy/Nginx 做 TLS 终结设置CRW_BIND_ADDRESS127.0.0.1让 API 只监听回环地址公网流量全部走代理。注意config.docker.toml中全局限速默认是rate_limit_rps 0不限制但每站点限速依然生效——这是出于礼貌爬取的设计无需担心。资源占用与 VPS 选型建议官方在 50 并发请求下实测crw服务本身约 66 MB。加上 sidecar不同档位的内存需求如下部署档位包含服务建议内存适合场景最小crw 单容器512 MB静态页面为主、轻量搜索标准crw searxng lightpanda1–2 GB大多数生产 VPS 场景重度标准 chromeheavy4 GB大量重型 SPA / 反爬站点成本上一台 $5/月约 1–2 GB的 VPS 即可覆盖标准档位。由于没有按次计费月抓取量达到 1 万、10 万页时费用始终是固定的 VPS 租金——这正是自托管 fastCRW 相对云 API 的核心经济优势。常见问题FAQQ1启动后/v1/search报 timeout 怎么办冷启动正常现象。crw 会等待 searxng 通过健康检查首次compose up后 15–30 秒内搜索可能不可用确认服务端日志中打印的搜索后端地址即可。Q2能连接 AI AgentClaude Code、Cursor 等吗可以。镜像内自带crw-mcp二进制把 MCP 客户端指向你的http://vps-ip:3000并带上 API KeyAgent 即获得一个包月制的私有抓取工具无按次费用。Q3JS 渲染会不会把 LightPanda 跑崩Compose 中lightpanda服务配置了restart: unless-stopped崩溃后自动拉起。复杂 SPA 会按 HTTP → LightPanda → Chrome 的失败链逐级升级不会导致请求整体失败。Q4AGPL 许可对自托管有影响吗个人/内部使用、不向第三方开放 API 时没有额外义务若你把修改版 fastCRW 作为网络服务提供给第三方需按 AGPL-3.0 §13 提供对应源码。许可细节见 docs/docs/self-hosting-hardening.md。Q5如何升级版本重新docker compose pull拉取新镜像后docker compose up -d即可建议每次升级前检查 docs/docs/changelog.md。总结用 Docker 自托管 fastCRW 的全部动作可以压缩成三步docker run -p 3000:3000 ghcr.io/fastcrw/crw:0.16.0—— 一分钟拿到私有抓取 APIdocker compose up -d—— 升级出「抓取 搜索 JS 渲染」全栈配置.env中的 API Key 与密钥轮换 —— 安全上线。配合 512 MB–2 GB 的低配 VPS你得到的是一套 Firecrawl 兼容、无按次账单、可接入 MCP 的完整 Web 抓取基础设施。更多端点细节可参考官方文档 docs/docs/docker.md 与 docs/docs/self-hosting.md。赞分享【免费下载链接】crwFast, lightweight Firecrawl/Tavily alternative in Rust. Web scraper, crawler search API with MCP server for AI agents. Drop-in Firecrawl-compatible API (/scrape, /crawl, /search). 2.3x faster than Tavily, 1.5x faster than Firecrawl in 1K-URL benchmarks. 6 MB RAM, single binary. Self-host or use managed cloud.项目地址https://gitcode.com/gh_mirrors/cr/crw点击查看免费下载相关推荐如何5分钟上手fastCRW一条命令安装Web爬虫并跑通第一个抓取如何5分钟上手fastCRW一条命令安装Web爬虫并跑通第一个抓取 fastCRWcrw是一款用 Rust 编写的轻量级 Web 爬虫与抓取 API 工具Firecrawl MCP Server 自托管配置搭建私有网页抓取服务的完整教程想要完全掌控自己的网页抓取服务吗Firecrawl MCP Server 自托管方案让你拥有私有化的网页抓取能力摆脱云服务限制享受更高的数据隐私和定制化服AI 应用MCP 服务网页爬虫后端Monkeytype 自托管完整指南基于 Docker Compose 与 Traefik 的私有部署Monkeytype 自托管完整指南基于 Docker Compose 与 Traefik 的私有部署 Monkeytype 是目前可定制程度极高的打字练习前端后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?