A networking-over-DNS client and server, in Go. https://sr.ht/~nullenenenen/ShrewDNS/
A bit like iodine in the basic idea, but the execution and network topologies you build with it are different. It's more of a building block; you get your DNS channels represented as UDP endpoints, and take it from there, ie you can run Wireguard over it, or SSH or a SOCKS5 proxy (using quicmux, so over QUIC), or run Mosh straight over DNS if you're crafty.
It has an Android app too! I tried to submit it to F-Droid but they're so swamped in spammy or low-quality apps that they're not taking any brand new apps :-( A sad state of affairs, that.