I'm posting this question from a moving train! (Ok, maybe that's not so impressive.) This train has an annoying WiFi - it's low-throughput, high-latency, tends to lose packets, and blocks most kinds of traffic (by port and by protocol most probably). Specifically, it allows HTTPS, but does not allow SSH (pretty sure it doesn't allow SOCKS 4/5 either). In fact, it probably does not allow any TCP-based protocols other than HTTP and HTTPS (but I've not established this as a fact).
So naturally, I want to tunnel out, via HTTP, or better yet via HTTPS so that they don't try any packet inspection tricks. What should I do? Are there publicly-accessible proxies? I'm guessing the answer is "no" and I need to set up my own; so, what should I deploy on my Linux box at home to enable this, with minimum impact on my system otherwise? Can such a proxy 'share' a port with a regular HTTP(S) server? And should I expect to have SSH over HTTPS? SOCKS over HTTPS? Something else?