iodine
Official git repo for iodine dns tunnel
...It is designed for situations where regular internet access is blocked but DNS resolution is still permitted. The project includes both a client and a server, requiring control of a domain and a publicly reachable server for proper setup. Iodine creates a virtual network interface so systems can communicate through an IP tunnel carried over DNS. It supports multiple DNS record types and automatically attempts to select efficient encoding methods depending on the resolver environment. Because the tunneled traffic is not encrypted by default, it is best treated as a transport layer that should be paired with secure protocols when privacy matters.