Repolode
masterking32

masterking32/MasterDnsVPN

一款通过 DNS 查询与响应传输 TCP 流量的隧道 VPN,用于绕过审查和不稳定网络。

Star
7,314
Fork
754
未关闭 Issue
20
最近提交
5天前

这是什么?

MasterDnsVPN 将 TCP 流量封装在 DNS 查询和响应中传输,对只放行常规域名解析的网络环境而言,流量看起来与普通 DNS 请求无异。项目定位为 DNSTT 和 SlipStream 的替代方案,采用自定义传输协议并加入 ARQ 重传机制,头部开销更低。

客户端提供本地 SOCKS5 代理(也可使用固定目标的 TCP 转发模式),服务端部署在委派的子域名下。客户端会管理一组递归解析器:测试 MTU,按多种策略在解析器之间分配请求,可选择对数据包进行复制以提高可靠性,并根据健康状况自动禁用或重新检测解析器。数据可用 XOR、ChaCha20 或 AES-GCM 加密,还可以开启带缓存的本地 DNS 服务。

部署前需要一个域名,配置指向服务器的 A 记录,以及把子域名委派给服务器的 NS 记录,并开放 53 端口的 UDP/TCP。项目提供 Windows、macOS、Linux(包括 ARM、MIPS、RISC-V)和 Termux 的预编译程序,并发布了多架构 Docker 镜像。

核心功能

  • 01通过 DNS 查询传输 TCP 流量,采用带 ARQ 重传的自定义协议。
  • 02在解析器池之间分配请求,支持多种选择策略。
  • 03测试可用解析器组合的 MTU,并据此调整数据包大小。
  • 04可选的跨解析器数据包复制,提升在丢包链路上的送达率。
  • 05支持 XOR、ChaCha20 和 AES-GCM 数据加密。
  • 06提供本地 SOCKS5 代理,以及可选的带缓存本地 DNS 服务。

适用场景

  • 在屏蔽常见 VPN 协议但放行 DNS 的网络中访问外部互联网。
  • 在研究环境中测试 DNS 隧道行为和解析器的稳定性。
  • 在小型 VPS 或路由器类设备上自建隧道服务端。
  • 通过本地 SOCKS5 代理,在不稳定的网络连接上为浏览器或应用提供转发。

快速上手

  1. 1

    为服务器创建 A 记录和用于委派子域名的 NS 记录

  2. 2

    运行 README 中的官方 Linux 服务器安装脚本

  3. 3

    在服务器防火墙中放行 UDP 53 端口

    sudo ufw allow 53/udp

使用前须知

  • 使用前需要你自己的域名,并且必须先配置 DNS 委派,服务器才能工作。
  • README 仅说明了 Linux 服务器的部署方式,DNS 记录生效可能需要数小时,最长可达 48 小时。
  • README 声明其仅用于教育和研究目的,用它绕过当地法律可能带来法律后果。

标签

常见问题

MasterDnsVPN 是什么?
一款通过 DNS 查询与响应传输 TCP 流量的隧道 VPN,用于绕过审查和不稳定网络。 MasterDnsVPN 将 TCP 流量封装在 DNS 查询和响应中传输,对只放行常规域名解析的网络环境而言,流量看起来与普通 DNS 请求无异。项目定位为 DNSTT 和 SlipStream 的替代方案,采用自定义传输协议并加入 ARQ 重传机制,头部开销更低。
MasterDnsVPN 可以免费使用吗?用的什么许可证?
MasterDnsVPN 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
MasterDnsVPN 还在维护吗?
活跃维护中。MasterDnsVPN 最近一次提交是在 2026年11月2日。
MasterDnsVPN 适合用来做什么?
在屏蔽常见 VPN 协议但放行 DNS 的网络中访问外部互联网。 在研究环境中测试 DNS 隧道行为和解析器的稳定性。 在小型 VPS 或路由器类设备上自建隧道服务端。 通过本地 SOCKS5 代理,在不稳定的网络连接上为浏览器或应用提供转发。
MasterDnsVPN 怎么安装和运行?
为服务器创建 A 记录和用于委派子域名的 NS 记录 运行 README 中的官方 Linux 服务器安装脚本 在服务器防火墙中放行 UDP 53 端口: sudo ufw allow 53/udp
在哪里获取 MasterDnsVPN?
源代码和安装说明在 GitHub 上:https://github.com/masterking32/MasterDnsVPN

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目