Linux 环境下在 ipfs 上部署维基百科镜像

37 天前
 chenjia404

环境依赖,需要你有 git 、node 、yarn

1.先安装 ipfs

最新版下载链接: https://dist.ipfs.tech/#kubo

wget https://dist.ipfs.tech/kubo/v0.29.0/kubo_v0.29.0_linux-amd64.tar.gz
tar zxvf kubo_v0.29.0_linux-amd64.tar.gz
cd kubo
./install.sh

2.初始化和配置 ipfs 因为整个维基百科数据库比较大,我们需要使用 ipfs 的一个 filestore 特性,filestore 特性需要 ipfs 目录和添加的文件挂载在一个设备下面。

screen -S ipfs
export IPFS_PATH=/data2/ipfs
ipfs init
ipfs config --json 'Experimental.ShardingEnabled' true
ipfs config --json Experimental.FilestoreEnabled true
ipfs daemon

注意这里用了一个 screen 运行 ipfs ,避免网络掉线。

3.拉取数据和生成页面并添加到 ipfs

git  clone https://github.com/ipfs/distributed-wikipedia-mirror
cd distributed-wikipedia-mirror
screen -S wikipedia-mirror 
yarn
./mirrorzim.sh -l=zh -w=wikipedia 

如果你需要英文版本,可以把 zh 替换成 en 。注意这里用了一个 screen 运行生成程序,避免网络掉线。

最后一个通宵后输出结果为:bafybeickblcnzzxp65pcmn3k7wpzt7zkzhl53behblnmrl3ybkjfq6dt5i

现在我们就可以使用各种 ipfs 网关打开这个 ipfs 版本的维基百科了,但是因为才上传,可能速度会比较慢,用的人多了速度就会更快。

我绑定了这个 cid 到 zh-wikipedia.ipfsscan.io 这个域名上。

可以使用我维护的一个网关打开 https://gateway.ipfsscan.io/ipns/zh-wikipedia.ipfsscan.io/

本站的词条 https://gateway.ipfsscan.io/ipns/zh-wikipedia.ipfsscan.io/wiki/V2EX

也可以在 public-gateway-checker 里面寻找其它网关。

你也可以复制一个惰性版本到你本地 ipfs 节点 ipfs files cp $(ipfs resolve -r /ipns/zh-wikipedia.ipfsscan.io) 。

如果你磁盘大于 130gb ,你也可以复制完整版本的到你 ipfs 节点 ipfs refs -r /ipns/zh-wikipedia.ipfsscan.io

本镜像维护周期,我一个月左右跟踪一次 kiwix 的最新的维基百科镜像,发现更新就打包,老版本的镜像维护 2 个版本。

其它语言的镜像,看情况有没有需求,如果有我就买一个大容量的 ssd ,你们也可以自己按照这个方法发布。

1247 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1066224

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX