Skip to content

Dotnify 是什么?

Dotnify 是一个自托管的统一 DNS 管理平台。它提供了一个统一的 Web 界面来管理多个 DNS 服务商的 DNS 记录——无需在不同的服务商控制台之间切换。目前,Dotnify 支持 Cloudflare 和华为云,未来计划支持更多服务商。

为什么选择 Dotnify?

如果你在多个 DNS 服务商上管理域名,你可能对频繁切换不同控制台所带来的不便深有体会——每个控制台都有不同的布局、术语和工作流程。Dotnify 通过将所有内容——服务商、域名和记录——整合到一个一致的界面中来解决这个问题。

核心特性

  • 多服务商管理

    添加来自不同 DNS 服务商的多个账户。每个服务商独立配置自己的 API 凭证和显示名称,便于识别。你可以添加任意数量的 Cloudflare 和华为云账户——Dotnify 会将它们全部聚合在一处。

  • 域名概览

    域名页面将所有已配置服务商的托管区域聚合到一个按字母排序的列表中。每个域名显示其状态(活跃、待处理等)、所属服务商以及直接管理其记录的链接。如果某个服务商加载失败,错误会在行内报告,而不会阻塞其余内容。

  • 完整的 DNS 记录 CRUD

    创建、编辑和删除 DNS 记录,支持所有常见记录类型:A、AAAA、CNAME、TXT、MX、NS、SRV、CAA、PTR、SOA、SPF 和 URI。记录编辑器会根据服务商进行适配——例如,为 MX/SRV 记录显示优先级字段,为 Cloudflare 显示 TTL 自动模式,或为华为云显示线路解析选择器。

  • 智能数据获取

    前端采用 stale-while-revalidate 策略:当你返回某个页面时,缓存数据会立即显示,同时在后台获取最新副本。这意味着导航响应迅速,且不会出现过期数据残留。

  • 路由守卫

    应用使用路由守卫来强制执行正确的流程:未认证用户被重定向到登录页,未完成设置的实例重定向到设置页,已认证用户直接进入仪表盘。不会出现进入错误页面的情况。

架构

  • 前端 — React 18 配合 React Router v6(数据路由及加载器和守卫)、Tailwind CSS 样式、Vite 构建。整个 UI 是一个带有客户端路由的单页应用。
  • 后端 — Vercel Serverless Functions(Node.js),位于 /api/ 下。每个路由是一个独立的函数,直接处理 HTTP 请求——没有 Express 或其他框架开销。服务商特定逻辑(Cloudflare API 调用、华为云 AK/SK 签名)被抽象到共享模块中。
  • 数据存储 — Upstash Redis(无服务器,基于 REST)。三个键存储所有应用状态:管理员凭证、活跃会话和服务商列表。无需数据库设置。