ZeroNet 设置代理,解决连接问题

本文最后更新于 2019 年 3 月 22 日


如需匿名,仍需要使用 Tor 。

本文以在安装 Raspbian 系统的树莓派上的设置为例,说明如何操作。本文默认已按 在树莓派上运行 ZeroNet 对树莓派进行了必要配置。


背景

近期,ZeroNet 又出现了连接问题。与 Tracker 的连接错误导致无法访问新站点,或者全新部署 ZeroNet 时,无法进行初始化。

开发者提出了使用 Tor meek bridges 的方法,并提供了 Windows 平台下的 Bundle 包,其中包含了 Tor 组件,用户可以在出错时,点击页面上的 Use Tor meek bridges for tracker connections 按钮,启用 Tor bridges 。

在 Linux 下,可以直接参照此文档 Frequently asked questions 中的说明,配置 Tor 与 ZeroNet 的连接。

经过测试,使用 Tor 的确很好地解决了问题。但在 Linux 下配置步骤相对较多。故想到利用已有的代理,比如 Shadowsocks、SSR,让 ZeroNet 通过这些代理进行连接。

方法

1
vim ~/Sites/ZeroNet/zeronet.conf

添加一行 proxy ,本例如下:

zeronet.conf
1
2
3
4
5
[global]
ui_ip = *
ui_password = yourpassword
proxy = 127.0.0.11081
tor = disable

之后启动服务在浏览器访问 <ip>:43110 即可。

说明:之所以使用了 --tor disable 这个参数,是因为 ZeroNet 在启动的时候会检查 Tor 服务是否可连。然而 Tor 客户端服务是监听在 localhost 上的,我们的代理并没有 bypass 本地地址,所以会导致 ZeroNet 一直处于检测状态而卡住。把 Tor 功能彻底禁用就好了。

思考

ZeroNet 原本的意义就在于使用去中心化的方法避免审查,然而也有其具体实现上的短板,当用户访问新站点时,用户如何知道这个托管这个站点的都有哪些节点呢?这往往需要固定 ip 地址上的服务来给用户“指路”,而在审查过程中,这些固定的 Tracker 就是最易被干扰的。

那么说使用代理来访问 ZeroNet 是否就失去意义了呢?我觉得不然。虽然使用了代理,但去中心化本身的优势仍旧还是存在的:比如对于一个站点,只要节点数足够,除了他的主人,任何人都没有办法摧毁或者篡改的。这点特性依旧存在,而且去中心化还免去了托管空间的诸多麻烦。

ZeroNet 仍然在不顺畅的网络环境中前进,其在部分地区面临的挑战也在逐渐帮助它增强着自身抗打击的能力。然而不得不说,其活跃程度总归有点衰减的味道。希望各位有识之士能帮助 ZeroNet 更好发展。