通过自行修改源代码和编译添加 Cloudflare Turnstile 验证码支持 #1945
TransparentLC
started this conversation in
Ideas
Replies: 3 comments
-
用 Github Actions 做了自动编译: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
隔壁 #1593 #2048 有提议过这个,不过被 stale 了。其实 Turnstile 的 API 和 reCAPTCHA V2 大部分相同,适配起来非常简单。我自己尝试修改源代码然后自行编译添加了 Turnstile 的支持,可以正常使用。
不过,因为我完全不熟悉 golang 导致这个实现方式非常简单粗暴(其实就是复用 reCAPTCHA 相关的代码),所以应该不会考虑提交 PR,只把修改的部分写在这里,供有需要的人尝鲜体验和参考。
以下源代码修改基于 v3.8.3 版本:
Cloudreve:
修改最后这个
result.ErrorCodes
的判断是因为验证成功的情况下 reCAPTCHA 的 response 是没有error-codes
字段的,但是 Turnstile 仍然会有一个空数组[]
。参见两边的文档:frontend (assets):
然后自行编译就可以了。使用方法是在管理面板的验证码选项中继续选择 reCAPTCHA,直接输入你注册的 Turnstile 的 sitekey 和 secret,并加上
turnstile:
的前缀。效果如下图所示。
Beta Was this translation helpful? Give feedback.
All reactions