This site uses cookies to deliver our services and to show you relevant ads and job listings.
By using our site, you acknowledge that you have read and understand our Cookie Policy, Privacy Policy, and our Terms of Service.
Your use of Stack Overflow’s Products and Services, including the Stack Overflow Network, is subject to these policies and terms.

Join us in building a kind, collaborative learning community via our updated
Code of Conduct.

I am trying to get started with 4 Tors. However, the tutorial applies only to Arch Linux and I am using a headless EC2 ubuntu 64bits. It is really a pain going through the differences between Arch and Ubuntu. And here I am wondering is there anyone could offer some help to implement my idea simplicitly.

In this way, if I try to return the ip of 127.0.0.1:8118, 8129, 8230 and 8321, they should return four different ips, which indicates there are four different Tors running at the same time. Then, a few minutes later, check again, all four of them should have a new ips again.

I know my simple 'dream' could come true in many ways, however... I am not only new to Tor, but even also to bash and python... That is why I come here and see whether some of you could light me up.

I'll just add that you can only run two relays per IP address. Since you are interested in running clients, this restriction is not relevant. Please keep in mind that every client circuit causes load on the Tor network. In fact, there is currently a botnet consisting of several million clients. Each client does nothing but create a client circuit, overloading the Tor network.
– zkilnbqiSep 21 '13 at 12:21

5

I think you also need to change DataDirectory for a unique data directory for each instance, otherwise you get It looks like another Tor process is running with the same data directory.. Or at least, I did.
– Dan GravellSep 5 '14 at 15:36

2

Please notice that port 9051 is the default port of the TOR controller, so I would recommend to use a different port for the other TOR processes.
– slallumOct 6 '14 at 13:10

1

I've tried using these exact same instructions and it simply changed the circuit that all tor porcesses were using after I lauched a new process.
– user3790827Feb 12 '16 at 22:17

2

How to start all these instances simultaneously as processes with the system boot, like the default torrc?
– DummyBeginnerFeb 19 '17 at 16:22

Doing so produces undefined and potentially unsafe behavior. In theory, however, you can get six hops instead of three, but it is not guaranteed that you'll get three different hops - you could end up with the same hops, maybe in reverse or mixed order. It is not clear if this is safe. It has never been discussed.

You can ​choose an entry/exit point, but you get the best security that Tor can provide when you leave the route selection to Tor; overriding the entry / exit nodes can mess up your anonymity in ways we don't understand. Therefore Tor over Tor usage is highly discouraged.

You should only mess with Tor's routing algorithm, if you are more clever than the Tor developers.

The use of privoxy / polipo has been deprecated by The Tor Project long time ago. You are recommended to only use Tor Browser. Only Tor Browser gives you an unified web fingerprint and you won't stand out.

Since Tor version 0.2.3, different Socks,- Dns-, or TransPorts go through different circuits, therefore preventing identity correlation. The term for this is stream isolation. Do get this, you can add to torrc...

SocksPort 9050
SocksPort 9052
SocksPort 9053
SocksPort 9054
#...

...and they will all go thought different circuits.

When you are using Tor Browser, you can also use Tor Button's new identity feature. Click on Tor Button (the green onion) and choose new identity. This will reset all browser states and change Tor's circuit.

Note, when using stream isolation, going through different circuits does not guarantee getting different Tor exit nodes. Sometimes Tor will only use a different entry guard or middle relay. This is normal.

I once tried using opened up 10 channels and I could clearly see there are some repetitive hops end up with the same ip.
– B.Mr.W.Sep 20 '13 at 2:36

Note, when using stream isolation, going through different circuits does not guarantee getting different Tor exit nodes. Sometimes Tor will only use a different entry guard or middle relay. This is normal. - Added this to my original answer.
– adrelanosOct 2 '13 at 16:28

2

If you see yourself ending up with the same ip addresses, it means there's not enough exit nodes. Go host some to fix it!
– Farid Nouri NeshatSep 2 '14 at 22:51

1

I dont see how they 'can spot people who haven't read their website' by those who call it TOR, I didn't realize we were all required to use the same stylistic conventions the authors did. Although I will continue with 'Tor' I definitely read most of the official site BEFORE going on to call it 'TOR' in some files.
– Darren RingerFeb 2 '15 at 19:17

Is it possible to control individual ports with this method? E.g., using port 9051 touches all ports.
– Ciro Santilli 新疆改造中心 六四事件 法轮功Dec 19 '15 at 19:16

Copy the /etc/tor/torrc to the configuration directory and make as many copies as you need: E.g. 10 printf "torrc_%0.2s\n" {1..10} | xargs -I {} /bin/cp /etc/tor/torrc "${config}{}"

Copy the /etc/torsocks.conf to the configuration directory and make as many copies as you need: e.g. same as above 10printf "torsocks_%0.2s.conf\n" {1..10} | xargs -I {} /bin/cp /etc/torsocks.conf "${config}/{}"

Note: Changing the CHANGETHIS to the user/group of the user who plans to use it.

After that its easy to get going, you start up the individual instances of tor using the corresponding configuration file
E.g. /usr/bin/tor -f "${config}/torrc_3"

To use it all you need to do is export the variable TORSOCKS_CONF_FILE to point to the corresponding torsocks.conf file:
E.g. $> export TORSOCKS_CONF_FILE="${config}/torsocks_3.conf"

Next you can torify / torsocks any application from that particular shell and it will use the torsocks_3.conf proxy.
Try: $> torify bash$> curl www.ipmango.com/api/myip

To change to another proxy simply start up the corresponding tor using its torrc file and export the TORSOCKS_CONF_FILE variable to point to the new configuration.

Here is a simple alias that does the job, after you've set it up as above and you have roxterm installed. It will check netstat to see if the proxy is up already and if not it will start it up in a separate shell window.