背景
我们自己拥有多个smartdns需要进行管理,每次这里改了之后,其他节点都需要单独修改,每次都需要去修改配置文件,非常的麻烦,并且如果是其他运维没有接触过的,可能还不知道如何操作。因此为了这个处理,开发了一个多DNS管理平台
相关地址
SmartDNS Manager
一个功能强大的 SmartDNS 集中管理平台,支持多节点管理、配置同步、实时监控和消息推送。

✨ 主要特性
🎯 核心功能
- 多节点管理 - 集中管理多个 SmartDNS 节点,统一配置和监控
- 配置同步 - 自动同步配置到所有节点,支持批量操作
- 实时监控 - 实时查看节点状态、资源使用情况和服务运行状态
- 可视化配置 - 通过 Web 界面直观地管理 DNS 服务器和地址映射
- 配置备份 - 自动备份配置文件,支持一键恢复
- 消息推送 - 支持企业微信、钉钉、飞书等多种通知渠道
🔧 管理功能
- ✅ DNS 服务器管理(UDP/TCP/TLS/HTTPS)
- ✅ 地址映射管理(域名到 IP 映射)
- ✅ 域名集管理(分组管理域名)
- ✅ 域名规则管理
- ✅ 配置模板管理
- ✅ 批量导入导出
🚀 运维功能
- ✅ 一键初始化节点(自动安装 SmartDNS)
- ✅ 远程重启服务
- ✅ 日志实时查看
- ✅ 配置同步状态追踪
- ✅ 节点健康检查
- ✅ 性能监控(CPU、内存、磁盘)
📱 通知功能
- ✅ 配置同步成功/失败通知
- ✅ 节点上线/离线通知
- ✅ 服务异常告警
- ✅ 支持企业微信、钉钉、飞书、Slack
- ✅ 自定义事件订阅
📸 系统截图
仪表板

节点管理

配置管理

通知管理

🏗️ 技术栈
后端
- Go 1.21+ - 高性能后端服务
- Gin - Web 框架
- GORM - ORM 框架
- SQLite - 轻量级数据库
- SSH - 远程节点管理
前端
- React 18 - 用户界面
- Ant Design 5 - UI 组件库
- Axios - HTTP 客户端
- React Router - 路由管理
- Monaco Editor - 代码编辑器
🚀 快速开始
方式一:Docker Compose(推荐)
前置要求
- Docker 20.10+
- Docker Compose 2.0+
部署步骤
- 克隆项目
git clone https://github.com/almightyyantao/smartdns-manager.git
cd smartdns-manager快速启动
version: '3.8'
services:
smartdns-manager:
image: ghcr.nju.edu.cn/almightyyantao/smartdns-manager:main
container_name: smartdns-manager
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./data:/app/data
- ./logs:/app/logs
environment:
- TZ=Asia/Shanghai
networks:
- smartdns-network
networks:
smartdns-network:
driver: bridge