Please enable Javascript to enjoy all functions of this site.

Faster Web with Filtering Proxy

Having a web filtering proxy available could really improve the experience of web browsing by filtering out some certain unwanted content and thus speed up the browsing.

The filtering is especially important when the web is browsed on (older) mobile devices, when there is no fast broadband connection available or when usage allowance is seriously capped. Many websites do not have alternative mobile views and irresponsibly combine all kinds of Javascript libraries and plugins that enable useless bells and whistles (well, code re-use can be complicated - instead of a banana you may get a gorilla holding the banana). Images may have huge resolutions and add their part to the excessive bandwidth usage. Some sites may even follow the nasty new trend of playing an advertisement video with the loud sound almost instantly upon a visit. Being web design at its worst, this is a privacy-invading experience for a user who would then be forced to relentlessly start to scroll the page up and down to find the culprit.

Setting up a filtering proxy is quite simple because there are so many cloud server providers available and there is no need to manage the hardware by yourself. For just a few dollars per month, you can take your pick, spin up a virtual Linux instance and off you go! In this tutorial, it is assumed that a minimal instance of Ubuntu has been set up. Here are the programs needed for the filtering proxy:

Privoxy

Squid

Apache2-Utils

Privoxy is the filtering proxy and the other two are needed to secure it by authentication. The package of Privoxy available on the 14.04 version of Ubuntu does not have authentication capabilities on its own. While there is a patch available, it has some issues. Squid takes care of authentication and passes requests on to Privoxy and as a bonus, it acts as a caching proxy. Apache2-Utils is needed to generate a valid htpasswd file needed to save access credentials for the authentication process. NCSA authentication mechanism is secure for this purpose as only password hashes are transmitted and Squid does support many other authentication means by the use of plugins.