Skip to content

ReaderLB

ReaderLB

Импорт книг и удобная работа с локальной библиотекой RanobeLib на Android.

Скачать последнюю стабильную версию · Сообщить о проблеме

Android 10+ · Open Source · GPL-3.0

ReaderLB — независимый проект и не является официальным приложением RanobeLib.

Что такое ReaderLB

ReaderLB помогает импортировать книги в локальную библиотеку RanobeLib и работать с уже скачанной локальной библиотекой без ручной возни с файлами глав.

Вы выбираете книгу — ReaderLB сам:

  • находит главы и их нумерацию;
  • переносит обложку и встроенные иллюстрации;
  • поддерживает главу 0 и дробные номера глав;
  • проверяет структуру книги перед записью;
  • добавляет недостающие главы в уже существующий локальный тайтл;
  • умеет создать переносимый пакет для другого телефона.

ReaderLB не является отдельной онлайн-читалкой и не работает с аккаунтом RanobeLib. Его задача — подготовить и безопасно импортировать локальную книгу.

Скачать и установить

Актуальная стабильная версия публикуется только в GitHub Releases:

Открыть последнюю версию ReaderLB

Текущая стабильная версия: 1.1.1.

Минимальная версия системы: Android 10.

После скачивания APK Android может попросить разрешить установку приложений из этого источника. Это обычное системное подтверждение для APK, установленного не из Google Play.

Быстрый старт

  1. Скачайте APK из GitHub Releases и установите ReaderLB.
  2. Откройте приложение и нажмите «Добавить новеллу».
  3. Выберите файл EPUB, TXT или .readerlb.zip.
  4. Дождитесь анализа книги и проверьте найденные главы.
  5. Запустите импорт.
  6. Если у ReaderLB есть доступ к локальной папке RanobeLib, книга будет добавлена напрямую.
  7. Если Android не позволяет такой доступ, ReaderLB подготовит переносимый ZIP вместо небезопасной или заведомо неработающей записи.

Исходный EPUB или TXT при этом не изменяется.

Какие файлы поддерживаются

Формат Для чего
EPUB 2 / EPUB 3 Основной формат. ReaderLB извлекает главы, обложку и иллюстрации.
TXT Импорт текстовых книг с определением глав.
.readerlb.zip Готовый переносимый пакет ReaderLB для переноса новеллы между устройствами.

Обычные ZIP-файлы не считаются пакетами ReaderLB автоматически: приложение проверяет их содержимое и формат.

Если новелла уже есть в RanobeLib

ReaderLB не создаёт дубликат только из-за повторного импорта.

При совпадении локального тайтла приложение старается:

  • сохранить уже существующие главы;
  • добавить только недостающие;
  • не перезаписывать существующий текст автоматически;
  • проверить новые файлы перед публикацией метаданных;
  • не оставлять библиотеку в полуобновлённом состоянии при ошибке.

Это удобно, например, когда сначала были импортированы главы 1–300, а позже появился EPUB с продолжением.

Что нового в ReaderLB 1.1.1

Версия 1.1.1 сосредоточена на совместимости с реальной локальной библиотекой RanobeLib и на нормальном подключении этой библиотеки на современных версиях Android.

Главные изменения:

  • добавлен прямой доступ к локальной библиотеке RanobeLib через Shizuku на Android 11 и новее;
  • ReaderLB сам определяет состояние доступа и показывает конкретное действие: установить/запустить Shizuku, выдать разрешение или повторить проверку;
  • после успешного подключения библиотека сканируется автоматически;
  • через прямой доступ работают просмотр локальной библиотеки и обложек, импорт, удаление и экспорт в EPUB/PDF/FB2/TXT;
  • сохранён безопасный fallback через Downloads/ReaderLB, если прямой доступ недоступен;
  • исправлен экспорт обычных тайтлов, скачанных самим RanobeLib, у которых data.txt содержит старые варианты HTML вместо ReaderLB-структуры;
  • улучшен поиск локальных обложек у обычных тайтлов RanobeLib;
  • в библиотеке яснее показывается источник тайтла: «Импорт ReaderLB» или «Скачано в RanobeLib».

Подробности реализации и ограничения: docs/RANOBELIB_DIRECT_ACCESS.md.

Android 11 и новее

Начиная с Android 11 система не позволяет обычному приложению выбрать чужую папку внутри Android/data через стандартный системный выбор папки. Разрешение «доступ ко всем файлам» также не решает эту задачу для каталога другого приложения, поэтому ReaderLB его не запрашивает.

В ReaderLB 1.1.1 используются следующие варианты:

Сохранённый системный доступ. Если на устройстве уже есть рабочее сохранённое разрешение к папке RanobeLib, ReaderLB продолжает использовать его.

Shizuku. На Android 11+ ReaderLB может подключиться к известной локальной папке RanobeLib через Shizuku. Приложение не считает одно только разрешение Shizuku доказательством доступа: оно проверяет реальное чтение/запись в папке и только после успешной проверки показывает библиотеку как подключённую.

Переносимый пакет. Если Shizuku не установлен, не запущен, не получил разрешение или прошивка телефона блокирует доступ, ReaderLB по-прежнему может работать через Downloads/ReaderLB.

На Android 10 сохраняется обычный системный выбор папки.

На устройствах без root Shizuku, запущенный через беспроводную отладку/ADB, обычно требуется снова запускать после перезагрузки телефона. ReaderLB повторно проверяет подключение при возврате в приложение.

Перенос книги на другой телефон

Для локального тайтла можно выбрать «Поделиться новеллой».

ReaderLB создаст файл .readerlb.zip, содержащий подготовленную книгу, главы, обложку и иллюстрации.

На другом устройстве:

  1. установите ReaderLB;
  2. откройте полученный .readerlb.zip через ReaderLB;
  3. подтвердите импорт.

Повторно искать исходный EPUB и разбирать его не требуется.

Библиотека ReaderLB

Если ReaderLB имеет прямой доступ к локальной библиотеке RanobeLib через сохранённый системный доступ или Shizuku, приложение показывает найденные локальные тайтлы с обложками и количеством глав.

В библиотеке доступны:

  • поиск и сортировка;
  • просмотр информации о тайтле;
  • различение книг, добавленных ReaderLB, и обычных локальных тайтлов RanobeLib;
  • удаление локального тайтла с подтверждением;
  • создание переносимого .readerlb.zip.

ReaderLB не отправляет список вашей библиотеки на свой сервер.

Экспорт локальных книг в ReaderLB 1.1.0

Версия 1.1.0 добавляет обратный путь: уже скачанную локальную книгу RanobeLib можно сохранить в обычный файл без повторного поиска исходного EPUB или TXT.

Поддерживаются:

Формат Что сохраняется
EPUB 3 Обложка, метаданные, кликабельное оглавление, главы и иллюстрации. Рекомендуемый вариант для читалок.
PDF Мобильная верстка, главы, обложка и иллюстрации.
FB2 Метаданные, секции глав, обложка и встроенные иллюстрации.
TXT UTF-8 текст, заголовки глав, цитаты и аккуратные маркеры иллюстраций.

На экране локального тайтла можно выбрать формат, экспортировать все главы или диапазон и отдельно включить обложку/иллюстрации. Готовый файл сохраняется в Downloads/ReaderLB, после чего его можно открыть или сразу поделиться им.

Экспорт работает как для тайтлов, созданных ReaderLB, так и для обычных локальных тайтлов, скачанных самим RanobeLib. Никакой загрузки текста книги на сервер для этого не требуется.

Обновления ReaderLB

Стабильные обновления публикуются в GitHub Releases.

ReaderLB умеет проверять наличие новой версии и передавать APK стандартному установщику Android. Перед установкой приложение проверяет пакет и целостность загруженного файла.

Android или оболочка производителя телефона всё равно может потребовать дополнительное подтверждение установки.

Безопасность и приватность

Разбор книг и работа с локальной библиотекой выполняются на устройстве.

ReaderLB не отправляет на сервер:

  • текст книг и глав;
  • обложки и иллюстрации;
  • список локальных тайтлов;
  • историю импортов.

В приложении нет Firebase Analytics и Crashlytics.

Проверка обновлений обращается к GitHub. Подробнее о данных и сетевых запросах: PRIVACY.md.

Если что-то не работает

Сначала проверьте:

  1. установлена ли последняя стабильная версия;
  2. открывается ли исходный EPUB/TXT обычным файловым менеджером или читалкой;
  3. не был ли отозван ранее выданный доступ к папке RanobeLib;
  4. хватает ли свободного места на устройстве.

Если проблема остаётся:

  • создайте Bug Report в GitHub Issues;
  • укажите модель телефона и версию Android;
  • приложите шаги, после которых возникает ошибка;
  • при возможности приложите скриншот или текст ошибки.

Не прикладывайте публично приватные книги, токены, ключи подписи или другие секреты.

Более подробная инструкция: SUPPORT.md.

Проверка APK

Для каждого стабильного релиза публикуется файл SHA-256 рядом с APK.

Например, для версии 1.1.1:

ReaderLB-1.1.1.apk
ReaderLB-1.1.1.apk.sha256

Релизные APK также собираются в GitHub Actions постоянным release-ключом и получают GitHub build provenance attestation.

О проекте

ReaderLB создан для удобной работы с локальными книгами RanobeLib и развивается как открытый проект.

Исходный код открыт, а предложения и сообщения об ошибках принимаются через GitHub Issues.

Для разработчиков

Документация

Основная ветка — main. Изменения проходят через pull request, Android CI, runtime-тесты и CodeQL.

Локальная сборка

Требуются JDK 17 и Android SDK.

./gradlew :app:assembleDebug

Для полного набора правил разработки и тестирования используйте документацию выше.

Лицензия

ReaderLB распространяется по лицензии GNU GPL v3.0 (GPL-3.0-only).

Полный текст лицензии: LICENSE.

About

Android-приложение для импорта EPUB и TXT в локальную библиотеку RanobeLib

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages