Что нового в 1.6.1
Внешние плееры
- Запуск только из доверенных мест. Плеер должен быть известным и лежать в стандартном каталоге установки (
Program Files,/usr/bin, Flatpak, Snap и т. п.) или в спискеextraPlayerBinaries. Сетевые пути вида\\сервер\папка\vlc.exeи относительные пути блокируются. - Портативные плееры. Для плеера из другой папки приложение покажет системное окно подтверждения. Разрешить запуск может только пользователь, страница Lampa сделать это не может.
- Белый список аргументов. Плееру передаются только флаги, которые использует сама Lampa, и ссылка на видео. Всё остальное (
--script,--sout,-I luaintfи т. п.) отклоняется. - Лимиты. Не более 8 одновременных плееров, сигналы завершения только
SIGTERM,SIGKILL,SIGINT.
Обновление ядра Lampa
- Проверка целостности. Сверка файлов
app.jsиapp.cssс хешем GitHub API появилась в PR #5 (@anupamme). В 1.6.1 она усилена: файлы и хеши берутся с одного зафиксированного коммита, хеш считается по исходным байтам. - Прокси и DoH. Загрузка идёт через сетевой стек приложения и учитывает прокси и DNS через HTTPS. Раньше эти настройки при обновлении игнорировались.
- Дополнительные проверки: ограничение размера ответа, только HTTPS, строгий формат версии, репозитория и ветки.
Сеть и разрешения
- Разрешения. Доступ к камере, микрофону, геолокации и уведомлениям запрещён. Разрешены только полноэкранный режим, запись в буфер обмена и захват курсора, причём лишь для самого приложения.
- Локальные сервисы. Ответы TorrServer, VLC и MPC может читать только главное окно приложения, но не встроенные внешние фреймы.
- Смена прокси в настройках Lampa теперь требует подтверждения в системном диалоге, а формат адреса проверяется строже.
- Внутренние каналы связи принимают запросы только от главного окна.
Синхронизация
- Клиент не отправляет токен реса вне локальной сети.
- Сервер: токен не короче 16 символов, файлы с правами только для владельца, защита от DNS-rebinding, ограничения размерке на
0.0.0.0. - Файл настроек
desktop.jsonпишется атомарно с правами0600.
New Contributors
Full Changelog: v1.6.0...v1.6.1