我想在终端中使用 Tor。这是我以前做过的事情,而且没有任何问题:
- 运行 Tor 浏览器
- 在终端中运行
torify
或torsocks
执行命令之前
但有一段时间它不起作用。我不记得这是否是在我的系统进行某些特定更改后发生的。我还没有发现任何重大且明显的变化。
也许下面的几行可以帮助了解这个问题:
$ curl ifconfig.me
111.222.333.444 <<< My real IP
$ torify curl ifconfig.me 2> /dev/null
$ torify curl ifconfig.me
[Jan 21 20:55:05] PERROR torsocks[16007]: socks5 libc connect: Connection refused (in socks5_connect() at socks5.c:185)
$ torsocks curl ifconfig.me
[Jan 21 20:59:50] ERROR torsocks[16100]: Unable to resolve. Status reply: 4 (in socks5_recv_resolve_reply() at socks5.c:666)
curl: (6) Could not resolve host: ifconfig.me
当我遇到这个问题时,我可以轻松使用 Tor 浏览器,没有任何问题。
知道如何解决这个问题吗?
谢谢
答案1
花费了大量的时间和精力后,我终于能够自己解决这个问题。
默认情况下,Tor 应该设置为使用端口 9050 进行 socks5 通信。此设置可以在/etc/tor/torsocks.conf
文件中找到。查看此文件中的以下几行:
# Default Tor address and port. By default, Tor will listen on localhost for
# any SOCKS connection and relay the traffic on the Tor network.
TorAddress 127.0.0.1
TorPort 9050
根据我的 TorBrowser 设置,浏览器使用端口 9150 而不是 9050。因此,我更改了相关行并将 9150 设置为端口。
现在,torsocks
一切torify
按预期运行。
(只是 ifconfig.me 网站似乎存在一些技术问题,因为我甚至无法在浏览器中打开它。但其他网站运行良好。)
答案2
我也遇到过这种情况,也弄清楚了原因:在运行带有 torify 的脚本后,tor 端口处于某种close_wait
状态,这意味着该端口在短时间内无法打开,因此 torify 将无法工作,直到该端口从close_wait