推出Cap:一个私密、轻便、开源的工作量证明CAPTCHA替代方案

June 04, 2025

Cap:一种基于工作量证明的验证码替代方案

项目简介

Cap 是一个轻量、现代、开源的验证码替代方案,它利用 SHA-256 工作量证明来验证用户真实性。它致力于提供一个快速、注重隐私且易于集成的解决方案,旨在作为现有验证码系统的直接替代品,同时专注于性能和用户体验。Cap 使用 JavaScript 构建,可在任何 JS 运行时(如 Bun、Node.js、Deno)上运行。对于非 JS 环境,还提供了一个独立的 Docker 镜像。

Cap 主要由两部分组成: - @cap.js/widget:一个用于渲染验证码并在 Web Workers 和 WASM 的帮助下解决挑战的 JavaScript 库。 - @cap.js/server:一个零依赖的库,用于在服务器端创建和验证挑战。

此外,还提供了一些其他有用的包和功能: - @cap.js/solver:一个用于机器间交互的服务器端解题器。 - @cap.js/cli:一个命令行界面,主要用于测试或不带 JavaScript 浏览器支持的环境中解决验证码。 - 独立模式:通过 Docker 镜像提供简单的 REST API 和交互式界面,用于创建/验证挑战,支持与任何语言/框架集成。 - @cap.js/wasm:使用 Rust 构建的实验性 WASM 解题器。 - 检查点中间件:例如 @cap.js/checkpoint-hono@cap.js/checkpoint-express@cap.js/middleware-elysia 等库,可提供类似 Cloudflare 浏览器检查点的体验。

使用说明

Cap 可以在 JavaScript 运行时环境中使用其 JavaScript 库(@cap.js/widget@cap.js/server)进行集成。对于非 JavaScript 环境,独立的 Docker 镜像提供了用于交互的 REST API。详细的快速入门指南和完整文档可通过项目链接获取。

主要特点

  • 轻量级@cap.js/widget 仅有 12kb(minified 和 brotli 压缩后),比 hCaptcha 小 250 倍。
  • 保护隐私:采用工作量证明,无需跟踪、指纹识别或数据收集。
  • 工作量证明 (PoW):使用 SHA-256 PoW,使人类更容易解决(通过执行少量计算),而对机器人则更难。
  • 完全可定制:可自托管,支持后端和前端的定制,或通过 CSS 变量进行调整。
  • 独立模式:提供 Docker 镜像,通过简单的 REST API 支持与任何编程语言或框架集成。
  • 隐形模式:可通过 JavaScript API 在后台隐形运行。
  • 浮动模式:验证码默认隐藏,仅在明确需要时才出现。
  • 完全开源:采用 Apache License 2.0 授权。
  • 无依赖:核心组件使用 JavaScript 构建,不依赖任何外部库。
  • 跨运行时兼容:可在 Bun、Node.js、Deno 上运行。
  • 符合 GDPR/CCPA:其以隐私为中心的设计天然符合这些法规。

目标用户

Cap 非常适合: - 寻求注重隐私和性能的验证码替代方案的开发者和组织。 - 需要保护 API 免受机器人攻击的网站和应用程序。 - 旨在防止表单垃圾邮件的在线平台。 - 需要阻止自动化登录尝试的服务。 - 需要防范免费套餐滥用的项目。

项目链接

Cap — lightweight, modern open-source CAPTCHA

应用场景

  • API 保护:保护 REST API 免受自动化请求和机器人攻击。
  • 表单垃圾邮件预防:在联系表单、注册表单和评论区部署验证码,防止垃圾邮件提交。
  • 登录安全:增加一道防线,抵御暴力破解攻击和自动化登录尝试。
  • 防止免费套餐滥用:通过确保是人类的合法互动,缓解免费服务或有限资源的滥用。
  • 类似 Cloudflare 的检查点:使用提供的中间件创建浏览器检查点体验,以增强安全性。

分享本文