小喻子DNS统一管理平台

位置:首页 / admin

admin Admin 2026-07-11 09:28:02 3940

小喻子DNS统一管理平台(netcccyun/dnsmgr)是一款基于 ThinkPHP 8.1 框架开发的 DNS 多平台统一管理系统,运行环境要求 PHP 8.2 及以上版本,数据库采用 MySQL 5.6+。

系统概述

当您的域名分散在阿里云、腾讯云、Cloudflare 等多个 DNS 平台时,逐一登录各平台管理解析记录既繁琐又低效。小喻子DNS统一管理平台通过统一接口聚合所有平台的 DNS 管理能力,让您在一个界面上完成全部操作。目前系统已接入 20 余个 DNS 平台,支持 46 种以上 SSL 证书部署目标,覆盖 9 个证书申请渠道和 6 种通知渠道。

核心功能

多平台统一管理

系统已接入阿里云、腾讯云(DNSPod)、华为云、百度云、西部数码、火山引擎、京东云、DNSLA、青云、宝塔 DNS、Cloudflare、NameSilo、Spaceship、PowerDNS、Technitium、阿里云 ESA、腾讯云 EO、DNS Manager 等 20 余个 DNS 平台。用户只需在平台上添加对应平台的 API 密钥,即可在一个统一的界面中完成所有域名解析记录的增删改查操作,无需再在不同平台之间反复切换。

智能容灾切换

系统支持 ping、TCP、HTTP(S) 等多种协议的健康检测方式。当检测到目标服务不可用时,可以根据预设规则自动暂停或修改对应的解析记录,将流量切换到备用地址,从而保障业务的连续性。同时,容灾事件会通过通知渠道实时推送给管理员。

SSL 证书全生命周期管理

系统实现了从证书申请到自动部署的完整闭环。支持从 Let's Encrypt、ZeroSSL、Google Trust、阿里云 SSL、腾讯云 SSL、火山引擎、LiteSSL、UCloud 以及自定义 ACME 等 9 个渠道申请 SSL 证书。证书申请成功后,可自动部署到宝塔面板、宝塔 WAF、宝塔 Windows、1Panel、AMH、MWPanel、Kangle、NginxProxyManager、GoEdge、CDNFly、Lucky、雷池 WAF、阿里云 CDN、腾讯云 CDN、华为云 CDN、百度云 CDN、火山引擎 CDN、天翼云 CDN、七牛云、又拍云、UCloud、京东云、金山云、白山云、网宿、酷彩、AWS CloudFront、Gcore、CacheFly、SSH、FTP、本地服务器、K8s、Synology DSM、Proxmox、FNOS、S3 通用存储等 46 种目标。系统还支持证书到期前自动续期,确保服务不会因证书过期而中断。

定时解析切换

支持按指定时间或周期性自动执行解析记录的修改、开启、暂停、删除等操作,可满足流量调度、业务割接、灰度发布等场景的需求。用户可以灵活配置切换规则,设置执行时间和周期,系统将在后台自动执行,无需人工干预。

Cloudflare 优选 IP

针对使用 Cloudflare 的域名,系统能够自动获取最新的 Cloudflare 优选 IP 地址,并自动更新到对应的解析记录中,从而优化网站的访问速度和稳定性。此外,系统还支持 Cloudflare 自定义主机名管理和 Tunnel 隧道管理功能。

多渠道通知

系统支持邮件、微信公众号、Telegram、钉钉、飞书、企业微信共 6 种通知渠道。域名到期提醒、容灾告警、证书到期提醒等重要事件均可通过上述渠道实时推送给管理员,确保运维人员能够第一时间获知系统状态变化。

技术架构

系统采用经典的四层架构设计,自上而下分别为 Web 前端层、应用服务层、适配器层和基础设施层。

Web 前端层基于 Bootstrap 3 框架构建,结合 jQuery 和 Vue 2.7 实现交互功能,并集成了 AdminLTE 管理面板和多种皮肤主题,提供良好的用户体验。

应用服务层是系统的核心,基于 ThinkPHP 8.1 框架开发。包含控制器层(负责认证、证书管理、域名管理、Cloudflare 管理、系统设置、用户管理等功能)、服务层(负责容灾监控、证书部署、证书订单、CF 优选 IP、过期通知、定时调度等后台任务)以及中间件层(负责 API 认证、用户认证、登录检查、配置加载、Referer 检查、视图输出等请求处理)。此外,系统还提供了三个命令行工具:CertTask 用于 SSL 证书的自动申请和续期,DmTask 用于域名容灾检测,Reset 用于系统重置。

适配器层是系统架构的核心设计亮点,采用适配器模式(Adapter Pattern)实现了多平台的统一接入。该层定义了三个核心接口:DnsInterface 定义了域名解析的标准操作(获取域名列表、添加解析记录、修改解析记录、删除解析记录等),CertInterface 定义了 SSL 证书申请的标准流程(注册、购买、创建订单、验证、完成订单等),DeployInterface 定义了证书部署的标准操作(检查、部署、日志记录等)。目前该层包含 20 个 DNS 平台适配器、9 个证书渠道适配器、46 个部署目标适配器,以及完整的 ACME 协议实现。这种设计使得新增平台支持只需编写对应的适配器类即可,无需修改任何已有代码。

基础设施层提供了 MySQL 数据库支持、GuzzleHTTP 7 作为 HTTP 客户端、PHPMailer 用于邮件发送、PHP-Whois 用于域名 WHOIS 查询,以及各大云服务商的 SDK 封装。

多用户权限与 API 接口

多用户管理

系统支持管理员和子用户两级权限体系。管理员拥有全部域名的管理权限,可以创建子用户并为每个子用户分配不同的域名解析权限。子用户只能管理被授权的域名,权限粒度可精确到单个域名的增删改查操作。

API 接口

系统提供 RESTful API 接口,支持通过 API Key 进行认证。通过 API 可以获取域名列表、管理解析记录、获取域名单独登录链接等功能,方便 IDC 业务系统或其他第三方系统进行对接。

TOTP 两步验证

系统支持基于时间的一次性密码(TOTP)二次验证功能,用户登录时除了输入密码外,还需要提供动态验证码,有效增强了账户安全性,防止因密码泄露导致的安全风险。

域名到期监控

系统集成了 WHOIS 查询功能,能够自动监控域名的到期时间,并在域名即将到期时通过通知渠道发送提醒,避免因域名过期忘记续费导致的服务中断。


部署方式

系统提供三种部署方案,以适应不同的服务器环境:

宝塔面板部署:支持一键部署到宝塔面板,自动配置 PHP 运行环境和站点,适合大多数使用宝塔面板管理服务器的用户,操作简单方便。

Docker 部署:提供 Docker 镜像和 docker-compose 编排文件,用户只需执行一行命令即可启动完整的运行环境,适合熟悉容器化部署的用户。

Kangle 面板部署:支持 Kangle Web 服务器环境,兼容 Kangle 虚拟主机管理系统,方便使用 Kangle 环境的用户快速部署。

技术栈

技术 选型

后端框架 ThinkPHP 8.1

PHP 版本 >= 8.2.0

数据库 MySQL 5.6+

ORM think-orm 4.0

模板引擎 think-view 2.0

前端框架 Bootstrap 3.4.1 + jQuery 3.7.1 + Vue 2.7.16

HTTP 客户端 GuzzleHTTP 7.x

邮件发送 PHPMailer 7.0

验证码 cccyun/think-captcha 3.0

WHOIS 查询 cccyun/php-whois 1.0

YAML 解析 symfony/yaml 7.3

支持的 DNS 平台详情

系统目前支持的 DNS 平台及其功能覆盖情况如下:

阿里云(Aliyun):支持备注独立设置,支持启用/暂停解析记录,不支持权重设置,支持在平台内直接添加域名。

腾讯云 DNSPod:支持备注独立设置,支持启用/暂停解析记录,支持权重设置,支持在平台内直接添加域名。

华为云:备注与解析记录一起设置,支持启用/暂停解析记录,支持权重设置,支持在平台内直接添加域名。

百度云:备注与解析记录一起设置,不支持启用/暂停,不支持权重设置,支持在平台内直接添加域名。

西部数码:不支持备注设置,支持启用/暂停解析记录,不支持权重设置,不支持在平台内添加域名。

火山引擎:备注与解析记录一起设置,支持启用/暂停解析记录,支持权重设置,支持在平台内直接添加域名。

京东云:不支持备注设置,支持启用/暂停解析记录,支持权重设置,支持在平台内直接添加域名。

DNSLA:不支持备注设置,支持启用/暂停解析记录,支持权重设置,支持在平台内直接添加域名。

青云:不支持备注设置,支持启用/暂停解析记录,支持权重设置,不支持在平台内添加域名。

宝塔 DNS:备注与解析记录一起设置,支持启用/暂停解析记录,支持权重设置,支持在平台内直接添加域名。