Импорт книг и удобная работа с локальной библиотекой RanobeLib на Android.
Скачать последнюю стабильную версию · Сообщить о проблеме
Android 10+ · Open Source · GPL-3.0
ReaderLB — независимый проект и не является официальным приложением RanobeLib.
ReaderLB помогает импортировать книги в локальную библиотеку RanobeLib и работать с уже скачанной локальной библиотекой без ручной возни с файлами глав.
Вы выбираете книгу — ReaderLB сам:
- находит главы и их нумерацию;
- переносит обложку и встроенные иллюстрации;
- поддерживает главу 0 и дробные номера глав;
- проверяет структуру книги перед записью;
- добавляет недостающие главы в уже существующий локальный тайтл;
- умеет создать переносимый пакет для другого телефона.
ReaderLB не является отдельной онлайн-читалкой и не работает с аккаунтом RanobeLib. Его задача — подготовить и безопасно импортировать локальную книгу.
Актуальная стабильная версия публикуется только в GitHub Releases:
Открыть последнюю версию ReaderLB
Текущая стабильная версия: 1.1.1.
Минимальная версия системы: Android 10.
После скачивания APK Android может попросить разрешить установку приложений из этого источника. Это обычное системное подтверждение для APK, установленного не из Google Play.
- Скачайте APK из GitHub Releases и установите ReaderLB.
- Откройте приложение и нажмите «Добавить новеллу».
- Выберите файл EPUB, TXT или .readerlb.zip.
- Дождитесь анализа книги и проверьте найденные главы.
- Запустите импорт.
- Если у ReaderLB есть доступ к локальной папке RanobeLib, книга будет добавлена напрямую.
- Если Android не позволяет такой доступ, ReaderLB подготовит переносимый ZIP вместо небезопасной или заведомо неработающей записи.
Исходный EPUB или TXT при этом не изменяется.
| Формат | Для чего |
|---|---|
| EPUB 2 / EPUB 3 | Основной формат. ReaderLB извлекает главы, обложку и иллюстрации. |
| TXT | Импорт текстовых книг с определением глав. |
| .readerlb.zip | Готовый переносимый пакет ReaderLB для переноса новеллы между устройствами. |
Обычные ZIP-файлы не считаются пакетами ReaderLB автоматически: приложение проверяет их содержимое и формат.
ReaderLB не создаёт дубликат только из-за повторного импорта.
При совпадении локального тайтла приложение старается:
- сохранить уже существующие главы;
- добавить только недостающие;
- не перезаписывать существующий текст автоматически;
- проверить новые файлы перед публикацией метаданных;
- не оставлять библиотеку в полуобновлённом состоянии при ошибке.
Это удобно, например, когда сначала были импортированы главы 1–300, а позже появился EPUB с продолжением.
Версия 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/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, содержащий подготовленную книгу, главы, обложку и иллюстрации.
На другом устройстве:
- установите ReaderLB;
- откройте полученный
.readerlb.zipчерез ReaderLB; - подтвердите импорт.
Повторно искать исходный EPUB и разбирать его не требуется.
Если ReaderLB имеет прямой доступ к локальной библиотеке RanobeLib через сохранённый системный доступ или Shizuku, приложение показывает найденные локальные тайтлы с обложками и количеством глав.
В библиотеке доступны:
- поиск и сортировка;
- просмотр информации о тайтле;
- различение книг, добавленных ReaderLB, и обычных локальных тайтлов RanobeLib;
- удаление локального тайтла с подтверждением;
- создание переносимого
.readerlb.zip.
ReaderLB не отправляет список вашей библиотеки на свой сервер.
Версия 1.1.0 добавляет обратный путь: уже скачанную локальную книгу RanobeLib можно сохранить в обычный файл без повторного поиска исходного EPUB или TXT.
Поддерживаются:
| Формат | Что сохраняется |
|---|---|
| EPUB 3 | Обложка, метаданные, кликабельное оглавление, главы и иллюстрации. Рекомендуемый вариант для читалок. |
| Мобильная верстка, главы, обложка и иллюстрации. | |
| FB2 | Метаданные, секции глав, обложка и встроенные иллюстрации. |
| TXT | UTF-8 текст, заголовки глав, цитаты и аккуратные маркеры иллюстраций. |
На экране локального тайтла можно выбрать формат, экспортировать все главы или диапазон и отдельно включить обложку/иллюстрации. Готовый файл сохраняется в Downloads/ReaderLB, после чего его можно открыть или сразу поделиться им.
Экспорт работает как для тайтлов, созданных ReaderLB, так и для обычных локальных тайтлов, скачанных самим RanobeLib. Никакой загрузки текста книги на сервер для этого не требуется.
Стабильные обновления публикуются в GitHub Releases.
ReaderLB умеет проверять наличие новой версии и передавать APK стандартному установщику Android. Перед установкой приложение проверяет пакет и целостность загруженного файла.
Android или оболочка производителя телефона всё равно может потребовать дополнительное подтверждение установки.
Разбор книг и работа с локальной библиотекой выполняются на устройстве.
ReaderLB не отправляет на сервер:
- текст книг и глав;
- обложки и иллюстрации;
- список локальных тайтлов;
- историю импортов.
В приложении нет Firebase Analytics и Crashlytics.
Проверка обновлений обращается к GitHub. Подробнее о данных и сетевых запросах: PRIVACY.md.
Сначала проверьте:
- установлена ли последняя стабильная версия;
- открывается ли исходный EPUB/TXT обычным файловым менеджером или читалкой;
- не был ли отозван ранее выданный доступ к папке RanobeLib;
- хватает ли свободного места на устройстве.
Если проблема остаётся:
- создайте Bug Report в GitHub Issues;
- укажите модель телефона и версию Android;
- приложите шаги, после которых возникает ошибка;
- при возможности приложите скриншот или текст ошибки.
Не прикладывайте публично приватные книги, токены, ключи подписи или другие секреты.
Более подробная инструкция: SUPPORT.md.
Для каждого стабильного релиза публикуется файл 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.
Для разработчиков
- Development
- Architecture
- Testing
- Release process
- Roadmap
- Direct access to RanobeLib
- Contributing
- Security
Основная ветка — main. Изменения проходят через pull request, Android CI, runtime-тесты и CodeQL.
Требуются JDK 17 и Android SDK.
./gradlew :app:assembleDebugДля полного набора правил разработки и тестирования используйте документацию выше.
ReaderLB распространяется по лицензии GNU GPL v3.0 (GPL-3.0-only).
Полный текст лицензии: LICENSE.
