Кроссплатформенный загрузчик книг с различных ресурсов.
Все действия происходят на устройстве, без отправки учетных данных на сторонние сервера.
[ Реинкарнация JS юзерскрипта Ultimate Copy Manager, созданного для Telegram-канала BooksFine ]
- Загрузка бесплатных и купленных книг с запретом на скачивание.
- Поддерживаемые форматы:
fb2,fb2.zip,epub(на базе собственной библиотеки dart_book). - Настройка шаблона названия файла и пути сохранения.
- Встроенный браузер для открытия книг и авторизации.
- Быстрое открытие книги через системное меню «Поделиться» (Android).
- Список недавних книг.
- Подробный прогресс загрузки изображений.
- OTA-обновления со списком изменений.
- (В планах) CLI-версия для терминала и скриптов.
- Android: 7.0 (API 24) и выше.
- Windows: Windows 10 (1803) и выше, WebView2 (Microsoft Edge).
- Linux: Ubuntu 20.04+ / Debian 11+ (WebKitGTK, GTK 3).
- macOS: macOS 12.0 (Monterey) и выше.
- iOS: iOS 15.6 и выше (Sideloading).
🍏 macOS — Инструкция по установке
При первом запуске неподписанного приложения на macOS Gatekeeper может заблокировать открытие.
- Кликните правой кнопкой мыши (или двумя пальцами по тачпаду) по
ReUCM.app$\rightarrow$ выберите Открыть (Open)$\rightarrow$ нажмите Открыть в диалоговом окне. - Либо перейдите в Системные настройки
$\rightarrow$ Конфиденциальность и безопасность$\rightarrow$ прокрутите вниз до блока Безопасность$\rightarrow$ нажмите Всё равно открыть (Open Anyway). - Также можно снять атрибут карантина через Терминал:
xattr -cr /Applications/ReUCM.app
📱 iOS — Инструкция по установке
Файл .ipa поставляется для установки методом Sideloading (без подписи Apple Developer):
- Устанавливайте через AltStore, SideStore, TrollStore, Scarlet или Sideloadly.
- re_ucm_core — pure-Dart ядро (интерфейсы
Portal, схемы настроек, модели прогресса). - re_ucm_lib — pure-Dart библиотека бизнес-логики (хранилище Sembast, экспорт в изолятах, шаблонизатор путей).
- portals/ — модули поддержки внешних ресурсов:
- re_ucm_author_today — модуль Author.Today.
- re_ucm_ficbook — модуль Ficbook (Книга Фанфиков).
- plugins/ — вспомогательные локальные плагины и стабы для платформ (
zikzak_share_handler_windows,zikzak_share_handler_linux). - re_ucm_app — основное Flutter-приложение (Android, Windows, Linux, macOS, iOS).
# Получение зависимостей во всем воркспейсе
flutter pub get
# Генерация кода (MobX, Freezed, Retrofit)
dart run build_runner build -d --workspace
# Запуск приложения
cd re_ucm_app
flutter runВсе основные интерфейсы находятся в re_ucm_core/.
Для добавления модуля сервиса необходимо:
- Создать новый Dart-пакет в директории
portals/(например,portals/re_ucm_myportal). - Добавить новый пакет в секцию
workspace:в корневомpubspec.yamlи в зависимости re_ucm_app/pubspec.yaml. - Реализовать интерфейсы
PortalиPortalServiceизre_ucm_core, используяdart_book. - Зарегистрировать портал в
PortalFactory.registerAll([...])в re_ucm_app/lib/core/di.dart.