Яндекс Музыка сдаёт позиции. На платформу всё сильнее давят, проблемы с лицензированием растут, будущее под вопросом. Если ты был верным подписчиком с сотнями избранных треков и десятками плейлистов, вопрос не в том, стоит ли переходить, а в том, как перейти, не потеряв всё, что ты собирал годами. Большинство стриминговых сервисов специально усложняют этот процесс: твоя библиотека заперта за проприетарным API, а перенос куда-то ещё требует часов ручного копирования, поиска треков по одному на другой платформе и пересоздания плейлистов с нуля.
Для этого и существует music-sync. Инструмент полностью автоматизирует перенос библиотеки из Яндекс Музыки в Deezer за считанные минуты — без ручной работы, без потерянных данных, без брошенных плейлистов. Он разбирается с тем, что стриминговые сервисы намеренно прячут: несовпадения ID треков, различия в региональной доступности, логику дедупликации и умный подбор замен, когда точного совпадения на целевой платформе нет. В этом руководстве ты узнаешь, как устроен music-sync, как настроить его за 5 минут, какие данные переносятся и как они защищены, и что делать с нестандартными ситуациями вроде региональных различий и недоступных треков.
- Что делает music-sync
- Что переносится
- Установка и настройка
- Что понадобится
- Шаг 1: Клонирование и установка
- Шаг 2: Авторизация в Яндекс Музыке
- Шаг 3: Авторизация в Deezer
- Как пользоваться music-sync
- Полный перенос библиотеки (самый частый сценарий)
- Перенос только избранного (выборочно)
- Инкрементальная синхронизация
- Частые вопросы
- Какие данные хранятся локально?
- Что происходит с треками, которых нет в Deezer?
- Работает ли это с другими стриминговыми сервисами?
- Итог
Что делает music-sync

music-sync — это инструмент командной строки на Python, который подключается к твоему аккаунту Яндекс Музыки, извлекает музыкальные данные, ищет соответствующие треки в Deezer и создаёт аналогичные плейлисты и избранное. Он справляется с тем, что сервисы намеренно усложняют.
Что переносится
- Лайкнутые треки → добавляются в избранное Deezer с подбором альтернатив
- Плейлисты → создаются новые плейлисты в Deezer с той же структурой и порядком треков
- Лайкнутые исполнители и альбомы → экспортируются в виде списков для ручного добавления в избранное
- Дедупликация → пропускает треки, которые уже есть в избранном Deezer, чтобы не плодить дубли
- Механизм повторных попыток → пробует несколько стратегий поиска для ненайденных треков
Установка и настройка
Что понадобится
- Python 3.8 или новее
- pip (менеджер пакетов Python)
- Аккаунт Яндекс Музыки (бесплатный или премиум)
- Аккаунт Deezer (бесплатного тарифа достаточно)
- ~5 минут на настройку
Шаг 1: Клонирование и установка
Склонируй репозиторий music-sync и установи зависимости:
git clone https://github.com/ilia-ae/music-sync.git
cd music-sync
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env Шаг 2: Авторизация в Яндекс Музыке
Яндекс Музыка использует OAuth для безопасной аутентификации:
python3 get_token.py Браузер по умолчанию откроется автоматически. Войди в свой аккаунт Яндекса, разреши доступ, и скрипт сам сохранит OAuth-токен в .env.
Шаг 3: Авторизация в Deezer
С Deezer чуть сложнее. Тебе нужно достать ARL-куку из браузера:
- Открой https://www.deezer.com в браузере и войди в аккаунт
- Открой DevTools (нажми F12)
- Перейди на вкладку Application → Cookies → deezer.com
- Найди куку с именем arl и скопируй её значение
- Запусти скрипт авторизации Deezer:
python3 deezer_auth.py Как пользоваться music-sync
Полный перенос библиотеки (самый частый сценарий)
Ситуация: У тебя 240 лайкнутых треков, 12 плейлистов, 50 любимых исполнителей в Яндекс Музыке. Ты хочешь перейти на Deezer.
Процесс:
- Запусти yandex_export.py → извлечёт все данные (5 секунд)
- Запусти sync.py → найдёт совпадения для ~95% треков (2 минуты)
- Посмотри sync_report.json → увидишь, что не нашлось
- Запусти retry_missing.py → подберёт альтернативные версии (1 минута)
- Запусти apply_retry.py → добавит их в Deezer (30 секунд)
Результат: Вся твоя библиотека теперь в Deezer, плейлисты на месте, ноль ручной работы, кроме запуска 5 команд.
Перенос только избранного (выборочно)
Перед запуском sync.py открой data/yandex_export.json и удали треки, которые не нужны. Оставь только самое любимое. Затем запусти sync.py как обычно — синхронизируются только оставшиеся треки.
Инкрементальная синхронизация
Запусти yandex_export.py ещё раз, чтобы получить актуальные данные. Затем запусти sync.py — он автоматически пропустит дубликаты и ранее синхронизированные треки. В Deezer добавятся только новые треки.
Частые вопросы
Какие данные хранятся локально?
Все данные из Яндекс Музыки и Deezer обрабатываются локально на твоём компьютере. В Deezer API уходят только поисковые запросы — имя исполнителя и название трека, больше ничего. Сама библиотека не покидает твой компьютер. OAuth-токены и ARL-куки хранятся в локальном файле .env и никуда не загружаются.
Что происходит с треками, которых нет в Deezer?
Они записываются в sync_report.json как «missed_tracks». Можно запустить retry_missing.py, чтобы попробовать альтернативные стратегии поиска. Если трек всё равно не находится, решай сам — пропустить его или поискать вручную в Deezer.
Работает ли это с другими стриминговыми сервисами?
Пока что music-sync поддерживает перенос из Яндекс Музыки в Deezer из коробки. Поддержка Spotify и Apple Music в планах. Архитектура модульная, так что добавить новые сервисы несложно.
Итог
Если ты застрял на Яндекс Музыке, потому что ручной перенос казался неподъёмным, music-sync убирает это препятствие. Неважно, 50 у тебя любимых треков или 500 — весь процесс займёт минуты, а не часы.

