广州有点牛科技有限公司
广州市天河区东东路27号201室
黄经理
15219366905
1037378521@qq.com
Calibre 是一个功能强大的开源电子书管理软件,主要用于桌面平台。它的主要特点包括:
电子书库管理:组织、分类和标记电子书
格式转换:支持多种电子书格式之间的转换
元数据编辑:允许用户编辑书籍的详细信息
电子书阅读器:内置阅读器支持多种格式
电子书下载:可以从网上下载元数据和封面
与电子阅读器同步:支持多种设备
内容服务器:可以通过网络访问你的电子书库
Calibre Web 是一个基于网络的应用程序,它使用 Calibre 的数据库来提供一个在线界面来访问你的电子书库。主要特点包括:
网页界面:可以通过浏览器访问你的电子书库
响应式设计:适配桌面和移动设备
用户管理:支持多用户,可以设置权限
在线阅读:支持多种格式的在线阅读
下载功能:允许用户下载电子书
搜索和过滤:方便查找特定的书籍
书架管理:允许用户创建和管理书架
豆瓣书籍元信息刮削:自动从豆瓣获取书籍元信息
与 Calibre 数据库同步:使用 Calibre 的数据库,但不需要 Calibre 运行
Calibre 基于 Python 和 Qt 开发,在各个桌面端使用效果都非常不错,但唯独缺失了“在线”能力,因此 Calibre Web 应运而生,Calibre Web 基于 Python 和 Flask 开发,使用 Calibre SQLite 数据库和基于文件夹的图书资源管理,但提供了 Web 界面,使用更方便。下面是 Calibre Web 的界面:
但 Calibre Web 并没有暴露 HTTP API 接口,无法轻松的集成到第三方应用中,比如客户端和其他资源管理系统。Calibre Web API 项目应运而生,其设计核心在于在尽可能地少的占用服务器资源的情况下,通过 HTTP 接口安全的向外暴露书籍查询、书籍封面和资源下载的能力,为此我们选用了 Rust 和 Actix 技术栈,使用 Calibre Web 的用户鉴权系统,提供上述服务。
下面是集成效果:查询数据和封面图片来自于后端服务器反向代理 Calibre Web API 接口。
额外提供了反向链接,允许跳转到 Calibre Web 图书界面:
借助于 Calibre Web,Calibre 书库实现了在线能力,借助于 Calibre Web API,Calibre 书库可以更方便的和第三方系统集成。得益于 Rust 语言和 Actix 框架,Calibre Web API 的性能非常出色,且占用极低:8MB 大小的二进制程序,仅需占用 3MB 内存即可提供服务。
在生产中,Calibre Web 的图书资源文件夹通过 RClone 每天同步到客户的私有 NAS 服务器实现本地同步,使得 Calibre 客户端、Web 和 API 的数据尽可能一致,且随处可用。