如何用不同的退出IP同时运行多个Tor进程?

我是Tor的全新品牌,我觉得应该考虑多个Tors。 我在这里提到的多个不仅是多个实例,而且还为每个实例使用不同的代理端口,就像这里所做的一样( http://www.howtoforge.com/ultimate-security-proxy-with-tor )

我正在尝试4 Tors。 不过,这个教程只适用于Arch Linux,我正在使用一个无头的EC2 ubuntu 64位。 Arch和Ubuntu之间的差异真的是一个痛苦。 在这里,我想知道有没有人可以提供一些帮助简单地实现我的想法。

  1. 四个Tors同时运行每个端口,privoxy或polipo或任何一旦它的工作正常。 如:8118 < – Privoxy < – TOR < – 9050 8129 < – Privoxy < – TOR < – 9150 8230 < – Privoxy < – TOR < – 9250 8321 < – Privoxy < – TOR < – 9350

  2. 这样,如果我尝试返回127.0.0.1:8118,8129,8230和8321的ip,它们应该返回四个不同的ips,这表示有四个不同的Tors同时运行。 然后,几分钟后,再次检查,他们四个都应该再次ips。

我知道我的简单的“梦想”可以在许多方面实现,但是…我不仅是Tor的新手,而且还是python和python…所以我来这里看看你们中的一些人是否能够照亮我起来。

这些链接可能是有用的:

http://blog.databigbang.com/distributed-scraping-with-multiple-tor-circuits/ https://www.torservers.net/wiki/setup/server#multiple_tor_processes最好的,

顺便说一句,如果我运行$ ps -A | grep 'tor' $ ps -A | grep 'tor'我有几个例子,但是“?” 在tty列下,这是什么意思,因为我知道tty意味着terminal?

创建四个torrc文件,比如/etc/tor/torrc.1.4

在每个文件中,编辑这些行:

 SocksPort 9050 ControlPort 9051 DataDirectory /var/lib/tor 

为每个torrc文件使用不同的资源,例如用于torrc.1

 SocksPort 9060 ControlPort 9061 DataDirectory /var/lib/tor1 

对于torrc.2

 SocksPort 9062 ControlPort 9063 DataDirectory /var/lib/tor2 

等等。

只包含上面几行的配置文件就可以工作:如果你愿意的话,你可以从默认模板中删除每一行。

DataDirectory也可以相对于启动tor的当前目录,例如:

 DataDirectory d1 

然后像这样开始:

 tor -f /etc/tor/torrc.1 tor -f /etc/tor/torrc.2 

等另外两个文件。

这将在四个端口上创建四个不同的Socks5服务器。 每个人会打开一个不同的电路,这是你想要的。

链接Tor被推荐反对 。 你可能会变得更加匿名,而不是更好的匿名。

这样做会产生不确定和可能不安全的行为。 然而从理论上讲,你可以得到六跳,而不是三跳,但不能保证你会得到三跳不同的结果 – 你可能会得到相同的跳数,也许倒序或混合排序。 目前还不清楚这是否安全。 从来没有讨论过。

您可以选择进入/退出点,但是当您将路线选择保留到Tor时,您可以获得Tor可以提供的最佳安全性; 重写入口/出口节点会以我们不了解的方式搞砸你的匿名。 因此Tor对Tor的使用非常令人沮丧。

如果你比Tor的开发人员更聪明,你只应该混淆Tor的路由算法。

The Tor Project早已弃用了privoxy / polipo。 建议您只使用Tor浏览器 。 只有Tor浏览器给你一个统一的Web指纹,你不会脱颖而出。

由于Tor版本0.2.3,不同的Socks,Dns或TransPorts会通过不同的电路,因此防止了身份关联。 这个术语是流隔离。 做到这一点,你可以添加到torrc …

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

他们都会想到不同的电路。

当你使用Tor浏览器时,你也可以使用Tor Button的新标识功能。 点击Tor按钮(葱),然后选择新的身份。 这将重置所有浏览器状态并更改Tor的电路。

( 这是Tor,而不是TOR。 )

请注意,使用流隔离时,通过不同的电路不能保证获得不同的Tor出口节点。 有时候Tor只会使用不同的门禁或中间继电器。 这个是正常的。

我编写了一个脚本,用于在https://github.com/anhldbk/privoxyTor/中自动执行Privoxy-Tor配置过程&#x3002; 希望这能帮助你!

我尝试了torrc.1,torrc.2等等,但没有奏效。

但是这个工作:

  1. 停止tor进程: /etc/init.d/tor stop
  2. 打开gedit /etc/tor/torrc (如果你不是root用户,把sudo作为root用户)
  3. 搜索SocksPort 9050
  4. 现在把你想成为流端口的任何端口(SocksPort 9060,SocksPort 9070,SocksPort 9080 ….等)
  5. 搜索ControlPort 9051
  6. 现在把你想要成为流端口的任何端口(ControlPort 9061,ControlPort 9071,ControlPort 9081 ….等) 注意到,控制端口总是SOCKSPORT + 1
  7. 再次启动tor进程: /etc/init.d/start
  8. 检查tor状态/etc/init.d/status

它应该显示这样的事情:

 tor.service - Anonymizing overlay network for TCP Loaded: loaded (/lib/systemd/system/tor.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2016-05-13 22:18:21 GST; 1s ago Process: 10259 ExecReload=/bin/kill -HUP ${MAINPID} (code=exited, status=0/SUCCESS) Process: 10319 ExecStartPre=/usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 --verify-config (code=exited, status=0/SUCCESS) Process: 10317 ExecStartPre=/usr/bin/install -Z -m 02750 -o debian-tor -g debian-tor -d /var/run/tor (code=exited, status=0/SUCCESS) Main PID: 10322 (tor) CGroup: /system.slice/tor.service └─10322 /usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc -f /etc/tor/torrc --RunAsDaemon 0 May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Tor v0.2.6.10 (git-71459b2fe953a1c0) running on Linux with Li... 1.2.8. May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Tor can't help you if you use it wrong! Learn how to be safe ...warning May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Read configuration file "/usr/share/tor/tor-service-defaults-torrc". May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.860 [notice] Read configuration file "/etc/tor/torrc". May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Socks listener on 127.0.0.1:9050 May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Socks listener on 127.0.0.1:9060 May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on 127.0.0.1:9051 May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on 127.0.0.1:9061 May 13 22:18:20 momen-Lenovo tor[10322]: May 13 22:18:20.863 [notice] Opening Control listener on /var/run/tor/control May 13 22:18:21 momen-Lenovo systemd[1]: Started Anonymizing overlay network for TCP. 

提示 :有些行被省略,使用-l来显示。

创建一个tor配置目录:
$> mkdir -p ~/configuration_files/tor
$> config=~/configuration_files/tor
$> cd "${config}"

/etc/tor/torrc复制到配置目录,并根据需要创建尽可能多的副本:例如10
printf "torrc_%0.2s\n" {1..10} | xargs -I {} /bin/cp /etc/tor/torrc "${config}{}"

复制/etc/torsocks.conf到配置目录,并根据需要制作/etc/torsocks.conf的副本:例如与上面相同10
printf "torsocks_%0.2s.conf\n" {1..10} | xargs -I {} /bin/cp /etc/torsocks.conf "${config}/{}"

制作新的数据目录并修复所有权/权限:
$> sudo mkdir /var/lib/tor{1..10}

编辑配置文件以使相应的端口号不冲突:

 for a in {1..10}; do sed -i "s/^#SocksPort 9050.*/SocksPort $((9050+${i}))/;s|^#DataDirectory /var/lib/tor|DataDirectory /var/lib/tor${i}|" torrc_${i} sed -i "s/server_port = 9050/server_port = $((9050+${i}))/" torsocks_${i}.conf sudo chmod -R --reference /var/lib/tor /var/lib/tor${i} sudo chown -R CHANGETHIS:CHANGETHIS /var/lib/tor${i} done 

注意:将CHANGETHIS更改为计划使用它的用户的用户/组。

之后,它很容易开始,你使用相应的配置文件启动个人实例的例如/usr/bin/tor -f "${config}/torrc_3"

要使用它,所有你需要做的就是导出变量TORSOCKS_CONF_FILE指向相应的torsocks.conf文件:
例如$> export TORSOCKS_CONF_FILE="${config}/torsocks_3.conf"

接下来,你可以破坏/破坏来自特定shell的任何应用程序,它将使用torsocks_3.conf代理。
试试: $> torify bash
$> curl www.ipmango.com/api/myip

要转换到另一个代理,只需使用torrc文件启动相应的tor,然后导出TORSOCKS_CONF_FILE变量指向新的配置。

这是一个简单的别名,完成这项工作后,如上所述,你已经安装了roxterm。 它会检查netstat ,看看代理是否已经启动,如果没有,它会在一个单独的shell窗口中启动它。

alias prox='_(){ proxy=${1:-1}; config_base="~/configuration_files/tor"; port=$((9050+${proxy})); netstat -an | { ! grep -q "127.0.0.1:${port}"; } && roxterm -e bash -c "/usr/bin/tor -f \"${config_base}/torrc_${proxy}\"; bash"; export TORSOCKS_CONF_FILE="${config_base}/torsocks_${proxy}.conf"; }; _'

要使用它:

 $> prox 4 $> torify bash