Какую проблему решит эта фича?
Сейчас авторизация в LMP требует от пользователя ручного копирования cookie-заголовков через инструменты разработчика (F12) или сторонние экспортеры куков. Это сложный процесс (UX bottleneck), вызывающий трудности у обычных пользователей и часто приводящий к копированию лишних конфиденциальных данных.
Описание предлагаемого решения
Предлагается разработать легковесное браузерное расширение (совместимое с Chrome, Edge, Brave, Opera, Firefox) под Manifest V3, которое будет автоматизировать передачу авторизационных куков в LMP.
Архитектура решения состоит из двух частей:
-
Локальный Web-сервер в LMP (Receiver):
- Внутри
CookieAuthService (или в виде фонового hosted-сервиса) при открытии окна авторизации запускается микро-сервер на базе System.Net.HttpListener (например, на локальном порту 127.0.0.1:40340).
- API слушает только один эндпоинт:
POST /api/auth.
- Сервер должен обязательно поддерживать CORS для ответов расширению и проверять происхождение запроса (Origin) или использовать простой динамический токен безопасности, генерируемый LMP.
-
Браузерное расширение (Manifest V3 Sender):
- При нажатии на кнопку расширения на вкладке YouTube/YouTube Music оно запрашивает доступ к
chrome.cookies для домена .youtube.com.
- Расширение извлекает исключительно критически важные для плеера куки:
SAPISID, SID, HSID, SSID, APISID, __Secure-1PSID, __Secure-3PSID, __Secure-1PSIDTS (минимизация доступа к личным данным).
- Формирует JSON и отправляет его на
POST http://127.0.0.1:40340/api/auth.
- В случае успеха сообщает пользователю: «Авторизация в LMP выполнена!».
Альтернативный (клипборд) вариант:
Если порт заблокирован брандмауэром, расширение просто форматирует валидный заголовок в буфер обмена, а LMP при активации окна парсит буфер на лету и предлагает войти в один клик.
Безопасность и приватность (Security Concerns)
- Минимизация данных: Расширение не должно иметь доступа к паролям, истории или другим сайтам. Только куки YouTube Music.
- Локальный листенер:
HttpListener должен биндиться строго на 127.0.0.1 / localhost (не на 0.0.0.0), чтобы закрыть доступ из внешней сети.
- Автовыключение: Локальный сервер LMP должен работать только тогда, когда открыто окно авторизации, и выключаться сразу после успешного получения токенов или закрытия окна.
Какую проблему решит эта фича?
Сейчас авторизация в LMP требует от пользователя ручного копирования cookie-заголовков через инструменты разработчика (F12) или сторонние экспортеры куков. Это сложный процесс (UX bottleneck), вызывающий трудности у обычных пользователей и часто приводящий к копированию лишних конфиденциальных данных.
Описание предлагаемого решения
Предлагается разработать легковесное браузерное расширение (совместимое с Chrome, Edge, Brave, Opera, Firefox) под Manifest V3, которое будет автоматизировать передачу авторизационных куков в LMP.
Архитектура решения состоит из двух частей:
Локальный Web-сервер в LMP (Receiver):
CookieAuthService(или в виде фонового hosted-сервиса) при открытии окна авторизации запускается микро-сервер на базеSystem.Net.HttpListener(например, на локальном порту127.0.0.1:40340).POST /api/auth.Браузерное расширение (Manifest V3 Sender):
chrome.cookiesдля домена.youtube.com.SAPISID,SID,HSID,SSID,APISID,__Secure-1PSID,__Secure-3PSID,__Secure-1PSIDTS(минимизация доступа к личным данным).POST http://127.0.0.1:40340/api/auth.Альтернативный (клипборд) вариант:
Если порт заблокирован брандмауэром, расширение просто форматирует валидный заголовок в буфер обмена, а LMP при активации окна парсит буфер на лету и предлагает войти в один клик.
Безопасность и приватность (Security Concerns)
HttpListenerдолжен биндиться строго на127.0.0.1/localhost(не на0.0.0.0), чтобы закрыть доступ из внешней сети.