为twikoo接入Cap人机验证
YvYang的AI摘要
Spark-Lite
前言
近来许多朋友们包括作者的网站都受到了一些恶意和推广评论的骚扰,于是作者决定在评论区添加人机验证的功能。
作者使用的评论系统是Twikoo,在更新了编写本文时的最新版本1.7.14后发现Twikoo不知道什么时候加入了人机验证,这可省了大功夫,然后便是选择验证系统了,目前有三种选择Cloudflare Turnstile 极验 Geetest 和 Cap,作者看上了开源的 Cap ,由于没有服务器所以作者找到了社区的CloudFlare版本,进行了一些适配的修改后接入了Twikoo。
教程
那就让我们开始吧,本次教程分为Vercel和Cloudflare版本
部署在Veercel
创建Vercel项目
方法一
方法二
Fork本项目后手动部署到Vercel
创建 Neon 数据库
在 Vercel 项目 Dashboard 中:
- 进入 Storage 选项卡
- 点击 Create → Neon Postgres
- 选择区域(建议选 US East,离 Vercel 函数最近)
- 创建完成后,连接到刚刚创建的项目
设置 CAP_SECRET_KEY
进入 Environment Variables添加CAP_SECRET_KEY
| Name | Value | 说明 |
|---|---|---|
CAP_SECRET_KEY |
你的强密钥 | Twikoo 服务端验证密钥 |
1 | # 生成 32 字节 (64 位十六进制) 强密钥 |
部署并配置自定义域名
- 在 Vercel 项目 Settings → Domains 中添加你的自定义域名
- 在 DNS 管理中添加 CNAME 记录
- 等待 SSL 证书自动签发(约 1-2 分钟)
部署在Cloudflare Worker
创建Worker
方法一
方法二
Fork本项目后手动部署到Cloudflare
添加自定义域名
在Worker的域项添加自定义域名
添加秘钥
在Worker设置中变量和秘钥项添加秘钥
| 项目 | 值 |
|---|---|
| 类型 | 秘钥 |
| 变量名称 | CAP_SECRET_KEY |
| 值 | 你的强秘钥 |
秘钥可以用以下代码生成,创建
Python文件,写入代码运行即可
1 | import secrets |
填写完成后部署即可
接入Twikoo
登录进入 Twikoo 管理面板→配置管理→人机验证 按照表格修改设置后保存
| 配置项 | 值 | 说明 |
|---|---|---|
CAPTCHA_PROVIDER |
Cap |
启用 Cap 验证码 |
CAP_API_ENDPOINT |
https://你的自定义域名/api/ |
Cap 服务地址(带 /api/ 后缀) |
CAP_SECRET_KEY |
你的强秘钥 |
与 worker 中 CAP_SECRET_KEY 一致 |
示例
虽然说是针对Twikoo做了一些拓展,但项目原本的功能是没有改变的,如想在文章中加入验证卡片可使用一下代码
1 | <cap-widget |
详细内容请参考官方文档
作者在Cloudflare和Vercel分别部署了一个示例,感兴趣的读者可以体验
Cloudflare: https://cft.yvyang.qzz.io/
Vercel: https://cap.yvyang.top/
相关链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 YvYang's Blog!
评论










