How to surf anonymously

Having problems accessing your preferred homepage because the firewall or the proxy blocks access?

Try accessing through public anonymizing server

Try to search in Google for "Anonymous". You should get a list of sites that allow an anonymous access to the target site (e.g. http://anonymouse.org) - they act as containers for the target homepage, and if their address is unknown to the nasty firewall or proxy, you should be able to get access to your lovely site. Beware! Such sites might track ALL your network traffic, so don't insert any private passwords or similar stuff when you're connected that way!!! And think as well that there is probably a reason why the network admin has blocked access to the site - use it only if the contents are allowded and the access has probably been blocked erroneously.

Setup your own anonymous webserver

If your firewall or proxy denies you access as well to the public anonymous servers, you can setup your own one. The things you need are:

  • patience.
  • a pc at home that can run all the time.
  • a connection with no up/download limitations or with very large limitation.
  • a provider that gives you few Bytes space for your private homepage.
  • a variable IP address.

Once you have all this you can set it up. Here some hints:

Operating system
No limitations. Do it in an environment where you find yourself more comfortable writing scripts and/or programs. I personally prefer Gentoo Linux.
Webserver
Well, Apache is for sure the most famous opensource webserver around. Works well, is not too difficult to configure, and there are a lot of articles out there in the net that can help you solving issues. Install on the machine CGI, PHP, perl, the Apache perl (mod_perl) and you should have everything you need. Before you start fiddling around with the anonymous stuff, check with some test scripts that CGI, PHP and perl are really working for the webserver.
Redirection
The idea is to redirect people that land on the homepage saved in your provider's server, to the server you just installed at home. In order to do this, write a very easy index.html file which contains a redirection instruction like this one:
<head>
<title>HTTP Redirect</title>
<meta http-equiv="refresh" content="1; URL=http://YOURPRIVATEIPHERE/">
</head>
Your provider will change your IP address on a regular basis, so you need as well to write a script that updates the IP address in the index.html file you placed on your provider's server. Most probably the box you have at home that connects your lan to the internet has some sort of Web-based configuration page which displays as well your external IP address. You can get this number by downloading the whole page using something like wget and then do a search in the file for it. Prepare a master index.html, insert the external IP into the file and upload index.html to your provider as usual per ftp - e.g. lftp.
Anonymous server
So, now you have at home a webserver running all the time and all connections to your homepage on the provider's server get redirected to your home's webserver. Nothing stops you from installing the anonymous server.
I found two: CGIProxy and PHProxy.
CGIProxy is fast, runs fine (until now) and the configuration is simple. I only had to change the first line of the script (set /usr/bin/perl instead of /usr/local/bin/perl), copy it to the cgi-bin directory specified in the ScriptAlias section of the httpd.conf file of Apache, change permissions to "chmod 755" for the file and modify the index.html file, so that the redirection is not done to the root directory of the webserver (e.g. http://123.4.5.6) but to the file (e.g. http://123.4.5.6/cgi-bin/nph-proxy.cgi).

Done. Even if your network admins re-configure the firewall to deny access to your home's webserver, after a while the server of your provider will hickup and assign you a brand new IP. You can as well request an change of the IP by sending them packets, but I'm not yet so far.