Create Your Own CGI Proxy to Bypass the Great Firewall of Indonesia

Just before I wrote the article entitled The Great Firewall of Indonesia one of my best friend called me asking if there's anything he could do to access Rapidshare because he owns an account, and there are immediate things that needs downloading. It was then I realized that the government is blocking some popular file sharing site due to the Fitna movie.

Anyway.

Apprently he already searched for solutions to circumvent internet censorship. And proxy was the thing most mentioned on forums. He asked if there's other ways because he is concerned with the safety of his paid Rapidshare account should he chooses to use public proxy servers. And when he told me that he has a paid hosting account that he only uses for e-mails an idea struck me like lightning. Now that is an exaggeration but what hit my mind was to use the web hosting account as a CGI proxy, so he have his own private proxy and use the proxy to browse RapidShare and other sites that our government decided to block.

Made it for him and it worked great.

Next thing in in my mind was why not share this thing with the public? For the Greater Good ^_______^

So I'm going to give you a step-by-step "DIY PHP Proxy to circumvent censorship" recipe.

  1. Find a web hosting service that allows you to install CGI proxy. Now, this might look easy but is actually the hardest part because most web hosting services do not allow proxy scripts to be installed as it consumes a lot of CPU resources and bandwidth especially if you share the proxy with your friends. There are also sites that do not support the scripts due to php setting restrictions, especially free sites. And if you're thinking of using user name and passwords to login to the site you want to access through the proxy, note that on free hosting services you have no control on the activity being logged. So it would be best if you buy a hosting account for that purpose. If you need a free ones you can contact me by e-mail and I'll let you know where to get one.
  2. Get one of these PHP proxy scripts
    • PHProxy / PHP Proxy / Poxy   |   Screenshot
      Good:

      Smallest of them all only 3 small files to upload
      Has options to disable JavaScript, accept domain cookies and session cookies, show /disable images, show referrer site, strip meta tags, 2 URL encoding system and more.

      Bad:

      It is no longer maintained.
      You can’t use it to log in to MySpace and Facebook.

    • bblocked (PHP)   |   Screenshot
      Good:

      Really nice looking themes
      OpenSSL support if you enable it on your webhost.

      Bad:

      No options on GUI
      Options have to be modified on the php script.

    • Glype Proxy (PHP)   |   Screenshot
      Good:

      Have options to encode URL, encode webpage (beta), allow cookies, clear cookies, remove client side scripts, remove images, and remove flash.
      Like Zelune it also has Admin interface and server side proxy, IP address banning, JS compression to save bandwidth

      Bad:

      Meager Documentation, proprietary license

  3. Upload it to your public html folder.

That's basically it. Now you can access your restricted sites. Have fun.
^___________^

EDIT 01/23/09: Apparently zelune is no more so I decided to remove it from the list.