142 lines
10 KiB
Markdown
142 lines
10 KiB
Markdown
# 🌙 Lunaris
|
||
|
||
<p align="center">
|
||
<img src="assets/branding/app_icon.png" width="128" height="128" alt="Lunaris Logo" />
|
||
</p>
|
||
|
||
<p align="center">
|
||
<strong>Современный кроссплатформенный клиент для Booru и Creator-архивов</strong><br>
|
||
Плавный Pinterest-стиль, поддержка фото, видео и GIF, умный черный список, встроенный менеджер загрузок и автообновление.
|
||
</p>
|
||
|
||
<p align="center">
|
||
<img src="https://img.shields.io/badge/Version-2.0.12-blueviolet?style=for-the-badge" alt="Version 2.0.12" />
|
||
<img src="https://img.shields.io/badge/Flutter-3.47+-02569B?style=for-the-badge&logo=flutter&logoColor=white" alt="Flutter" />
|
||
<img src="https://img.shields.io/badge/Platform-Android%20%7C%20Linux%20%7C%20Windows-brightgreen?style=for-the-badge" alt="Platforms" />
|
||
<img src="https://img.shields.io/badge/Gitea-RarDog%2FLunaris-orange?style=for-the-badge&logo=gitea&logoColor=white" alt="Gitea" />
|
||
</p>
|
||
|
||
---
|
||
|
||
## ✨ Основные возможности
|
||
|
||
- **⚡ Мгновенные подсказки тегов (0 мс) и постоянный файловый кэш**: Локальный JSON-кэш на телефоне и ПК обеспечивает мгновенный отклик при наборе, а Danbooru, Gelbooru, Moebooru и e621 динамически дополняют базу тегов.
|
||
- **🎨 Цветные бейджи категорий и подсветка совпадений**: Выделение введенных букв жирным цветом акцента и четкая цветовая палитра категорий (художник — красный, персонаж — зеленый, копирайт — фиолетовый, вид — голубой).
|
||
- **📚 Расширенная история поиска и гибкие настройки**: До 2000 записей истории и до 20000 закэшированных тегов с ручным управлением и кнопками очистки в Настройках.
|
||
- **🎯 Общие модификаторы в мультипоиске**: При вводе `cat and dog anthro` модификатор `anthro` автоматически применится к обоим тегам (`cat anthro` + `dog anthro`).
|
||
- **🔀 Раздельный мульти-поиск по тегам через `and`**: Оператор `and` опрашивает серверную базу по каждому тегу независимо и плавно чередует посты обоих тегов в общей ленте.
|
||
- **🌐 Pawchive в главной ленте**: Глобальная лента недавних постов с Pawchive подключена прямо в общий Feed наравне с Rule34, Gelbooru, e621 и Realbooru.
|
||
- **🏷️ Интерактивные теги автора**: Быстрая фильтрация по темам с живыми счётчиками постов (`#tag (count)`).
|
||
- **📢 Анонсы и новости авторов**: Всплывающее окно анонсов автора с датами и текстом обращений к аудитории.
|
||
- **⚡ Мгновенный фильтр фото, видео и GIF**: Локальная быстрая фильтрация постов автора без задержек.
|
||
- **📱 Плавная лента в стиле 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.10.apk`
|
||
- **Linux (x64)**: `Lunaris-v2.0.10-linux-x64.tar.gz`
|
||
- **Windows**: `LunarisSetup-v2.0.10.exe` / `LunarisPortable-v2.0.10.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.
|
||
- **Бережное отношение к трафику**: В ленте загружаются только оптимизированные превью. Тяжелые оригиналы и видео загружаются только при открытии или скачивании.
|