You can bypass captive portals by using some of the ideas displayed in this presentation, but you will probably also need to have a server with a good unmetered connection and a cleverly named (sub)domain.

Iodine (https://github.com/yarrick/iodine) will do this. I did it with my home Internet connection as the server and found it very useful in a pinch.

Using DNS to exfiltrate arbitrary data thru firewalls that don’t log DNS requests is handy too.