打造基于NAS的个人随身数字书库

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

nohup/volume1/docker/frpc/frpc-c/volume1/docker/frpc/frpc.ini&在「计划」中设定任务排期(随便填写)点击保存。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

THE END
1.十大数据库软件数据库管理系统有哪些十大品牌网CNPP重磅推出2024数据库十大品牌排行榜,数据库品牌排行榜前十名有甲骨文、MYSQL、SQL Server、PostgreSQL、奥星贝斯、TIDB、达梦、MongoDB、GaussDB、GBase。十大数据库品牌由品牌数据部门通过收集整理大数据分析研究得出,旨在告诉消费者数据库软件供应商有哪些https://www.cnpp.cn/china/list_10106.html
2.2024年适合项目管理的软件推荐:9款精选二、初创团队和大企业分别适合哪些项目管理工具 初创团队通常预算有限,人员不多,更注重工具的性价比和易用性。对于这样的团队,Notion和ClickUp是不错的选择。Notion的文档、数据库和任务管理结合在一起,非常适合初创企业的需求。ClickUp也因其免费版本强大的功能而受到小团队的喜爱。大企业则有更复杂的项目需求,通常https://baijiahao.baidu.com/s?id=1818698824742762449&wfr=spider&for=pc
3.你经常使用的数据库管理工具有哪些?免费的数据库管理工具DBNinja DBNinja是一款比较“年轻”的基于Web的数据库管理软件,使用 PHP 开发而成。DBNinja的外观类似于桌面,可连接多个远程和本地的数据库。 上文就是小编为大家整理的你经常使用的数据库管理工具有哪些?免费的数据库管理工具。https://cn.pingcap.com/article/post/6694.html
4.免费开源好用的数据库管理工具有哪些DBeaver是一款免费、开源、跨平台的数据库管理工具。DbGate是一款跨平台的数据库管理工具,支持多种数据库系统,包括MySQL、PostgreSQL、Microsoft SQL Server、SQLite、MongoDB 等。https://www.bandianxiang.com/info/ZluNL1D
5.数据库管理系统有哪些?常用数据库管理软件数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不http://www.downcc.com/k/shujukuguanli/
6.常见的数据库远程管理工具有哪些HeidiSQL:一款免费的开源数据库管理工具,支持MySQL、MariaDB、Microsoft SQL Server等数据库。 DBeaver:一款跨平台的开源数据库管理工具,支持多种数据库系统,如MySQL、PostgreSQL、Oracle等。 Sequel Pro:一款免费的Mac平台MySQL数据库管理工具,支持多个连接和多个数据库的管理。 https://wenku.csdn.net/answer/f2394284976c42bd9635f0c5cba9856e
7.zyplayerdoc在线文档工具v1.1.6源码下载源码授权:免费软件 源码类别:java源码 应用平台:Java 源码官网:官方网址 更新时间:2023-11-11 网友评分: 360通过腾讯通过金山通过 4.4MB 详情介绍 zyplayer-doc是一款前后端完全开源的在线文档工具,现有API接口文档(Swagger、OpenApi、自建接口)、WIKI文档、数据库文档(数据库表结构查看管理、SQL执行)。 https://www.jb51.net/codes/858994.html
8.最好用的10款MySQLGUI管理工具横向测评因为工作的原因,我有机会仔细用过市面上几乎所有的MySQL管理工具,对各家的数据库管理软件的特性有了全面的了解。 Windows 下的 MySQL 管理软件 我大概用了 20+ 款 MySQL 管理工具,从种挑出 10 款最棒的写了今天的测评。其中 7 款免费或有社区免费版,另外 3 种是付费版。 https://cloud.tencent.com/developer/article/1897766
9.2024年10款最佳免费数据库软件(功能定价)开源地理空间基金定价:虽然我们将介绍一些最好的免费数据库软件, 但有些工具会有付费计划,提供额外的功能、存储空间等。 因此,请确保选择了一个最物有所值的数据库解决方案。 10 个最佳数据库软件程序 以下是当今最好的十种免费数据库软件: 1.ClickUp – 适合数据库管理 https://www.osgeo.cn/post/1fce7
10.十款免费的数据库设计工具软件哪个更好用软件技巧下面给大家推荐几款好用的免费的数据库设计工具软件,有需要的小伙伴们来了解一下。 1.SQL Server 2008 Microsoft SQL Server 2008是一款功能强大的智能数据平台软件,提供了可信、高效率和智能特性。它能够满足企业各种管理数据的需求,并且具有最高级别的安全性、可靠性和伸缩性。安装前需要准备.Net Framework 3.5和Wihttps://xiazai.zol.com.cn/jiqiao/83099.html
11.小编带你走进EBSCOBusinessSourceComplete数据库EBSCO数据库检索到的资料原文是英文或者其他语种的情况下,为了方便母语为非英语的用户,在网页提供了全文在线翻译及英语朗读功能,提供英式口音,美式口音及澳大利亚口音,方便同学们轻松读懂英文学术资料,提升英语听力水平。 02 自动生成引文,一键式轻松导出到参考文献管理工具 https://www.lib.tongji.edu.cn/index.php?classid=11979&newsid=33807&t=show
12.15个热门开源免费的数据挖掘数据分析数据质量管理工具ERD Online 是全球第一个开源、免费在线数据建模、元数据AI平台。集成ChatGPT,提供简单易用的元数据设计、关系图设计、SQL审批查询等功能,辅以版本、导入、导出、数据源、SQL解析、审计、团队协作等功能,方便我们快速、安全的管理数据库中的元数据。 数据,已成为互联网企业非常依赖的新型重要资产。“用数据说话”也越https://www.51cto.com/article/777596.html
13.开源免费数据库管理平台pgAdmin4v8.13x64中文多语免费版pgAdmin 是 PostgreSQL 和衍生关系数据库如 EnterpriseDB 的 EDB Advanced Server 的管理工具。 它可以作为 Web 或桌面应用程序运行。 有关所提供功能的更多信息,请参阅功能和屏幕截图页面。 开源免费数据库管理平台 pgAdmin 中文多语免费版 pgAdmin 特色 http://www.dayanzai.me/?p=4397
14.NavicatPremiumNavicat数据库管理软件免费下载利用我们的专业目标设计器创建、修改和管理所有数据库目标 安装教程 软件下载 Navicat Premium15免费试用版64位/32位 下载 Navicat Premium 15是一款数据库管理工具,Navicat Premium15可以同时将单一程序连接到现在世界上所有版本的主流数据库进行管理和操作,支持的数据库有MySQL、SQLServer、SQLite、Oracle和https://www.yutu.cn/popsoft_374.html
15.oracle数据库管理工具有哪些oracle数据库是应用广泛的数据存储软件,但oracle操作门槛高、难度大。因此出现了众多的oracle数据库管理工具。下面和大家分享一下oracle数据库管理工具有哪些。 一、oracle数据库管理工具有哪些 常见的oracle数据库管理工具主要有: 1、toad for oracle toad for oracle是一款专门的oracle数据库开发管理工具,可以帮助用户提https://toad.mairuan.com/faq/toad-oracleynx.html
16.数字化学习资源及其应用专题培训数字化学习资源与以往传统的学习资源相比较,其最大的优势在于其互动性,无论是通过网络媒介进行的学习方式,还是通过光盘等进行的学习方式,其双向交流的方式得到越来越多学习者的喜爱,一方面学习者可以通过网络上的交流工具,实现与老师或学生之间的交互;另一方面学习者还可以从学习软件的数据库中寻求问题的答案,同时也可http://www.zpxx.wj.czedu.cn/html/article731078.html