5.8 KiB
Overview Manager для OpenWrt
Пакет luci-app-overview-manager - LuCI-приложение для настройки карточек на
странице Status -> Overview.
Возможности
- порядок виджетов меняется перетаскиванием или кнопками "выше" и "ниже";
- ненужные карточки скрываются полностью;
- работает со сторонними виджетами, установленными как LuCI status include;
- раскладка хранится в UCI и общая для всех браузеров.
Требования
- официальный OpenWrt
24.10.xсopkg; - официальный OpenWrt
25.12.xсapk; - стандартная страница
luci-mod-statusStatus Overview; - сторонние виджеты, установленные как LuCI status include.
В OpenWrt 25.12 штатная кнопка Hide хранит состояние отдельно в
localStorage конкретного браузера. Она продолжает работать независимо от
общей раскладки Overview Manager.
Установка
OpenWrt 24.10
Скачайте luci-app-overview-manager_*_all.ipk из
Releases и загрузите его
через System -> Software -> Upload Package.
OpenWrt 25.12
wget -O /tmp/nikitid-feed.sh \
https://raw.githubusercontent.com/Nikitid/openwrt-feed/feed/install.sh
sh /tmp/nikitid-feed.sh luci-app-overview-manager
Установщик проверяет публичный ключ издателя по закреплённой контрольной сумме, подключает общий подписанный репозиторий приложений и ставит только указанный пакет.
Последующие обновления:
apk update
apk upgrade luci-app-overview-manager
Обновляется только Overview Manager, а не все пакеты роутера.
Как это работает
Штатный LuCI загружает файлы из
/www/luci-static/resources/view/status/include в алфавитном порядке.
Overview Manager добавляет ранний служебный include, сопоставляет карточки с
исходными файлами и применяет сохранённую в UCI раскладку к DOM.
Файлы других пакетов не изменяются, не переименовываются и не удаляются. После удаления Overview Manager штатное поведение LuCI восстанавливается автоматически.
Переводы
Интерфейс использует штатный механизм LuCI: _() в JavaScript и каталоги
gettext в po/. При сборке po/<язык>/overview-manager.po компилируется в
/usr/lib/lua/luci/i18n/overview-manager.<язык>.lmo и попадает в основной
пакет, а /etc/uci-defaults/luci-app-overview-manager регистрирует язык в
luci.languages. Язык интерфейса следует настройке LuCI, отдельный пакет
luci-i18n-* не требуется.
Пакет переводит только свои строки: для полностью русского LuCI нужен ещё
luci-i18n-base-ru. Новый язык добавляется каталогом
po/<язык>/overview-manager.po; соответствие каталогов исходникам проверяет
scripts/test-po2lmo.py.
Ограничения
У LuCI status include нет общего описания внутренних полей: каждый виджет
реализует произвольные load() и render(). Поэтому Overview Manager
настраивает порядок и видимость карточек, но не редактирует их содержимое.
Скрытый виджет не отображается, однако его штатный сбор данных может продолжать выполняться при опросе страницы.
Разработка
./scripts/ci-check.sh
Сборка, подпись и выпуск: docs/DEVELOPMENT.md.
Документация
- Карта репозитория - где что лежит
- Архитектура - почему страница устроена именно так
- Разработка - сборка, подпись и выпуск
Поддержка
Вопросы и сообщения об ошибках - в Issues, выберите подходящую форму. Об уязвимости сообщайте приватно через security advisory. Можно писать по-русски или по-английски.
