ZeroNet
比特币中的一项特性是去中心化。这使得比特币拥有较为自由的能力,不会因为某些服务器故障而无法运行。这是因为使用了去中心化技术。如果互联网去中心化会是怎样的呢?
安装 ZeroNet
ZeroNet 是一个使用了比特币加密技术和 BT 分布式技术的网络。它的主要目的是将互联网去中心化。
使用起来很方便,首先下载 相应的客户端。
解压。发现文件目录为
1 | ZeroBundle |
有一个 python2
的环境和一个启动脚本。
如果你是 Windows 用户直接运行 ZeroNet.cmd
弹出黑框并开始下载主程序
Downloading https://github.com/HelloZeroNet/ZeroNet/archive/master.zip to ZeroNet directory.
大约一分钟后主程序下载完毕,你会发现任务栏里面出现一个 ZeroNet 的图标。
这时候会弹出 Windows 防火墙,点允许免得出奇奇怪怪的问题。
初尝 ZeroNet
双击 ZeroNet 的图标或者直接在地址栏中输入 http://127.0.0.1:43110/ 就会打开 ZeroNet 的初始欢迎界面。
左边列出了 ZeroNet 中的部分网站。随便点一个进去
等待一两秒的载入后,网页内容刷新出来了。
从这个地址中我们发现它并没有直接访问任何现存互联网的资源。而是直接访问电脑地址 127.0.0.1 。
这是官方的一个公告板网站,里面有很多刚来的人打招呼。
这就是使用 ZeroNet 的基本流程。跟访问普通网站没有太大的区别。唯一要做的就是打开 ZeroNet 的客户端。这样才能访问 ZeroNet 中的网站。
在使用者看来不连接现有互联网的情况下能够访问网页,感觉挺神奇的,像是打开了新世界。
探索 ZeroNet
第一次打开 ZeroNet 你会发现欢迎页面中的网站很少。是不是 ZeroNet 上只有这些网站呢?
其实不是。实际上 ZeroNet 拥有很多网站。只是没有看到而已。
回想在普通的互联网上,想要访问一个网站应该怎么做?
在地址栏中输入它的网址即可。
那这个网址是怎么来的呢?有很多种渠道,不过最典型的渠道是搜索引擎。
目前还没发现 ZeroNet 有相关的搜索引擎。不过作者也考虑到了这一点所以提供了一个 ZeroNet 网站的列表
这个列表就在欢迎页面的左边 more site @ 0list
随便点击一个网站
这是一个视频资源网站,相应的资源通过磁力链接下载。
如果有耐心可以发现很多好玩的网站。比如
也会发现一些奇奇怪怪的东西。毕竟 ZeroNet 不受监管。
安家 ZeroNet
在 ZeroNet 上创建一个网站也很方便。无需审核。
在创建之前先关闭 ZeroNet
进入 ZeroNet 的目录
1 | ZeroBundle |
在文件夹地址栏中输入 cmd
就会以当前路径运行黑框。
输入以下命令
1 | ..\Python\python zeronet.py siteCreate |
输出为
1 | - Starting ZeroNet... |
其中 Site private key 就是你的私钥。在修改自己的网站的时候会用到,请妥善保管
地址为 Site address 后面的部分。比如我的就是 1BTG4LYoSYQxNMaQfDCmZv56fQhitFeEQ5
保存好私钥后输入 yes 。输出为
1 | - Creating directory structure... |
说明成功建立站点。地址为 http://127.0.0.1:43110/你的地址 。
比如我的是 http://127.0.0.1:43110/1BTG4LYoSYQxNMaQfDCmZv56fQhitFeEQ5
双击 ZeroNet.cmd 启动 ZeroNet
在地址栏中输入刚建立站点的地址,会看到类似的页面
接下来修改个人网站。比如把 Hello 该成 Hi。这时候需要用到上面产生的私钥
先找到自己的网站。位于 ZeroBundle\ZeroNet\data\你的地址 文件夹中。比如我的就是 ZeroBundle\ZeroNet\data\1BTG4LYoSYQxNMaQfDCmZv56fQhitFeEQ5
其中目录结构如下
1 | 1BTG4LYoSYQxNMaQfDCmZv56fQhitFeEQ5 |
用文本编辑器打开 index.html
把
1 | Hello 1BTG4LYoSYQxNMaQfDCmZv56fQhitFeEQ5! |
改成
1 | Hi 1BTG4LYoSYQxNMaQfDCmZv56fQhitFeEQ5! |
保存。双击 index.html 打开后发现内容已经发生改变。
这只是本地预览的效果。要想其他人也能看到就需要发布。
首先运行命令登陆自己的网站
1 | ..\Python\python zeronet.py siteSign 你的地址 |
出现输入私钥的提示
1 | - Starting ZeroNet... |
密码验证正确后提示
1 | Site:1BTG4L..eEQ5 Opening site data directory: data/1BTG4LYoSYQxNMaQfDCmZv56fQhitFeEQ5/... |
登陆成功后接着发布网站
1 | ..\Python\python zeronet.py sitePublish 你的地址 |
发布成功后提示
1 | - Starting ZeroNet... |
其中有提示 Successfuly published to 0 peers 每一个访问者都会保存你的网站,因为你的网站还没其他人访问过。所以没有推送给任何一个用户。
如何检验是否更新成功呢?很简单让小伙伴访问一下你的网站就可以了。
如果想要做更多的自定义修改请参考官方开发者文档
看待 ZeroNet
ZeroNet 是一个很有意思的项目。目前处于发展阶段。就算不能成功也会启发后来的人。目前 ZeroNet 最大的缺点是用户量比较少,部分网页访问速度比较慢。还有部分内容不是去完全中心化的。要说清楚得从原理说起,这个坑就太大了。改天有空介绍吧。