Thorium Reader 是一款易于使用的 EPUB 阅读应用程序,适用于 Windows 10/10S、MacOS 和 Linux。从目录或 OPDS feed 导入电子书后,您将能够在任何屏幕尺寸上阅读、自定义布局设置、通过目录或页面列表导航、设置书签……我们会非常小心地确保使用 NVDA、JAWS 或讲述人的视障人士可访问该应用程序。
免费申请。没有广告。任何地方都没有私人数据流动。
该项目正在不断发展,很快就会添加修正和新功能,欢迎您的支持。该应用程序基于开源 Readium Desktop 工具包。
目前已本地化为以下 25 种语言:
请参阅:https://github.com/edrlab/thorium-reader/wiki/Localization-(l10n)-language-translations
node --version
检查)npm --version
检查) npm install
(或npm ci
):从package.json
中声明的依赖项初始化本地node_modules
包(这也会自动调用npm run postinstall
中的长时间运行的编译阶段)node scripts/package-lock-patch.js && cat package-lock.json | grep -i divina-player-js
(带有热重载开发服务器、Web 检查器/调试器)
npm run start:dev
(或npm run start:dev:quick
绕过 TypeScript 检查/更快地启动应用程序)npm start
(或npm run start
) npm run package:win
或npm run package:mac
或npm run package:linux
代码签名信息:https://github.com/edrlab/thorium-reader/wiki/Code-Signing
HTTPS_PROXY
、 HTTP_PROXY
和NO_PROXY
环境变量用于配置客户端应用程序在通过代理服务器发出 HTTP 或 HTTPS 请求时的行为。
HTTPS_PROXY
:指定用于 HTTPS 请求的代理服务器。该值的格式应为 http://proxy.example.com:8080。HTTP_PROXY
:指定用于 HTTP 请求的代理服务器。该值的格式应为 http://proxy.example.com:8080。NO_PROXY
:指定不应代理的主机名或 IP 地址的逗号分隔列表。这对于排除本地或 Intranet 地址被代理非常有用。设置这些环境变量后,客户端应用程序将自动使用指定的代理服务器进行 HTTP 或 HTTPS 请求,除非该请求针对 NO_PROXY 变量中列出的主机名或 IP 地址。
我们使用TooTallNate
的proxy-agent
包(https://github.com/TooTallNate/proxy-agents/tree/main/packages/proxy-agent)
有关更多信息,请参阅 https://www.npmjs.com/package/proxy-from-env#environment-variables。
Thorium Reader 通过附加软件组件支持受 LCP 保护的出版物,但该开源代码库中不提供该组件。当 Thorium Reader 从开源代码编译而没有额外的生产级库时,应用程序只能加载受 LCP“基本加密配置文件”保护的出版物。例如,由用 Go 编写的开源 LCP 服务器生成的许可证,没有启用生产级 LCP 加密配置文件的补丁。
为了创建 Thorium Reader 的生产级 LCP 兼容变体/派生(称为“分叉”),必须将其他机密软件组件和流程集成到自定义应用程序的构建/发布工作流程中。这需要大量的时间和精力,也需要分叉开发团队和 EDRLab 技术人员之间的密切合作。为了支付运营成本,EDRLab 收取维护费。请随时联系 EDRlab 讨论您的需求。
thorium [args]
Commands:
thorium opds import opds feed
thorium import import epub or lpcl file
thorium read searches already-imported publications with the
provided TITLE, and opens the reader with the
first match
thorium [path] import and read an epub or lcpl file [default]
thorium completion generate bash completion script
Positionals:
path path of your publication, it can be an absolute, relative path [string]
Options:
--version Show version number [boolean]
--help Show help [boolean]
Thorium-reader由3部分组成:
每个部分都运行一个模型控制器和渲染器进程的视图。
为了链接这三个部分,我们使用:
为了从渲染器进程向主进程发出 POST 请求,我们使用 API 的概念。它不是一个http API,而是一个RPC封装的API,通过Action和Reducer实现redux/redux-saga逻辑。
下面是通信图:
来源:
目前 (src/main/redux/sagas/api) 有 17 个 API 端点:
图书馆:
从主进程到渲染进程,或者从渲染进程到主进程。
所有已到位操作的列表(src/common/redux/actions):