

如何为Linux系统全局开启Tor,以Ubuntu系统为例
-
如何为Linux系统全局开启Tor,以Ubuntu系统为例
Tor(The Onion Router)是一个旨在实现匿名通信的自由软件,由美国非盈利组织 The Tor Project, Inc. 开发和维护。Tor 的主要目的是通过隐藏用户的真实 IP 地址,防止网络监控和流量分析,从而保护用户的隐私和安全。通过多层加密和随机路径选择,Tor 能有效隐藏用户的真实 IP 地址,并防止互联网服务提供商和本地监视者跟踪用户的网络活动。
要在 Linux 系统上全局开启 Tor,可以按照以下步骤进行(以Ubuntu系统为例):
1. 安装 Tor:
打开终端并运行以下命令来安装 Tor:
sudo apt update
sudo apt install tor
2. 配置 Tor:
编辑 Tor 的配置文件
/etc/tor/torrc
,添加以下内容:sudo nano /etc/tor/torrc
在文件末尾添加:
SocksPort 9050
为了提高安全性和隐私性,你还可以配置 Tor 避免使用位于特定国家或地区的节点。这对于担心某些国家可能监控或干扰 Tor 流量的用户特别有用。 在 torrc 文件末尾加入以下配置行:
ExcludeNodes {cn},{hk},{mo},{kp},{ir},{sy},{pk},{cu},{vn},{ru},{by}
StrictNodes 1
3. 安装 Privoxy:
Privoxy 是一个非缓存的网页代理服务器,具有高级过滤功能。Privoxy 常与 Tor 一起使用,以进一步增强用户的隐私保护。当用户通过 Privoxy 访问互联网时,Privoxy 会将请求重定向到 Tor 网络,从而加密用户的流量,防止隐私泄露。此外,Privoxy 还可以用于过滤广告和跟踪器,提高网页加载速度,提供更干净的浏览体验。通过自定义规则,用户可以根据自己的需求调整 Privoxy 的过滤和管理功能。
运行以下命令来安装 Privoxy:
sudo apt install privoxy
4. 配置 Privoxy
Privoxy 是一个非缓存的网页代理服务器,具有高级过滤功能。Privoxy 常与 Tor 一起使用,以进一步增强用户的隐私保护。当用户通过 Privoxy 访问互联网时,Privoxy 会将请求重定向到 Tor 网络(通过其 SOCKS 端口),从而加密用户的流量,防止隐私泄露。此外,Privoxy 还可以用于过滤广告和跟踪器,提高网页加载速度,提供更干净的浏览体验。通过自定义规则,你可以根据自己的需求调整 Privoxy 的过滤和管理功能。
编辑 Privoxy 的配置文件
/etc/privoxy/config
,添加以下内容:sudo nano /etc/privoxy/config
在文件末尾添加:
forward-socks5t / 127.0.0.1:9050 .
如果需要排除本地端口可使用:
forward 192.168.1.0/24 .
forward localhost .
forward 127.0.0.1 .
forward-socks5t / 127.0.0.1:9050 .
5. 启动服务:
启动并启用 Tor 和 Privoxy 服务:
sudo systemctl start tor
sudo systemctl enable tor
sudo systemctl start privoxy
sudo systemctl enable privoxy
检查服务状态以确保它们正常运行:
sudo systemctl status tor
sudo systemctl status privoxy
6. 配置系统代理:
最后,配置系统代理以使用 Privoxy。打开系统设置,找到网络设置中的代理选项,将 HTTP 和 HTTPS 代理设置为
127.0.0.1
,端口为8118
。完成这些步骤后,你的 Ubuntu 系统应该会通过 Tor 进行全局代理。
7.如何切换 Tor 节点:
Tor 默认情况下会自动选择节点(入口、中继、出口)。其内置的路径选择算法旨在平衡负载、性能和匿名性,通过在全球分布的志愿者运行的节点中随机选择路径来保护用户。对于大多数用户来说,依赖 Tor 的自动选择是推荐的做法。
如果你希望手动指定节点或者固定使用特定的节点,可以通过编辑 Tor 的配置文件(通常是 /etc/tor/torrc)来实现。除了前述的设置选项,torrc 文件支持其他更精细的节点控制指令。
例如,EntryNodes {节点指纹或国家代码}:指定只使用某些节点作为入口节点。ExitNodes {节点指纹或国家代码}:指定只使用某些节点作为出口节点。
ExcludeExitNodes {节点指纹或国家代码}:指定避免使用某些节点作为出口节点(这比 ExcludeNodes 更具体,只影响出口)。 使用这些高级选项需要更深入的了解,并且可能影响匿名性或连接稳定性,请谨慎使用。
对于大多数希望提高安全性的用户,使用 ExcludeNodes 和 StrictNodes 排除已知风险区域是更常用和直接的方法。
歡迎留言回复交流。
Log in to reply.