Что внутри проекта
Здесь только ключевые и технически сложные части, которые дают проекту устойчивость и масштабируемость в реальном использовании.
content_hash: сервер не хранит дубликаты и не тратит диск зря.CloudTune • проект в проде
CloudTune уже работает в проде: Flutter-клиент для Android и Windows, Go API, PostgreSQL, файловое хранилище и мониторинг через Telegram-бота. Это не концепт, а уже выложенный на магазины приложений продкут.
Здесь только ключевые и технически сложные части, которые дают проекту устойчивость и масштабируемость в реальном использовании.
content_hash: сервер не хранит дубликаты и не тратит диск зря.Вместо скриншотов ниже живые записи интерфейса: desktop-версия в GIF и Android-версия в видео.
Для установки скачайте архив desktop-сборки и распакуйте его на ПК. Актуальный релиз: 1.9.3+12 (обновлен 04.03.2026).
Скачать архив (.zip)Можно установить APK напрямую или скачать приложение из RuStore. Актуальный релиз: 1.9.3+12 (обновлен 04.03.2026).
Скачать APK Открыть в RuStoreИсходники, README и скрипты деплоя: github.com/epitaph76/cloudtune.
Redirect URI для Яндекс.Диска зафиксирован на https://oauth.yandex.ru/verification_code без переопределения через dart-define, сценарий оставлен только с ручным копированием ключа, а действие «Удалить ключ облака» доступно и в меню «Загрузить», и в окне ввода ключа.
Кнопка «Удалить ключ облака» перенесена только в окно ввода ключа, выровнена по высоте с полем ввода, а текст подсказки обновлен под сценарий копирования ключа со страницы Яндекса.
Для Яндекс.Диска добавлен callback deep link (автовозврат в приложение после входа) и действие выхода из облачного аккаунта через кнопку «Удалить ключ облака» в попапе подключения и в меню «Загрузить».
Обновлены Android и Windows артефакты до версии 1.9.0+9, синхронизированы ссылки на скачивание и подписи версии на лендинге.
Добавлен новый сценарий в кнопке «Загрузить»: подключение Яндекс.Диска через OAuth, рекурсивный скан облака с фильтром аудио, сравнение с уже импортированными треками, мультивыбор найденных файлов и сохранение выбранного только в локальную библиотеку.
Обновлены сборки приложения в репозитории, добавлена интеграция открытия OAuth-ссылок (url_launcher), улучшены auth/audio-сервисы, расширены локализации и тесты, а также внесены правки в мониторинг backend и Telegram-бот.
В API добавлены limit/offset/search для библиотек и плейлистов, клиент переведен на lazy-подгрузку, экран серверного хранилища декомпозирован на отдельные компоненты/сервисы, добавлены новые тесты и улучшена наблюдаемость upload-ошибок.
Добавлен запуск деплоя из бота: обновляются backend и лендинги, выполняются подробные post-deploy тесты API, а при ошибке автоматически выполняется rollback на предыдущий commit с отправкой причины в Telegram.
Добавлены bulk-операции для плейлистов, параллельные загрузки, ускоренная отдача файлов через Nginx и новые upload-метрики в мониторинге.
Бот переведен в отдельный systemd-сервис (вне Docker), добавлены карточки пользователя, файлы и плейлисты с постраничным просмотром.