DNSMgr 文档中心
🚀 现代化的 DNS 聚合管理平台 | 支持 18+ DNS 服务商 | v1.1.0
🔌 API 文档 • 🚀 快速开始 • 🏗️ 架构设计 • 📋 更新日志
📚 文档导航
📖 项目概述
🔌 API 文档
- API 参考 - 完整的 RESTful API 文档
- API Token 认证 - API Token 使用指南
- 错误码说明 - 完整错误码参考
🚀 快速开始
🏗️ 架构设计
- 架构概览 - 系统整体架构
- 业务适配器层 - 核心数据访问层(SQL 集中管理)
- 数据库层架构 - 三层数据库架构
- DNS 核心层 - DNS 服务商适配器架构
- 认证与授权 - 安全认证体系
- API 路由 - RESTful API 设计
🔄 流程文档
- 用户认证流程 - 登录认证完整流程
- OAuth 登录流程 - OAuth 登录完整流程
- OAuth 绑定流程 - OAuth 账号绑定流程
- DNS 记录管理流程 - 记录操作业务流程
- 数据库初始化流程 - 数据库初始化流程
🎯 项目特点
DNSMgr 是一个现代化的 DNS 聚合管理平台,具有以下特点:
| 特性 | 说明 |
|---|---|
| 🌐 18+ DNS 服务商 | 阿里云、腾讯云、华为云、Cloudflare、GoDaddy 等 |
| 🏗️ 三层数据库架构 | 业务适配器层 → 数据库抽象层 → 驱动层 |
| 📝 SQL 集中管理 | 所有 SQL 语句集成在业务适配器层 |
| 💾 多数据库支持 | SQLite、MySQL、PostgreSQL |
| 🔐 完整权限系统 | RBAC 角色权限 + 域名级权限控制 |
| 📊 审计日志 | 完整的操作审计和导出功能 |
| 🔔 多通知渠道 | 邮件、Webhook、Telegram、钉钉 |
| 🌍 多语言支持 | 10+ 语言,包括 Mesugaki 风格 |
| 🔌 完整 API | RESTful API + API Token 认证 |
🏛️ 架构亮点
业务适配器层(核心创新)
业务适配器层是 DNSMgr 的核心设计,所有 SQL 语句都集中管理在此层:
// 业务代码只能通过 API 调用
import { UserOperations, DomainOperations } from '../db';
const user = await UserOperations.getById(1);
const domains = await DomainOperations.getByAccountId(accountId);
设计原则:
- ✅ SQL 语句集中管理,便于维护和优化
- ✅ 业务代码禁止直接编写 SQL
- ✅ 自动日志记录和性能监控
- ✅ 类型安全的 TypeScript 支持
三层数据库架构
路由/Service层 → 业务适配器层 → 数据库抽象层 → 驱动层 → 数据库
- 业务适配器层:封装所有业务 SQL 操作
- 数据库抽象层:统一连接管理和类型定义
- 驱动层:MySQL/PostgreSQL/SQLite 具体实现
🔌 API Token 快速接入
1. 创建 API Token
POST /api/tokens
Authorization: Bearer <user-jwt>
Content-Type: application/json
{
"name": "CI/CD Token",
"allowed_domains": [1, 2, 3]
}
2. 使用 Token 调用 API
curl -X GET "https://dnsmgr.example.com/api/domains" \
-H "Authorization: Bearer dnsmgr_xxx..."
3. Python SDK 示例
from dnsmgr import DNSMgrClient
client = DNSMgrClient('https://dnsmgr.example.com', 'dnsmgr_xxx...')
domains = client.get_domains()
🚀 快速部署
Docker 一键部署
docker run -d \
--name dnsmgr \
-p 3000:3000 \
-v $(pwd)/data:/app/data \
hipm/dnsmgr:latest
开发环境
# 克隆仓库
git clone https://github.com/HiPM-Tech/DNSMgr.git
cd DNSMgr
# 安装依赖
pnpm install
# 启动开发服务器
pnpm dev
👉 查看详细部署指南
🌍 多语言支持
DNSMgr 支持以下语言:
| 语言 | 代码 | 状态 |
|---|---|---|
| 简体中文 | zh-CN | ✅ 完整 |
| 简体中文 (Mesugaki) | zh-CN-Mesugaki | ✅ 完整 |
| English | en | ✅ 完整 |
| 日本語 | ja | ✅ 完整 |
| 한국어 | ko | ✅ 完整 |
| Français | fr | ✅ 完整 |
| Deutsch | de | ✅ 完整 |
| Español | es | ✅ 完整 |
| Português | pt | ✅ 完整 |
| Русский | ru | ✅ 完整 |
| العربية | ar | ✅ 完整 |
📊 系统要求
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| Node.js | 18.x | 20.x LTS |
| 内存 | 512MB | 1GB+ |
| 存储 | 100MB | 1GB+ |
| 数据库 | SQLite | MySQL/PostgreSQL |
🔗 相关链接
Made with ❤️ by HiPM Tech
最后更新:2025年1月