Skip to content

2026 年最佳开源 CAPTCHA 选项

简短回答: Cap 是一个免费、开源、自托管的 CAPTCHA(人机验证)替代方案,采用 Apache 2.0 许可证,用工作量证明和 instrumentation 质询取代视觉谜题。其他值得认真考虑的开源选项还有 ALTCHA(极简 PoW 库)、mCAPTCHA(PoW,仍处 1.0 之前、进展缓慢)和 Anubis(面向整站而非表单的 PoW 反爬虫墙)。

什么才算开源 CAPTCHA?

仅有一个公开的验证组件仓库并不算数。对机器人防护而言,做出裁决的那部分代码你能审计、能自行运行,"开源"才有意义:

  • 客户端和服务端代码均已发布,且采用 OSI 认可的许可证,质询逻辑不是黑盒。
  • 验证环节可自托管,用户能不能通过,永远不取决于某家供应商的 API 是否在线、是否诚实、你是否付得起。
  • 没有隐藏的数据回传,而且因为代码可读,你可以亲自验证这一点。

不少商业 CAPTCHA 只开源客户端集成,服务端仍是专有的(比如 FriendlyCaptcha)。那只是源码可见的便利,不是开源 CAPTCHA:决策引擎依然是一个你租来的黑盒。

为什么要自托管 CAPTCHA?

  • 可证明的隐私。 访客数据永远不会到达任何供应商,GDPR/CCPA 的问题因此变得简单。见合规性
  • 没有配额和按请求计费。 流量高峰和机器人洪流不会变成账单。
  • 没有供应商风险。 不会有突然的涨价、功能下线或被收购后的釜底抽薪。
  • 掌控权。 你按站点密钥自行设置质询难度,而不是把对用户的裁决托付给一个远端模型。
  • 可用性。 第三方质询端点宕机时,你的表单不会跟着坏掉。

可选方案

Cap

Cap 是一套 Apache 2.0 许可下的完整开源 CAPTCHA 方案:约 20 KB 的 Web Component 验证组件,加上 Cap Standalone:一个小巧的 Docker 部署(一个容器加 Valkey),提供 REST API、支持多站点密钥管理的仪表盘,以及与 reCAPTCHA API 形式兼容的 /siteverify 端点。

防护来自两个相互独立的层:SHA-256 工作量证明(另有实验性的抗 GPU RSW 时间锁),以及验证运行环境是真实浏览器的动态 instrumentation 质询。攻破其中一层并不等于攻破另一层。

如果你更想嵌入而非部署,capjs-core 是 Cap 的无状态服务端库:它在你自己的服务内部生成和验证质询,可运行于 Cloudflare Workers、Lambda 等无持久化存储的边缘环境。

  • 许可证: Apache 2.0,客户端与服务端均是
  • 机制: 工作量证明 + instrumentation
  • 部署: Docker 容器 + CDN 或自托管验证组件
  • 最适合: 想要一个开箱即用、自托管、体验良好的 CAPTCHA 服务的团队

ALTCHA

ALTCHA 是一个极简且维护良好的工作量证明验证组件(MIT 许可),需要你自己接入后端。开源版没有仪表盘,也没有独立服务端;基于机器学习的第二层防护属于付费产品 Sentinel。

  • 许可证: MIT(验证组件)
  • 机制: 工作量证明
  • 最适合: 想要一个小巧的库、并乐于自己构建服务端的开发者

完整对比:Cap vs ALTCHA →

mCAPTCHA

mCAPTCHA 率先实践了同样的可变难度 PoW 思路。它是完全开源的(核心为 AGPL-3.0,客户端库使用宽松许可证),但至今仍处于 1.0 之前,发布节奏缓慢,验证组件体积也比 Cap 和 ALTCHA 更大。作为研究对象没问题,但要在它之上构建,请先评估其成熟度。

Anubis

Anubis 是一个开源的工作量证明反爬虫墙:它在反向代理层面为整个站点或路径设置门槛,主要对抗 AI 爬虫。它不是表单 CAPTCHA,也不提供独立的验证服务端,但和后者搭配使用效果很好。你可以在整站前面部署 Anubis,同时在站内的高价值表单上使用 Cap。

完整对比:Cap vs Anubis →

并排对比

CapALTCHAmCAPTCHAAnubis
许可证Apache 2.0MIT(验证组件)AGPLMIT
活跃维护🟨 1.0 之前,发布缓慢
机制PoW + instrumentationPoWPoWPoW
作用范围按操作(表单、API)按操作按操作整站门禁
独立服务端 + 仪表盘
兼容 reCAPTCHA 的 siteverify
验证组件体积约 20 KB约 34 KB更大不适用(透明)
抗 GPU 的 PoW 选项RSW

如何选择

  • 想要一个部署一次、之后在仪表盘里管理的服务? Cap。快速上手 →
  • 想要尽可能小的依赖、后端胶水代码自己写? Cap 的 capjs-core 库,或 ALTCHA。
  • 要对抗的是整站爬虫,而不是表单垃圾信息? Anubis,可选择在表单上搭配 Cap。
  • 正在从 reCAPTCHA 或 hCaptcha 迁移? Cap 兼容的 siteverify 让迁移只是换个 URL。迁移指南 →

常见问题

最好的开源 CAPTCHA 是什么?

想要一套完整的方案(两层验证、仪表盘、兼容的 siteverify API),选 Cap。只想要一个极简的库,选 ALTCHA。

我可以自托管 CAPTCHA 吗?

可以,而且比听起来简单。Cap 只需一个 Docker 容器加 Valkey,一台 5 美元的 VPS 就能运行,大约五分钟即可完成部署。

Cap 是免费的吗?

完全免费。Apache 2.0 许可,无配额,无付费版本,不限流量。

Cap 比 ALTCHA 更好吗?

Cap 提供的更多(instrumentation 层、独立服务端、仪表盘、进度体验、更小的验证组件);ALTCHA 则刻意保持精简。按你想自己动手的程度来选。

开源 CAPTCHA 能保护隐私吗?

它让隐私变得可审计,而不是只靠承诺。自托管的工作量证明(PoW)不需要指纹追踪、不需要行为画像、不需要第三方调用,而且你可以直接读代码来确认这一点。

另请参阅