diff --git a/family/how-to/htpc-webos-luna.md b/family/how-to/htpc-webos-luna.md index 651afb3d..1f9f3cb0 100755 --- a/family/how-to/htpc-webos-luna.md +++ b/family/how-to/htpc-webos-luna.md @@ -135,6 +135,10 @@ ssh -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -i ~/.ssh/id_rsa \ root@192.168.1.70 'cat /sys/class/net/eth0/speed; cat /sys/class/net/eth0/duplex' ``` +## Другой телевизор: Новосибирск + +Эта заметка описывает ТВ `192.168.1.70` / webOS 5.4.2. **Konka Q85 85″ в Новосибирске — отдельное устройство:** `192.168.2.124`, webOS 7.5.6. Его root, отключённые службы, результаты проверки и порядок отката зафиксированы в [[personal/tech/konka-q85-novosibirsk]] (2026-10-30). Не переносить между ними SSH-параметры и особенности `luna-send` без проверки. + ## Связанные заметки - [[family/how-to/tv-luna-send]] — враппер `~/Automation/tv-luna-send.sh` diff --git a/personal/tech/home-network-config.md b/personal/tech/home-network-config.md index 00f4fb60..ef4c0d66 100755 --- a/personal/tech/home-network-config.md +++ b/personal/tech/home-network-config.md @@ -1,7 +1,7 @@ --- title: home-network-config — skill notes created: '2026-09-23' -updated: '2026-09-23' +updated: '2026-10-30' type: tech namespace: personal tags: @@ -81,6 +81,14 @@ if ifconfig | grep -q 10.99.0.2; then nc 10.99.1.2 22; else nc kraken 22; fi - Kraken Samba: `map to guest = bad user` обязателен в `[global]` для guest-доступа. - USB-девайсы в docker: `/dev/serial/by-id/...` **НЕ работают**, только `/dev/ttyUSB`. +## Телевизор в Новосибирске — проверено 2026-10-30 + +- **Konka Q85, 85″, webOS 7.5.6**: текущий адрес `192.168.2.124`, сетевое имя `LGwebOSTV`, сеть OpenWrt `192.168.2.2`. +- Установлен Homebrew Channel 0.7.3, root проверен после перезагрузки. Выполнено обратимое отключение ACR, рекламы, диагностики, рекомендаций и голосовых/ThinQ-компонентов; защищённые системные службы сохранены. +- Подробный статус, ограничения проверок, доступ и откат: [[personal/tech/konka-q85-novosibirsk]]. +- Это отдельный ТВ; сведения о `192.168.1.70` / webOS 5.4.2 из [[family/how-to/htpc-webos-luna]] к нему не относятся. +- Прямой SSH по ключу к `root@192.168.2.2` в этой сессии проверен. SSH на самом ТВ не включали; для управления использовали WSS `3001` и Homebrew. + ## Связанное - [[family/how-to/rasputin-router]] — policy routing, `ip rule`, транзит между сегментами diff --git a/personal/tech/konka-q85-novosibirsk.md b/personal/tech/konka-q85-novosibirsk.md new file mode 100644 index 00000000..781389d5 --- /dev/null +++ b/personal/tech/konka-q85-novosibirsk.md @@ -0,0 +1,175 @@ +--- +title: 'Konka Q85 — Новосибирск: статус и изменения' +created: '2026-10-30' +updated: '2026-10-30' +type: tech +tags: + - tv + - konka + - webos + - novosibirsk + - homebrew + - privacy +related: + - '[[personal/tech/home-network-config]]' + - '[[family/how-to/htpc-webos-luna]]' +--- +# Konka Q85 — Новосибирск: статус и изменения + +Состояние проверено **2026-10-30** во время настройки телевизора. Местоположение — Новосибирск, по указанию владельца. Это отдельный телевизор; не путать с ТВ `192.168.1.70` / webOS 5.4.2 из [[family/how-to/htpc-webos-luna]]. + +## Устройство и сеть + +- Konka, диагональ 85″ — со слов владельца; модель, сообщаемая самим ТВ: **Q85**. +- ПО: **04.56.00** — сообщено владельцем; API полной версии ПО отказал в доступе, поэтому это значение не выдаём за независимо прочитанное. +- webOS **7.5.6**, DVB — непосредственно прочитано с телевизора. +- Ядро: `5.4.96-115.28.1.27.mirima.1`, архитектура `aarch64`. +- Текущий адрес: **192.168.2.124**, имя DHCP: `LGwebOSTV`, MAC: `7c:64:6c:33:82:37`. Это обнаруженный адрес, закрепление DHCP не проверялось и не настраивалось. +- Шлюз OpenWrt: **192.168.2.2**, Xiaomi Redmi Router AX6S. SSH `root@192.168.2.2` по настроенному ключу проверен. +- WSS управления ТВ: `192.168.2.124:3001`. Выполнено сопряжение с подтверждением на экране. Соединение WS на 3000 сбрасывалось; для работы использовали WSS 3001. +- SSH на самом ТВ не включали. Проверенные до настройки порты 22, 9922 и 9991 были закрыты; доступ SSH к роутеру не означает наличия SSH на телевизоре. + +Связанный документ сети: [[personal/tech/home-network-config]]. + +## Root и Homebrew + +2026-10-30 выполнен jailbreak через **DangBro**. На ТВ подтверждено наличие `com.webos.app.dangbei-overlay`; код запускался в его контексте. Проверенный установщик и Homebrew Channel раздавались временно с роутера, без прошивки системных разделов. + +- Установлен **Homebrew Channel 0.7.3**, appId `org.webosbrew.hbchannel`. +- Прямой вызов `id` вернул `uid=0(root) gid=0(root)`; root повторно подтверждён после перезагрузок. +- Приложение LG Developer Mode `com.palmdts.devmode` удалено установщиком, поскольку конфликтует с сохранением root. Повторно устанавливать его без проверки совместимости не следует. +- Включившийся при установке Telnet без пароля отключён, закрытие порта 23 проверено. Сохранён флаг `/var/luna/preferences/webosbrew_telnet_disabled`. +- Временные серверы на роутере `:18085` остановлены; их каталоги, установщики и тестовые ролики на роутере удалены. Постоянной службы на роутере для этих изменений нет. + +## Найденное состояние до отключения + +- LivePlus был включён: `option.livePlus = "on"`, `eulaStatus.acrOnAllowed = true`. +- Были приняты голосовые согласия: `voiceAllowed = true`, `voice2Allowed = true`. +- `additionalDataAllowed` и `shoppingOnAllowed` были `true`. +- Реклама главного экрана и рекомендации уже были выключены: `general.homePromotion = "off"`, `other.contentRecommendation = "off"`. +- Согласия на персонализированную рекламу и удалённую диагностику уже были выключены. +- Работали рекламные, диагностические, рекомендательные и голосовые службы, в том числе `admanager`, `contentminer`, `rdxd`, `uploadd`, `remotelogger`, `service-logger`, `voiceinput`, `voiceconductor`, `nlpmanager`, `performer`. +- Установлены LivePlus/ACR-компоненты для HDMI, рекламные оболочки, Alexa, Google Assistant и Алиса. Само наличие пакета или процесса не доказывает запись разговоров либо отправку данных. +- Homebrew уже монтировал очереди `rdxd/uploadd` только для чтения; это ограничение диагностических очередей, а не полное отключение ACR. +- В отдельном снимке сети внешних TCP-соединений не было. Длительное наблюдение, расшифровка трафика и доказательство отсутствия периодических отправок не выполнялись. + +## Что отключено по согласованию владельца + +Отключены найденные компоненты следующих групп: + +- ACR и реклама: `acr2`, `admanager`, `adoverlay-service`. +- Диагностика и загрузка журналов: `rdxd`, `uploadd`, `remotelogger`, `service-logger`. +- Рекомендации и уведомления: `contentminer`, `nudge`, `sportsalarm`. +- Голос, Alexa и ThinQ/IoT: `voiceinput`, `voiceconductor`, `nlpmanager`, `performer`, `amazon-alexa-adapter`, `amazon-alexa-vsk`, `lg.thinqai.adapter`, `iot-client`, `mqtt-client`. +- `musicrecognition` предусмотрен списком отключений, но при проверке соответствующая программа не найдена; не считать её установленной или реально отключённой. + +LivePlus переведён в `off`. В существующем объекте согласий выключены ACR, голосовые, рекламные, дополнительные данные и shopping-согласия; общие условия, разрешение сети и непонятный по назначению `chpAllowed` сохранены. + +**Следствие:** голосовой поиск, Alexa и связанные ThinQ/IoT-функции больше не должны работать. Приложения Google Assistant/Алисы и другие системные оболочки не удалялись; отключён обслуживающий голосовой тракт. + +## Как устроены изменения + +Системные программы не стирались и не перезаписывались. Поверх выбранных исполняемых файлов, включая уже существовавшие копии в sandbox-каталогах, монтируется в памяти безвредный скрипт с `exit 0`. Выбранные systemd-службы останавливаются; оставшиеся целевые процессы завершаются. При итоговой проверке целевых процессов не было, ошибок подмен не было. + +Файлы на телевизоре: + +- Управление: `/var/lib/konka-privacy/control.py`. +- Исходные настройки и состояния служб: `/var/lib/konka-privacy/before.json`. +- Список временных подмен: `/var/lib/konka-privacy/mounts.json`. +- Автозапуск Homebrew: `/var/lib/webosbrew/init.d/70-konka-privacy`. +- Журнал применения после загрузки: `/tmp/konka-privacy-boot.log`. +- Флаг запрета применения: `/var/lib/konka-privacy/disabled`. +- Отметка успешной итоговой проверки: `/var/lib/konka-privacy/verified`. + +**Особенность:** во время проверки webOS восстановила часть согласий и LivePlus при перезагрузке. Поэтому настройки повторно выключаются в автозапуске вместе со службами. Обработчик ждёт 35 секунд после вызова из загрузочного механизма Homebrew; отключения не действуют с самой первой секунды включения. На проверенной загрузке успешный результат получен примерно на 83-й секунде uptime. + +При первичной проверке был предусмотрен автоматический откат, если итоговая проверка не завершится. Сейчас отметка `verified` уже существует: **не рассчитывать на автоматический откат будущих изменений**, использовать команды ниже. + +## Что сохранено + +`sdx`, `ss.gateway`, SAM, Luna Hub, настройки, системный интерфейс, сеть, HDMI, видеовывод и звуковые службы не включены в список отключений. Приложения не удалялись, домашний экран не заменялся, системные плитки не скрывались, перезапуск SAM для таких изменений не выполнялся. + +Системные разделы, загрузчик, ядро и прошивка не перезаписывались. Блокировку обновлений и новые DNS/hosts-списки эта настройка не добавляла. + +## Проверка результата + +После повторной перезагрузки подтверждены: + +- root: `uid = 0`; +- LivePlus: `off`; выбранные согласия выключены; +- отсутствие работающих целевых процессов; +- активное состояние SAM, Luna Hub, surface-manager, umediaserver, videooutputd, audiooutputd и audiod; +- наличие процессов `sdx`, `SettingsService`, `connmand`; +- наличие обработчика автозагрузки и отметки успешной проверки; +- воспроизведение отдельного тестового H.264-видео: время 12.082 секунды, 640×360, `readyState = 4`, ошибок нет; видеовывод MAIN подключён и не muted, около 24 кадров/с. + +Один предварительный тест с коротким зацикленным роликом получил ошибку декодирования; этот результат не считали подтверждением нормального воспроизведения. После завершения автоприменения выполнены отдельные успешные проверки, включая более длинный ролик без цикла. + +Физическое звучание динамиков, сигнал внешнего HDMI-устройства, все стриминговые приложения и цикл сна/пробуждения отдельно не проверялись. Активность звуковых служб не равна проверке звука на слух. + +До изменений уже были failed-unit: `accountmanager`, `bugreportd`, `crashreportd`, `dropbear`, `kadpd`, `kdrivers`. Итоговый список совпал с исходным; не приписывать эти состояния выполненному отключению. + +## Откат и диагностика + +Команды выполнять **в root-контексте на телевизоре**, а не на OpenWrt. + +Проверка: + +```sh +python3 /var/lib/konka-privacy/control.py status +cat /tmp/konka-privacy-boot.log +``` + +Полный откат с восстановлением исходных настроек и удалением автозапуска отключений: + +```sh +python3 /var/lib/konka-privacy/control.py restore +``` + +После успешного отката полностью перезагрузить ТВ. Режим standby не заменяет полную перезагрузку. + +Для запрета повторного применения при следующей полной загрузке: + +```sh +touch /var/lib/konka-privacy/disabled +``` + +Затем полностью перезагрузить ТВ. Этот способ снимает временные подмены за счёт перезагрузки, но **сам по себе не восстанавливает прежние значения согласий**; для полного возврата нужен `restore`. + +Не удалять `before.json` перед откатом. + +## Доступ для дальнейшего обслуживания + +Проверенный путь этой сессии: SSH к OpenWrt → временная локальная раздача страницы → WSS-сопряжение с ТВ → запуск страницы через `com.webos.app.dangbei-overlay` → вызов Homebrew из `PalmServiceBridge`: + +```js +var bridge = new PalmServiceBridge(); +bridge.onservicecallback = function (result) { /* обработать JSON-ответ */ }; +bridge.call( + "luna://org.webosbrew.hbchannel.service/exec", + JSON.stringify({command: "python3 /var/lib/konka-privacy/control.py status"}) +); +``` + +Это работает в подходящем приложении на ТВ, а не в обычном браузере компьютера. Прямой запрос `ssap://org.webosbrew.hbchannel.service/exec` через WSS вернул 404; не считать его рабочим способом root-доступа. Обычное открытие страницы установщика на компьютере тоже не выполняет код в контексте ТВ. + +Для `luna-send` на **этом** телевизоре проверен явный appId: + +```sh +luna-send -w 5000 -n 1 -f -a org.webosbrew.hbchannel.service \ + luna://com.webos.settingsservice/getSystemSettings \ + '{"category":"option","keys":["livePlus"]}' +``` + +Не переносить сюда без проверки рецепты старого ТВ с webOS 5.4.2. Секреты сопряжения и приватные SSH-ключи в заметку не копировать. Временную раздачу после обслуживания останавливать. + +## Источники использованных решений + +- [DangBro](https://github.com/azoffshowy/dangbro) — выполненный способ root. +- [Homebrew Channel](https://github.com/webosbrew/webos-homebrew-channel). +- [lg-webos-ad-killer](https://github.com/nurikk/lg-webos-ad-killer) — примеры обратимого отключения; готовый полный скрипт на ТВ не устанавливался. +- [CleanYourTV для webOS: debloat](https://lasharor.github.io/cleanyourtv-WebOS/debloat/) — группы служб и временные подмены. +- [RootMyTV: системные разделы не перезаписывать](https://rootmy.tv/warning). +- [Glasshouse issue 366](https://github.com/rorygallagher2024/glasshouse/issues/366) — проблемы изображения/звука при перезапуске SAM. + +Публичного проверенного списка отключений именно для Konka Q85 / webOS 7.5.6 в ходе поиска не найдено. Основание текущего статуса — фактические проверки этого телевизора, а не обещание совместимости чужого полного набора изменений.