Timely. I've been noticing on flights that the in-flight wifi uses a squid proxy to block you until you pay - but most of the time, you'll get whatever data from the DNS Forwarder even if you haven't paid yet.
I've been noodling on how to build a simple proxy off DNS to test on my next flight.
A regular proxy on port 53 might work? Is it necessary to actually use DNS?
Otherwise there's https://github.com/yarrick/iodine
Edit: seems like others have recommended it already. I got it working in a hotel room once after giving up on the utterly broken ToS acceptance page for the WiFi.