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?

  • 3
    I think what you wan't can be easily accessible by using a OpenVPN on your linux box at home. Just use port 443 and static key to prevent any kind of filtering – Freedo Aug 27 '15 at 20:38
  • 3
    The first thing you'll need to determine is if the protocols are being filtered or merely the ports. – schroeder Aug 27 '15 at 21:40
  • You will not get a reliable VPN connection if your don't have one in the first place. – Konrad Gajewski Aug 28 '15 at 4:19
  • 1
    How hard is it to use google? Search for tunnel ssh over http and you'll find various solutions. Also useful: ssl vpn. – Steffen Ullrich Aug 28 '15 at 4:35
  • What about DNS? I've heard of people tunneling via DNS. But maybe you'll lose packets that way. – xdhmoore Aug 28 '15 at 5:21

Why not look into stunnel?

This will allow you to tunnel a protocol over TLS/SSL. You will need a public endpoint on your Linux box at home to listen on port 443 and then you can connect to what you need through that.

  • To be clear, stunnel tunnels any TCP protocol over SSL/TLS, if there is another stunnel or a compatibie server (including relay, proxy, etc) at the far end. Using 443 may lead nosyparkers to assume it's HTTPS, but it's not. FWIW, since SSL/TLS doesn't multiplex as SSH does, if you open multiple tunnelled connections stunnel creates multiple underlying connections -- as browsers often do for real HTTPS. – dave_thompson_085 Sep 1 '15 at 12:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.