main
🎵 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+) версию.
- Интеграция с 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 (или через обратный прокси).
🔌 API Эндпоинты
GET /— Веб-интерфейс управления.POST /api/download— Запуск задачи на скачивание по ссылке:{ "url": "https://music.yandex.ru/album/123/track/456" }POST /api/sync/yandex-likes— Запуск полной синхронизации понравившихся треков из Яндекс Музыки.GET /api/tasks— Список активных задач и прогресс выполнения.GET /api/history— История и статистика загруженной музыки.
Description
Multi-source music importer & downloader for Navidrome (Yandex Music, Spotify, Apple Music, YouTube Music)
56 KiB
0 Stars
1 Watchers
0 Forks
Languages
Python
70.8%
CSS
10.4%
JavaScript
9.6%
HTML
7.9%
Dockerfile
1.3%