Tor usually installed and running on 127.0.0.1 port 9050 which it’s can’t be accessed from outside. We can open this local listen address TOR signed into IP network and run as HTTP Proxy with Polipo. FYI, I use Vagrant and running Ubuntu Oneiric on Guest. I install TOR in Vagrant guest and accessed it remote from Host (Ubuntu). Let we start with installing tor and polipo on Ubuntu :
1 | sudo apt-get install tor polipo nmap |
After this installation, TOR should be running on localhost 9050. You can check it by scan using :
1 | nmap localhost |
Then, we should configure polipo configuration which located in “/etc/polipo”. Let’s open terminal and start configure:
1 2 | sudo cp /etc/polipo/config /etc/polipo/config.orig sudo vim /etc/polipo/config |
And paste this configuration :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | ### 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 proxyPort = 8118 # If you do that, you’ll want to restrict the set of hosts allowed to # connect: # allowedClients = "127.0.0.1, 134.157.168.57" # allowedClients = "127.0.0.1, 134.157.168.0/24" #allowedClients = 127.0.0.1, 33.33.33.11, 33.33.33.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 ### Memory ### ****** # Uncomment this if you want Polipo to use a ridiculously small amount # of memory (a hundred C-64 worth or so): # chunkHighMark = 819200 # objectHighMark = 128 # Uncomment this if you’ve got plenty of memory: # chunkHighMark = 50331648 # objectHighMark = 16384 chunkHighMark = 67108864 ### On-disk data ### ************ # Uncomment this if you want to disable the on-disk cache: diskCacheRoot = "" # Uncomment this if you want to put the on-disk cache in a # non-standard location: # diskCacheRoot = "~/.polipo-cache/" # Uncomment this if you want to disable the local web server: localDocumentRoot = "" # Uncomment this if you want to enable the pages under /polipo/index? # and /polipo/servers?. This is a serious privacy leak if your proxy # is shared. # disableIndexing = false # disableServersList = false disableLocalInterface = true disableConfiguration = true ### Domain Name System ### ****************** # Uncomment this if you want to contact IPv4 hosts only (and make DNS # queries somewhat faster): # # dnsQueryIPv6 = no # Uncomment this if you want Polipo to prefer IPv4 to IPv6 for # double-stack hosts: # # dnsQueryIPv6 = reluctantly # Uncomment this to disable Polipo’s DNS resolver and use the system’s # default resolver instead. If you do that, Polipo will freeze during # every DNS query: dnsUseGethostbyname = yes ### HTTP ### **** # Uncomment this if you want to enable detection of proxy loops. # This will cause your hostname (or whatever you put into proxyName # above) to be included in every request: disableVia = true # Uncomment this if you want to slightly reduce the amount of # information that you leak about yourself: # censoredHeaders = from, accept-language # censorReferer = maybe censoredHeaders = from,accept-language,x-pad,link censorReferer = maybe # Uncomment this if you’re paranoid. This will break a lot of sites, # though: # censoredHeaders = set-cookie, cookie, cookie2, from, accept-language # censorReferer = true # Uncomment this if you want to use Poor Man’s Multiplexing; increase # the sizes if you’re on a fast line. They should each amount to a few # seconds’ worth of transfer; if pmmSize is small, you’ll want # pmmFirstSize to be larger. # Note that PMM is somewhat unreliable. # pmmFirstSize = 16384 # pmmSize = 8192 # Uncomment this if your user-agent does something reasonable with # Warning headers (most don’t): # relaxTransparency = maybe # Uncomment this if you never want to revalidate instances for which # data is available (this is not a good idea): # relaxTransparency = yes # Uncomment this if you have no network: # proxyOffline = yes # Uncomment this if you want to avoid revalidating instances with a # Vary header (this is not a good idea): # mindlesslyCacheVary = true # Suggestions from Incognito configuration maxConnectionAge = 5m maxConnectionRequests = 120 serverMaxSlots = 8 serverSlots = 2 tunnelAllowedPorts = 1-65535 # Sample configuration file for Polipo. -*-sh-*- # You should not need to edit this configuration file; all configuration # variables have reasonable defaults. # This file only contains some of the configuration variables; see the # list given by “polipo -v” and the manual for more. |
Save it with “:wq” (If use VIM for editor). Then we should restart both TOR and POLIPO services by :
1 2 | sudo service tor restart sudo service polipo restart |
Now, you can access TOR proxy by “guest IP” and port “8118”. For instance, I have TOR installed on Vagrant VM with IP “33.33.33.11”. So, on host, I just change my firefox into HTTP_PROXY : 33.33.33.11:8118.
Great anonymous surfing from Vagrant! 😀