Прокачай свою Яндекс Музыку: совместное прослушивание, новые темы, тексты песен и многое другое.
Готовые версии (билды) проекта автоматически собираются и доступны на вкладке Releases:
- 📦
yandex-music-sync-extension.zip— готовое расширение для быстрой установки в браузер (Chrome, Edge, Яндекс Браузер). - 🖥
yandex-music-sync-desktop.zip— утилита (патчер) для интеграции в официальное десктопное приложение Яндекс Музыки.
BetterYandexMusic расширяет возможности Яндекс Музыки. Проект добавляет функции совместного прослушивания, кастомизации интерфейса, отображения текстов и перевода песен, скробблинга, интеграции с RZT и SoundCloud. Панель управления удобно интегрируется в левый сайдбар.
Трансляция действий (воспроизведение, пауза, перемотка времени, переключение треков).
Изменение оформления через встроенные пресеты или конструктор «Своя тема».
Управление битрейтом и качеством воспроизводимого аудио из интерфейса.
Встроенный переводчик с поддержкой полноэкранного режима.
Отображение текстов песен из внешних баз для треков, у которых нет текста в Яндекс Музыке.
Полноэкранный плеер с поддержкой текстов от Genius. Позволяет не только читать текст, но и просматривать уникальные аннотации и факты о строчках песен прямо во время прослушивания.
Возможность задать время, через которое музыка плавно и постепенно остановится. Громкость будет затухать медленно, чтобы вы не проснулись от резкого выключения.
Автоматическая отправка прослушанных треков в профили Last.fm и ListenBrainz.
- Настройка прямо на странице настроек Яндекс Музыки (в разделе «Скроблинг»).
Интеграция с независимым музыкальным изданием «Риса за Творчество» — автоматический поиск и отображение рейтингов треков прямо в полноэкранном плеере.
- В полноэкранном режиме рядом с кнопкой перевода появляются три круговых бейджа с оценками.
Important
Для работы поиска и воспроизведения треков из SoundCloud необходим обход блокировки:
- VPN — поиск и воспроизведение работают корректно. Добавление трека в коллекцию через кнопку «+» иногда может не работать при использовании VPN.
- Zapret — поиск, воспроизведение и добавление в коллекцию работают полностью корректно. Рекомендуемый способ.
Возможность искать треки на SoundCloud прямо из интерфейса Яндекс Музыки, слушать их и добавлять в личную коллекцию Яндекса одним нажатием! Мод автоматически скачивает трек и загружает его в ваш плейлист "BetterYandexMusic".
Полноценная персональная статистика прослушиваний, собираемая прямо в расширении или десктопном приложении — без ожидания официальных итогов года.
- Обзор: Общее число треков, часы прослушивания, музыкальный психотип слушателя и личные рекорды (самый активный день, любимое время суток, соотношение будней/выходных).
- Топ артистов: Круговая диаграмма с самыми прослушиваемыми исполнителями.
- Топ треков: Список самых популярных треков с обложками и счётчиком воспроизведений.
- Жанровая палитра: Горизонтальный бар-чарт по жанрам, процент явного контента (explicit) и красивая карточка со смешением ваших любимых стилей.
- Музыкальный календарь: GitHub-style heatmap активности за последний год с интерактивными тултипами (дата, минуты прослушивания, количество треков, топ-трек дня) + сетка топ-треков по каждому месяцу.
- Активность: Графики активности по часам суток и дням недели.
- Истории (Stories): Пролистываемые карточки-итоги в стиле Instagram Stories с вашей персонализированной статистикой.
- Экспорт/Импорт данных: Возможность сохранить всю собранную статистику в JSON-файл и восстановить её на другом устройстве.
Возможность гибко увеличивать или уменьшать масштаб всех элементов приложения от 40% до 200%:
- Горячие клавиши: Ctrl + + (увеличить), Ctrl + - (уменьшить), Ctrl + 0 (сбросить на 100%), Ctrl + Колесо мыши.
- Всплывающий индикатор: Стильный бейдж с текущим процентом масштаба при переключении.
- Настройки: Удобный ползунок со шкалой и быстрыми пресетами (80%, 90%, 100%, 110%, 125%) в разделе настроек приложения.
- Discord Rich Presence: Отображение текущего трека, обложки и таймлайна в статусе Discord.
- Контейнеризация (Docker): Наличие Dockerfile и docker-compose.yml для развертывания сервера.
- Автопатчер Electron: Скрипт для интеграции кода в десктопное приложение.
- Подключение по ссылке: Доступ к комнатам через URL-адрес.
- Glassmorphism: Дизайн панели управления с эффектом размытия фона.
- Перенос плейлистов (Spotify / Apple Music): Встроенная утилита, чтобы в пару кликов перенести плейлист из другого сервиса или экспортировать свой.
- Мини-плеер поверх всех окон (Picture-in-Picture): Небольшой плавающий виджет с обложкой и управлением, который висит поверх других программ на рабочем столе.
- Глобальные горячие клавиши (Hotkeys): Кастомизация шорткатов (особенно для десктопного Electron-приложения), чтобы переключать треки или ставить лайк, не разворачивая приложение.
- Классический (старый) дизайн плеера: Возможность переключаться на старый визуальный стиль приложения Яндекс Музыки для тех, кто скучает по классическому интерфейсу.
📦 BetterYandexMusic
├── 📂 public/ # Фронтенд-интерфейс сервера (страницы комнат)
├── 📂 shared/ # Общая логика и UI (используется на всех платформах)
│ ├── 📂 wrapped/ # Local Wrapped — статистика и аналитика прослушиваний
│ │ ├── 📄 wrapped-db.js # База данных и вычисление статистики (IndexedDB)
│ │ ├── 📄 wrapped-charts.js # Рендеринг графиков и вкладок статистики
│ │ ├── 📄 wrapped-ui.js # UI обёртка, вкладки, кнопка в меню
│ │ ├── 📄 wrapped-stories.js # Stories-режим (пролистываемые итоги)
│ │ ├── 📄 wrapped-tracker.js # Трекинг прослушиваний в реальном времени
│ │ └── 📄 chart.js # Встроенная библиотека Chart.js
│ ├── 📂 fullscreen/ # Компоненты полноэкранного плеера (лирика, интерфейс)
│ ├── 📂 lyrics/ # Клиент LRCLib и рендер текстов песен
│ ├── 📂 translation/ # Перевод текстов + интеграция RZT-оценок в плеер
│ ├── 📄 rzt-api.js # Клиент API risazatvorchestvo.com (поиск, парсинг оценок)
│ ├── 📄 scrobbler.js # Скробблинг Last.fm и ListenBrainz
│ ├── 📄 settings-injector.js # Инжект настроек скробблинга на страницу настроек ЯМ
│ ├── 📄 soundcloud-api.js # Клиент SoundCloud API
│ ├── 📄 soundcloud-search.js # UI поиска и добавления треков из SoundCloud
│ ├── 📄 soundcloud-import.js # Импорт треков SoundCloud в коллекцию Яндекс Музыки
│ ├── 📄 themes.js # Кастомные темы оформления
│ ├── 📄 styles.js # Глобальные стили расширения
│ ├── 📄 player-faker.js # Эмуляция плеера для SoundCloud-треков
│ ├── 📄 navbar-sync.js # Кнопка синхронизации в навбаре
│ ├── 📄 sync-popover.js # Попап управления комнатой синхронизации
│ ├── 📄 theme-popover.js # Попап выбора темы
│ ├── 📄 quality-indicator.js # Индикатор и выбор качества аудио
│ ├── 📄 custom-audio.js # Кастомное аудио (для SoundCloud-треков)
│ └── 📄 md5.js # MD5-хэширование (для Last.fm API)
├── 📂 yandex-sync-electron/ # Скрипты инжекта и патчер десктопного приложения
│ └── 📂 src/
│ ├── 📂 preload/ # Preload-скрипты (Discord RPC, HTTP-сервер, мост API)
│ └── 📂 page/ # Скрипты веб-страницы (инициализация, монитор плеера)
├── 📂 yandex-sync-extension/ # Исходный код расширения для браузеров
│ ├── 📂 src/
│ │ ├── 📂 isolated/ # Скрипты изолированного контекста (скробблинг, переменные)
│ │ └── 📂 main/ # Скрипты основного контекста страницы
│ ├── 📄 background.js # Фоновый скрипт (RZT-запросы, API-проксирование)
│ ├── 📄 manifest.json # Манифест расширения
│ ├── 📄 isolated.js # Собранный изолированный бандл
│ └── 📄 main.js # Собранный основной бандл
├── 📂 yandex-sync-installer/ # Установщик для десктопного приложения
│ └── 📂 assets/ # Собранный desktop-sync.js для патчера
├── 📄 build.js # Скрипт-сборщик (компилирует shared код для всех платформ)
├── 📄 server.js # Node.js + Socket.io сервер координации клиентов
├── 📄 Dockerfile # Сборка контейнера сервера
└── 📄 docker-compose.yml # Файл быстрого старта Docker Compose
Important
Перед запуском синхронизации (подключением к комнате) обязательно включите любую песню, чтобы плеер Яндекс Музыки проинициализировался.
Готовые версии можно найти на вкладке Releases.
- Скачайте архив
yandex-music-sync-extension.zipиз последнего релиза. - Распакуйте его в удобную папку на компьютере.
- Откройте страницу управления расширениями в браузере (например,
chrome://extensions/). - Включите Режим разработчика (Developer mode) в правом верхнем углу.
- Нажмите Загрузить распакованное расширение (Load unpacked) и выберите папку, в которую вы распаковали архив.
- Откройте или обновите вкладку Яндекс Музыки.
Important
Перед установкой обязательно полностью закройте приложение Яндекс Музыка.
- Скачайте установщик для вашей ОС из последнего релиза:
- Windows: Скачайте и запустите
BetterYandexMusic Installer.exe. - Linux:
- Вариант А (Рекомендуемый — запуск AppImage в 1 клик):
- Установите библиотеку FUSE и выдайте права на запуск файла (нужно выполнить 1 раз):
sudo apt install -y libfuse2 chmod +x "BetterYandexMusic Installer-1.3.1.AppImage" - Выдайте права на папку Яндекс Музыки вашему пользователю (чтобы установщику не требовался root доступ):
sudo chown -R $USER:$USER "/opt/Яндекс Музыка"
- Запускайте установщик обычным двойным кликом или
./"BetterYandexMusic Installer-1.3.1.AppImage".
- Установите библиотеку FUSE и выдайте права на запуск файла (нужно выполнить 1 раз):
- Вариант Б (Запуск без установки дополнительных пакетов):
Запустите AppImage в режиме прямой распаковки:
sudo ./"BetterYandexMusic Installer-1.3.1.AppImage" --appimage-extract-and-run --no-sandbox - Вариант В (.deb пакет для Debian / Ubuntu / Kali):
Скачайте
.debфайл из релизов и установите через пакетный менеджер:sudo dpkg -i "BetterYandexMusic Installer-1.3.1-x64.deb" # или sudo apt install ./"BetterYandexMusic Installer-1.3.1-x64.deb"
- Вариант А (Рекомендуемый — запуск AppImage в 1 клик):
- macOS: Скачайте
BetterYandexMusic Installer.dmg, откройте его и перетащите приложение в папку "Программы" (Applications).[!WARNING] В macOS из-за системы защиты (Gatekeeper) может появиться ошибка "Приложение повреждено". Чтобы это исправить, откройте приложение Терминал и выполните команду:
xattr -cr "/Applications/BetterYandexMusic Installer.app"После этого запустите установщик из папки "Программы".
- Windows: Скачайте и запустите
- В окне установщика нажмите кнопку "Установить" и дождитесь завершения (появится зеленая кнопка "Готово!").
- Запустите Яндекс Музыку.
Этот способ нужен, если вы хотите вносить изменения в код проекта или запустить свой личный сервер синхронизации.
- Установите Node.js (v16+).
- Склонируйте репозиторий и установите зависимости:
npm install
- Запустите сервер:
- Обычный запуск:
npm start(сервер будет доступен по адресуhttp://localhost:3000). - Запуск с генерацией HTTPS (рекомендуется):
Скрипт автоматически создаст временный HTTPS домен (через Cloudflare Tunnel), который можно скопировать и вставить в мод. Это нужно для обхода ограничений браузеров.
npm run start:tunnel
- Обычный запуск:
docker-compose up -d --buildTip
Перед использованием локальных исходников обязательно скомпилируйте общие файлы командой npm run build.
- Для браузера: После выполнения сборки, загрузите папку
yandex-sync-extensionкак распакованное расширение в настройках браузера. - Для десктопа (Ручной скрипт патча):
- Windows / macOS: Перейдите в папку
yandex-sync-electronи запуститеnode patch.js(илиnode debug-patch.js). - Linux: Так как Яндекс Музыка установлена в системную директорию
/opt/, запустите через sudo:sudo env "PATH=$PATH" node patch.js
- Windows / macOS: Перейдите в папку
Проект распространяется по лицензии PolyForm Noncommercial 1.0.0.
Подробности в файле LICENSE.
Навайбкожено с ❤️ для всех любителей музыки. Приятного совместного прослушивания!




