A software package a day. Day 5: Privoxy

I mentioned Privoxy earlier when talking about Google Chrome. As the homepage will attest, this is a very “bare bones” software package. However, proxy servers really don’t need many fancy features to be very useful, and all the real action with the program takes place in text files. Setup is a breeze as there really is little to configure during the installation. Once running, you can adjust your proxy settings in your browser of choice to use port 8118 (if you kept the default) on the “localhost” if you have set it up on the same machine. If you are like me, you have an entire LAN that you want to put behind the proxy. In this case you don’t need a very powerful machine, so I run it on an old castoff desktop and connect to that machine instead of locally.

Once running you will have the default filters in place. From time to time you will want to adjust them. In my case, I strongly believe in supporting websites that I use, so the main file I edit is “user.action”. This file allows exceptions to be added for various sites that you use: each exception section has a header that looks like { filter-name-here }. If the filter name starts with a minus sign, any domains added will stop having that rule applied. As an example, { -filter{all-popups} } shows an example bank domain. Many banks do use popups to launch banking services or provide feedback, so adding your bank's domain name will allow popups to appear normally.

The file is actually quite chatty and informative once you start reading it. Before you add your own exceptions it is also quite short, so I suggest spending the time to look over the rules. My longest section is { allow-ads } which lets me white-list sites that I want to support via advertising. As most sites make the lions share of revenue this way, any site I use more than a few times gets added here. Another useful section is { +block{Nasty ads.} { for those images that you just can't stomach. (I have done this with several forums to remove “avatars” that just annoy me, for example.)

This, like Ad-Block Plus, is controversial software. Site owners hate having their advertising stripped because it lowers their revenue. This is the reason that I white-list sites that I use with any regularity at all: without revenue the sites are unlikely to persist. On the other hand I do a lot of searching the web for information and eventually one gets tired of being bombarded by advertising on “search trap” sites where there is no real content but a boat load of advertising. I feel no moral obligation to give advertising revenue to sites that game the search results without actually providing the information promised in the search result listing.

It is unfortunate that there isn’t a more integrated way to make changes to Privoxy than a text file, if only because it restricts the software to fairly technical users (accidently removing a bracket can cause the file to fail to parse, making it useless).  On the other hand, it enables using some seriously old hardware, especially if that hardware is running command line Linux. As the configuration is text anyway, there is no functionality lost by doing so and you gain impressively long uptimes. But that is a post for another time.