masterking32/MasterDnsVPN

GitHub Trending (daily) 工具

摘要

MasterDnsVPN 是一个开源的科学/研究项目,通过 DNS 查询和响应来隧道传输 TCP 流量,与 DNSTT 和 SlipStream 等同类工具相比,提供了多路径路由、ARQ 可靠性传输以及低协议开销等高级特性。

高级 DNS 隧道 VPN,专为突破网络封锁而设计,在 DNSTT 和 SlipStream 的基础上进行了优化,具备低开销 ARQ、解析器负载均衡、高丢包环境下的稳定性以及更快的传输速度。
查看原文
查看缓存全文

缓存时间: 2026/05/09 12:31

masterking32/MasterDnsVPN 来源:https://github.com/masterking32/MasterDnsVPN # MasterDnsVPN 项目 🔐 ## | فارسی نسخه | English Version | MasterDnsVPN 是一个通过 DNS 查询和响应承载 TCP 流量的科学研究型项目。其总体目标与 DNSTT 或 SlipStream 等项目类似,但在结构和实现方式上有着根本性的不同。该系统围绕对多种解析器行为及恶劣网络条件的兼容性进行设计,目标是在最糟糕的情况下仍能保持尽可能高的稳定性和数据传输能力。

Ask DeepWiki oosmetrics

📊 MasterDnsVPN 与同类项目对比

特性SlipStreamDNSTTMasterDnsVPN
协议类型高级 DNS 隧道经典 DNS 隧道高级 DNS 隧道 / VPN
传输协议QUICKCP + Noise自定义协议 + ARQ
传输头部开销🟠 ~24B🔴 ~59B🟢 ~5–7B ≈比 DNSTT 低 88% ≈比 SlipStream 低 71%
加密方式TLS 1.3(内嵌于 QUIC)Noise(Curve25519)AES / ChaCha20 / XOR(若使用 XOR:轻量级,安全性较低且无额外开销)
架构统一(QUIC 处理一切)多层(KCP + SMUX + Noise)🟢 专为 DNS 优化的轻量级自定义设计
速度🟡 高(最高约为 DNSTT 的 5 倍)🔴 中等🟢 快于其他方案,最高约为 DNSTT 的 9 倍,约为 SlipStream 的 3.6 倍
丢包下的稳定性🟡 良好🟠 中等🟢 非常高(多路径 + ARQ)
多解析器支持是(多路径)是——高级(多解析器 + 数据复制)
强审查下的抗干扰能力良好中等非常强(项目核心目标)
配置复杂度中等简单安装更简便;仅在深度自定义高级设置时才更复杂
SOCKS5 支持针对 SOCKS5 / SOCKS4 优化,降低 SOCKS 开销
Shadowsocks 支持间接支持:TCP 转发模式可承载基于 TCP 的协议,如 Shadowsocks、VLESS/VMess 等
真正的多路径是(QUIC 多路径)是(多解析器 + 数据复制)
自适应路由有限高级(基于延迟/丢包)
设计目标高速与高效简洁与稳定在最恶劣的网络环境中存活——稳定性、速度与效率
实现语言RustGo主版本为 Go,同时存在旧版 Python 实现
内置负载均衡🔴🟢(8 种内置均衡模式)
数据复制系统是——通过增加流量来提升可靠性(可配置或禁用)
MTU 容忍性优于 DNSTT-因协议开销极低,即使 MTU 非常小也能正常工作
故障转移系统
下载速度 10MB(本地)🟡 0.978s🔴 2.492s🟢 0.270s
上传速度 10MB(本地)🟡 3.249s🔴 16.207s🟢 1.746s
解析器健康检查与自动禁用
健康解析器后台自动恢复
客户端本地 DNS 服务(减少 DNS 劫持)✅(带强力 DNS 缓存)
通过 SOCKS5 解析 DNS✅(带 DNS 缓存)
细粒度专业配置🟠🟠🟢 几乎每个子系统均可配置
无需外部辅助软件🟢 无需额外软件;如有需要,仍可与 SOCKS 或 Shadowsocks、OpenVPN 等工具组合使用

❌ 免责声明

MasterDnsVPN 仅作为教育和研究项目提供。

  • 不提供任何担保: 本软件以“现状“提供,不附带任何明示或暗示的担保,包括适销性、特定用途适用性或不侵权担保。
  • 责任限制: 本项目的开发者和贡献者对因使用或无法使用本软件而造成的任何直接、间接、偶然、后果性或其他损害不承担任何责任。
  • 用户责任: 在测试环境之外使用本项目可能会干扰或破坏网络行为。用户对安装、配置和使用的一切后果自行负责。
  • 法律合规: 使用本项目绕过当地法律可能导致民事或刑事后果。请在使用前查阅所在国家/地区的法律法规。开发者对用户违反当地、国家或国际法律不承担任何责任。
  • 许可条款: 本软件的使用、复制、分发或修改受本仓库 LICENSE 文件中的许可证约束。超出该条款范围的任何使用均被禁止。

公告与支持频道 📢

获取最新动态、版本发布和项目更新,请关注我们的 Telegram 频道:

Telegram 频道


如果您喜欢这个项目,请在 GitHub 上给它点个星(⭐),这将帮助更多人发现本项目。


可选财务支持 💸

  • TON 网络:masterking32.ton
  • EVM 兼容网络(ETH 及兼容链):0x517f07305D6ED781A089322B6cD93d1461bF8652
  • TRC20 网络(TRON):TLApdY8APWkFHHoxebxGY8JhMeChiETqFH

每一份贡献和每一条反馈都令人感激。您的支持直接推动项目的持续开发与改进。


核心特性与优势 ✨

MasterDnsVPN 主要功能概览:

  • 抗审查与恶劣网络生存能力: 🛡️ 专为在过滤网络、不稳定链路和严格 MTU 环境下工作而设计。
  • 轻量级自定义协议: 🔄 使用带重传逻辑的自定义协议,降低开销并增加可用 DNS 载荷。
  • 多路径与数据包复制: 📡 通过多条路径发送流量,支持选择性数据包复制,提升不稳定网络下的投递概率。
  • 智能解析器选择与健康检查: ⚡ 根据质量和健康状态选择解析器,并自动管理问题解析器。
  • MTU 探测与同步: 🧰 检测工作路径的实际 MTU 并据此对齐,减少分片并提高稳定性。
  • SOCKS5 / SOCKS4 支持与优化: 🧦 针对常见应用的本地代理处理进行优化。
  • ACK/控制流量打包与降低控制开销: 📦 将 ACK/控制流量合并,减少控制信令频次。
  • 可选压缩与请求打包: 🗜️ 减少请求数量,在小 MTU 条件下提升效率。
  • 灵活的加密方式: 🔐 支持多种加密方式,在速度与安全之间灵活权衡。
  • 可选客户端本地 DNS 与缓存: 📛 可暴露本地 DNS 服务,降低延迟并减少被劫持的机会。
  • 可扩展的资源控制: ⚙️ 可在小型服务器上运行,也可针对较重负载进行调优。

以上仅为高层次摘要,下方相关章节将对每个方面作更详细的说明。


🌐 在互联网全面断网期间经过实战验证

MasterDnsVPN 不只是一个理论性项目。它已在全球互联网被完全切断的环境中经过实战验证。

近期,在伊朗长达 70 余天的互联网断网期间,当局不仅封锁了 VPN 和过滤网站——还直接切断了国际带宽。99% 的对外连接被物理切断,用户被困在封闭的本地内网中。当没有国际互联网可连接时,标准翻墙工具毫无用武之地。

然而,在这次大规模断网期间,MasterDnsVPN 成为为数极少的、真正让用户保持与全球互联网连接的工具之一。

它是如何在全面断网中存活的?

MasterDnsVPN 不像普通 VPN 那样工作,而是依靠智能 DNS 隧道技术穿透封锁:

  • 多解析器: 通过多个 DNS 解析器路由流量,确保连接从不依赖单一的、容易被封锁的路径。
  • 加密与数据分割: 对数据进行加密,并将其拆分成细小的分散片段。
  • 伪装成合法流量: 将这些数据片段封装在标准的、完全正常的 DNS 查询中。
  • 绕过本地陷阱: 由于流量看起来与普通的日常 DNS 请求完全一致,防火墙会放行。数据被解析并到达外部世界——即使网络强制用户使用当局自己的受限本地解析器。

正是这种组合,让 MasterDnsVPN 在外部世界完全被封锁的情况下仍能维持稳定连接。


安装与快速上手 🧑‍💻

第一节:🖥️ 服务器配置

第 1.1 节:🌐 域名配置与准备(前置条件)

要让服务器直接接收 DNS 请求,您必须将一个子域名委派给它。简而言之,创建两条记录:一条指向服务器 IP 的 A 记录,以及一条将隧道子域名委派给该 A 记录的 NS 记录。

步骤 1.1.1:🅰️ 创建 A 记录(服务器地址)

  • 类型: A
  • 名称: 短名称,例如 ns
  • 值: 您服务器的 IPv4 地址

示例:ns.example.com -> 1.2.3.4 Cloudflare 注意事项:如果域名使用 Cloudflare,请打开 DNS 页面,点击 A 记录旁的云图标,使其变为灰色(仅 DNS)。不得保持代理状态。

步骤 1.1.2:🏷️ 创建 NS 记录(委派子域名)

  • 类型: NS
  • 名称: 隧道子域名,例如 v
  • 值/目标: ns.example.com

示例:v.example.com -> ns.example.com Cloudflare 注意事项:正常添加 NS 记录即可。Cloudflare 不会代理 NS 记录,但请确保 ns 的 A 记录已设置为 仅 DNS

第 1.1.3 节:💡 关于 MTU 的简要说明

域名越短,每个 DNS 请求中留给实际数据的空间就越多。为获得更好的吞吐量,请尽量保持名称简短。如果使用 Cloudflare,仍需将相关记录保持在 仅 DNS 模式。


第 1.2 节:🐧 Linux 服务器快速安装

步骤 1.2.1:自动安装(脚本)

如需在 Linux 上部署服务器,最简便的方式是使用自动安装脚本。在服务器上运行以下命令:

bash <(curl -Ls https://raw.githubusercontent.com/masterking32/MasterDnsVPN/main/server_linux_install.sh)

脚本将自动处理安装和配置。完成后,服务器启动,加密密钥会显示在终端日志中,并写入可执行文件旁边的 encrypt_key.txt 文件。请妥善保存此密钥。

步骤 1.2.2:安装后的重要说明

  • 安装过程中会要求您输入域名,必须与您在 NS 记录中配置的委派子域名相同,例如 v.example.com
  • 创建 DNS 记录后,请等待传播完成。根据 TTL 和 DNS 提供商的不同,这可能需要几分钟到数小时,某些情况下最长可达 48 小时。
  • 可使用 dignslookup 等工具验证 DNS 配置,例如 dig v.example.com NSnslookup -type=ns v.example.com。直接查询新域名服务器:dig @ns.example.com v.example.com A
  • 如果服务器防火墙已启用,请放行 UDP 端口 53。ufw 示例:
sudo ufw allow 53/udp
sudo ufw reload

firewalld 示例:

sudo firewall-cmd --add-port=53/udp --permanent
sudo firewall-cmd --reload
  • 如果端口 53 已被其他服务占用(如 systemd-resolved),请参阅故障排除章节“修复端口 53 已被占用“。
  • 安装完成后将显示加密密钥(encrypt_key.txt)。请复制并妥善保存,因为客户端连接时需要用到它。

第二节:🚀 安装与启动(客户端和服务器)

您可以通过以下两种方式安装和运行本项目:

  1. 使用预编译二进制文件(推荐大多数用户使用)
  2. 使用 Go 直接从源码运行(推荐开发者使用)

第 2.1 节:使用预编译发布版(✅ 推荐)

为方便使用,预编译的客户端和服务器二进制文件已发布在发布页面。请下载适合您操作系统的压缩包并解压。

💡 注意: 发布压缩包通常包含二进制文件及示例配置文件。

客户端下载链接 📥

操作系统架构适用场景直接下载
Windows 🪟AMD64(64位)Windows 10 和 11下载 Windows 客户端 ⬇️
Windows 🪟x86(32位)旧版 32 位 Windows 系统下载 Windows x86 客户端 ⬇️
Windows 🪟ARM64ARM 设备上的 Windows下载 Windows ARM64 客户端 ⬇️
macOS 🍎ARM64Apple Silicon Mac(M1 / M2 / M3)下载 macOS 客户端 ⬇️
macOS 🍎AMD64Intel Mac下载 macOS Intel 客户端 ⬇️
Linux 🐧AMD64(64位)现代发行版(Ubuntu 22.04+,Debian 12+)下载 Linux 客户端 ⬇️
Linux 🐧x86(32位)旧版 32 位 Linux 系统下载 Linux x86 客户端 ⬇️
Linux(旧版)🐧AMD64(64位)旧版发行版(Ubuntu 20.04,Debian 11)下载 Linux 旧版客户端 ⬇️
Linux(旧版)🐧ARM64需要更广泛兼容性的旧版 ARM64 Linux 系统下载 Linux 旧版 ARM64 客户端 ⬇️
Linux(ARM)🐧ARM64ARM 服务器、Raspberry Pi 及类似开发板下载 Linux ARM 客户端 ⬇️
Linux(ARM)🐧ARMv732 位 ARM 开发板及旧版嵌入式 Linux 设备下载 Linux ARMv7 客户端 ⬇️
Linux(ARM)🐧ARMv6旧版 ARM 开发板及轻量级 Linux 设备下载 Linux ARMv6 客户端 ⬇️
Linux(ARM)🐧ARMv5非常旧的 ARM 设备及嵌入式 Linux 系统下载 Linux ARMv5 客户端 ⬇️
Linux 🐧RISCV64RISC-V Linux 开发板和服务器下载 Linux RISCV64 客户端 ⬇️
Linux(MIPS)🐧MIPS大端序 MIPS Linux 及路由器平台下载 Linux MIPS 客户端 ⬇️
Linux(MIPS)🐧MIPSLE小端序 MIPS Linux 及路由器平台下载 Linux MIPSLE 客户端 ⬇️

相似文章

SOCKMAP - 未来的TCP拼接

Lobsters Hottest

Cloudflare 探索利用Linux内核的SOCKMAP基础设施进行TCP套接字拼接,从而减少用户空间开销,并实现更高效的反向代理数据转发。