Thorium Reader — это простое в использовании приложение для чтения EPUB для Windows 10/10S, MacOS и Linux. После импорта электронных книг из каталога или канала OPDS вы сможете читать на экране любого размера, настраивать параметры макета, перемещаться по оглавлению или списку страниц, устанавливать закладки... Большое внимание уделяется обеспечению доступность приложения для людей с нарушениями зрения, использующих NVDA, JAWS или Narrator.
Бесплатное приложение. Никакой рекламы. Никакие личные данные никуда не передаются.
Этот проект находится в постоянном развитии, в ближайшее время будут добавлены исправления и новые функции, и ваша поддержка приветствуется. Приложение основано на наборе инструментов Readium Desktop с открытым исходным кодом.
В настоящее время он локализован на следующих 25 языках:
См.: https://github.com/edrlab/thorium-reader/wiki/Localization-(l10n)-language-translations.
node --version
)npm --version
) npm install
(или npm ci
): инициализировать локальные пакеты node_modules
из зависимостей, объявленных в package.json
(это также автоматически вызовет длительный этап компиляции в npm run postinstall
)node scripts/package-lock-patch.js && cat package-lock.json | grep -i divina-player-js
(с сервером разработки с горячей перезагрузкой, веб-инспекторами/отладчиками)
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-адресов, разделенных запятыми, которые не следует использовать через проксирование. Это полезно для исключения локальных или интрасетевых адресов из проксирования.Если эти переменные среды установлены, клиентское приложение будет автоматически использовать указанный прокси-сервер для запросов HTTP или HTTPS, если только запрос не относится к имени хоста или IP-адресу, указанному в переменной NO_PROXY.
мы использовали пакет proxy-agent
от TooTallNate
(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 «Базовый профиль шифрования». Например, лицензии, созданные сервером LCP с открытым исходным кодом, написанным на Go, без патча, который включает профили шифрования LCP производственного уровня.
Чтобы создать LCP-совместимый вариант/развитие Thorium Reader промышленного уровня (известный как «вилка»), в рабочий процесс сборки/выпуска пользовательского приложения необходимо интегрировать дополнительные конфиденциальные программные компоненты и процессы. Это требует нетривиального количества времени и усилий, а также тесного сотрудничества между командой разработчиков форка и техническим персоналом EDRLab. Для покрытия эксплуатационных расходов EDRLab взимает плату за обслуживание. Не стесняйтесь обращаться в EDRlab, чтобы обсудить ваши требования.
thorium <cmd> [args]
Commands:
thorium opds <title> <url> import opds feed
thorium import <path> import epub or lpcl file
thorium read <title> 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]
Ториум-ридер состоит из 3-х частей:
Каждая часть запускает модель-контроллер и представление процесса рендеринга.
Чтобы связать эти 3 части, мы используем:
Чтобы получить POST-запрос от процесса рендеринга к основному процессу, мы используем понятие API. Это не http API, а инкапсулированный RPC для логики redux/redux-saga с помощью Action и редуктора.
Вот схема связи:
Источник:
На данный момент существует 17 конечных точек API из (src/main/redux/sagas/api):
библиотека:
От основного процесса к процессу рендеринга или от процесса рендеринга к основному процессу.
Список всех действующих действий (src/common/redux/actions):