7.4 KiB
7.4 KiB
🌙 Lunaris
Современный кроссплатформенный клиент для Booru и Creator-архивов
Плавный Pinterest-стиль, поддержка фото, видео и GIF, умный черный список, встроенный менеджер загрузок и автообновление.
✨ Основные возможности
- 📱 Плавная лента в стиле Pinterest: Masonry-сетка с адаптивным количеством колонок для мобильных и ПК.
- ⚡ Сверхбыстрые видео-превью: Мгновенная загрузка превью без фризов и лишней нагрузки на процессор и память смартфона.
- ↔️ Листание постов влево и вправо: Полноэкранный пейджер с плавными свайпами между фото и видео во всех разделах (Лента, Авторы, Избранное, Коллекции, История просмотров).
- 🖼️ Мульти-медиа в одном посте: Удобная карусель с индикатором
1 / 4для постов с несколькими файлами. - ⭐ Любимые авторы: Компактная кнопка-звёздочка сверху справа для быстрого доступа ко всем любимым авторам и их свежему медиапотоку.
- 📜 Бесконечная подгрузка постов автора: Умная пагинация при прокрутке вниз загружает всю историю работ без ограничений.
- 🐾 Поддержка Pawchive: Интеграция с
pawchive.pwдля просмотра профилей авторов, связанных аккаунтов, тегов и работ с Patreon, Fanbox, Fantia, Discord, Boosty и др. - 🔍 Умный поиск и автодополнение: Интерактивные чипсы тегов с подсказками от активных API. Быстрое исключение (
-tag), добавление (+tag) или отправка в черный список по долгому тапу. - 🛡️ Продвинутый Blacklist / Whitelist: Фильтрация по тегам, категориям, рейтингу контента (safe/questionable/explicit), провайдерам и минимальному score.
- 🎬 Встроенный плеер: Удобное воспроизведение WebM / MP4, запоминание настроек звука, fullscreen и повтор.
- 💾 Менеджер загрузок и коллекции: Скачивание оригиналов в высоком качестве, тематические папки-коллекции и автозагрузка избранного.
- 🔄 Встроенное автообновление: Проверка и скачивание свежих релизов напрямую из личного репозитория Gitea.
🌐 Активные провайдеры
| Провайдер | Тип API | Назначение |
|---|---|---|
| Gelbooru | XML / JSON API | Основная база аниме-артов |
| Rule34 | Booru API | Популярный booru-источник |
| Realbooru | HTML Scraper | Фото и реалистичный контент |
| e621 / e926 | JSON API | Фурри- и антро-арт с богатой системой тегов |
| Pawchive | REST API v1 | Архивы авторов Patreon, Pixiv Fanbox, Fantia и др. |
📥 Скачать приложение
Готовые сборки для всех поддерживаемых платформ доступны на странице релизов:
🔗 Gitea Releases (RarDog/Lunaris)
- Android:
Lunaris-v2.0.3.apk - Linux (x64):
Lunaris-v2.0.3-linux-x64.tar.gz - Windows:
LunarisSetup-v2.0.3.exe/LunarisPortable-v2.0.3.zip
🛠️ Сборка из исходников
Требования
- Flutter SDK
>= 3.19.0 - OpenJDK 17
- Android SDK (для сборки APK)
- Clang / CMake / GTK-3 (для сборки под Linux)
Команды разработки
# Клонирование репозитория
git clone https://gitea.rardogsynapse.online/RarDog/Lunaris.git
cd Lunaris
# Установка зависимостей
flutter pub get
# Запуск тестов и анализатора
flutter analyze
flutter test
# Запуск на подключенном устройстве
flutter run
Сборка релизов
# Android APK
flutter build apk --release
# Linux x64 Bundle
flutter build linux --release
# Windows Bundle
flutter build windows --release
🏛️ Архитектура
lib/
├── app/ # Роутер, тема, локализация (RU/EN), анимации
├── backend/
│ ├── di/ # Riverpod providers для сервисов
│ ├── models/ # Post, ArtistProfile, AppSettings, AppUpdateInfo
│ ├── providers/ # Реализации API (Gelbooru, Rule34, Pawchive и др.)
│ ├── repositories/ # Доступ к локальной БД Isar
│ └── services/ # Бизнес-логика (Feed, Search, Favorites, Downloads, Updates)
├── core/ # Сеть (Dio), база данных (Isar), ошибки и кеши
├── features/ # Модули экранов (feed, post, artists, favorites, settings)
└── shared/widgets/ # Переиспользуемые виджеты (PostCard, MasonryGrid, TagChip)
🔒 Приватность и безопасность
- Полная автономность: Приложение не отправляет телеметрию и работает без внешних серверов-посредников.
- Локальное хранение: Все настройки, история поиска, черный список и избранное хранятся исключительно на вашем устройстве в локальной базе Isar.
- Бережное отношение к трафику: В ленте загружаются только оптимизированные превью. Тяжелые оригиналы и видео загружаются только при открытии или скачивании.