Revision as of 20:28, 26 November 2009

Contents

About

There might be some situations where you want to be completely anonymous while using Internet. One way to go about this is using Tor and Privoxy.

From Wikipedia, the free encyclopedia:

Tor is an implementation of second-generation onion routing - an anonymity system enabling its users to communicate anonymously on the Internet.

Users of the Tor network run an onion proxy on their machine. This software connects out to Tor, periodically negotiating a virtual circuit through the Tor network. Tor employs cryptography in a layered manner (hence the 'onion' analogy), ensuring perfect forward secrecy between routers. At the same time, the onion proxy software presents a SOCKS interface to its clients. SOCKS-aware applications may be pointed at Tor, which then multiplexes the traffic through a Tor virtual circuit.

Privoxy is a filtering proxy for the HTTP protocol, frequently used in combination with Tor. Privoxy is a web proxy with advanced filtering capabilities for protecting privacy, filtering web page content, managing cookies, controlling access, and removing ads, banners, pop-ups, etc. It supports both stand-alone systems and multi-user networks.

Using privoxy is necessary because browsers leak your DNS requests when they use a SOCKS proxy directly, which is bad for your anonymity.

Tor and Privoxy in Firefox

Alternatively, you can use SwitchProxy Tool. After restarting Firefox you will have a new toolbar. Click Add, select Standard proxy type. Choose whatever Proxy Label you want, e.g Tor. Enter into both the HTTP Proxy and SSL Proxy fields:

Hostname: 127.0.0.1 Port: 8118

This will point Firefox at Privoxy. You can also add exeptions in the No Proxy for field.

Another Tor testing link

You can check that you are using Tor by pointing your browser to this address or this.

Tor and Privoxy in other applications

You can also use this setup in other applications like instant messaging, Jabber, IRC, etc.

Applications that support HTTP proxies you can point at Privoxy (127.0.0.1 port 8118).

To use SOCKS proxy directly, you can point your application at Tor (127.0.0.1 port 9050). A problem with this method though is that applications doing DNS resolves by themselves may leak information. Consider using Socks4A (e.g. via privoxy) instead.