3b3d591bfdcd91bcc29bc9da467c310005a2a13a
🎵 Navidrome Music Sync
Мультисервисный импортер и синхронизатор музыки для Navidrome.
Позволяет в один клик или по расписанию импортировать треки, альбомы и плейлисты из Яндекс Музыки, Spotify, Apple Music и YouTube Music напрямую в медиатеку Navidrome с сохранением оригинальных тегов, обложек в высоком разрешении и синхронизированных караоке-текстов (.lrc).
🚀 Возможности
- Прямой импорт из Яндекс Музыки (320 kbps):
- Скачивание отдельных треков, альбомов и плейлистов.
- Полная синхронизация личного плейлиста «Мне нравится» (880+ треков).
- Импорт из Spotify и Apple Music:
- Без необходимости платных подписок и зарубежных аккаунтов.
- Извлечение точных метаданных через официальные открытые каталоги и аудио-матчинг с YouTube Music CDN (Opus 160 / MP3 320k).
- Обход цензуры и региональных блокировок:
- Если трек в каталоге РФ заблокирован или зацензурен («запикан»), движок автоматически переключается на глобальные источники и скачивает полноценную Explicit (18+) версию.
- Мультисервисный поиск & Предпрослушивание:
- Параллельный поиск по Яндекс Музыке, SoundCloud, YouTube и Apple Music.
- Сквозное ранжирование по точности совпадения: лучшие совпадения сразу со всех платформ показываются вверху.
- Определение цензуры: бейджи
🔞 18+ Explicit(без цензуры) и⚠️ Clean(зацензуренная версия). - Встроенный аудиоплеер предпрослушивания с возможностью перемотки на лету (HTTP Range 206).
- Прямое скачивание в браузер или добавление в очередь сервера в 1 клик.
- 🌊 Моя Волна (Smart Wave V1):
- Автономный генератор персональных рекомендаций на основе профиля вкусов (звёздочки, скробблы, топ артистов из
navidrome.db). - Скользящий буфер на 25 треков в
/music/AI Recommendations/Моя Волна/(~180 МБ). - Авто-ротация: если трек лайкнут в Navidrome — переносится в основную библиотеку навсегда; если лежит более 7 дней без лайка — автоматически удаляется.
- Автоматическая генерация умного плейлиста
Моя Волна.nspиМоя Волна.m3u8для всех Subsonic клиентов.
- Автономный генератор персональных рекомендаций на основе профиля вкусов (звёздочки, скробблы, топ артистов из
- Интеграция с Navidrome:
- Организация каталога по стандарту:
/music/{Artist}/{Album}/{Track_Number} - {Title}.mp3. - Автоматическое скачивание построчных караоке-текстов (
.lrc). - Уведомление Navidrome через Subsonic API (
startScan) сразу после завершения загрузки.
- Организация каталога по стандарту:
- Веб-интерфейс & REST API:
- Адаптивный темный Web UI с прогресс-баром задач и историей загрузок.
- Фоновый асинхронный воркер без блокировки интерфейса.
- Дедупликация (не скачивает повторно треки, которые уже есть в библиотеке).
🛠️ Установка и запуск
1. Конфигурация (.env)
Скопируйте пример конфигурации и укажите токен Яндекс Музыки:
cp .env.example .env
2. Запуск через Docker Compose
docker compose up -d --build
Сервис доступен по адресу: http://127.0.0.1:8005 (или https://music.qpid.pro/sync/).
🔌 API Эндпоинты
GET /— Веб-интерфейс управления.GET /api/search?q={query}— Сквозной поиск по всем платформам с ранжированием.GET /api/stream?url={url}— Аудио-стриминг для плеера с поддержкой Range-запросов и перемотки.GET /api/direct-download?url={url}— Прямая отдача файла в браузер.POST /api/download— Запуск задачи на скачивание по ссылке:{ "url": "https://music.yandex.ru/album/123/track/456" }POST /api/sync/yandex-likes— Запуск полной синхронизации понравившихся треков из Яндекс Музыки.GET /api/wave/status— Статус буфера «Моей Волны» и якорные артисты.POST /api/wave/generate— Генерация свежих рекомендаций и наполнение буфера Волны.POST /api/wave/rotate— Ротация буфера (перенос лайкнутых в библиотеку, очистка устаревших).GET /api/tasks— Список активных задач и прогресс выполнения.GET /api/history— История и статистика загруженной музыки.
Description
Multi-source music importer & downloader for Navidrome (Yandex Music, Spotify, Apple Music, YouTube Music)
209 KiB
0 Stars
1 Watchers
0 Forks
Languages
Python
67.5%
JavaScript
13.2%
CSS
9.9%
HTML
9.1%
Dockerfile
0.3%