Skip to content

Scream034/LMP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

209 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lite Music Player (LMP)

Легковесный десктопный клиент YouTube Music для Windows. Написан на .NET 10 и Avalonia UI. Главная цель проекта — экстремальная оптимизация ресурсов (CPU/RAM/Сеть). В отличие от официального PWA и Electron-клиентов, LMP потребляет в среднем 235 МБ RAM (в свернутом виде падает до 180 МБ).

⚡ Под капотом

  • Свой аудио-пайплайн: Отказ от LibVLC. Используется связка NAudio + Concentus (Opus) / SharpJaad (AAC) с ручным управлением PCM-буферами.
  • Умный стриминг: Треки грузятся чанками с упреждающим чтением. Мгновенный старт без ожидания полной загрузки.
  • Агрессивный кэш: Двойное кэширование (RAM + Диск) аудио, изображений и результатов поиска.
  • YT-Bypass: Встроенные C#-дешифраторы sig и n-token, обход bot-detection через ротацию клиентов (Android VR, Web, iOS).
  • Offline-First БД: SQLite + EF Core с поддержкой полнотекстового поиска (FTS5).

🛠 Текущий статус (Март 2026)

Проект в активной разработке. Базовый фундамент готов, идет наращивание UI-фич.

Что уже работает:

  • Воспроизведение треков напрямую с серверов YouTube
  • Многопоточное кэширование аудио и обложек
  • Поиск по базе YT Music и локальной библиотеке
  • Управление плейлистами с ютуба и локально
  • Авторизация через Google Cookies (SAPISID)
  • Двусторонняя синхронизация лайков и плейлистов
  • История прослушиваний (Recently Played)
  • Мониторинг памяти и управление GC

🗺 Roadmap (Ближайшие планы)

Статус Фича Описание
🔄 Радио (Mixes) Генерация бесконечного плейлиста "Похожее" на основе текущего трека.
📅 Глобальные хоткеи Управление плеером в фоновом режиме.
🚀 Эквалайзер Базовый 5-полосный EQ (интеграция в пайплайн NAudio).
🚀 Импорт плейлистов Парсинг и перенос ссылок из Spotify/Apple Music.
🚀 Главная страница с рекомендациями Персонализированная подборка треков, альбомов и артистов (Как любимый Youtube Music).

🔧 Сборка и запуск

Требования:

  • Windows 10/11 (x64)
  • .NET 10.0 SDK

Быстрый старт из консоли:

git clone https://github.com/Scream034/LMP.git
cd LMP
dotnet run --project LMP.csproj -c Debug

Скрипты сборки (в корне проекта):

  • build.bat debug — обычная сборка с Hot Reload.
  • build.bat optimized — Debug-сборка с оптимизациями компилятора (для тестов производительности).
  • build.bat release — релизная сборка.
  • build.bat publish — собирает Portable-версию (Self-Contained) в папку publish и пакует в .7z (не требует установленного .NET на ПК).
  • build.bat clean — очистка bin / obj.

📜 Заметка разработчикам

Если вы хотите помочь с разработкой или протестировать аудио-пайплайн: В Debug конфигурации нажмите F9 для открытия окна отладки (состояние кэшей, принудительный GC) или F10 для запуска интеграционных тестов дешифраторов без UI.

Packages

 
 
 

Contributors