我想使用 Tor 作为 HTTP 请求的代理,在 CentOS 机器上使用 curl 或 wget。 我使用了这个 How-to,并在 stackexchange 和 stackoverflow 上寻找了一些答案。 https://medium.com/the-sysadmin/using-tor-for-your-shell-script-fee9d8bdef5c#.9ixz30jbn
如果我在 shell 中输入“tor”,我会得到:
Aug 31 21:01:29.871 [notice] Tor v0.2.8.6 running on Linux with Libevent 2.0.22-stable, OpenSSL 1.0.2h and Zlib 1.2.8.
Aug 31 21:01:29.871 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Aug 31 21:01:29.871 [notice] Read configuration file "/home/wmjio5f6/.linuxbrew/etc/tor/torrc".
Aug 31 21:01:29.909 [warn] ControlPort is open, but no authentication method has been configured. This means that any program on your computer can reconfigure your Tor. That's bad! You should upgrade your Tor controller as soon as possible.
Aug 31 21:01:29.937 [notice] Opening Socks listener on 127.0.0.1:9050
Aug 31 21:01:29.939 [notice] Opening Control listener on 127.0.0.1:9151
Aug 31 21:01:29.000 [notice] Parsing GEOIP IPv4 file /home/wmjio5f6/.linuxbrew/Cellar/tor/0.2.8.6/share/tor/geoip.
Aug 31 21:01:30.000 [notice] Parsing GEOIP IPv6 file /home/wmjio5f6/.linuxbrew/Cellar/tor/0.2.8.6/share/tor/geoip6.
Aug 31 21:01:30.000 [notice] Bootstrapped 0%: Starting
Aug 31 21:01:31.000 [notice] Bootstrapped 80%: Connecting to the Tor network
Aug 31 21:01:32.000 [notice] Bootstrapped 85%: Finishing handshake with first hop
Aug 31 21:01:32.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
Aug 31 21:01:32.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Aug 31 21:01:32.000 [notice] Bootstrapped 100%: Done
我的错误在哪里,或者哪个命令是正确的?
你没有弄错。 该输出表明 Tor 已启动、连接到网络并且正在运行。 您可能想弄清楚如何守护它,或在后台运行它 (
nohup tor &
)。
行
Opening Socks listener on 127.0.0.1:9050
告诉您它的SOCKS(代理)端口正在侦听端口9050。这是您希望curl或wget等应用程序通过其进行代理的端口。
如您链接的文章所示,您只需使用 Tor 的 SOCKS 端口运行curl。
curl -s --socks5-hostname 127.0.0.1:9050 http://www.showmyip.gr
在 RHEL/RHEL 克隆上,
tor
软件包可从 torproject 存储库 获取。启用后,您可以像这样安装并启动 tor 服务:
dnf install tor
systemctl start tor
请注意,tor 服务提供了 SOCKS 代理,用于通过 Onion 网络路由 TCP 流量。因此,您想要通过 tor 发送其 TCP 流量的每个程序都必须进行配置,以便显式使用该代理。
使用curl,您可以使用
--proxy
选项,如下所示:
curl --proxy socks5h://localhost:9050 'https://wtfismyip.com/yaml'
注意:
socks5h
中的“h”表示curl发出的DNS请求也经过tor网络。
对于本身不支持socks5h代理的程序 - 例如wget - 您可以像这样使用torsocks:
rm -f yaml
torsocks wget 'https://wtfismyip.com/yaml'
cat yaml
FWIW,Fedora 是一种 RHEL 上游发行版,其主存储库中包含
tor
软件包。