UniDNS¶
UniDNS 是多平台 DNS 记录统一管理系统:把阿里云、DNSPod(国内/国际)、EdgeOne (国内/国际)、CloudFlare 六类 DNS 平台聚合到一个界面,域名与解析记录一次看全、 统一增删改,并支持手动/定时全量同步。提供带会话鉴权的 REST API,前端为 Astro 构建的静态站点(编译期经 rust-embed 嵌入二进制),单二进制 + SQLite 即可运行。
能力一览¶
- 多平台聚合:内置阿里云、DNSPod(国内/国际站)、EdgeOne(国内/国际站)、 CloudFlare 六类提供商;同一平台可添加多个账户。
- 记录统一管理:域名列表、解析记录增删改、TTL/线路/启用停用、本地备注; 部分操作直接回写上游平台。
- 同步引擎:手动触发或定时全量同步(默认停用,启用时至少 30 分钟),账户间并发(上限 3)、 平台限流自动退避重试;每次同步落运行记录(runs),可查历史与统计。
- 安全:管理员口令 Argon2id 哈希存储,会话 Cookie 鉴权;平台凭据以
AES-256-GCM 加密落库,主密钥存于环境变量或
<data_dir>/secret.key(0600); 界面仅展示打码后的凭据。 - 单二进制部署:前端静态资源编译期嵌入,运行只依赖一个可执行文件加
SQLite 数据目录;提供官方镜像
ghcr.io/jetsung/unidns:latest、Dockerfile 与 compose 编排。 - 品牌图标与可安装 PWA:全站统一品牌图标;内置 Web App Manifest 与仅 缓存静态资源的 Service Worker,可安装到桌面/主屏(需 HTTPS 或 localhost)。
阅读路径¶
| 我想…… | 看这里 |
|---|---|
| 尽快跑起来 | 快速开始 |
| 配置监听/数据目录/密钥 | 配置参考 |
| 添加各平台账户与凭据格式 | DNS 提供商 |
| 查看上游平台接口、签名与字段映射 | 上游平台 API |
| 二次开发或对接 API | REST API / 本地开发 |
| 了解代码结构 | 架构设计 |