Having some ports closed is very common in public wireless networks. For example, when I’m at University I’m able to use only a small set of ports like 80 (HTTP) and 443 (HTTPS). Sometimes you need to connect to web servers listening on rare ports such as 8080. In this cases HTTPtunnel may be a good application to solve this problem.
HTTPtunnel consists of two small programs, a server called hts and its client htc. Imagine you need to reach your SSH home server, but you are not allowed to connect to services on port 22. However you may have access to services running on port 21, such as an FTP server, or port 80 like web servers.
On the server side you should configure the hts server like this:
hts -F localhost:22 80
Now, you can access the SSH port through the web server’s one, but you need to configure the client side with a command like:
htc -F 10022 example.com:80
If you connect to your local 10022 port, htc will redirect the traffic to your server’s port 80 simulating an HTTP connection.
ssh -p 10022 user@localhost
That’s it! HTTPtunnel has available Debian and Ubuntu packages in its official repositories, so you shouldn’t have many problems installing it. In MacOS X, you can install HTTPtunnel through Homebrew.
