离线维基百科阅读器Kiwix Serve
本文软件是网友
刘源
推荐的,因为他已经安装成功了,所以老苏拖拖拉拉的就从去年拖到了现在; 😂
什么是 Kiwix ?
Kiwix
是一个用于浏览离线内容的自由开源浏览器,最初用于离线浏览维基百科。Kiwix
可以读取以压缩形式存储在ZIM
格式文件中的内容,使用户能够在没有网络连接的情况下浏览维基百科及其他支持的内容。目前,Kiwix
软件存在macOS
、Windows
、Linux
等多种版本。
什么是 Kiwix-serve ?
Kiwix Serve
是一个Zim
文件兼容的网络服务器。它允许您在本地网络中通过HTTP
协议传送.zim
文件。
什么是 Zim ?
Zim
是构建于Web Recorder
项目愿景之上的网页存档格式,可将网站的全部内容整合并压缩为便于离线分享和存储的单一文件中。
所以你可以使用 Zim
格式,将部分教育类资源站点保存下来,供没有网络或者网络不畅的社区或个人使用,实现知识的共享。
准备
需要说明的是,
Kiwix Serve
支持通过环境变量设置远程下载,考虑到不同的网络环境,老苏还是建议先下载到本地
需要先准备好 zim
文件,如果容器在启动时找不到文件,会导致容器启动失败
为了演示,老苏在这里 https://download.kiwix.org/zim/wikipedia/?C=S;O=D 下载了一个最小的 wikipedia_zh_chemistry_mini_2022-12.zim
,大约 18M
看名字是中文的化学,具体内容只有安装完成才知道
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 kiwix-serve
,选择第一个 kiwix/kiwix-serve
,版本选择 latest
。
本文写作时,
latest
版本对应为3.4.0
;
卷
在 docker
文件夹中,创建一个新文件夹 kiwixserve
,并在其中建一个个子文件夹 data
,并将下载好的 .zim
文件放入 data
目录
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/kiwixserve/data |
/data |
存放 zim 文件 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
5058 |
8080 |
默认是这样的
老苏删掉了 80
端口
环境
可变 | 值 |
---|---|
DOWNLOAD |
远程 zim 文件地址 |
例如:-e DOWNLOAD=https://download.kiwix.org/zim/wikipedia/wikipedia_zh_chemistry_mini_2022-11.zim
,设置了的话,会自己下载
老苏没有用到环境变量,但是命令行需要输入 *.zim
,这很重要,是告诉容器搜索数据目录中的所有 ZIM
文件
命令行只有第一次生效,如果忘了只能删了重新来过;
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 新建文件夹 kiwixserve 和 子目录 |
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 kiwixserve 和 子目录 |
运行
在浏览器中输入 http://群晖IP:5058
就能看到主界面
点开 化学维基百科
随便打开一个
也可以搜索,比如搜 二氧化碳
是不是发现和我们之前搭建的 Flask-MDict
异曲同工?
文章传送门:Flask-MDict搭建在线Mdict词典服务
参考文档
Index of /zim/wikipedia
地址:https://download.kiwix.org/zim/wikipedia/?C=S;O=DIndex of /zim
地址:https://download.kiwix.org/zim/kiwix/kiwix-tools: Command line Kiwix tools: kiwix-serve, kiwix-manage, …
地址:https://github.com/kiwix/kiwix-toolsKiwix-serve - Kiwix
地址:https://wiki.kiwix.org/wiki/Kiwix-serve