pow-bot-deterrent:轻量级证明工作量反机器人解决方案
pow-bot-deterrent 是一款基于证明工作量(Proof of Work, PoW)的反机器人系统。它轻量、自托管且遵循 copyleft 许可。相较于主流的验证码如 ReCaptcha、hcaptcha 和 friendlycaptcha,pow-bot-deterrent 以以下优势脱颖而出:
- 自由且开源,无需付费。
- 轻量级,所有依赖打包后大小仅为68KB(未压缩),压缩后约为23KB。
- 自托管,不会侵犯您的隐私或用户隐私,因为您在自己的服务器上运行它,您完全拥有和控制它。
项目介绍
pow-bot-deterrent 旨在替代谷歌的 ReCaptcha。工作原理与 ReCaptcha 类似:
- 您的 Web 应用从 HTTP 挑战 API 请求一个挑战(或一系列挑战)。
- 您的 Web 应用显示一个包含表单的 HTML 页面,并将挑战数据传递给该表单。
- HTML 页面包含 Bot Deterrent 应用的 JavaScript 部分,该 JavaScript 在页面上绘制一个进度条。
- 当证明工作量完成时,JavaScript 触发一个回调到您的 JavaScript。
- 当表单提交时,您的 Web 应用将解决方案(nonce)提交到 HTTP 挑战 API 进行验证。
项目技术分析
pow-bot-deterrent 采用多线程 WebAssembly(WASM)和 WebWorker 运行 Scrypt 哈希函数,而非 SHA256。这使得 pow-bot-deterrent:
- 更难被加速。
- 更有可能阻止机器人;基本的无人浏览器可能不足以完成挑战。
pow-bot-deterrent 经过优化,适合生产环境使用,其 API 最小化了请求次数和系统延迟。
项目技术应用场景
pow-bot-deterrent 可用于任何需要验证用户身份、防止自动化攻击或垃圾邮件发送的场景。例如:
- 表单提交保护。
- 用户注册和登录。
- 评论和消息板的反垃圾邮件保护。
- API 的防攻击措施。
项目特点
以下是 pow-bot-deterrent 的主要特点:
- 轻量级:与主流验证码相比,pow-bot-deterrent 文件大小更小,加载更快,对用户体验影响更小。
- 自托管:保护您的数据隐私,无需依赖第三方服务。
- 多线程支持:利用现代浏览器的多线程能力,提高计算效率。
- 可配置性:通过环境变量,您可以轻松调整挑战难度和服务器配置。
- 易于集成:简单的 API 和 HTML DOM API 使得集成到现有项目变得轻而易举。
pow-bot-deterrent 为网站提供了一种新的反机器人解决方案,不仅保护了网站免受自动化攻击,而且保证了用户体验。通过其轻量级设计和自托管特性,pow-bot-deterrent 成为开发者不容错过的开源项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考