2

I need to use multiple instances of Tor with different IP addresses on each. I looked it up on google and found this link. So far I was able to make use of the "manual way" of editing everything and launching the instance. However there are a few problems I see using this method.

It takes a while to edit and launch each instance (5-10mins each) After closing each instance, it doesn't work anymore. Hence, I have to redo each instance.

I also found in that link an answer where the guy made a "bash script." Correct me if I'm wrong, but this is for linux. Is there a way to do this in Windows?

2 Answers2

1

When you are looking for configuration of Tor-daemon, you should take a look at this file:

tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc-defaults

I'm not on Windows, however, I can advice to you to find a correct torrc - config file which is used by Windows version. For example, push at one time ctrl+tab, in this manager try to change configuration to show you full command name, there you would find Tor-daemon process, not a TorBrowser process. So there are two processes:

  • firefox --class Tor Browser -profile TorBrowser/Data/Browser/profile.default
  • tor --defaults-torrc tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc-defaults

When you done, try to read config file of Tor-daemon: torrc-defaults

On Linux system, it is contains next:

# torrc-defaults for Tor Browser
#
# This file is distributed with Tor Browser and should not be modified (it
# may be overwritten during the next Tor Browser update). To customize your
# Tor configuration, shut down Tor Browser and edit the torrc file.
#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages.  Format is minSeverity[-maxSeverity]
# (stderr|stdout|syslog|file FILENAME).
Log notice stdout
# Bind to this address to listen to connections from SOCKS-speaking
# applications.
SocksPort 9150 IPv6Traffic PreferIPv6 KeepAliveIsolateSOCKSAuth
ControlPort 9151
CookieAuthentication 1
## fteproxy configuration
ClientTransportPlugin fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.bin --managed

## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfs4proxy

## meek configuration
ClientTransportPlugin meek exec ./TorBrowser/Tor/PluggableTransports/meek-client-torbrowser -- ./TorBrowser/Tor/PluggableTransports/meek-client

See, here # - it is a comment, so this line will not be handled by Tor-daemon.

Also, read the manual about this config file here.

Finally, there are only two TCP-ports used by TorBrowser's Tor-daemon by default:

  • SocksPort 9150 IPv6Traffic PreferIPv6 KeepAliveIsolateSOCKSAuth
  • ControlPort 9151

For each instance of TorBrowser you need to get different ports, because otherwise Tor-daemon can not bind itself on the network-subsystem, then it can not launch itself, then TorBrowser can not connect to Tor-Daemon.

Try to copy full directory of TorBrowser to separate place, edit exact torrc, be careful, there are many different torrc files by default, like default torrc from Tor-daemon packet, different debug torrc files, etc...

Thereafter, edit second instance by hands. Viola - you have Two different TorBrowser instance which are used two different Tor-daemons, which are binded on four different TCP-ports.

0

Windows can easily run Bash scripts - Windows 10 now has "Ubuntu subsystem", previous versions have "Services for Unix", there also a Cygwin, MinGW and even standalone builds of Bash+binutils for Windows, so you can obtain the package which will be best for you and just run your bash script on Windows.

Alexey Vesnin
  • 6,385
  • 3
  • 15
  • 36