О проекте

Что такое VKMuX

Назначение

VKMuX — десктоп-клиент VK Музыки. Название образовано от VK + MuXolotl. Приложение работает полностью локально — все запросы идут напрямую к VK API с вашего ПК, без промежуточных серверов.

Проект создан как самостоятельная альтернатива с открытым исходным кодом. Rust-ядро (vkmux-vk) реализует только необходимые методы VK API — без внешних VK SDK, без ненужных модулей.

Возможности

  • Авторизация по логину/паролю (с 2FA и капчей) или по токену
  • Библиотека, плейлисты, поиск, рекомендации, популярное
  • Текст песни — караоке для синхронизированных, статика для остальных
  • Системный трей с управлением воспроизведением
  • Мини-плеер у трея (по клику на иконку)
  • Настраиваемое поведение при закрытии окна (спрашивать / трей / выход)
  • Перемешивание, повтор (все / один), горячие клавиши

Архитектура

vkmux-vk Rust

Самостоятельное ядро VK API. Авторизация (Android-эмуляция, GCM, OAuth, 2FA, капча), аудио-методы, protobuf-кодирование, управление токенами. Не зависит от Tauri/GUI.

src-tauri Rust + Tauri 2

Оболочка десктоп-приложения. Tauri-команды (IPC), системный трей, мини-плеер (поповер), JSON KV-хранилище настроек, обработка оконных событий.

src Svelte 5 + TS

Фронтенд: авторизация, библиотека, плеер, тексты песен, настройки. Svelte 5 runes для реактивного состояния. Vite для сборки.

Стек

Слой Технологии
Ядро VK API Rust (крейт vkmux-vk, без VK SDK)
Desktop shell Tauri 2
UI Svelte 5 + TypeScript + Vite
Шрифт Inter Variable

Структура проекта

VKMuX/
├── crates/vkmux-vk/     # Rust-ядро: авторизация, аудио, токены, protobuf
├── src-tauri/            # Tauri: команды, трей, мини-плеер, настройки
├── src/
│   ├── components/       # Svelte-компоненты: плеер, список треков, иконки
│   ├── lib/              # Состояние, плеер, мост now-playing, VK API обёртка
│   └── views/            # Страницы: библиотека, авторизация, настройки
├── docs/                 # Этот сайт (GitHub Pages)
├── index.html            # Главное окно приложения
└── mini.html             # Мини-плеер

Автор

M
MuXolotl
Разработка, дизайн, архитектура