# MasterDnsVPN — Advanced DNS Tunneling VPN > High-performance DNS tunneling VPN with low-overhead ARQ, resolver load balancing, and stability optimizations for challenging network conditions. ## Install Save as a script file and run: # MasterDnsVPN — Advanced DNS Tunneling VPN ## Quick Use ```bash git clone https://github.com/masterking32/MasterDnsVPN.git cd MasterDnsVPN go build -o masterdnsvpn ./cmd/server ./masterdnsvpn --config server.yaml ``` ## Introduction MasterDnsVPN is an open-source DNS tunneling VPN written in Go. It encapsulates network traffic inside DNS queries and responses, enabling connectivity through networks that only allow DNS traffic. It improves on earlier tools like DNSTT and SlipStream with better throughput and stability. ## What MasterDnsVPN Does - Tunnels network traffic through DNS queries and responses - Provides VPN connectivity in DNS-only network environments - Implements low-overhead ARQ for reliable data transfer over DNS - Distributes load across multiple DNS resolvers for throughput - Maintains stable connections even under high packet loss conditions ## Architecture Overview The system consists of a server component and a client component. The client encodes network packets into DNS queries (TXT, CNAME, or NULL records) and sends them through configured resolvers. The server decodes the DNS payloads, forwards traffic, and encodes responses back into DNS answers. A custom ARQ protocol handles retransmission without TCP-level overhead, and resolver load balancing distributes queries to avoid rate limits. ## Self-Hosting & Configuration - Server requires a domain with NS records pointing to your server - Build from source with Go 1.21+ or use pre-built binaries - Configure upstream DNS resolvers in the client configuration - Server and client exchange a shared secret for authentication - TUN interface is created automatically on both ends ## Key Features - Custom ARQ protocol optimized for DNS transport latency - Multi-resolver load balancing to maximize throughput - High packet-loss tolerance for unstable network conditions - Support for TXT, CNAME, and NULL DNS record types - Cross-platform support (Linux, macOS, Windows) ## Comparison with Similar Tools - **DNSTT** — original DNS tunnel tool; MasterDnsVPN adds ARQ and load balancing - **SlipStream** — DNS tunneling variant; MasterDnsVPN achieves higher throughput - **Iodine** — classic DNS tunnel; MasterDnsVPN improves stability under packet loss - **WireGuard** — standard VPN; MasterDnsVPN works where only DNS traffic is permitted ## FAQ **Q: What throughput can I expect?** A: Typically 100-500 Kbps depending on resolver quality and network conditions. **Q: Does this work with any DNS resolver?** A: Most public and private resolvers work; some rate-limit DNS queries which reduces throughput. **Q: Is the traffic encrypted?** A: Yes, traffic is encrypted between client and server with a shared key. **Q: What DNS record types give the best performance?** A: NULL records provide the highest throughput; TXT records have the widest resolver compatibility. ## Sources - https://github.com/masterking32/MasterDnsVPN - https://github.com/masterking32/MasterDnsVPN/blob/main/README.md --- Source: https://tokrepo.com/en/workflows/asset-d4c05395 Author: Script Depot