每日签到奶昔超市积分商城奶昔访达
返回列表 发布新帖
查看: 182|回复: 10

[工具] DNS 自动分流网关 - 高性能 & 全协议支持 (DoH/DoT/DoQ)

发表于 5 天前 | 查看全部 |阅读模式

欢迎注册论坛,享受更多奶昔会员权益!

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 Sanite_Ava 于 2025-11-29 20:00 编辑

🌐 DNS 自动分流网关 - 高性能 & 全协议支持 (DoH/DoT/DoQ)

一个基于 Go 语言开发的轻量级、高性能 DNS 代理服务器。

如果你受够了 DNS 污染、想要更精准的国内外流量分流,或者想自建支持 DoH/DoT/DoQ 的安全 DNS 服务,这个项目绝对值得一试!

测试服务器:

面板地址: 点击进入 WebUI
DoH: https://dns-test.11451453.xyz/dns-query
DoT/DoQ: dns-test.11451453.xyz

注: 测试服务器位于德国法兰克福,国内ECS为上海电信IP,国外ECS为日本东京IP,速度一定不理想,仅供测试解析IP是否正确以及效果,如需体验高速解析请自行搭建配置


项目亮点

  • 🌍 智能分流: 内置 GeoIP 和 GeoSite,自动将国内域名解析到国内 DNS,海外域名解析到海外 DNS,速度与准确性兼得。
  • 🚀 全协议支持: 不仅支持传统 UDP/TCP,更完美支持 DoH (HTTP/2 & HTTP/3)DoTDoQ (QUIC) 等加密协议。
  • 🔒 自动 HTTPS: 集成 Let's Encrypt,只需配置域名,自动申请和续期 TLS 证书,轻松搭建私有 DoH/DoT 服务器。
  • 极速体验: 海外查询支持并发竞速(最快者胜),支持 TCP/DoT 连接复用 (Pipelining),告别解析延迟。
  • 🛠️ 高度定制: 支持自定义 hosts.txtrule.txt 分流规则,支持自定义 ECS IP 以优化 CDN 解析。
  • 📦 开箱即用: 启动时自动更新 Geo 数据库,支持 Docker 一键部署。

📝 更新日志

新增功能

  • WebUI调整: 全新风格,支持深色/浅色模式切换。
    image
    image
  • 移动端支持: WebUI 适配移动端。
  • 仪表板增强版:
    • 仪表盘卡片新增 CN/Overseas 查询统计、Goroutines 监控、启动时间显示。
    • 监听端口卡片重构为 Grid 布局,未监听端口自动淡化显示。
  • 上游DNS服务器管理: 支持通过拖拽 (Drag-and-Drop) 自定义上游服务器排序。
    image
  • 日志系统:
    • 查询日志支持分页加载 (Pagination),大幅提升大数据量下的加载性能。
    • 日志轮转策略从“条数限制”更改为“文件大小限制 (MB)”,默认 1MB 自动轮转。
  • 优化: 登录按钮与刷新按钮样式优化,提升交互体验。

🐛 修复问题

  • Pipeline 高并发问题: 重构 DoT/TCP 客户端,使用连接池 (Connection Pool) 替代单一连接锁,彻底修复开启 Pipeline 后高并发下的延迟暴增与连接失败问题。

💡 提示: 本次更新包含多项核心功能升级与体验改进,建议所有用户更新到最新版本以获得最佳体验!


🚀 快速部署

部署只需两步:

1. 创建配置文件 config.yaml

在一个空目录中创建一个 config.yaml 文件,填入以下内容:

# 服务监听配置(注释或未配置则不开启相应服务)
listen:
  dns_udp: ":53"
  dns_tcp: ":53"
  doh: ":443"
  dot: ":853"
  doq: ":853"

# 自动证书申请 (Let's Encrypt)
# 如果启用,server.crt 和 server.key 将被忽略,证书将自动管理。
# 注意:需要公网 80 和 443 端口可访问。
auto_cert:
  enabled: false
  email: "your-email@example.com" # 用于接收证书过期通知
  domains:
    - "dns.example.com"
  cert_dir: "certs" # 证书缓存目录

# Bootstrap DNS (用于解析上游服务器域名)
bootstrap_dns:
  - "223.5.5.5:53"
  - "8.8.8.8:53"

# 上游服务器配置
upstreams:
  cn:
    # 示例:国内UDP DNS
    - address: "223.5.5.5:53"
      protocol: "udp"
      ecs_ip: "114.114.114.114"
    # 示例:国内DoT DNS (开启Pipelining)
    - address: "tls://223.6.6.6:853"
      protocol: "dot"
      ecs_ip: "114.114.114.114"
      pipeline: true
      insecure_skip_verify: false
  overseas:
    # 示例:海外DoH DNS (支持H3, 验证证书)
    - address: "https://8.8.8.8/dns-query"
      protocol: "doh"
      ecs_ip: "8.8.8.8"  # Cloudflare DNS 不支持ecs
      http3: true
      insecure_skip_verify: false
    # 示例:海外DoT DNS (开启Pipelining)
    - address: "tls://8.8.8.8:853"
      protocol: "dot"
      ecs_ip: "8.8.8.8"
      pipeline: true
    # 示例:海外DoQ DNS
    - address: "quic://dns.nextdns.io:853" 
      protocol: "doq"
      ecs_ip: "8.8.8.8"

# GeoIP/GeoSite数据文件路径及下载地址
geo_data:
  geoip_dat: "GeoIP.dat"
  geosite_dat: "GeoSite.dat"
  geoip_download_url: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
  geosite_download_url: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"

2. 一行命令启动

docker run -d \
  --name dns-proxy \
  --restart unless-stopped \
  --network host \
  -v $(pwd)/config.yaml:/app/config.yaml \
  -v $(pwd)/certs:/app/certs \
  -v $(pwd)/hosts.txt:/app/hosts.txt \
  -v $(pwd)/rule.txt:/app/rule.txt \
  weijiaqaq/dns_automatic_traffic_splitting:latest

注意:推荐使用 --network host 模式以获得最佳网络性能。


📖 使用指南

📂 文件说明

除了 config.yaml,你还可以在运行目录下创建以下文件进行自定义(可选,若无文件会自动忽略):

  1. hosts.txt: 类似于系统的 hosts 文件,强制指定域名 IP。

    192.168.1.1 myrouter.lan
    0.0.0.0     ads.badsite.com
  2. rule.txt: 自定义域名的分流策略(强制走 cnoverseas 组)。

    google.com overseas
    baidu.com cn

🔗 项目链接

项目完全开源,欢迎大家试用、提建议或者贡献代码!

爱生活,爱奶昔~
回复

使用道具 举报

发表于 5 天前 | 查看全部
star 1 膜拜大佬
爱生活,爱奶昔~
发表于 4 天前 来自手机 | 查看全部
您好,您是作者吗?

直接用大厂的doh和自建的什么区别?
爱生活,爱奶昔~
发表于 4 天前 | 查看全部
star
爱生活,爱奶昔~
回复

使用道具 举报

 楼主| 发表于 4 天前 来自手机 | 查看全部
mover 发表于 2025-11-28 09:28
您好,您是作者吗?

直接用大厂的doh和自建的什么区别?

大厂的没分流哦,比如直接用cf的bilibili有海外cdn的服务就会解析到akamai
爱生活,爱奶昔~
发表于 3 天前 | 查看全部
学习!!
爱生活,爱奶昔~
回复

使用道具 举报

发表于 3 天前 | 查看全部
感谢分享!
爱生活,爱奶昔~
发表于 3 天前 | 查看全部
xmsl
爱生活,爱奶昔~
回复

使用道具 举报

 楼主| 发表于 3 天前 | 查看全部
爱生活,爱奶昔~
发表于 3 天前 | 查看全部

快点同意加我好友
爱生活,爱奶昔~
 楼主| 发表于 3 天前 | 查看全部
hexy 发表于 2025-11-29 20:00
快点同意加我好友

同意啦
爱生活,爱奶昔~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2025 Naixi Networks. 沪ICP备13020230号-1|沪公网安备 31010702007642号手机版小黑屋RSS
返回顶部 关灯 在本版发帖
快速回复 返回顶部 返回列表