From 8221cd19aee41667363a2929a66cfcb68428a6c2 Mon Sep 17 00:00:00 2001 From: LiuShen <3162475700@qq.com> Date: Wed, 1 Oct 2025 17:52:01 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8B=E6=9B=B4=E6=96=B0dnsmgr=E5=BA=94?= =?UTF-8?q?=E7=94=A8=EF=BC=8C=E5=B0=9D=E8=AF=95=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dnsmgr/README.md | 15 ++++++++++ dnsmgr/data.yml | 34 +++++++++++++++++++++ dnsmgr/latest/data.yml | 50 +++++++++++++++++++++++++++++++ dnsmgr/latest/docker-compose.yml | 17 +++++++++++ dnsmgr/logo.png | Bin 0 -> 30668 bytes 5 files changed, 116 insertions(+) create mode 100644 dnsmgr/README.md create mode 100644 dnsmgr/data.yml create mode 100644 dnsmgr/latest/data.yml create mode 100644 dnsmgr/latest/docker-compose.yml create mode 100644 dnsmgr/logo.png diff --git a/dnsmgr/README.md b/dnsmgr/README.md new file mode 100644 index 000000000..e48b254dc --- /dev/null +++ b/dnsmgr/README.md @@ -0,0 +1,15 @@ +# 彩虹聚合DNS管理系统 + +彩虹聚合DNS管理系统是一款基于ThinkPHP开发的网站程序,可实现在单一网站内管理多个平台的域名解析,目前已支持的域名解析平台有:阿里云、腾讯云、华为云、百度云、西部数码、火山引擎、DNSLA、CloudFlare、Namesilo、PowerDNS。 + +## ✨ 特性 +- **多平台统一管理**:在一个面板内集中管理阿里云、腾讯云、华为云等10+主流解析商 +- **多用户权限体系**:可为每个用户分配不同的域名解析权限,支持分级管理 +- **容灾智能切换**:支持ping、tcp、http(s)检测协议,故障自动暂停/修改解析并发送通知 +- **定时任务策略**:支持在指定时间/周期自动修改/开启/暂停/删除解析记录 +- **CF优选IP**:自动获取最新Cloudflare优选IP并批量更新到解析记录 +- **SSL证书全自动化**:一键从Let's Encrypt等渠道申请证书并自动部署到面板、云厂商、服务器 +- **全渠道通知**:邮件、微信公众号、Telegram、钉钉、飞书、企业微信等消息实时触达 + +## 🛠 支持的DNS服务商 +阿里云、腾讯云、华为云、百度云、西部数码、火山引擎、DNSLA、CloudFlare、Namesilo、PowerDNS \ No newline at end of file diff --git a/dnsmgr/data.yml b/dnsmgr/data.yml new file mode 100644 index 000000000..cd688a8c5 --- /dev/null +++ b/dnsmgr/data.yml @@ -0,0 +1,34 @@ +name: dnsmgr +tags: + - DNS + - 聚合 + - 管理 + - 自托管 +title: 轻量级多上游 DNS 聚合管理系统 +description: 彩虹聚合DNS管理系统是一个支持多上游 DNS 聚合、智能分流、缓存加速与可视化管理的轻量级 DNS 管理方案,支持 DoH/DoT/DoQ 等现代协议。 +additionalProperties: + key: dnsmgr + name: dnsmgr + tags: + - WebSite + - Tool + shortDescZh: 轻量级多上游 DNS 聚合管理系统 + shortDescEn: Lightweight multi-upstream DNS aggregation management system + type: website + crossVersionUpdate: true + limit: 0 + website: https://github.com/netcccyun/dnsmgr + github: https://github.com/netcccyun/dnsmgr + document: https://github.com/netcccyun/dnsmgr + description: + en: Lightweight multi-upstream DNS aggregation management system with intelligent routing, cache acceleration, and visual management, supporting DoH/DoT/DoQ. + zh: 轻量级多上游 DNS 聚合管理系统,支持智能分流、缓存加速与可视化管理,兼容 DoH/DoT/DoQ 等现代协议。 + zh-Hant: 輕量化多上游 DNS 聚合管理系統,支援智慧分流、快取加速與可視化管理,相容 DoH/DoT/DoQ 等現代協議。 + ja: 軽量なマルチアップストリームDNS集約管理システムで、インテリジェントルーティング、キャッシュ加速、ビジュアル管理をサポートし、DoH/DoT/DoQなどの最新プロトコルに対応。 + ms: Sistem pengurusan agregasi DNS multi-upstream ringan dengan penghalaan pintar, pecutan cache, dan pengurusan visual, menyokong protokol moden DoH/DoT/DoQ. + pt-br: Sistema de gerenciamento de agregação DNS multi-upstream leve com roteamento inteligente, aceleração de cache e gerenciamento visual, suportando protocolos modernos como DoH/DoT/DoQ. + ru: Лёгкая система управления агрегацией DNS с несколькими upstream-серверами, поддерживающая интеллектуальную маршрутизацию, кеширование и визуальное управление, а также современные протоколы DoH/DoT/DoQ. + ko: 다중 업스트림 DNS 집합 관리 시스템으로, 지능형 라우팅, 캐시 가속 및 시각적 관리를 지원하며 DoH/DoT/DoQ 등 최신 프로토콜을 지원합니다. + architectures: + - amd64 + - arm64 diff --git a/dnsmgr/latest/data.yml b/dnsmgr/latest/data.yml new file mode 100644 index 000000000..84e240513 --- /dev/null +++ b/dnsmgr/latest/data.yml @@ -0,0 +1,50 @@ +additionalProperties: + formFields: + - default: 13489 + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + ja: ポート + ms: Port + pt-br: Porta + ru: Порт + ko: 포트 + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + required: true + rule: paramPort + type: number + + - default: "" + envKey: SOCKS5_PROXY + labelEn: SOCKS5 Proxy + labelZh: SOCKS5 代理 + label: + en: SOCKS5 Proxy + ja: SOCKS5プロキシ + ms: Proksi SOCKS5 + pt-br: Proxy SOCKS5 + ru: SOCKS5 прокси + ko: SOCKS5 프록시 + zh: SOCKS5 代理 + zh-Hant: SOCKS5 代理 + required: false + type: text + + - default: "" + envKey: HTTP_PROXY + labelEn: HTTP Proxy + labelZh: HTTP 代理 + label: + en: HTTP Proxy + ja: HTTPプロキシ + ms: Proksi HTTP + pt-br: Proxy HTTP + ru: HTTP прокси + ko: HTTP 프록시 + zh: HTTP 代理 + zh-Hant: HTTP 代理 + required: false + type: text diff --git a/dnsmgr/latest/docker-compose.yml b/dnsmgr/latest/docker-compose.yml new file mode 100644 index 000000000..3784e0395 --- /dev/null +++ b/dnsmgr/latest/docker-compose.yml @@ -0,0 +1,17 @@ +services: + dnsmgr: + image: netcccyun/dnsmgr:latest + container_name: ${CONTAINER_NAME} + restart: always + labels: + createdBy: "Apps" + ports: + - "${PANEL_APP_PORT_HTTP}:80" + volumes: + - ./data:/app/www + networks: + - 1panel-network + +networks: + 1panel-network: + external: true diff --git a/dnsmgr/logo.png b/dnsmgr/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9cfeaeccc531db5deaf0d0c3a9a9b7eba62cb312 GIT binary patch literal 30668 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 literal 0 HcmV?d00001