ZeroNet Blogs

Static ZeroNet blogs mirror

在Linux服务器上运行ZeroNet

- Posted in What I know中文博客 by

想要为ZeroNet做贡献,手里又有Linux的VPS,那这篇文章应该比较合适了。


首先,根据GitHub的提示,下载并且安装ZeroNet

我的服务器是基于Debian的Ubuntu,所以:

sudo apt-get update

sudo apt-get install msgpack-python python-gevent

wget <https://github.com/HelloZeroNet/ZeroNet/archive/master.tar.gz>

tar xvpfz master.tar.gz

cd ZeroNet-master

其他发行版参考github的说明 https://github.com/HelloZeroNet/ZeroNet

进入ZeroNet-master目录后,可以发现目录下有这些东西

CHANGELOG.md        Dockerfile  plugins/         requirements.txt  tools/       zeronet.conf
CHANGELOG-zh-cn.md  LICENSE     README.md        src/              update.py    zeronet.py*
data/               log/        README-zh-cn.md  start.py          Vagrantfile

为了便于描述,假设服务器地址是11.22.33.44,电脑地址为55.66.77.88

执行python zeronet.py则程序会监听127.0.0.1:43110,这个地址只能被本地访问,在电脑的浏览器中输入“http://11.22.33.44:43110”是不能访问到Zeronet的管理界面的。

要想实现在自己的电脑上通过网页控制服务器上运行的Zeronet,应该python zeronet --ui_ip 11.22.33.44,这样,所有联网的设备都可以访问到服务器上运行的Zeronet网页了。

但是,这样便有了安全问题,别人通过你的服务器浏览Zeronet,会导致服务器缓存你不想缓存的内容,而且别人也可以修改、删除你的东西。所以就有了访问控制。

希望只允许55.66.77.88通过58774端口访问服务器上的Zeronet网页,应该这样python zeronet.py --ui_ip 11.22.33.44 --ui_port 58774 --ui_host 55.66.77.88

这样一来,可以访问Zeronet网页的人就减少到1/2^32了。

但这样貌似也没有实现100%的访问控制,毕竟还有很多人和你有着相同的公网IP,我尝试过python zeronet.py,然后用ssh -NL 将端口从服务器转发至本地,但是失败了,显示403,不知为何。所以妥协的方案是在管理完界面后迅速关闭zeronet,以只能本地访问web界面的模式运行。

Comments