# 🌙 Lunaris
Современный кроссплатформенный клиент для Booru и Creator-архивов
Плавный Pinterest-стиль, поддержка фото, видео и GIF, умный черный список, встроенный менеджер загрузок и автообновление.
---
## ✨ Основные возможности
- **🌐 Общая лента Pawchive**: Недавние посты со всех платформ прямо в главной ленте (Feed) с поддержкой поиска.
- **🏷️ Интерактивные теги автора**: Быстрая фильтрация по темам с живыми счётчиками постов (`#tag (count)`).
- **📢 Анонсы и новости авторов**: Всплывающее окно анонсов автора с датами и текстом обращений к аудитории.
- **🔗 Связанные аккаунты**: Удобный переход между профилями автора на разных платформах (Patreon, Fanbox, Discord и др.).
- **🎬 Серверная фильтрация по типу медиа**: Поиск фото, видео и GIF по всей глубине архива автора через API.
- **📱 Плавная лента в стиле Pinterest**: Masonry-сетка с переключением режима (Masonry, 1:1 Сетка, Список) в шапке ленты.
- **⚡ Сверхбыстрые видео-превью**: Мгновенная загрузка превью без фризов и лишней нагрузки на процессор и память смартфона.
- **↔️ Листание постов влево и вправо**: Полноэкранный пейджер с плавными свайпами между фото и видео во всех разделах.
- **❤️ Двойной тап для лайка и свайп вниз для закрытия**: Анимированное сердечко по двойному тапу и закрытие экрана просмотра свайпом вниз.
- **📤 Прямая отправка файла (Share)**: Мгновенный экспорт оригинальных медиафайлов через системное меню «Поделиться».
- **🔖 Сохраненные поисковые пресеты**: Быстрое сохранение комбинаций тегов и фильтров в закладки.
- **📁 Умная структура папок скачивания**: Настраиваемые шаблоны поддиректорий (`{Artist}`, `{Provider}`, `{Service}`, `{ID}`, `{Date}`).
- **🗑️ Менеджер кэша**: Детальная визуализация занятой памяти и выборочная очистка.
- **📦 Бэкап и синхронизация**: Экспорт и импорт полной конфигурации в JSON-файл для переноса на другие устройства.
- **🌑 AMOLED Pure Black тема**: Истинно черный фон (`#000000`) для экономии батареи на OLED дисплеях.
- **🎨 Динамические цвета Material You**: Поддержка системной палитры Android из обоев устройства.
- **⭐ Любимые авторы**: Компактная кнопка-звёздочка сверху справа для быстрого доступа ко всем любимым авторам.
- **🏷️ Мультивыбор платформ**: Выбор нескольких платформ (Patreon, Fanbox, Fantia, Boosty, Discord).
- **📜 Бесконечная подгрузка постов автора**: Умная пагинация при прокрутке вниз загружает всю историю работ.
- **🔍 Умный поиск и автодополнение**: Интерактивные чипсы тегов с подсказками от активных API.
- **🛡️ Продвинутый Blacklist / Whitelist**: Фильтрация по тегам, категориям, рейтингу контента и минимальному 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)](https://gitea.rardogsynapse.online/RarDog/Lunaris/releases)**
- **Android**: `Lunaris-v2.0.6.apk`
- **Linux (x64)**: `Lunaris-v2.0.6-linux-x64.tar.gz`
- **Windows**: `LunarisSetup-v2.0.6.exe` / `LunarisPortable-v2.0.6.zip`
---
## 🛠️ Сборка из исходников
### Требования
- Flutter SDK `>= 3.19.0`
- OpenJDK 17
- Android SDK (для сборки APK)
- Clang / CMake / GTK-3 (для сборки под Linux)
### Команды разработки
```bash
# Клонирование репозитория
git clone https://gitea.rardogsynapse.online/RarDog/Lunaris.git
cd Lunaris
# Установка зависимостей
flutter pub get
# Запуск тестов и анализатора
flutter analyze
flutter test
# Запуск на подключенном устройстве
flutter run
```
### Сборка релизов
```bash
# 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.
- **Бережное отношение к трафику**: В ленте загружаются только оптимизированные превью. Тяжелые оригиналы и видео загружаются только при открытии или скачивании.