卡密验证 API

check.682.dpdns.org che.682.dpdns.org workers.dev

管理员登录

服务端验证管理员密码,登录后可进行卡密管理操作。

请输入密码后点击登录...
密码存储在 D1 数据库中(SHA-256 加密),服务端验证。
首次使用需先在 Cloudflare Worker 控制台设置 ADMIN_KEY 环境变量作为初始密码。

验证卡密

发送 X-Cdkey-Auth 请求头验证卡密。首次验证会激活卡密并开始计时,后续验证返回剩余时间。此操作无需管理员登录。

🛡️ 防滥用机制(三要素缺一不可,管理员不受限)
IP 地址: 加载中...
机器码: 加载中...
位置: 未获取
三要素齐全才允许查询;每天每 IP/机器码/位置(5km) 限 2 次(管理员登录后不受限)
结果将显示在这里...

查看卡密

从数据库查询所有卡密。需管理员登录。

点击按钮查询...

导入卡密

批量导入卡密到数据库。需管理员登录。支持自动生成卡密(格式 xxxx-xxxx-xxxx-xxxx)。

格式:卡密|时长(每行一条)
时长支持 Y(年)、M(月)、D(天) 任意组合
# 开头的行为注释,会被跳过

⚡ 自动生成卡密

⚠️ 请先填写卡密时间(时长)后再上传服务器!

生成后自动复制到剪贴板;填写时长后点击「生成并上传」即可自动上传至服务器。批量可设置数量(最多 100)。格式:xxxx-xxxx-xxxx-xxxx

生成的卡密与上传结果将显示在这里...
结果将显示在这里...

删除卡密

从数据库删除卡密。需管理员登录。

结果将显示在这里...

查询日志

查看卡密验证的查询记录,包含 IP、机器码、位置等信息。需管理员登录。

点击按钮查询日志...

修改管理员密码

修改存储在 D1 数据库中的管理员密码。修改后所有管理操作需使用新密码。

结果将显示在这里...

💡 首次使用:如果数据库中还没有设置过密码,可以将「旧密码」留空,直接设置新密码。

重置管理员密码

当你忘记密码无法登录时使用。需要提供 Cloudflare Worker 环境变量 ADMIN_KEY 的值来验证身份,然后设置新密码。

⚠️ 此操作无需登录,但必须知道 Worker 环境变量 ADMIN_KEY 的值(在 Cloudflare 控制台 → Worker → 设置 → 变量和密钥 中查看)。
结果将显示在这里...

域名配置(容灾回退)

设置 3 级域名回退链。请求时先尝试主域名,不通自动切备域名,再不通切原始域名。只有网络错误(超时/断网/DNS 失败)才会触发回退,4xx/5xx 业务错误不会回退。

域名回退链

兜底

请求超时

5000ms
500ms ~ 30000ms,每个域名请求的最大等待时间
配置将自动保存到浏览器本地存储...

连通性测试

一键测试 API 三个核心接口的响应状态和耗时。

点击按钮开始测试...

使用说明

API 接口文档与使用方法。

管理员登录

所有管理操作(导入、查看、删除)需先登录管理员密码。
密码以 SHA-256 哈希存储在 D1 数据库中,验证在服务端进行。
首次使用需在 Cloudflare Worker 控制台设置 ADMIN_KEY 环境变量作为初始密码。
登录成功后,密码会保存在浏览器本地(localStorage),下次打开自动填充。

自动生成卡密

在「导入卡密」页可一键生成格式为 xxxx-xxxx-xxxx-xxxx 的卡密。
填写「卡密时间(时长)」后点击「生成并上传」:先自动复制卡密到剪贴板,再自动上传至服务器(格式 卡密|时长)。
若未填写时长,会提示先填写再上传;也可点「仅生成」只生成并复制、不上传。

API 端点

1. 验证卡密(无需登录)

请求:GET /
请求头:X-Cdkey-Auth: 你的卡密
返回:result(True/False)、remaining(剩余时间)、first_use(是否首次)

2. 管理员登录

请求:POST /admin/login
Body:{"password": "你的密码"}
返回:success(true/false)

3. 修改密码

请求:POST /admin/changepassword
Body:{"oldPassword": "旧密码", "newPassword": "新密码"}

4. 导入卡密(需管理员)

请求:POST /admin/import
请求头:X-Admin-Key: 管理员密码
请求体:纯文本,每行一条 卡密|时长

5. 查看卡密(需管理员)

请求:GET /admin/list?status=all|active|used
请求头:X-Admin-Key: 管理员密码

6. 删除卡密(需管理员)

请求:POST /admin/delete
请求头:X-Admin-Key: 管理员密码
请求体:纯文本,每行一个卡密

7. 查看查询日志(需管理员)

请求:GET /admin/querylogs?days=1|3|7
请求头:X-Admin-Key: 管理员密码
返回:查询记录列表(IP、机器码、位置、卡密、时间),日志保留 7 天

防滥用请求头

验证卡密(GET /)时必须携带以下请求头,否则请求被拒绝:

X-Client-Time:客户端时间戳(毫秒),与服务端时间差不得超过 5 分钟
X-Client-Machine:机器码(至少 4 位),基于浏览器指纹生成
X-Client-Location:位置坐标 lat,lng(可选,未获取位置时可省略)

限制规则:每天每 IP / 机器码 / 位置(5km 内)最多 2 次查询,任一维度达上限即拒绝。
IP 以 Cloudflare 的 CF-Connecting-IP 为准,客户端传入的 IP 不予信任。

时长格式

10D = 10天

1Y = 1年(365天)

1Y1M1D = 1年1月1天

换算规则:1Y=365天,1M=30天,1D=1天