Экстремально легковесный десктопный клиент YouTube Music для Windows. Написан на .NET 11, Avalonia UI 12 всё это с Native AOT.
Главная цель проекта — бескомпромиссная оптимизация системных ресурсов (CPU / RAM / Сеть). За счёт полного отказа от Electron, WebView и JIT-компиляции. LMP запускается мгновенно и потребляет в среднем ~120–200 МБ RAM (в свёрнутом виде ~60–100 МБ). Размер дистрибутива — всего ~16 МБ в архиве (60 МБ на диске).
- Сверхбыстрый Native AOT: Проект публикуется напрямую в нативный машинный код через компилятор ILC. Нулевое время прогрева JIT, агрессивный тримминг неиспользуемых сборок и минимальный отпечаток в памяти.
- Собственный низкоуровневый аудио-пайплайн: Отказ от сторонних тяжелых плееров и плееров на базе LibVLC. Прямой вывод через WinMM/WASAPI + декодеры
Concentus(Opus) /SharpJaad(AAC) с ручным управлением кольцевыми PCM-буферами (LockFreeRingBuffer). - Zero-Reflection MVVM: Полный отказ от устаревшего ReactiveUI и динамической рефлексии в пользу Source Generators (
CommunityToolkit.Mvvm). - Умный потоковый стриминг: Треки загружаются легковесными чанками с упреждающим чтением, сеть стабильна и не скачем все плавно! Мгновенный старт без ожидания полной загрузки файла.
- Агрессивный кэш: Двухуровневое кэширование (RAM + Диск) аудиосегментов, обложек и результатов поиска.
- YT-Bypass: Встроенные C#-дешифраторы
sig,n-token,poToken. Обход bot-detection через динамическую ротацию клиентских профилей (Android VR, Web, iOS). Любой трек заиграет. - Высокопроизводительная Offline-First БД: SQLite на базе прямого ADO.NET без накладных расходов.
- Виртуализация списков на 5000+ треков: Плавная прокрутка огромных плейлистов без фризов благодаря виртуализации элементов в
Avalonia 12.
- Аппаратная нормализация звука (EBU R128 / LUFS)
- Управление локальными и облачными плейлистами (редактирование, синхронизация)
- Очередь воспроизведения (алгоритм pre-shuffle при перемешивании)
- Авторизация через Google Cookies (SAPISID)
- Двусторонняя синхронизация практически всего
- Поддержка нескольких аккаунтов
- Воспроизведение треков напрямую с серверов YouTube
- Многопоточное кэширование аудио и обложек
- История прослушиваний (Recently Played)
- Полнотекстовый поиск по базе YT Music и локальной библиотеке
- Мониторинг потребления ОЗУ и авто-компактификация памяти
- Встроенная система уведомлений
Проект находится в активной разработке.
Требования:
- Windows 10/11 (x64)
- .NET 11.0 SDK
- 2 ГБ ОЗУ
- ЦПУ 2х ядерный
Быстрый старт (Debug):
git clone https://github.com/Scream034/LMP.git
cd LMP
dotnet run --project LMP.csproj -c DebugСкрипты сборки (build.bat):
build.bat publish(илиbuild.bat aot) — основная релизная сборка Native AOT. Компилирует проект напрямую в нативный машинный код через ILC в папку./publishбез зависимостей от установленного .NET Runtime.build.bat debug— сборка для разработки и отладки с поддержкой горячей перезагрузки (Hot Reload).build.bat optimized— отладочная сборка с оптимизациями компилятора (-p:Optimize=true).build.bat release— быстрая проверка релизной компиляции без публикации.build.bat clean— полная очистка всех артефактов компиляции (bin,obj,publish*,*.7z).
В конфигурации Debug нажмите F9 для открытия окна расширенной системной диагностики.
Знаю тесты не прям отличные, однако критичные места проверяет.
Спасибо за использование <3!