借助 Vercel 部署 Geetest 过码验证,供公主连结B服玩家手动过码使用。
- Fork本项目到你的仓库
- 注册并登录Vercel
- 点击此处以在Vercel中Import你Fork后的项目。项目此时很可能未出现在列表中,请点击
Adjust GitHub App Permissions
进行设置,授权Vercel访问你Fork后的项目。设置成功后,点击Import
。 - 在新页面中,不需要调整任何设置,直接点击
Deploy
。稍等片刻,Vercel部署完毕后会跳转页面。点击Continue to Dashboard
进入项目面板。 - 点击导航栏中
Storage
,点击最下方的Browse Database Integrations
,在新页面中找到Upstash - Serverless Redis and Kafka
并点击。 - 在新页面中点击
Add Integration
,在悬浮窗中选择(步骤1中注册的)Vercel账户,点击Continue
后,选择Specific Projects
,选择(步骤3中)部署好的项目,点击Continue
,点击Add Integration
。 - 在新页面中出现一个表格。点击下方的
Upstash
框中的Redis
栏,点击Create new database...
。 - 在新页面中出现一个表格,
Name
栏填入任意名字,Type选择Global,勾选TLS (SSL) Enabled
,点击Create Database
。 - 回到步骤6中的表格,在
Project
栏中选择(步骤3中)部署好的项目,在Redis
栏中选择(步骤7中)创建好的数据库,点击Save
。 - 在步骤8完成后,Vercel会将你重定向至你的Dashboard。点击导航栏中的
Overview
,进入(步骤3中)部署好的项目。 - 在项目面板中,点击导航栏中的
Settings
。在左侧菜单栏中点击Integrations
后,应看到Upstash;点击Environment Variables
后,应看到由Upstash为你注册的三条记录。 - 在项目面板中,点击导航栏中的
Deployments
,找到下方记录中最右侧的设置(图标尾三圆点),点击Redeploy
,在悬浮窗中再次点击Redeploy
。
(临时说明)
可以参考此文件底部被注释掉的TestEllyeManual()
测试函数。
将print()中的域名改为你的vercel项目域名,触发StartCaptcha()
函数后,访问第一个print中的url。过码完毕后,访问第二或第三个url。若出现了一个dict样式的结果,说明部署成功。
请注意,如果你(或你的服务器)在境内,vercel提供的域名(很可能)无法访问。如有需要,请参考下方说明绑定您自己的(境内可访问的)域名。
Vercel提供的默认访问Url需科学上网访问。若需能让境内用户直连访问,请按照以下步骤绑定你的域名。
- 在项目面板中,点击导航栏中的
Settings
,在左侧菜单栏中点击Domains
,在右侧输入你准备好的(二级)域名,点击Add
。 - 此时,Vercel会提示配置失败,并告知您需如何操作。以CNAME方式为例,您需登录您的域名提供商的解析面板,添加一条CNAME记录并保存使其生效。回到Vercel的配置页面后,即可看到配置成功。
- 展示一张待过码图片:
/?captcha_type=1&challenge={challenge}>={gt}&userid={userid}&gs=1
- 需传入的
challenge
,gt
,userid
字段的生成方式可参考此文件中的StartCaptcha()
函数
- 需传入的
- 用户过码完毕后,获取过码结果:
/api/block?userid={userid}/
或/api/get?userid={userid}/
userid
为上述生成的字段/block
方式会阻塞请求直到用户过码完毕获得过码结果。阻塞时长最长30
秒,超时返回504状态码。/get
方式会直接响应,若有过码结果则返回,若尚无结果则返回204状态码。- 使用
/block
或/get
API时,过码结果均只会返回一次,随后删除。再次访问会返回204状态码。 - 项目集成方式可参考此文件中的
EllyeManualCaptchaVerifier()
和EllyeManualCaptchaResultListening()
函数