Tor 是一款帮你私密浏览互联网的工具,它不仅能使你免受监控,还能帮你绕过最严格的互联网审查与封锁。Tor 很好,但如何在国内使用呢?
有关隐私浏览器、Tor 浏览器的操作指引,请阅读往期博文「Tor浏览器的使用与隐私保护」、「隐私保护浏览器:为什么需要以及如何选择」,观看老E的「Youtube 视频分享」。
在国内获取Tor浏览器
桌面版(Windows、Linux、MacOS)和 Android 版
Tor 浏览器的官方网站多数情况下在国内可以直接访问,不排除未来被完全屏蔽的可能,在 Tor 浏览器官网可以下载、安装 windows、Linux、MacOS 和安卓平台的安装包。即使访问官方网站遇阻,也可以从 Tor 官方指定的镜像网站下载。
「官方站点」:https://www.torproject.org/zh-CN/download/
Tor 项目也支持通过邮件或社交平台获取相关资源。如果你可以使用 Telegram,可以关注这个「机器人」,并向它要 Tor 浏览器的下载链接。还可以使用 Email 来获取下载链接,也只需发邮件至 「该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。」索取 Tor 浏览器的下载链接即可,注意需要在邮件标题中注明操作系统的名称。邮件正文可以留白。安全起见,请勿使用 qq、163、sina 等国内邮箱。
iOS版
Onion Browser 是运行在 iOS 设备上的 Tor 浏览器,也可以下载、安装 Tor Broswer ,两款 Broswer 的开发者是不同的,并且 Tor Broswer 内嵌了 VPN 功能。遗憾的是,使用中国区 Apple ID 无法在 Apple Store 中找到 Onion Browser 或者 Tor Broswer,需要想办法先拥有一个外区 Apple ID,才能在 Apple Store 中找到并下载。作为一种替代方案,可以尝试在国区 Apple Store 中搜索 Mullvad Broswer,因为 Mullvad Broswer 等价于 Onion Broswer + Mullvad VPN,尽管 Mullvad VPN 在国内连不上。
在国内使用Tor浏览器
Tor 中继网络节点是公开的,所有公开节点都会被封锁,不仅仅在国内,国外也会有不同程度的封锁。为了解决这个问题,Tor 提供了几种“可插拔式传输器”(Pluggable Transports)用于突破网络封锁,目前共有四种,分别为 obfs4、nowflake、meek-azure 和 webtunnel,身处国内的用户需要通过私有且未公开的 obfs4 或 webtunnel 网桥来连接。
➦ 可插拔包括两方面的特性,一是可随时更换,二是混淆
➦ 在 Tor 浏览器的连接配置中,选择内置网桥,只会列出 obfs4、nowflake、meek 等 3 种类型的网桥,webtunnel 只在手动请求网桥时可选
➦ 混淆一:obfs4 会将上网流量封装、伪装成随机数据流量。如果在 Tor 浏览器的“内置网桥”里选择 obfs4 网桥,在国内很难连上,应手动请求
➦ 混淆二:snowflake 能将用户流量封装、伪装成视频通话。在 Tor 浏览器的“内置网桥”里选择 snowflake 即可,无须额外配置
➦ 混淆三:meek-azure 将流量封装、伪装成正在访问 Microsoft 网站,由于目标单一、巨硬知名度太高,因此国内也很难连接成功
➦ 混淆四:webtunnel 将用户流量封装、伪装成普通的 HTTPS 流量。Webtunnel 网桥在 Tor 浏览器中没有列出,需要专门获取、手动添加
除 Tor 浏览器中申请内置网桥外,以下方式可以申请未公开的 obfs4 或 webtunnel 网桥:
- 从 Tor 的「官方网站」申请网桥
- 发邮件给「 该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。」申请网桥,只支持 gmail 和 riseup 邮箱,中国用户应确保邮件主题包含“private bridge cn”
- 添加 Telegram 机器人「GetBridgesBot」后,输入 “/bridges” 指令获取网桥
延伸阅读一:Tor网络
Tor 是实现匿名通信的自由软件,由美国非盈利组织 The Tor Project, Inc开发与维护,其名源于“The Onion Router”(洋葱路由)的英文缩写。用户可通过 tor 连接由全球志愿者免费提供,包含 7500 多个中继的网络,这个网络就是 tor 网络。
通过接入 tor 网络访问互联网,可以隐藏用户真实地址、指纹信息,避免网络监控及流量识别。Tor 采用三跳链路连接,用户的互联网活动(包括浏览网站、帖子以及即时通讯等)相对较难追踪。Tor的设计初衷在于保障用户的个人隐私,以及不受监控地进行秘密通信的自由和能力。
Tor 通过路径选择算法在 tor 网络中选择 3 个节点,这三个节点分别称为入口节点(Guard relay)、中间节点(Middle relay)和出口节点(Exit relay)。在网络连接的应用层,数据通过“洋葱路由”进行进行逐跳传输。首先,数据在用户端连续加密三层,三个中继各自解密一层,每解密一层才能之后将数据传输目的地(下一跳或访问目标),在这种模式场景下,数据就像剥洋葱一样被一层一层地解密,所以被称为“洋葱路由”。最后的出口节点会解密最内层的加密数据并得到真实的数据内容,并把它传送给目标访问地址。出口节点虽然掌握真正的数据内容,但它只知道上一个中继节点的地址,并不知道数据最初的发送者是谁、源IP是什么,从而保证了数据发送者的安全。相对应地,入口节点仅知晓用户的 IP 地址而无法得知其访问的网站,而中间节点既无法得知 IP 地址也无法得知用户所访问的网站和内容。
Tor 不会阻止任何网站判断用户是否通过 tor 访问,尽管 tor 用于保护隐私,但却不掩饰用户正在使用 tor,导致有些网站会对使用 tor 的用户进行限制。
延伸阅读二:混淆
混淆,专用于突破网络封锁。无论是 tor 网桥采用的方法,还是各种代理工具创造的“协议”,都只是混淆手段,其根本在于对网络流量进行封装、修改从而符合防火墙的访问控制规则和数据包检测机制,得以穿越防火墙。典型的混淆方式就是 stealth,一般是通过 stunnel 将 OpenVPN 封装在 tls 隧道中,应用层则采用 http,使得看起来像是普通的 https 流量,stealth 是国内可用 VPN 的标配。下图中的“绿色通道”通常会采用 stunnel 建立 https 隧道,这样对 openvpn udp/tcp 流量再进行一次封装,才有可能突破网络封锁。
Stealth 并不复杂,部署也不困难。如果你有一台 vps,可以参照老E之前的博文在部署 stunnel 的基础上打造一个你自己的 stealth 隧道。因为 staelth 并不复杂,所以绝大多数主流 VPN 厂商都开发、提供了相应的混淆功能。无论 privado、private 还是 surfshark 等都采用了 stealth 混淆协议,仅仅是在实现细节上各有少许差异。下图是 surfshark 知识库的内容,关键字是“masked”和“regular”。常年 VPN 排行榜 top3 的surfshark 如此,expressvpn的 lightway、nordvpn的 nordlayer 也并不神秘,看开源实现会发现甚至比 stealth 还要简单。有需求的小伙伴不妨可以尝试「订阅surfshark」。
要在国内使用 VPN,需要满足两个条件:一是 VPN 服务支持混淆,二是手动打开混淆功能。为什么?因为很多国外 VPN 服务默认采用自动连接,并且关闭混淆功能。为什么?自动连接提高易用性,而混淆功能会导致性能下降、速度降低,影响用户体验。那么,既然混淆有用,为什么 ProtonVPN 国内无法使用呢?国内无法使用是因为 ProtonVPN 的所有服务器都是公开的,混淆功能免费用户连接时不可用,而不是混淆无效,这是由厂商的经营策略所决定的。