20240711 18:31 高级版修复了后台按钮失效的问题。ui有所调整。支持自定义输入域名。
肝了几天,集成cloudflare的域名信息获取和whois查询功能,真的累了。求鸡腿,求star,求赞助支持,谢谢大家!
项目地址:https://github.com/ypq123456789/domainkeeper
项目简介
这是一个简洁高效的域名可视化展示面板,基于Cloudflare Workers构建。它提供了一个直观的界面,让用户能够一目了然地查看他们的域名组合,包括各个域名的状态、注册商、注册日期、过期日期和使用进度。
主要特性
初级版本
- 清晰展示域名列表及其关键信息:域名状态、注册商、注册日期和过期日期
- 可视化呈现域名使用进度条
- 自动计算并显示域名剩余有效天数
- 响应式设计,完美适配桌面和移动设备
- 轻量级实现,快速加载
- 支持输入自定义域名
高级版本
- 清晰展示域名列表及其关键信息:域名状态、注册商、注册日期、过期日期和剩余天数
- 可视化呈现域名使用进度条
- 自动计算并显示域名剩余有效天数
- 响应式设计,完美适配桌面和移动设备
- 轻量级实现,快速加载
- UI进一步美化,风格统一
- 前台和后台分离,支持密码保护
- 通过 Cloudflare API 自动获取域名列表
- 集成自建 WHOIS 代理服务,自动获取顶级域名信息、二级域名的注册日期
- 支持手动编辑二级域名信息
- 支持输入自定义域名
技术实现
- 前端:HTML5, CSS3, JavaScript
- 后端:Cloudflare Workers, KV 存储
- API 集成:Cloudflare API, 自建 WHOIS 代理服务
个性化部分
- 可修改
CUSTOM_TITLE变量来自定义面板标题 - 可以绑定自定义域名到 Worker,以提高访问稳定性
DomainKeeper - 初级版本,只能自定义输入,更灵活,但不高效,适用于少数域名
快速部署
- 登录您的Cloudflare账户
- 创建新的Worker
- 将
index.js的内容复制到Worker编辑器,编辑DOMAINS数组,添加您的域名信息:
const DOMAINS = [
{ domain: "example.com", registrationDate: "2022-01-01", expirationDate: "2027-01-01", system: "Cloudflare" },
// 添加更多域名...
];
- 保存并部署
demo
DomainKeeper - 高级版本,集成cloudflare的域名信息获取和whois查询功能,大大提升了域名管理的效率和便捷性
快速部署
- 登录您的 Cloudflare 账户
- 创建新的 Worker
- 将domainkeeper.js脚本内容复制到 Worker 编辑器
- 在脚本顶部配置以下变量:
const CF_API_KEY = "your_cloudflare_api_key"; const WHOIS_PROXY_URL = "your_whois_proxy_url"; const ACCESS_PASSWORD = "your_frontend_password"; const ADMIN_PASSWORD = "your_backend_password";
CF_API_KEY的获取方式: 登录自己的cloudflare账号,打开https://dash.cloudflare.com/profile 点击API令牌,创建令牌,读取所有资源-使用模板,继续以显示摘要,创建令牌,复制此令牌,保存到记事本,之后不会再显示!
WHOIS_PROXY_URL的获取方式:需要你自建,详见whois-proxy。假如你的api请求地址是http(s)😕/你的ip或者域名/whois 那么这里你只需要填入http(s)😕/你的ip或者域名。
前台密码按需设置,后台密码必须设置。
-
创建一个 KV 命名空间,命名为
DOMAIN_INFO,并将其绑定到 Worker,绑定名称为DOMAIN_INFO
-
保存并部署
demo
https://domainkeeper.bacon159.me/
前台密码ypq123456
其他
贡献指南
欢迎通过Issue和Pull Request参与项目改进。如有重大变更,请先提Issue讨论。
开源协议
本项目采用 MIT 许可证
Star History
交流TG群:
https://t.me/+ydvXl1_OBBBiZWM1
支持作者
非常感谢您对 domainkeeper 项目的兴趣!维护开源项目确实需要大量时间和精力投入。若您认为这个项目为您带来了价值,希望您能考虑给予一些支持,哪怕只是一杯咖啡的费用。
您的慷慨相助将激励我继续完善这个项目,使其更加实用。它还能让我更专心地参与开源社区的工作。如果您愿意提供赞助,可通过github readme最后。