website/docs/ru_RU/guide/module-webui.md
Помимо выполнения загрузочных скриптов и правки системных файлов, модули KernelSU могут показывать пользовательский интерфейс и напрямую взаимодействовать с пользователем.
Модуль может описать страницу на HTML + CSS + JavaScript, используя любые веб‑технологии. Менеджер KernelSU отображает такие страницы через WebView и предоставляет API для взаимодействия с системой, например для запуска shell-команд.
webrootФайлы веб-ресурсов должны располагаться в подкаталоге webroot в корне модуля, и там ОБЯЗАТЕЛЬНО должен находиться файл index.html, выступающий точкой входа. Самая простая структура модуля с веб-интерфейсом выглядит так:
❯ tree .
.
|-- module.prop
`-- webroot
`-- index.html
::: warning При установке модуля KernelSU автоматически задаёт права доступа и SELinux-контекст для этого каталога. Если вы не уверены, что делаете, не меняйте разрешения вручную! :::
Если страница содержит CSS или JavaScript, их тоже нужно положить в этот каталог.
Если это только страница отображения, она работает как обычный веб-сайт. Но самое главное — KernelSU предоставляет набор системных API, позволяющих реализовать модуль‑специфичные функции.
KernelSU предлагает JavaScript-библиотеку, опубликованную в npm, которую можно использовать в коде страницы.
Например, можно выполнить shell-команду, чтобы получить конфигурацию или изменить свойство:
import { exec } from 'kernelsu';
const { errno, stdout } = exec("getprop ro.product.model");
Также можно переключить страницу в полноэкранный режим или показать toast.
Если существующего API недостаточно или им неудобно пользоваться, оставьте нам предложение здесь!
localStorage можно использовать как обычно для хранения данных, но помните, что всё будет удалено при удалении приложения‑менеджера. Для постоянного хранения сохраните данные вручную в отдельном каталоге.