Encrypting your web traffic and bypassing web filters is pretty easy to do if you have a remote Linux installation. A recent blog article and a comment on Hacker News inspired me to write this post on how I use my Linode for such purposes, though this will work for any remote Linux server.
I’ll start off assuming you have an Ubuntu installation running remotely that you can SSH into. SSH in to the machine with “ssh user@domain”. You’ll need Firefox installed which is as simple as “sudo apt-get install firefox” from the command line after you’ve SSH’d in.
Now you’ll need to make sure you’ve got x11 on your Mac. If you’ve got OSX 10.8 or later you’re going to have to install XQuartz. If you’re using an earlier version of OSX, you don’t have to install anything as it came prepackaged with those versions. If you’re using Linux, you almost certainly don’t have to install anything (if you did, you’d know it, and not be reading this blog). Once you’ve done that, initiate a new SSH session with your machine using this different command than before: “ssh -X user@domain”. An example command might be: “ssh -X email@example.com”
If you installed XQuartz correctly and you SSH with this new -X option, XQuartz will appear on your dock. Once connected, run this command on your remote machine: “firefox &”. A new Firefox window will appear and if you check your IP from this new browser window, you will see it is different from the browser you run straight from your Mac.
Its a little more tricky on Windows, but only slightly so. You’ll need to use PuTTY to SSH. You’ll also need an x11 server. In the past I have successfully used xWin32, however the guide I’m going to point you to suggests using Xming. I’d do what the guide says, and if that doesn’t work then try xWin32.
Just like on the Mac, you’ll need Firefox installed on your remote Ubuntu machine: “sudo apt-get install firefox”. Then run the command “firefox &” and you should have a Firefox Window appear. Just as with Mac, if you check your IP from this new browser window, you will see it is different from a browser started in Windows.
All traffic is now tunneled through this SSH connection (which is inherently encrypted), to your server. This means you can safely access private information on public networks, and it also means that no filters are in place to stop you viewing something (unless there is a filter on your Ubuntu machine).