[英]How do I write a script to run multiple processes in the background and have additional commands run once each individual command completes?
[英]How to run multiple Tor processes at once with different exit IPs?
我是 Tor 的新手,我觉得应该考虑多个 Tor。 我在这里提到的多个 Tor 不仅是多个实例,而且每个实例都使用不同的代理端口,就像这里所做的http://www.howtoforge.com/ultimate-security-proxy-with-tor )
我正在尝试开始使用 4 Tors。 但是,本教程仅适用于 Arch Linux,我使用的是无头 EC2 ubuntu 64 位。 经历 Arch 和 Ubuntu 之间的差异真的很痛苦。 在这里,我想知道是否有人可以提供一些帮助来简单地实现我的想法。
四个 Tors 同时运行,每个 Tors 都有一个单独的端口,privoxy 或 polipo 或者一旦它工作就可以了。 像:8118 <- Privoxy <- TOR <- 9050 8129 <- Privoxy <- TOR <- 9150 8230 <- Privoxy <- TOR <- 9250 8321 <- Privoxy <- TOR <- 9350
这样,如果我尝试返回 127.0.0.1:8118、8129、8230 和 8321 的 ip,它们应该返回四个不同的 ip,这表明有四个不同的 Tors 同时运行。 然后,几分钟后,再次检查,他们四个应该都有一个新的ips。
我知道我的简单“梦想”可以在很多方面实现,但是……我不仅是 Tor 的新手,甚至还对 bash 和 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 表示终端?
创建四个 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:
tor -f /etc/tor/torrc.1
tor -f /etc/tor/torrc.2
其他两个文件依此类推。
这将在四个端口上创建四个不同的 Socks5 服务器。 每个人都会打开不同的电路,这就是您想要的。
建议使用链接 Tor 来对抗. 你可能会得到更糟糕的匿名,而不是更好的匿名。
这样做会产生未定义且可能不安全的行为。 然而,从理论上讲,您可以获得 6 跳而不是 3 跳,但不能保证您会得到 3 次不同的跳 - 您最终可能会得到相同的跳,可能是相反的或混合的顺序。 目前尚不清楚这是否安全。 它从未被讨论过。
您可以选择一个入口/出口点,但是当您将路线选择留给 Tor 时,您将获得 Tor 所能提供的最佳安全性; 覆盖入口/出口节点可能会以我们不理解的方式破坏您的匿名性。 因此,强烈建议不要使用 Tor 过度使用 Tor。
如果您比 Tor 开发人员更聪明,您应该只使用 Tor 的路由算法。
The Tor Project 很久以前就弃用了 privoxy / polipo。 建议您只使用Tor 浏览器。 只有 Tor 浏览器为您提供统一的网络指纹,您不会脱颖而出。
从 Tor 版本 0.2.3 开始,不同的 Socks、-Dns- 或 TransPorts 通过不同的电路,因此防止了身份关联。 这个术语是流隔离。 得到这个,你可以添加到torrc ...
SocksPort 9050
SocksPort 9052
SocksPort 9053
SocksPort 9054
#...
...他们都会去想不同的电路。
当您使用 Tor 浏览器时,您还可以使用 Tor Button 的新身份功能。 单击 Tor 按钮(葱)并选择新身份。 这将重置所有浏览器状态并更改 Tor 的电路。
请注意,使用流隔离时,通过不同的电路并不能保证获得不同的 Tor 出口节点。 有时 Tor 只会使用不同的入口守卫或中间中继。 这是正常的。
我尝试了 torrc.1 、torrc.2 等......但它没有用。
然而,这个工作:
/etc/init.d/tor stop
gedit /etc/tor/torrc
(如果你不是 root,在它之前放 sudo 以作为 root 访问)SocksPort 9050
/etc/init.d/tor start
/etc/init.d/tor 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
复制到配置目录并根据需要制作尽可能多的副本:例如与上面的 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 更改为计划使用它的用户的用户/组。
之后就很容易上手了,您可以使用相应的配置文件来启动 Tor 的各个实例,例如/usr/bin/tor -f "${config}/torrc_3"
要使用它,您需要做的就是导出变量 TORSOCKS_CONF_FILE 以指向相应的torsocks.conf
文件:
例如$> export TORSOCKS_CONF_FILE="${config}/torsocks_3.conf"
接下来,您可以 torify / torsocks 来自该特定 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.