Что такое MusiMuX
Настольный музыкальный клиент, который делает один человек для себя и для тех, кому не хватает нормального плеера на ПК.
Название
Musi — от music, MuX — от моего ника, MuXolotl. Началось всё с простого желания: слушать музыку не из вкладки браузера. Хотелось отдельное окно, медиа-клавиши, трей с мини-плеером, тексты песен и нормальное скачивание — то есть всё то, что в вебе либо неудобно, либо невозможно в принципе.
Как устроено
Главное: у MusiMuX нет своего сервера. Когда вы входите в аккаунт, открываете каталог или включаете трек, приложение обращается к VK напрямую с вашего компьютера. Я физически не могу увидеть ваши запросы, токены и историю — им просто некуда мне отправляться.
Токены аккаунтов, настройки, кеш обложек и скачанные файлы лежат у вас на диске. Для работы нужен интернет и аккаунт VK: офлайн-плеером для локальных файлов MusiMuX не является. Что приложение отправляет в VK от вашего имени — например, историю прослушивания или трансляцию трека в статус, — настраивается, а трансляция и вовсе выключена по умолчанию.
Единственное исключение из «только VK» — тексты песен. Если у VK текста нет, приложение спрашивает открытые каталоги текстов (среди них LRCLIB, Genius, NetEase и другие) и передаёт им только исполнителя и название трека: ни токен, ни аккаунт, ни история туда не уходят.
Технологии
Я специально не стал брать готовые библиотеки для работы с VK: ядро на Rust реализует только те методы, которые реально нужны плееру. Меньше чужого кода — меньше сюрпризов.
- Ядро
- Rust · собственный крейт: авторизация, методы API, protobuf
- Оболочка
- Tauri 2: окно, трей, мини-плеер, автообновления
- Интерфейс
- Svelte 5 + TypeScript, сборка Vite
Возможности
- Вход по логину и паролю — код подтверждения любым способом, который разрешает VK, — или по готовому токену
- Несколько аккаунтов с переключением без перезапуска и повторного ввода пароля
- «Моя музыка», альбомы, страницы исполнителей и кураторов
- Вкладки «Недавнее» и «Подписки»: прослушанное и музыканты с кураторами, на которых вы подписаны
- Создание и редактирование плейлистов, добавление треков и фильтры «Все», «Мои» и «Добавленные»
- Главная, Обзор и Рекомендации: подборки, миксы с оценкой «Не нравится», новинки, чарты, жанры
- Один поиск в шапке: область «Вся музыка» или «Моя музыка», подсказки по мере набора и отключаемая локальная история запросов отдельно для каждого аккаунта
- Ссылки VK, вставленные в поиск: трек, плейлист, альбом, исполнитель, куратор и раздел открываются сразу, а ссылка на трек — с окном трека, действиями и похожими треками
- Страницы исполнителей: «Микс по артисту», копирование ссылки и переход в VK
- Меню трека: похожие треки, ссылка на трек, альбом с переходом на его страницу и причина, если трек недоступен
- Текст песни из десяти источников: варианты по мере ответа, синхронизированный выбирается сам, меню с выбором источника, строки следуют за треком, выравнивание по центру или слева и экран «Сейчас играет»
- Скачивание треков, плейлистов и альбомов в MP3 с тегами
- Загрузка собственных MP3 в «Мою музыку» — до 200 МБ на файл, с очередью, прогрессом, редактированием названия и исполнителя, отменой и повтором
- Эквалайзер и кроссфейд между треками
- Мини-плеер у трея, медиа-клавиши и свои глобальные сочетания
- На Windows — текущий трек в системной медиапанели, кнопки управления в миниатюре на панели задач и собственные название и значок в микшере громкости
- Трансляция текущего трека в статус (по желанию)
- Автообновления с GitHub Releases
Обратная связь
Ошибки — в Issues, идеи и вопросы — в Discussions. Список изменений по версиям — в Releases.
Новости проекта выходят в Telegram-канале @MusiMuX, написать автору напрямую — @Politrees2.
Лицензия
Приложение бесплатное, его исходный код я не публикую. А вот сайт и документацию по API из публичного репозитория можно использовать свободно — они лежат под лицензией MIT.