全新重构,更现代,更炫酷,更多功能 - 域名监控面板

由于旧版在 UI 界面上不够现代,且很多功能并不完善,因此萌生了重构项目代码的念头,历经近一周的打磨和测试,新版全新出炉,先看靓照:

image.png

了解 Domain-check

domain-check 是基于 Cloudflare Worker 和 Worker KV 构建的域名到期监控仪表盘,支持自动 WHOIS 查询、分组管理、到期提醒、数据导入导出等功能

功能特性

  • 域名管理:支持一级和二级域名的添加、编辑、删除
  • 🔍 WHOIS 自动查询:一级域名自动获取注册和到期信息
  • 📊 可视化仪表盘:域名状态概览、进度条、分组展示
  • 🔐 密码保护:简单的访问控制机制
  • 💾 KV 存储:使用 Cloudflare Workers KV 持久化数据
  • 💾 数据备份:支持数据的导出和导入
  • 📱 Telegram 通知:定时检查并推送即将到期提醒
  • 🎨 响应式设计:支持移动端和桌面端访问

部署平台:Cloudflare Workers

放弃在 CF 网页管理后台直接链接仓库部署的方式 这种方式对于 kv 空间绑定和定时触发器的设置完全依赖于 wrangler.toml 如果 wrangler.toml 没有进行这些配置,则项目在重新部署后会丢失这些参数,导致 kv 空间绑定丢失以及定时器丢失 这是 CF worker 链接仓库部署一直以来的 bug 因此,项目部署方式改为 github action,以确保相关参数配置持久化 或者你也可以手动通过上传代码的方式部署到 CF worker

前置条件

  • 先给本项目点个⭐,再 Fork,点击直达
  • Cloudflare 创建一个 KV 空间,名称随意,例如:DOMAIN_KV
  • 创建完 KV 后,KV 名称右侧有一串字符,就是 KV 的 ID 值,保存下来备用

设置仓库 action

  • 点开仓库 settingsSecrets and variablesActions
  • 设置如下 secrets:
    • CF_API_TOKEN: 必须,需要 worker 和 kv 权限
    • CF_KV_ID: 必须,创建 KV 得到的 ID 值
    • PASSWORD: 必须,访问项目前端网页的密码,默认为 123123
    • TGID: 可选,tg 机器人 ID,用于发送 tg 通知
    • TGTOKEN: 可选,tg 聊天 ID 或频道 ID,用于发送 tg 通知
  • 转到 variables 选项卡,设置以下变量:
    • CF_ACCOUNT_ID: 必须,CF 的账户 ID
    • CF_CRONS: 可选,用于定时检查域名到期情况以发送 tg 通知

运行 action

  • 点击仓库 actionsall workflows自动部署到 CF worker
  • 点击 run workflow
  • 等待 action 运行,查看运行日志,点击输出的 worker 管理后台 链接

设置 CF worker

  • 进入 CF worker 管理后台,给项目绑定一个自定义域名
  • 在 worker 的环境变量中,还可设置以下可选变量
变量名 说明 默认值 / 示例值 必填
DAYS 到期提醒天数 30
SITENAME 网站名称 域名到期监控
ICON 网站图标 https://example.com/icon.png
BGIMG 背景图片 https://example.com/bg.png
GITHUB_URL GitHub 链接 https://github.com/yutian81
BLOG_URL 博客链接 https://blog.notett.com
BLOG_NAME 博客名称 QingYun Blog

本项目 API 接口

https://github.com/yutian81/domain-check/blob/main/API.md

数据导出与导入

前端面板右上角 导出导入 按钮可实现

如果域名数量较多,可在本地编辑 json 文件后通过网页直接导入

域名数据 json 格式示例:

一级域名的注册时间到期时间注册商注册商地址这四个字段可以留空;但二级域名必须填写这四个信息

[
  {
    "domain": "334555.xyz",
    "registerAccount": "334555@hotmail.com",
    "groups": "付费域名, 高性价比",
    "registrationDate": "",
    "expirationDate": "",
    "system": "",
    "systemURL": ""
  },
  {
    "domain": "abc.pp.ua",
    "registerAccount": "abc@hotmail.com",
    "groups": "付费域名, 按年续期",
    "registrationDate": "2024-07-16",
    "expirationDate": "2034-07-17",
    "system": "NIC.UA",
    "systemURL": "https://nic.ua/en/my"
  }
]