DNSMgr 文档中心

🚀 现代化的 DNS 聚合管理平台 | 支持 18+ DNS 服务商 | v1.1.0

🔌 API 文档🚀 快速开始🏗️ 架构设计📋 更新日志


📚 文档导航

📖 项目概述

🔌 API 文档

🚀 快速开始

🏗️ 架构设计

🔄 流程文档


🎯 项目特点

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);

设计原则

  1. ✅ SQL 语句集中管理,便于维护和优化
  2. ✅ 业务代码禁止直接编写 SQL
  3. ✅ 自动日志记录和性能监控
  4. ✅ 类型安全的 TypeScript 支持

三层数据库架构

路由/Service层 → 业务适配器层 → 数据库抽象层 → 驱动层 → 数据库

🔌 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()

👉 查看完整 API 文档


🚀 快速部署

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月