百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

如何用 NAS 搭建属于自己的云端书库

ninehua 2025-02-03 14:26 39 浏览

在完成基于 NAS 的 Podcast 订阅管理平台以及密码库之后,我将下一步「私有化」的目标瞄上了自己多年来的精心收藏的数字书库。

我自己阅读的电子书除了从 Kindle 商店购买书籍之外,还有就是从第三方渠道下载以及自己 DIY 的电子书了。以前这些自制的电子书都被我放在电脑的某个文件目录中,而随着时间的推移,这些电子书文件越来越多,如何对这些数字文件进行高效的管理成为我心中的一大难题。

由于我主要的阅读工具都是通过 Kindle 来阅读,很少通过手机或者平板上进行电子书的阅读,因此我从其他渠道下载以及 DIY 的电子书都是基于 Kindle 的电子书格式 azw3,这种格式虽然在 Kindle 硬件上可以获得较好的阅读体验,但这也无形中让我个人随身书库的打造带来了相当多的难点,所以如果你也想打造类似的数字书库,那么下载的电子书的文件格式可以选择更为通用的 mobi,这样无论是管理还是阅读上都会更为方便。

下面就来介绍下我的个人随身数字书库打造过程吧。

使用工具来管理自己的电子书库

以前我会将下载的 azw3 格式的电子书经过简单的重命名后,直接保存在电脑的某个目录中。当时的考虑非常简单——将 AZW3 格式的电子书直接拷贝到 kindle 的存储空间就可以在设备上阅读了。

这种操作方式最为简单,但也带来了管理上的难题——无法确认 kindle 中已经保存了哪些书、是否重复等等。之后我开始使用桌面端的电子书管理软件来对书籍进行管理,也就是使用开源的电子书管理器 calibre。

calibre 的优点在于可以通过刮削器完善书库中的电子书元数据信息,并且通过类似文件同步的方式来实现本地数字书库和 kindle 的电子书同步以及传输操作。同时 calibre 还可以实现电子书转换、编辑等操作,可以说是现阶段最为全面的本地化电子书管理工具了。

而通过将电子书导入到 calibre 中,我逐步建立起一个基于本地电脑的个人电子书数据库。而更大的设想还在后面——我能不能将其变成一个自己专属的电子书书库,并且实现全终端的在公网环境下的阅读甚至管理?

我将实现目标转向了家中的群晖。

基于 NAS 构建在线书库

做好第一步:将本地书库转移到 NAS 上

我的初期的目标很简单——实现家中局域网内的桌面设备(Windows 电脑和 Mac )可以访问书库并使用 calibre 进行管理即可,那么首先就是要将原本存储在电脑中的书库转移到 NAS 上,当然也需要为此新增一个共享文件夹。

通过群晖的「控制面板」-「共享文件夹」,点击「新建」来创建书库目录(比如说我所创建的这个 book 目录),这里需要注意的是权限部分,为了方便访问可以给管理员以及访客开启「可读写」权限。

完成之后我们需要为该目录开启局域网内的共享访问,这里回到「控制面板」,然后在「文件服务」中找到 「SMB 服务」并勾选「启动 SMB 服务」。然后在「高级设置」里面对最低以及最高的 SMB 版本进行设置,并点击「应用」。

再回到当前的 Windows 电脑中打开「网络」,然后在共享的设备中查看是否有 NAS 这个设备,然后看一下里面是否有新建的这个书库文件夹(如果提示需要验证输入 NAS 的管理员的账户和密码),如果可以在这个文件夹里新建或者删除文件就表示创建成功。

接下来就是将原本保存在 PC 上的书库目录拷贝到新建的 NAS 共享文件夹下面,我这里在 book 目录下方再创建了一个library目录,然后将之前保存到本地电脑中的书库全部拷贝进去,需要注意是一定要把 metadata.db 这个文件一并拷贝进去,也是书库数据的关键。

接下来我们打开桌面端的 calibre 开始切换书库,点击工具栏中的「书库」-「切换/创建书库」,然后导航到网络中 NAS 下对应的 book 目录并选择library这个文件夹,并且勾选「使用当前现有的书库位置作为新的位置」并点击确定,如果前面设置正常,你将会看到和之前本地书库一样的书籍列表,只不过这时候的书库的位置被转移到了局域网中的 NAS 上。

使用 calibre web 的 Docker 镜像构建书库数据库

仅仅只是让书库放在 NAS 上通过 SMB 进行目录共享,也只能通过局域网中的桌面设备(Windows 电脑或者 Mac 电脑)进行访问。显然我希望的是实现全终端的访问(这当然包括手机以及平板设备),而要想实现这个目标,就需要为 NAS 上的虚拟书库生成为 OPDS 的目录结构。

OPDS 全称为 Open Publication Distribution System,即开放出版物发行系统,通过这个系统我们就可以通过 App 或者网页浏览器来对虚拟书库进行管理和访问,而不再需要通过文件目录访问的形式来管理你的书库。而要想生成 OPDS,我们就需要使用基于 calibre 的 web 分享服务,这里我选择的依旧是我们熟悉的 「Calibre-web」,只不过这次选择了一个新的 Docker 镜像版本(其实是此前我派介绍的镜像版本有点太老了)。

在下载镜像之前,我们需要对目标的文件目录进行权限上的修改,这里需要用到的除了之前我们存放虚拟书库的 book 目录之外,还需要一个存放配置文件的目录,这里我在 docker 文件夹下创建了一个 calibre 目录。

下面还是在 File station 中,选择 book 目录以及刚刚创建的 docker/calibre 并右击属性,在「权限」选项卡中选择 「Everyone」用户组并点击「编辑」,选择所有的权限并授予全部权限(全部控制),如果有 http 用户组也可以以此类推进行权限设置,这一步的设置主要是为了方便后续生成的应用容器可以正常读写该目录。

接下来打开群晖的 Docker ,在侧栏中点击注册表并搜索 「Calibre-web」,并选择搜索结果中出现的「linuxserver/calibre-web」这个镜像,双击进行下载并等待下载完毕。

在「映像」中找到双击刚刚下载的「linuxserver/calibre-web」,双击开始创建容器。

在设置页面中点击高级设置,在「卷-添加文件夹」中选择书库目录(比我我的路径是book/library),转载路径输入/books,然后再添加一个配置文件路径(比如我的是 docker/calibre),转载路径为 /config

切换到端口设置选项卡,在本地端口上填入和容器端口一致的 8083 端口,完成之后选择点击「应用」并启动容器。

启动后在浏览器中输入http://你的 NAS ip:8083 进入设置页面,这里会要求你首先填入书库的路径,这里输入 /books 后点击 submit 完成设置,需要说明的是如果出现相关错误提示,可以在回到 File station 中检查 books 文件夹是否给「Everyone」提供了「全部控制」权限。

然后你再访问http://你的 NAS ip:8083,这时应该会直接进入到登录页面,在 Username 这里输入 admin,在 Password 这里输入 admin123 完成登录,如果看到首页上都是你收藏的书则表示 Calibre-web 已经成功创建你的在线书库了!

这里我们可以检验下 OPDS 是否创建成功,在浏览器的地址栏输入 http://你的 NAS ip:8083/opds 回车,如果弹出登录页面则表示目录创建成功。

让 NAS 上的数字书库可以在公网访问

显然我们看电子书不可能仅仅只在家中局域网环境内,我们更希望书库可以「随时随地」都可以被访问,因此这里我们需要解决的就是公网访问问题,这里除了使用 DDNS 之外,我选择了更稳定的 frp 内网穿透。

而在 NAS 上创建 frp 内网穿透服务,一般用得比较多的是使用 Docker 镜像,考虑灵活以及稳定性上,我这里选择通过计划任务来实现。

首先在群晖的 docker 目录下创建 frpc 文件夹,在 frpGitHub 主页上下载对应版本的 frp 包(这里选择的是 Linux amd64 位版本),然后完全解压缩将 frpc 文件几个 frpc.ini 文件拷贝到 frpc 文件夹中。

在群晖的 File station 打开 frpc 文件夹,使用文本编辑器打开并添加一段新的配置项目(如图)并保存。

在打开「控制面板-计划任务」,点击「新增-计划的任务-用户定义的脚本」。

在创建任务选项卡输入任务名称,用户账号可以选择 root(或者其他管理员账号),然后再切换到「任务设置」中,在「用户定义的脚本」中输入:

?nohup /volume1/docker/frpc/frpc -c /volume1/docker/frpc/frpc.ini &

在「计划」中设定任务排期(随便填写)点击保存。

回到「计划任务」页选中新建的任务并点击「设置」,勾选「保存输入结果」并将其保存到和 frp 相同的目录并点击确定。

最后在「计划任务」页中选中 frpc 任务并点击运行。这是再使用http://<映射的公网 ip>:<映射的端口地址>访问 calibre web,如果能显示 calibre web 的登录页面即表示内网穿透成功。

这样我们就可以在非家中局域网的环境下,通过浏览器和各种应用来访问自己的在线书库了。

在多个平台访问和管理私人书库

现在,我的私人数字书库已经基本搭建完毕,可以通过浏览器在任何地方管理书库,但我希望可以不仅仅只是通过浏览器来进行远程管理和访问,而希望即便是在公司的 PC 上也能管理家中的书库,甚至可以直接在手机上打开书库并下载书籍。

因此我需要解决的问题是如何在外网上安全访问到家中群晖的文件目录。

由于配置上的问题,最终我选择的依旧是通过 SSH / sftp 方式来实现远程的登录访问,首先在群晖中打开「控制面板」-「终端机和 SNMP」,勾选「启动 SSH 功能」并设置一个端口(最好不是 22)。

然后在「文件服务」中切换到 「FTP」 选项卡,然后勾选 「启动 SFTP 服务」并设置和前面相同的端口号。

最后增加一条 frpc 的配置,同样是打开 frpc.ini 并新增下面的一段配置并保存,最后重启 frpc 服务使其生效。至于确认是否成功则可以在外网的电脑通过 SSH 终端尝试是否可以登录。

在 PC 上管理 NAS 上的书库

如果不考虑网页端管理,实际上我们在外网 PC 上依旧可以通过 calibre 软件进行管理,但这需要将群晖上相应的路径挂载到文件资源管理器上,这里我通过的是 SFTP 协议进行挂载。

将远程文件路径通过 sftp 协议挂载到文件资源管理器,在 Windows 上最方便的当然是 raidrive。创建驱动器时选择 NAS 下面的 SFTP,然后在地址栏输入 frp 映射的公网 IP 以及映射的端口,输入 NAS 的账号和密码并挂载。成功后你就可以在网络位置上看到新挂载的盘符了。

打开 calibre 然后选择「书库」-「切换/创建书库」,定位到 raidrive 生成的新驱动器下的书库目录(我自己的路径是:X:\book\library)并将其添加为新的书库目录,这时候你就可以看到 calibre 可以全部载入 NAS 上的书库,并且实现外网直接通过管理。

在 Mac 上管理 NAS 上的书库

和 Windows 类似,我们依旧选择的是将群晖的文件目录通过 SFTP 映射到本地的驱动器路径中,这里我选择的工具则是 cloudmounter ,使用的办法可以参考支持 macOS / Windows,一站式网盘管理工具:CloudMounter。

挂载到访达之后,打开 Mac 上的 calibre,同样是「书库」-「切换/创建书库」,这里选择刚刚挂载上去的群晖文件目录下的 「book/library」并且选择「使用当前现有的书库位置作为新的位置」,如果设置恰当,你同样可以在 calibre 看到 NAS 的书库列表,当然管理/增添书等操作也不在话下。

在 iPhone/iPad 打开个人数字书库

移动端访问书库则要简单一些,实际上就是使用第三方 App 读取生成的 OPDS 地址来实现在线的书库访问,在 iOS 平台我选择的是 kyreader 这款 App,主要是这款应用满足我的几个需求:可以基于 OPDS 访问书库,同时支持解析 awz3 格式的电子书。

打开 kyreader 后直接点击中间的「目录」来添加书库,输入你的书库名以及对应的 URL(http://<映射的公网 ip>:<映射的端口地址>/opds)并添加。然后在弹出的账户验证中输入 calibre web 的用户名以及密码,点击确认后就可以将个人书库添加到目录中了。

打开书库,在最新添加中就可以看到你的书库目录了,这里我选择一本 azw3 格式的书,然后点击下载就可以下载到手机中,直接点击阅读就可以用 kyreader 进行阅读了。唯一的缺点就是并不支持阅读进度同步(显然这个要求有些太难了)。

在 Android 设备上打开个人数字书库

相比 iOS 端,在 Android 上访问书库并且阅读 AWZ3 格式的书反而更加麻烦一些,原因是单纯的电子书阅读器在对 azw3 格式的电子书文件存在解析问题(会识别为 bin 数据文件),因此在 Android 上需要通过两款应用来实现我的需求。

首先我需要使用这款名为 calibre companion 的应用来实现书库的连接,打开应用点击右上角的 「setting」 进入 「Connecting to calibre」,在 「Content server connection」-「IP address and Port or URL」中输入书库映射出的公网 ip 和端口号。

然后在应用首页点击右上角的 「connect」-「to Content Server」并输入书库的用户名和密码完成书库的连接。

calibre companion 连接到书库后并不提供书籍的阅读,因此点击书籍后只会提供meta数据显示或者下载,点击下载之后会将书库的电子书文件保存到 calibre companion 目录下,这时候就需要要使用另一款电子书阅读器FBReader进行电子书阅读。

实际上 FBReader 就是用来解析 azw3 格式的电子书,点击侧栏的「选择文件」,然后定位到 calibre companion 的文件目录就可以看到刚才下载的电子书文件了,这时候选中就可以进行阅读了,和 iOS 平台类似,在 Android 平台同样不支持阅读进度的同步。

结语

通过以上的一系列的操作,我终于实现了基于私有云的个人随身电子书库的搭建和外网访问,实现了个人书库的随身设备阅读访问。相比 Podcast 以及密码管理的私有云搭建,工具更多也更为复杂,但依然不失为个人书库的云端管理解决方案之一。

相关推荐

数据可视化——R语言为ggplot图形添加P值和显著性水平

很久很久没有写原创文章了,今天给大家写一个大家发论文都用的到的操作--------为ggplot图形添加P值和显著性水平。建议先点收藏,再点关注,因为本文很长。掌握了本文,用R语言画下面这种图就不求人...

R语言从入门到精通:Day7(r语言入门教程)

原创小浣熊科研猫是时候关注我们一波了在向reviewer或者导师展示自己的统计分析结果时,一张图往往顶得上千言万语;在刚接触到数据时,图也能帮助我们发现数据中潜在的模式或者其中的异常值,这两个例子...

360儿童手表3评测 孩子遇危险一键SOS

儿童人身安全问题一直是家长最担忧的大事,多年来频频发生的儿童走失悲剧更是将这一话题推向了舆论高峰,在这个基础上,能打电话、防走丢的儿童智能手表迅速走红,可以说多了一剂强有力的助推剂。可以说,360儿童...

眼保健操想做就做,全面呵护孩子视力!喵喵儿童护眼仪体验

现在的孩子学习压力都很大,平时除了线下作业外,线上作业也不少,不是拍照上传小管家,就是录制视频发到班级群。作为家长的我们不能只关注孩子的学习,更要关注孩子的视力。根据国家卫健委数据显示,2020年我国...

用眼过度?一套恢复视力的米字操 飞行员都用的护眼方法了解一下

咱都知道,现在这生活里,电子产品无处不在,不管是上班用电脑,下班刷手机,眼睛那是一刻都闲不下来,好多人都有用眼过度的毛病。眼睛干干痒痒的,时不时还流眼泪,近视、老花眼等问题也都找上门来了。今天啊,我就...

软硬件齐发力,OPPO Find X8手机配备五大屏幕护眼技术组合

 直到现在2024年,依然有不少消费者非常青睐LCD屏幕的手机,无他,皆是因为LCD屏幕相较于传统的OLED屏幕来说,护眼性能确实要更胜一筹。而全新发布的OPPOFindX8则在软硬件上齐发力,通...

一只360°的智能眼睛------360智能摄像机云台AI版

在数字安防物联网飞速发展的当今,很多品牌都在不断崛起,360作为其中的佼佼者,也推出了不少这类的产品,从第一代水滴摄像头开始,360可谓在可视安防品类的产品上保持了高速发展的态势,无论是室内还是室外...

扩展功能强大:文本编辑器EditPlus 3.8下载

IT之家(www.ithome.com):扩展功能强大:文本编辑器EditPlus3.8下载IT之家讯文本编辑器EditPlus最近更新到3.80版,此次更新增加了和改进了包括对不同文件类型适配不...

世上的计算机只有两种字体(世上的计算机只有两种字体是什么)

还在纠结在你的下一个演示文稿中要不要使用宋体显示小字,或是你打算在你的论文中使用微软雅黑字体吗?今天的推送就来给大家介绍一下两大字体系列:serif和sans-serif。Serif字体如Times...

安卓字体大师2.0.1更新 增加字体搜索及分类功能

手机自带字体看久了想要换个新面貌?如何才能轻松换得新字体呢?机友们有福了!字体控们更是不容错过!作为一款强大的字体美化管家,字体大师2.0.1更新再添个性周到化服务。此次更新,字体大师增加了字体搜索和...

升职加薪全靠它,6款B站知乎上万人推荐的宝藏神器!强烈建议收藏

今天,我们给大家推荐6款电脑软件,B站知乎上万人推荐,每一个都强大到没朋友,升职加薪全靠它,下面一起来看看吧!1.Quicker这是一款能提高我们工作效率的神器,其能帮我们快速打开一些常用工具,像执行...

18种好看的电子书字体推荐!(附实机照片)

对kindle自带的黑体楷体宋体圆体腻味了吗,其实kindle可以自定义字体的,下面推荐几款好看的电子书字体,话不多说直接上干货(以下图片均为kindleoasis2代实机拍摄,方便大家感受各类...

只需万元就能打造媲美影院的环绕音效,JBL BAR 1000回音壁真不错

自从给卧室更换了全新的智能投影,我就发现客厅电视的使用频率变低了,和家人探讨了一下,大家都一致认为这台电视的音效不如新换投影的效果好,但要真说因为音效再换一台电视又觉得不值。纠结再三之后,决定入手一套...

外国歌手杀疯了!比官方机位更震撼的是直播机位的现场舞台,真牛

刷到是缘分,感谢大家的阅读,希望您能动动小手帮忙点赞,关注,评论。你的支持和鼓励是我前进的动力。在此祝福大家天天快乐,日日开心!0102外国歌手这现场表现力真是绝了,直播机位捕捉到的细节比官方镜头更有...

使命召唤手游开启测试,战区手游下载方法/登录教程

《使命召唤》手游澳大利亚服在11月30日开启测试,应该有很多网友都有所了解。作为一款高人气的FPS游戏,《使命召唤》在国外的地位甚至可以与CF和PUBG相媲美了。而且截止到目前,官方针对不同的地区都推...