因为本人有挺多域名的,但是因为每个服务商能提供的功能不同,就导致我的域名散落在多个地方,如果要编辑,尽管是一条记录,也得打开面板、登录,才能添加记录(华为云甚至每次登录还都收验证码),这一套流程十分繁琐,浪费了很多时间。
于是我在 Github 上找到了 netcccyun/dnsmgr 这个项目,可以把各个服务商的 dns 放在一个面板中管理,正好符合了我的需求。但是,使用了半个月下来。还是发现了一些问题,这个项目的技术栈偏老,还要用 MySQL,整体对服务器的占用不大友好。
现在 vibe coding 这么流行,我为什么不能自己写一个这样的项目呢?
所以我做了 Dotnify
把所有 DNS 服务商的记录聚合到一个界面里。
经过一个周的打磨,发布了 v0.1.0 第一个版本,技术栈使用 React + Hono + Upstash Redis,前端是 Vite 构建,整体比较轻量,支持 Vercel、Docker、自托管多种部署方式,目前先支持了 Cloudflare、华为云、dnspod,后续还会添加更多服务商。
它能干什么?
多服务商聚合:Cloudflare、华为云、DNSPod,添加服务商后自动拉取所有域名,在一个列表里查看和管理。新增服务商时还会验证凭据是否有效,不用怕填错了半天才发现。
完整的记录管理:A、AAAA、CNAME、MX、TXT、SRV、CAA 都支持增删改。华为云和 DNSPod 的解析线路(比如按运营商、地域分流)也做了支持,不用再回到原控制台操作。
按域名搜索和筛选:域名多了可以按名称搜索,也可以按服务商下拉筛选。
部署很简单
Vercel 一键部署:Fork 仓库 → 导入 Vercel → 填两个 Upstash Redis 的环境变量,几分钟就上线
Docker:支持 amd64 和 arm64,树莓派也能跑
Node.js 自部署:npm start,适合 Railway、Zeabur 等平台
数据存在 Upstash Redis 里,免费额度完全够个人使用,不需要自己搭数据库。
安全方面
管理员密码用 scrypt 哈希存储
敏感接口有 Redis 限流
API 密钥在前端只显示末四位
安全响应头齐全
代码在 GitHub:GitHub - airtouch97/Dotnify: A unified DNS management tool that aggregates domains from multiple DNS providers into a single interface. · GitHub
文档:https://dotnify.js.org
如果你也有多个 DNS 服务商要管理,可以试试。有问题或想支持其他服务商,欢迎提 issue。
如果觉得有帮助,请给我一个 star 谢谢~