当 Tor 被审查时,如何将 wget 与 Tor 一起使用?

当 Tor 被审查时,如何将 wget 与 Tor 一起使用?

我知道如何使用 Tor 浏览器,当我通过 Tor 浏览器连接 Tor 网络时,命令

curl --socks5-hostname localhost:9150 -O https://dist.torproject.org/tor-0.4.7.10.tar.gz

wget效果很好,但我无法与 Tor 一起使用。我在互联网上搜索过,但在 Tor 被审查时没有找到关于此的教程。

现在我的问题是

  1. 当 Tor 被审查时,我可以通过 CLI 连接 Tor 网络吗?根据我的经验,唯一有效的桥梁是 Snowflake,其他桥梁即使有时也有效,但不如 Snowflake 有效。
  2. wget如果我通过 Tor 浏览器连接 Tor 网络,如何发出通过 Tor 网络等命令?

snowflake-client现在我已经使用Tor 浏览器中的文件和torrcSnowflake 源代码中的修改文件连接了 Tor 网络。到目前为止效果很好。

答案1

所以......当 Tor 被审查时,你“知道如何使用 Tor 浏览器”,所以想必你已经有了一个可以使用的 Tor Bridge 地址。我在评论里发的链接是关于使用torify/torsocks来启用 Tor 与类似命令的使用wget,但您的评论表明这不是您的问题所在。

那么,也许您真的在问“如何配置非浏览器 Tor 以使用网桥?”答案是:在torrc文件中配置桥接地址,该文件通常位于/etc/tor/.

man tor

UseBridges 0|1

设置后,Tor 将获取“网桥”配置行中列出的每个网桥的描述符,并使用这些中继作为条目防护和目录防护。 (默认值:0)

Bridge [transport] IP:ORPort [fingerprint]

当与 UseBridges 一起设置时,指示 Tor 使用“IP:ORPort”处的中继作为中继到 Tor 网络的“网桥”。如果提供了“指纹”(使用与 DirAuthority 相同的格式),我们将验证在该位置运行的中继是否具有正确的指纹。我们还使用指纹在网桥权限处查找网桥描述符(如果已提供)并且也设置了 UpdateBridgesFromAuthority。

如果提供“transport”,它必须与 ClientTransportPlugin 行匹配。然后,我们使用可插入传输的代理将数据传输到桥,而不是直接连接到桥。某些传输使用特定于传输的方法来计算要连接的远程地址。这些传输通常会忽略桥接线路中指定的“IP:ORPort”。

连接到网桥时,Tor 将任何“key=val”设置作为每个连接参数传递给可插入传输代理。有关其支持的参数的详细信息,请参阅可插拔传输的文档。

如果这不是您正在寻找的答案,请wget更详细地描述您在使用 Tor 时遇到的失败,以便我们更好地了解实际问题是什么。

答案2

我很确定这是 DNS 和 IPv6 问题,与审查制度无关。当远程名称解析为 IPv6 地址时,它看起来torsocks不起作用,而是使用 SOCKS5 代理直接允许远程名称解析,相比之下torsocks,它用于LD_PRELOAD修补许多 libc 网络功能,包括解析功能。我还发现您没有curl正确使用 Tor,因为使用--socks5将在本地解析名称,泄漏 DNS 请求,您应该使用--socks5-hostname host:port--proxy socks5h://host:port,或者更好地坚持使用 Tor 浏览器。

换句话说,torsocks wget https://example.com首先example.com通过Tor网络解析,使用SOCKS5扩展,然后使用SOCKS5代理连接到解析的地址,AAAA解析很可能是这里的问题。curl --socks5 localhost:9150 https://example.com首先example.com在本地解析,然后使用 SOCKS5 代理连接到解析的地址。

相关内容