Skip to content

About

No description, website, or topics provided.

Resources

Stars

16 stars

Watchers

0 watching

Forks

Repository files navigation

Root на LG webOS 26: пошаговая инструкция

Эта инструкция рассчитана на пользователя, который раньше не работал со SlopBro. Начните с графического мастера. При ручном запуске используйте основной способ; если загрузка или запуск остановились, перейдите к совместимому способу из раздела 7.

Самый простой способ: графический мастер

В репозитории есть единый webOS 26 Root Wizard для macOS и Windows. Он:

  • автоматически ищет LG TV в локальной сети либо принимает IP вручную;
  • выбирает локальный маршрут к ТВ без необходимости отключать VPN; при нестандартной маршрутизации адрес можно указать вручную;
  • проверяет наличие Voice Assistant и отсутствие LG Developer Mode;
  • сначала выполняет основной способ root;
  • при зависании, отказе запуска сервиса или отсутствии Homebrew переключается на совместимый загрузчик webOS 26;
  • записывает ответ запуска сервиса, чтобы отличать передачу файлов от выполнения установщика;
  • ждёт появления Homebrew Channel, открывает его и просит проверить Root OK;
  • сохраняет локальный журнал и ключ сопряжения в папке данных приложения.

Полностью исключить участие владельца невозможно: телевизор сам требует подтвердить первое сопряжение, а зелёный статус Root OK необходимо увидеть на экране. Мастер не перезагружает телевизор до этого подтверждения.

Готовое приложение

Откройте Releases и скачайте файл из раздела Assets последнего выпуска:

  • webOS-Root-Wizard-macOS-Apple-Silicon.zip — для Mac с процессором Apple Silicon;
  • webOS-Root-Wizard-macOS-Intel.zip — для Intel Mac.

Распакуйте архив и откройте webOS Root Wizard.app. На момент первого выпуска обновлённого мастера Windows .exe ещё не собран. На Windows скачайте Source code (zip) с той же страницы, установите Python 3 и запустите start-windows.bat из распакованной папки. Не путайте архив исходников с готовым приложением: для него нужен Python.

Actions → Build desktop wizard предназначен для будущих автоматических сборок. Если запуск неуспешен, его артефакты недоступны.

Сборки пока не подписаны сертификатом разработчика. На macOS при первом запуске нажмите приложение правой кнопкой → Открыть. Когда появится Windows .exe, SmartScreen может попросить отдельно подтвердить его запуск.

Запуск прямо из исходников

Если установлен Python 3:

  • macOS: дважды нажмите start-macos.command;
  • Windows: дважды нажмите start-windows.bat.

Либо запустите python3 webos_root_wizard.py на macOS или py -3 webos_root_wizard.py в Windows. Сторонние Python-библиотеки мастеру не нужны.

Мастер предназначен именно для экспериментального сценария webOS 26. После изменений от 29 сентября 2026 года он включает обход проверки пути сервиса из SlopBro v0.1.0. Обновлённый мастер пока не проверен нами на телевизоре.

Первоначальный метод был проверен 24 августа 2026 года на:

  • LG OLED77G6RLA;
  • прошивке 43.11.78;
  • webOS 26, SDK 11.1.0 (major version 11);
  • Homebrew Channel 0.7.3.

На других моделях и прошивках результат не гарантируется. Пользователь оригинального SlopBro сообщил об успешном root на OLED55C2 с прошивкой 43.21.74 через v0.1.0; это сторонний отчёт, а не проверка этого мастера.

Перед началом

Понадобятся:

  • телевизор и компьютер в одной обычной локальной сети;
  • компьютер с macOS, Linux или Windows;
  • Python 3;
  • доступ телевизора в интернет для загрузки Homebrew Channel;
  • 10–15 минут без выключения телевизора.

Во время root:

  • не обновляйте прошивку;
  • не выключайте питание телевизора;
  • не закрывайте служебную страницу, пока команда не завершилась;
  • не устанавливайте и не оставляйте LG Developer Mode перед перезагрузкой rooted-телевизора;
  • никогда не перезаписывайте kernel, rootfs или tvservice.

1. Узнайте IP-адрес телевизора

На телевизоре откройте сведения о текущем сетевом подключении и найдите поле «IP-адрес».

Пример:

192.168.1.50

Дальше в командах вместо 192.168.1.50 используйте адрес своего телевизора.

2. Установите Python 3

Проверьте Python в терминале.

macOS или Linux:

python3 --version

Windows PowerShell:

py -3 --version

Если команда показывает Python 3, можно продолжать. Сторонние Python-библиотеки не требуются.

3. Скачайте этот репозиторий

Вариант через Git:

git clone https://github.com/ihovsky/webos-root.git
cd webos-root

Либо откройте страницу репозитория, нажмите Code → Download ZIP, распакуйте архив и откройте терминал в распакованной папке.

Проверьте, что вы находитесь в правильной папке:

python3 slopbro.py --help

В Windows используйте:

py -3 slopbro.py --help

4. Удалите LG Developer Mode

Если на телевизоре установлено официальное приложение Developer Mode, удалите его обычным способом из списка приложений.

Если Developer Mode не установлен, ничего делать не нужно.

Это важно: после успешного root приложение Developer Mode нельзя оставлять установленным перед перезагрузкой. Повторно устанавливать его на rooted-телевизор также не следует.

5. Безопасно проверьте связь

На macOS или Linux запустите:

python3 slopbro.py --test-server simple 192.168.1.50

На Windows:

py -3 slopbro.py --test-server simple 192.168.1.50

Команда напечатает адрес примерно такого вида:

http://192.168.1.20:8080/

Откройте этот адрес во встроенном браузере телевизора. Должна появиться строка:

Here's your slop, bro!

После проверки вернитесь в терминал и нажмите Ctrl+C.

Если страница не открылась:

  1. Разрешите Python входящие подключения в брандмауэре. В Windows разрешайте только частные сети.
  2. Убедитесь, что телевизор и компьютер не подключены к гостевой Wi‑Fi-сети.
  3. Узнайте локальный IPv4 компьютера.
  4. Повторите команду с явным адресом компьютера:
python3 slopbro.py --test-server simple \
  --local-ip 192.168.1.20 \
  192.168.1.50

Не переходите к root, пока тестовая страница не открывается на ТВ.

6. Запустите основной способ root

На macOS или Linux:

python3 slopbro.py \
  --debug \
  --webos-version 11 \
  192.168.1.50

На Windows:

py -3 slopbro.py --debug --webos-version 11 192.168.1.50

Если при проверке сети требовался --local-ip, используйте его и здесь:

python3 slopbro.py \
  --debug \
  --webos-version 11 \
  --local-ip 192.168.1.20 \
  192.168.1.50

Дальше:

  1. На телевизоре появится запрос подключения устройства. Нажмите Разрешить/Да.
  2. Если macOS или Windows спросит разрешение для Python, разрешите доступ в локальной сети.
  3. Не выключайте телевизор и не закрывайте терминал.
  4. На экране ТВ может появиться служебная страница или чёрный экран — это допустимо.
  5. Дождитесь завершения загрузки файлов и установки Homebrew Channel.

Нормальный журнал выглядит примерно так:

registered
confirmed app is installed: com.webos.app.voiceweb
served required file: ...
all tracked files were requested; checking service launch
service launch accepted; confirm Root OK in Homebrew Channel

После первого сопряжения рядом со скриптом появится файл вида 192.168.1.50.key. Это локальный ключ управления телевизором. Не публикуйте его.

Признаки успеха

Root считается полученным только когда выполнены все условия:

  1. В меню приложений появился Homebrew Channel.
  2. Homebrew Channel открывается.
  3. В настройках Homebrew Channel статус Root показывает OK.

Если отображается Root OK:

  1. Убедитесь, что LG Developer Mode удалён.
  2. В Homebrew Channel откройте настройки.
  3. Нажмите System reboot.
  4. После загрузки снова откройте Homebrew Channel и проверьте Root OK.

Если Homebrew появился, но Root OK отсутствует, не перезагружайте телевизор и переходите к диагностике.

7. Если основной способ завис или запуск отклонён

На прошивке 43.11.78 Download Manager иногда скачивает первый файл, но не продолжает последовательность. Признаки:

  • терминал долго ждёт оставшиеся файлы;
  • на экране ничего не меняется;
  • Homebrew Channel не появился;
  • Rooting complete не отображалось.

Если файлы не запрошены в течение двух минут, остановите команду сочетанием Ctrl+C. Если после передачи файлов появляется service launch rejected или Homebrew не появляется, также используйте совместимый способ. Сообщение о передаче файлов само по себе не означает успешный root.

Теперь используйте совместимый помощник. Он отменяет зависшее задание Download Manager, отправляет файлы по одному и запускает тот же autoroot.sh через Voice Assistant.

7.1. Откройте Voice Assistant

На телевизоре:

  1. Зажмите кнопку микрофона/AI на пульте.
  2. Скажите, например, «Открой настройки».
  3. Дождитесь появления панели ассистента.
  4. Не закрывайте панель кнопкой «Назад».

7.2. Запустите совместимый помощник

macOS или Linux:

python3 tools/webos26_compatible_launch.py 192.168.1.50

Windows:

py -3 tools/webos26_compatible_launch.py 192.168.1.50

Если раньше требовался явный адрес компьютера:

python3 tools/webos26_compatible_launch.py \
  --local-ip 192.168.1.20 \
  192.168.1.50

Дальше:

  1. Если ТВ снова попросит разрешить подключение — разрешите.
  2. Не закрывайте терминал и не выключайте телевизор.
  3. Помощник должен получить запросы всех пяти файлов.
  4. После строки The TV requested every compatibility file дождитесь ответа запуска сервиса и ещё 25 секунд.
  5. Откройте Homebrew Channel и проверьте Root OK.

Если помощник пишет The TV rejected the service launch, сохраните полный вывод и не перезагружайте ТВ. Повторная загрузка тех же файлов без выяснения причины вряд ли поможет.

Если помощник пишет, что часть файлов не была запрошена, снова откройте Voice Assistant и повторите команду один раз. Для новой попытки автоматически создаётся уникальный URL.

Если на экране или в журнале появился Message not processed, также заново откройте Voice Assistant и повторите совместимый запуск один раз.

После Root OK выполните действия из раздела «Признаки успеха»: удалите Developer Mode, если он присутствует, и перезагрузите телевизор через Homebrew Channel.

8. Ошибка WSS и сертификат телевизора

Сообщение:

The WSS connection failed almost immediately. In practice this usually means
the browser blocked the TV self-signed certificate.

обычно относится к запуску через браузерную страницу. Откройте на компьютере:

https://192.168.1.50:3001/

и подтвердите переход к сайту с самоподписанным сертификатом. Страница после этого может быть пустой или показать HTTP-ошибку — важно, что браузер сохранил разрешение для сертификата.

При запуске slopbro.py и webos26_compatible_launch.py проверка сертификата отключена внутри Python-клиента, поэтому открывать страницу сертификата обычно не требуется.

9. Частые проблемы

Телевизор не показывает запрос сопряжения

  • Проверьте IP-адрес ТВ.
  • Телевизор должен быть полностью включён, а не находиться в режиме ожидания.
  • Убедитесь, что TCP-порт 3001 доступен.
  • Удалите старый файл IP_ТЕЛЕВИЗОРА.key только если хотите принудительно создать новое сопряжение.

ТВ не забирает файлы с компьютера

  • Повторите безопасный тест из раздела 5.
  • Разрешите Python в брандмауэре.
  • Используйте --local-ip с LAN-адресом компьютера.
  • Проверьте, что на роутере отключена изоляция Wi‑Fi-клиентов.

Файлы переданы, но Homebrew Channel не появился

  • В графическом мастере нажмите «Открыть папку журнала» и сохраните wizard.log.
  • При ручном запуске сохраните полный вывод терминала, особенно строку service launch response или service launch rejected.
  • Укажите модель ТВ, номер прошивки и версию webOS. Не прикладывайте файл *.key: это ключ сопряжения.
  • Не перезагружайте ТВ, пока статус Root OK не подтверждён.

На телевизоре чёрный экран

Во время запуска Voice Assistant и служебной страницы это допустимо. Не нажимайте кнопки, пока помощник передаёт файлы. После подтверждённого Root OK можно нажать Home.

Появилась плашка «подключение к серверу нестабильно»

Служебное окно не смогло открыть локальную страницу. Нажмите «Назад» один раз, снова откройте Voice Assistant и повторите совместимый запуск с правильным --local-ip.

Homebrew установился, но root не подтверждён

Статус unelevated означает, что приложение установлено, но root не получен. Ответ service launch response: {"returnValue": true} подтверждает только принятие команды сервисом, а не успешное завершение autoroot.sh или повышение прав Homebrew Channel.

Не перезагружайте ТВ, не удаляйте Homebrew Channel и не устанавливайте Developer Mode. Сохраните wizard.log или полный вывод терминала и фото статуса. Если у вас уже есть доступ к файловой системе ТВ, приложите также /tmp/autoroot.log и /tmp/slopbro-webos26-result: они помогут выяснить, на каком шаге остановился установщик. Не запускайте мастер повторно поверх установленного Homebrew до выяснения причины.

10. SSH после успешного root — необязательно

Для самого root SSH не нужен. Если требуется удалённый доступ:

  1. Откройте настройки Homebrew Channel.
  2. Включите SSH.
  3. Оставьте Telnet выключенным.
  4. Настройте отдельный SSH-ключ и проверьте вход как root на порту 22.

Homebrew Channel использует временный стандартный пароль alpine, пока не установлен authorized_keys. Не оставляйте этот пароль единственной защитой SSH.

Пример создания ключа на macOS/Linux:

ssh-keygen -t ed25519 -f ~/.ssh/lg-tv-root_ed25519 -C lg-tv-root

Что находится в репозитории

  • webos_root_wizard.py — графический автоматический мастер macOS/Windows;
  • start-macos.command и start-windows.bat — запуск мастера из исходников двойным нажатием;
  • .github/workflows/build-desktop.yml — автоматическая сборка .app и .exe;
  • slopbro.py — основной запуск;
  • tools/webos26_compatible_launch.py — совместимый повторный запуск webOS 26;
  • wwwroot/index-webos26.html — основной загрузчик;
  • wwwroot/run-webos26-compatible.html — последовательный совместимый загрузчик;
  • wwwroot/autoroot-webos26.sh — установщик Homebrew Channel;
  • UPSTREAM_README.md — оригинальная документация SlopBro;
  • COPYING — лицензия AGPLv3.

Основа проекта: throwaway96/slopbro, исходная база da374e5f10eff26b7df323ef0c2bc8470b142501; обход проверки пути сервиса адаптирован из v0.1.0 (21023d5). Самопроверка без телевизора: python3 webos_root_wizard.py --self-test, python3 -m unittest discover -s tests -v и node tests/payloads.test.js.

About

No description, website, or topics provided.

Resources

Stars

16 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages