I'm sitting in a pub which promises wifi but in fact only seems to allow http and https over their standard ports, so no github, and no connecting to my home machine over ssh.
How can I bypass all this sort of stupidity for good?
I have a machine at home which I can leave running all the time. Both my laptop and my home machine are ubuntu boxes.
I'm thinking, http server on home machine, program on laptop catching all attempts to contact the network, encrypting them, and forwarding over http to the home machine, which then goes and does its thing over its clear internet connection, and sends the results back.
Then wherever I can get http over port 80 to home, I have proper access.
Is there an easy way to do it? Does that easy way have a simple page of documentation in the form of 'this is what you type on your laptop', 'this is what you type on your home machine'.
If not, what's the least hard way, and where are the clues?
Have you tried to set your ssh daemon to listen on port 443? It should allow you to ssh to your machine at home as long as they don't actually inspect the packages to only allow https traffic.
It's quite easy. Edit
/etc/ssh/sshd_config
and appendPort 443
on a new line afterPort 22
:Restart the ssh daemon with
sudo service ssh restart
, andnetstat --listening
should show that a process is listening for https connections.If it works, you can tunnel all your traffic through your home machine to access github etc. You could set up a proper vpn, or use try using an easier approach such as sshuttle, that only require a program on the client and standard ssh setup on the server.