关于 Dat 的介绍,请见这里。
因为 Dat 是一个分布式的数据分享工具,你的电脑需要保持运行 Dat 分享服务。出于便利的考虑,你可能需要一个独立的服务器来代替你的电脑做这项工作,这样你的电脑可以安心地关机,并且分享过的数据还能在网络上保持可用。同时,一个 Dat 服务器还可以实时备份你的数据和历史状态。
下面以一个运行 Debian 9 的 VPS 为例,介绍在 root
用户下搭建 Dat 服务器的步骤。
安装
安装 nodejs:
1 | curl -sL https://deb.nodesource.com/setup_8.x | bash - |
安装 hypercored:
1 | npm install -g hypercored |
这里说明一下, hypercored
会根据指定文件夹中的 feeds
来进行 re-host,re-host 中的文件是保持实时同步的,故这个想要保持实时同步的服务器自身也成为了一个数据节点。
配置
建立一个文件夹用于存储 Dat 文件:
1 | mkdir ~/dat |
向 feeds
文件中填写一个或多个 dat://
地址,这里以一个为例:
1 | echo 'dat://你的hash地址 >> ~/dat/feeds |
添加 systemd 服务:
1 | vim /etc/systemd/system/hypercored.service |
1 | [Unit] |
运行
启动服务并查看运行状态:
1 | systemctl enable hypercored |
你会看到如下的输出:
Watching ~/dat/feeds for a list of active feeds
Archiver key is xxxxxxxxxxxxxxxxxxxxx...
Swarm listening on port 3238
Adding xxxxxxxxxxxxxxxxxx...
当 systemctl status hypercored
出现 Full sycned
时,证明所分享的文件已经完全上载好,你可以关掉本地的分享服务了。
额外说明
根据 Dat Project 的官方文档,他们推荐使用 add-to-systemd
和 lil-pids
这两个工具代替手工添加 systemd 服务。我在试验过后,发现通过 lil-pids 运行 hypercored 后,hypercored 一直卡在 Archiver key is...
阶段,也不会创建 archiver
文件夹。所以我后来采取了上文中手动添加服务的方法,运行正常。至于官方推荐方法失效的原因暂不明确,有兴趣的朋友可以试验一下:
1 | npm install -g add-to-systemd lil-pids |
Give a hand
码字不易,如果你已经按照本文教程运行成功了,你可以添加此行:
dat://07dc95f064cecda12f48b6860c354a43439929ecf02668e8cb138c951fe6e129/
到 feeds
文件中,帮助本站(目前 90 MB)在茫茫的互联网留存。谢谢!
本文由 Chaos | Dreamcreator108 原创,转载请标明来源,转载时请勿篡改 dat 链接,感谢你的配合!