自部署 whois api 实现域名信息的自动化查询

自部署 whois api 实现域名信息的自动化查询
雨天狂奔自部署 whois api 实现域名信息的自动化查询
之前写过一个 域名到期监控 的 CF worker 脚本,域名到期时间需要手动编辑 json 文件,再通过 worker 远程读取和解析,比较麻烦。这次做了升级,对一级域名可以自部署一个 whois api 实现域名信息的自动查询。二级域名就没办法了,只能通过手动编辑 json 文件的方式实现,因为二级域实际上是一级域的子域名,其到期时间是由注册者二次设置的,whois api 无法查询。
先部署一个 whois api
✅ 访问 我的仓库,点个 ⭐ 再 FORK 它,以便及时同步更新到我最新的代码
✅ 打开 whois-api.js
文件,复制所有内容,部署到 cf worker,设置以下变量
- API_KEY:自行设置,调用 API 需要用到,
如:123abc
- CACHE_HOURS:缓存时间(单位:小时),默认为 24 小时,
如:24
✅ 给这个 worker 项目绑定一个自定义域名,例如 https://whois.3344.com
,在后面加上 /api/
就是 api 接口地址(**末尾必须要带 /**),即:
1 | # 末尾必须带 / |
✅ 记录上面的 api 接口地址 和 api key 备用
部署新版域名监控
✅ 打开 domain-auto.js
文件,复制所有内容,部署到 cf worker,设置以下变量
- SITENAME:必须变量,示例:
域名到期监控
- DOMAINS:必须变量,示例:
https://gist.githubusercontent.com/用户名/gistID/raw/vpsinfo.json
;关于如何获取 gist 直链,看 这篇文章 ;其中的 json 内容示例如下(一级域名只需要 domain 字段,二级域名需要完整字段):
1 | [ |
- TGID:非必须,如果需要开启 TG 通知,则填写你 TG 账号的 ID
- TGTOKEN:非必须, 如果需要开启 TG 通知,则填写你 TG 机器人的 Token
- DAYS:非必须,如果需要开启 TG 通知则填写数字,示例:
7
,即到期前 7 天通知 - API_URL:必须,填写你部署的 API 接口地址,示例:
https://whois.3344.com/api/
- API_KEY:必须,填写你部署的 API 项目的 KEY,示例:
123abc
✅ 给你的域名监控项目绑定自定义域名,假设为 https://domain.3344.com
(注意:是域名监控项目绑定的域名,不是 API 接口绑定的域名),访问该域名,即可在网页上显示设定的域名信息
Whois api 接口简明文档
API 调用方式
- 请求 URL 格式:
1 | https://<worker项目地址>/api/<要查询的域名> |
- 请求头:
X-API-KEY: 你的API密钥
- 请求方法:
GET
- 调用示例
1 | curl -X GET \ |
- 返回示例
1 | { |
API 字段说明
字段 | 类型 | 说明 |
---|---|---|
domain | string | 查询的域名(小写), 无需 http(s) |
creationDate | string/null | 域名创建时间(ISO 格式) |
updatedDate | string/null | 最后更新时间 |
expiryDate | string/null | 域名过期时间 |
registrar | string/null | 注册商名称 |
registrarUrl | string/null | 注册商网址 |
nameServers | array | 域名服务器列表(已去重) |
错误响应
状态码 | 含义 | 示例响应 |
---|---|---|
400 | 请求格 式错误 | {“error”: “ 路径格式应为 /api/<域名>”} |
401 | 未提供 API Key | {“error”: “ 需要提 供有效的 API Key”} |
403 | API Key 无效 | {“error”: “ 无效的 AP I Ke y”} |
500 | 服务器错误 | {“error”: “WHOIS 查询超时 “} |
502 | WHOIS 服务不可用 | {“error”: “ WHOIS 服务返回 502”} |
#API #cloudflare #域名 #监控 #面板
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果