The most common proxy used with Tor is Privoxy. However another proxy, Polipo is breaking into the Tor proxy arena. Polipo offers several advantages which Privoxy does not. Polipo's use of pipelining, caching and range requests, greatly increases the speed of its connections. Therefore, your browsing experience of Polipo over Tor will seem much more responsive. That said there are some hinderances to using Polipo over Privoxy. First, Polipo does not employ the application-layer anonimisation that Privoxy does by default. Also Polipo has a very specific traffic pattern (caused by the actions it takes to speed up connections). Although a server might not know who you are, they should be able to tell you used Polipo to access their site.
The first step is to install polipo. There are numerous ways to install this software (ports, RPM, DMG, Win32 installer). Choose the method appropriate to your system. The example below details the commands used to install polipo from source on a Linux system.
% wget -c
http://www.pps.jussieu.fr/~jch/software/files/polipo/polipo-1.0.4.tar.gz
% tar zxvf polipo-1.0.4.tar.gz
% cd polipo-1.0.4
% make all
% sudo make install
The next step is to configure polipo to work with Tor. You will need to add the following lines to either /etc/polipo/config or ~/.polipo.
socksParentProxy = localhost:9050
diskCacheRoot=""
disableLocalInterface=true
The first line tells polipo to use tor. If you set Tor's SOCKS proxy port to something other than localhost:9050, you need to change the config as appropriate. The second line tells polipo not to cache the fetched pages to disk. The last line disables the local interface, protecting you from browser vulnerabilities.
Lastly, you will need to restart polipo after making the changes to the config file. The method to restart polipo will vary depending on your distrubtion and method of installation. After restarting polipo, point your browser's HTTP proxy port to Polipo's proxy port and enjoy browsing through Tor.
If you wish to make your browsing through Polipo, more anonymous, you can configure Polipo to censor HTTP headers. Below example should be added to the config file to block the HTTP From header and only send the HTTP Referer header if the request comes from the same site. Remember to restart polipo after making the changes to the config file.
censoredHeaders = from
censorReferer = maybe