TOR is an anonymity solution that can be used as a proxy over the internet.
Install on Ubuntu
$ sudo apt-get install tor vidalia
During the installation a configuration screen will come up, asking to select those users who would be using tor. Select the appropriate users on that page and continue. After installing the above programs start Vidalia from the gnome or kde menu (internet programs).
The tor program starts a socks server on port 9050. Vidalia is a gui for managing tor program.
When starting Vidalia you might get an error message similar to
Vidalia detected that the Tor software exited unexpectedly. Please check the message log for recent warning or error messages.
Check the message log and it would show something like this
Aug 11 12:03:45.489 [Notice] Tor v0.2.2.35 (git-73ff13ab3cc9570d). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux x86_64) Aug 11 12:03:45.489 [Notice] Initialized libevent version 2.0.16-stable using method epoll. Good. Aug 11 12:03:45.489 [Notice] Opening Socks listener on 127.0.0.1:9050 Aug 11 12:03:45.490 [Warning] Could not bind to 127.0.0.1:9050: Address already in use. Is Tor already running? Aug 11 12:03:45.490 [Notice] Opening Control listener on 127.0.0.1:9051 Aug 11 12:03:45.490 [Notice] Closing partially-constructed listener Control listener on 127.0.0.1:9051 Aug 11 12:03:45.490 [Warning] Failed to parse/validate config: Failed to bind one of the listener ports. Aug 11 12:03:45.490 [Error] Reading config failed--see warnings above.
If such an error occurs then tor has actually started as a daemon already. First stop it by doing
$ sudo service tor stop
Now right click vidalia icon and click "Start Tor"
If you face another error similar to this one
Apr 21 17:49:16.298 [Notice] Tor v0.2.2.35 (git-73ff13ab3cc9570d). This is experimental software. Do not rely on it for strong anonymity. (Running on Linux i686) Apr 21 17:49:16.298 [Notice] Initialized libevent version 1.4.13-stable using method epoll. Good. Apr 21 17:49:16.299 [Notice] Opening Socks listener on 127.0.0.1:9050 Apr 21 17:49:16.299 [Warning] Could not bind to 127.0.0.1:9050: Address already in use. Is Tor already running? Apr 21 17:49:16.299 [Warning] /var/run/tor is not owned by this user (stitch, 1000) but by debian-tor (115). Perhaps you are running Tor as the wrong user? Apr 21 17:49:16.299 [Warning] Before Tor can create a control socket in "/var/run/tor/control", the directory "/var/run/tor" needs to exist, and to be accessible only by the user account that is running Tor. (On some Unix systems, anybody who can list a socket can conect to it, so Tor is being careful.) Apr 21 17:49:16.299 [Warning] Failed to parse/validate config: Failed to bind one of the listener ports. Apr 21 17:49:16.299 [Error] Reading config failed--see warnings above.
If such an error occurs then right click the vidalia icon in the task bar and go to
Settings > Advanced > Tor Control
and select Use TCP Connection (ControlPort)
address should be 127.0.0.1:9051
Now start Tor again and it should work.
It it still does not work then follow the post here.
Tor Browser Bundle
If you do not want to install anything then you can use the Tor Browser Bundle. It is a ready to run program that does not require any installation.
Download it from
Extract all files to a directory and launch the start-tor-browser program (double click it).
It will start the Vidalia Control Panel, connect to Tor, and launch a firefox browser instance which is already configured to be anonymous.
So now you can surf anonymously!!
Polipo is a web proxy or http proxy that can use the tor socks server. So when using the polipo web proxy with Tor the requests go like this
Browser/Application > Polipo > Tor(socks) -> Internet
whereas when using Tor socks the requests go like this
Browser/Application > Tor(socks) -> Internet
Install on ubuntu
$ sudo apt-get install polipo
After installing polipo configure it by editing the file
In the Basic configuration section the fields proxyAddress, proxyPort, socksParentProxy and socksProxyType need to be set to proper values
### Basic configuration ### ******************* # Uncomment one of these if you want to allow remote clients to # connect: # proxyAddress = "::0" # both IPv4 and IPv6 # proxyAddress = "0.0.0.0" # IPv4 only proxyAddress = "127.0.0.1" proxyPort = 8118 # If you do that, you'll want to restrict the set of hosts allowed to # connect: # allowedClients = "127.0.0.1, 220.127.116.11" # allowedClients = "127.0.0.1, 18.104.22.168/24" allowedClients = 127.0.0.1 allowedPorts = 1-65535 # Uncomment this if you want your Polipo to identify itself by # something else than the host name: proxyName = "localhost" # Uncomment this if there's only one user using this instance of Polipo: cacheIsShared = false # Uncomment this if you want to use a parent proxy: # parentProxy = "squid.example.org:3128" # Uncomment this if you want to use a parent SOCKS proxy: socksParentProxy = "localhost:9050" socksProxyType = socks5
Once done, save the configuration file and do a service polipo restart. Now a web browser like mozilla firefox can use it.