Repolode
masterking32

masterking32/MasterDnsVPN

A DNS tunneling VPN that carries TCP traffic inside DNS queries and responses to get around censorship and unstable networks.

Stars
7,314
Forks
754
Open issues
20
Last commit
5 days ago

What is it?

MasterDnsVPN carries TCP traffic through DNS queries and responses, so traffic looks like ordinary name resolution to networks that filter other protocols. It is positioned as an alternative to DNSTT and SlipStream, using a custom transport with ARQ retransmission and a lighter header overhead than those tools.

The client exposes a local SOCKS5 proxy (or a fixed TCP forward mode), while the server runs on a delegated subdomain. The client manages a pool of recursive resolvers: it tests MTU, balances queries across resolvers using one of several strategies, optionally duplicates packets for reliability, and disables or rechecks resolvers based on health. Payloads can be encrypted with XOR, ChaCha20, or AES-GCM, and an optional local DNS service with caching is available.

Setup requires a domain with an A record and an NS record delegating a subdomain to the server, plus UDP/TCP port 53 open. Prebuilt binaries are provided for Windows, macOS, Linux (including ARM, MIPS and RISC-V), and Termux, and Docker images are published for several architectures.

Key features

  • 01Carries TCP traffic through DNS queries using a custom transport with ARQ retransmission.
  • 02Balances requests across a pool of resolvers with several selection strategies.
  • 03Tests MTU of working resolver pairs and adapts packet sizes to them.
  • 04Optionally duplicates packets across resolvers to improve delivery on lossy links.
  • 05Offers XOR, ChaCha20 and AES-GCM payload encryption.
  • 06Provides a local SOCKS5 proxy and an optional local DNS service with caching.

Use cases

  • Reaching the open internet from a network that blocks VPN protocols but allows DNS.
  • Testing DNS tunneling behavior and resolver resilience in a research setting.
  • Running a self-hosted tunnel server on a small VPS or router-class device.
  • Routing a browser or app through a local SOCKS5 proxy over an unreliable connection.

Quick start

  1. 1

    Create an A record and an NS record for a delegated subdomain pointing to your server

  2. 2

    Run the official Linux server install script from the README

  3. 3

    Allow UDP port 53 through the server firewall

    sudo ufw allow 53/udp

Things to know

  • You need your own domain and must configure DNS delegation before the server can work.
  • The README documents Linux server setup only, and DNS record propagation can take hours or up to 48 hours.
  • The README states it is provided for educational and research use only, and using it to bypass local laws may have legal consequences.

Topics

FAQ

What is MasterDnsVPN?
A DNS tunneling VPN that carries TCP traffic inside DNS queries and responses to get around censorship and unstable networks. MasterDnsVPN carries TCP traffic through DNS queries and responses, so traffic looks like ordinary name resolution to networks that filter other protocols. It is positioned as an alternative to DNSTT and SlipStream, using a custom transport with ARQ retransmission and a lighter header overhead than those tools.
Is MasterDnsVPN free to use? What license does it have?
MasterDnsVPN is open source under the MIT license. Check the license terms before using it in commercial products.
Is MasterDnsVPN still maintained?
Actively maintained. The last commit to MasterDnsVPN was on Nov 2, 2026.
What can I use MasterDnsVPN for?
Reaching the open internet from a network that blocks VPN protocols but allows DNS. Testing DNS tunneling behavior and resolver resilience in a research setting. Running a self-hosted tunnel server on a small VPS or router-class device. Routing a browser or app through a local SOCKS5 proxy over an unreliable connection.
How do I install MasterDnsVPN?
Create an A record and an NS record for a delegated subdomain pointing to your server Run the official Linux server install script from the README Allow UDP port 53 through the server firewall: sudo ufw allow 53/udp
Where can I get MasterDnsVPN?
The source code and installation instructions are on GitHub: https://github.com/masterking32/MasterDnsVPN

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects