af62ddf0da4d4efa269524feafd7a6360a3cd66e
Lunaris
Lunaris — локальное Flutter-приложение для просмотра booru, gelbooru, rule34-подобных источников и artist-архивов в Pinterest-стиле.
Приложение не использует отдельный backend-сервер. Вся логика живет внутри Flutter: API-провайдеры, локальный кеш metadata, избранное, коллекции, история просмотров, фильтры, диагностика, загрузки и обновления.
Что умеет
- Masonry feed с несколькими провайдерами и естественно перемешанной выдачей.
- Поиск тегов через chip-input с подсказками из активных API.
- Избранное, история просмотров, коллекции и пакетное добавление в коллекции.
- Smart blacklist/whitelist по тегам, группам тегов, рейтингу, провайдеру, типу файла и score.
- Details viewer для фото, GIF, видео и SWF на Windows.
- Удобный видеоплеер с fullscreen, repeat, mute, half-volume и сохранением настроек.
- Mobile image zoom: pinch-to-zoom и double tap в details.
- Опциональное автоскачивание новых favorites с отдельным удалением локального файла без удаления из избранного.
- Отдельная вкладка Artists для Kemono/Coomer без смешивания с обычной booru-лентой.
- Управление провайдерами, health-check и provider diagnostics.
- Кастомизация интерфейса: тема, язык RU/EN, акцентный цвет, видимые вкладки, beta/experimental обновления.
- Экспорт и импорт настроек JSON.
- Проверка Gitea Releases и скачивание APK/Windows installer прямо из приложения.
Скачать
Готовые сборки лежат в Gitea Releases:
Lunaris-v2.0.1.apk— APK для Android.LunarisSetup-v2.0.1.exe— установщик для Windows.LunarisPortable-v2.0.1.zip— portable-версия для Windows.
Провайдеры
Обычный feed:
- Gelbooru
- Rule34
- Safebooru
- Konachan
- Yande.re
- e621 / e926
- Xbooru
- CosBooru
- Realbooru отключен по умолчанию, если публичный API недоступен
Artists flow:
- Kemono
- Coomer
Kemono/Coomer остаются отдельным разделом Artists и не попадают в общий booru feed.
Архитектура
lib/core— HTTP, база, кеш, ошибки, Result и утилиты.lib/backend/models— доменные модели.lib/backend/providers— API-провайдеры и ProviderManager.lib/backend/repositories— доступ к локальному Isar-хранилищу.lib/backend/services— Feed/Search/Favorites/Collections/Settings/Diagnostics/Downloads/Updates.lib/backend/di— Riverpod providers для backend/core.lib/app— приложение, роутер, тема, локализация, motion и responsive helpers.lib/shared/widgets— общие UI-компоненты.lib/features— экраны и контроллеры фич.
Запуск
flutter pub get
flutter run -d windows
flutter run -d android
Сборка
flutter analyze
flutter test
flutter build apk
flutter build windows
Windows installer собирается через Inno Setup:
ISCC.exe installer\Lunaris.iss
Как добавить провайдера
- Создать класс, реализующий
ContentProvider. - Добавить mapper к единой модели
Post. - Зарегистрировать
apiTypeвProviderFactory. - Добавить seed config в
ProviderRepository, если провайдер нужен по умолчанию. - Добавить тесты parser/provider factory.
Безопасность
- Feed работает только с metadata/preview и не скачивает original/full files автоматически.
- Загрузка файлов происходит только по явному действию пользователя или при включенной настройке auto-download favorites.
- Приложение уважает API и rate limits сайтов.
- NSFW/blur/blacklist настраиваются локально.
- API keys/custom headers хранятся локально и экспортируются только через явный export settings.
- Локальные пути скачанных файлов не попадают в JSON export/import.
Description
🌙 Современный кроссплатформенный клиент для Booru и Creator-архивов (Дизайн 2.0, Pawchive, Android, Linux)
https://github.com/RarDog/Lunaris
Readme
MIT
50 MiB
Releases
67
Prisma v3.7.3
Latest
Languages
Dart
96.2%
C++
1.7%
CMake
1.2%
Kotlin
0.4%
Shell
0.2%
Other
0.1%