1

I was using the AllowDotExit option to make two simultaneous requests to www.example.net with two different exit nodes. How can I achieve this now because AllowDotExit was removed.

6
  • Allow DotExit allows people to control what Exits you use, enabling it was incredibly dangerous.
    – cacahuatl
    Jan 26, 2018 at 21:04
  • Any possibilities to make the following requests: Local --> Exit1 --> www.example.net and Local --> Exit2 --> www.example.net ? Jan 27, 2018 at 18:33
  • Run two copies of Tor?
    – cacahuatl
    Jan 27, 2018 at 22:23
  • Isn't there an option like AttachStream or similar? I heard about it in the past. Jan 28, 2018 at 14:11
  • AttachStream in combination with EXTENDCIRCUIT? Jan 28, 2018 at 14:22

2 Answers 2

1

Configure two tor instances, using MapAddress to bind them to specific exit, rather than the dangerous, and thankfully gone, AllowDotExit.

For example:

# cat torrc-1 && tor -f torrc-1 && cat torrc-2 && tor -f torrc-2
SocksPort 9150
MapAddress check.torproject.org check.torproject.org.0593F5255316748247EBA76353A3A61F62224903.exit
RunAsDaemon 1
DataDirectory /tmp/tor
User nobody
Jan 27 22:34:24.453 [notice] Tor 0.3.2.9 (git-64a719dd25a21acb) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.0.2g, Zlib 1.2.8, Liblzma 5.1.0alpha, and Libzstd N/A.
Jan 27 22:34:24.453 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Jan 27 22:34:24.454 [notice] Read configuration file "/tmp/torrc-1".
Jan 27 22:34:24.460 [notice] Scheduler type KIST has been enabled.
Jan 27 22:34:24.460 [notice] Opening Socks listener on 127.0.0.1:9150
SocksPort 9250
MapAddress check.torproject.org check.torproject.org.BC630CBBB518BE7E9F4E09712AB0269E9DC7D626.exit
RunAsDaemon 1
DataDirectory /tmp/tor2
User nobody
Jan 27 22:34:24.533 [notice] Tor 0.3.2.9 (git-64a719dd25a21acb) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.0.2g, Zlib 1.2.8, Liblzma 5.1.0alpha, and Libzstd N/A.
Jan 27 22:34:24.533 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Jan 27 22:34:24.534 [notice] Read configuration file "/tmp/torrc-2".
Jan 27 22:34:24.545 [notice] Scheduler type KIST has been enabled.
Jan 27 22:34:24.549 [notice] Opening Socks listener on 127.0.0.1:9250

Now test that they're working:

# curl -x socks5h://127.0.0.1:9150/ https://check.torproject.org 2> /dev/null | grep "Your IP address appears to be"
  <p>Your IP address appears to be:  <strong>93.174.93.71</strong></p>
# curl -x socks5h://127.0.0.1:9250/ https://check.torproject.org 2> /dev/null | grep "Your IP address appears to be"
  <p>Your IP address appears to be:  <strong>197.231.221.211</strong></p>
2
  • That's overcomplicated and unneeded for something that is relatively simple.
    – user78
    Jan 28, 2018 at 3:48
  • I'm assuming they wanted equivalent functionality of AllowDotExit, otherwise yes using circuit isolation would serve the same purpose.
    – cacahuatl
    Jan 28, 2018 at 22:03
1

Using IsolateSOCKSAuth is considerably simpler and easier to do as long as you don't care which two exists are used, just that they are different.

$ curl -x socks5h://socks:isolation1@127.0.0.1:9150/ https://wtfismyip.com/text
85.93.218.204
$ curl -x socks5h://socks:isolation2@127.0.0.1:9150/ https://wtfismyip.com/text
2a02:418:4014:1::10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.