通过将 127.0.0.1:9050 添加到 Ubuntu 的网络代理设置(设置为手动),我已经使用 torsocks 在我的系统上设置了 Tor。我可以通过比较 IP 地址并使用https://check.torproject.org/来确认这是否符合预期
然而,虽然我希望在某些时候使用系统范围的 Tor 连接,但我也希望能够在安全和隐私不重要的情况下运行正常连接。
在 Android 版本 (OrBot) 中,您可以连接到 Tor 网络并保持该连接,但您也有一个“VPN 模式”切换,它决定了是建立标准连接还是 Tor 连接。
这本质上是我正在寻找的功能;一种通过单击或设置热键快速方便地在 Tor 和标准连接之间切换的方法。
四处挖掘,我找到了一种可能的解决方案。这涉及设置两个热键,以及 gsettings 的使用。
配置代理设置后,您需要转到设置 > 设备 > 键盘并创建一个自定义热键来启动以下命令:
然后为以下内容创建第二个:
由于代理设置无论是否启用都保持保存,因此您可以为第一个命令分配一个“启用”键,为第二个命令分配一个“禁用”键。
按您的第一个热键并导航到“设置”>“网络”以确认更改,然后离开,按您的第二个热键并返回到网络设置。假设 Tor 设置正确,并通过了https://check.torproject.org,这应该是所需要的。
也许不是最理想的解决方案,但它现在可以,除非有人想出在活动栏或其他东西上的切换。
编辑:
对上述内容的轻微改进是使用一个热键来检查代理模式的当前状态,然后将其设置为相反的状态。拿起你的文本编辑器并创建一个包含以下内容的新文件:
这还将显示一条消息,显示您的代理设置的当前状态。
将脚本保存在某处,然后在创建自定义热键时引用文件位置。
您想研究“透明”与“隔离”代理。透明代理,就像你正在尝试做的那样,因为它们泄漏数据包而受到强烈反对。Tor 项目对危险进行了一些讨论,其中包括“通过电路共享实现身份关联”;剪贴板问题,尤其是下载管理器和防病毒软件;可能还有您正在运行的软件的其他问题。
有办法做到这一点,如果你坚持。请参阅第一个链接,它涉及广泛使用 iptables,和/或查看redsocks、transocks或lcat(redsocks 可能是最好的 - 请参阅 lcat 链接上的讨论)。正确的方法是隔离代理,例如。Whonix,它使用一对虚拟机作为隔离手段。一台机器是虚拟操作系统,另一台是虚拟路由器。Qubes OS 就是围绕这种方法构建的。可以设计隔离以确保没有数据包泄漏,因此更加安全。您无需在一个操作系统上切换代理,而是在虚拟操作系统或您的主机和虚拟操作系统之间切换。Whonix 的替代品是Subgraph操作系统,它锁定网络,因此所有数据包都通过 Tor。您可以在虚拟机中运行它,保持主机不变。(但请注意,Subgraph 仍然是 alpha。)
顺便说一下,另一个透明代理是shadowsocks。这在中国被广泛使用,就像使用 VPN 一样。您不需要连接到 Tor,而是需要另一端的服务器 - shadwosocks 提供客户端和服务器软件 - 但您不需要超级用户身份,因此很容易获得便宜的 shell 帐户并进行设置。您也可以在这种方法中使用 redsocks,尽管它不会被混淆。最好的服务器软件是dante-server,尽管确实需要超级用户身份才能安装。(dante-server 是 Ubuntu 中的一个 apt 包。有一个 dante-client,但它不透明,所以你需要 redsocks。)。shadowsocks 或 dante/redsocks 的一个优点是它们会代理 UDP,而 Tor 只是 TCP。但这可能是题外话。