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?

  • 4
    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
    Commented Aug 27, 2015 at 20:38
  • 3
    The first thing you'll need to determine is if the protocols are being filtered or merely the ports.
    – schroeder
    Commented Aug 27, 2015 at 21:40
  • You will not get a reliable VPN connection if your don't have one in the first place. Commented Aug 28, 2015 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. Commented Aug 28, 2015 at 4:35
  • What about DNS? I've heard of people tunneling via DNS. But maybe you'll lose packets that way.
    – xdhmoore
    Commented Aug 28, 2015 at 5:21

1 Answer 1


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. Commented Sep 1, 2015 at 12:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .