mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-27 00:42:51 +08:00
118 lines
4.0 KiB
Markdown
118 lines
4.0 KiB
Markdown
# Overview Manager for OpenWrt
|
|
|
|
[Русский](README.ru.md)
|
|
|
|
[](https://github.com/Nikitid/luci-app-overview-manager/actions/workflows/ci.yml)
|
|
[](https://github.com/Nikitid/luci-app-overview-manager/releases/latest)
|
|
[](LICENSE)
|
|
|
|
The `luci-app-overview-manager` package is a LuCI application for arranging
|
|
the cards on the **Status -> Overview** page.
|
|
|
|

|
|
|
|
## Features
|
|
|
|
- reorder widgets by dragging or with the up and down buttons;
|
|
- hide cards you do not need;
|
|
- works with third-party widgets installed as a LuCI status include;
|
|
- the layout is stored in UCI and shared by every browser.
|
|
|
|
## Requirements
|
|
|
|
- official OpenWrt `24.10.x` with `opkg`;
|
|
- official OpenWrt `25.12.x` with `apk`;
|
|
- the stock `luci-mod-status` Status Overview page;
|
|
- third-party widgets installed as a LuCI status include.
|
|
|
|
On OpenWrt 25.12 the stock Hide button keeps its state separately, in the
|
|
`localStorage` of one browser. It keeps working independently of the shared
|
|
Overview Manager layout.
|
|
|
|
## Installation
|
|
|
|
### OpenWrt 24.10
|
|
|
|
Download `luci-app-overview-manager_*_all.ipk` from
|
|
[Releases](https://github.com/Nikitid/luci-app-overview-manager/releases) and upload it
|
|
through **System -> Software -> Upload Package**.
|
|
|
|
### OpenWrt 25.12
|
|
|
|
```sh
|
|
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
|
|
```
|
|
|
|
The installer verifies the publisher public key against a pinned checksum,
|
|
adds the shared signed repository and installs only the named package.
|
|
|
|
Later upgrades:
|
|
|
|
```sh
|
|
apk update
|
|
apk upgrade luci-app-overview-manager
|
|
```
|
|
|
|
Only Overview Manager is upgraded, never every package on the router.
|
|
|
|
## How it works
|
|
|
|
Stock LuCI loads the files in
|
|
`/www/luci-static/resources/view/status/include` in alphabetical order.
|
|
Overview Manager adds an early service include, matches the cards to their
|
|
source files and applies the layout stored in UCI to the DOM.
|
|
|
|
Files belonging to other packages are never modified, renamed or deleted.
|
|
Removing Overview Manager restores stock LuCI behaviour on its own.
|
|
|
|
## Translations
|
|
|
|
The interface uses the stock LuCI mechanism: `_()` in JavaScript and gettext
|
|
catalogues in `po/`. At build time `po/<lang>/overview-manager.po` is compiled
|
|
into `/usr/lib/lua/luci/i18n/overview-manager.<lang>.lmo` and ships in the main
|
|
package, and `/etc/uci-defaults/luci-app-overview-manager` registers the
|
|
language in `luci.languages`. The interface language follows the LuCI setting;
|
|
no separate `luci-i18n-*` package is needed.
|
|
|
|
The package translates only its own strings: a fully Russian LuCI also needs
|
|
`luci-i18n-base-ru`. A new language is added as a
|
|
`po/<lang>/overview-manager.po` catalogue; `scripts/test-po2lmo.py` checks that
|
|
the catalogues match the sources.
|
|
|
|
## Limitations
|
|
|
|
A LuCI status include has no common description of its internals: every widget
|
|
implements arbitrary `load()` and `render()`. Overview Manager therefore
|
|
arranges the order and visibility of cards, but does not edit their contents.
|
|
|
|
A hidden widget is not displayed, but its own data collection may still run on
|
|
the page poll.
|
|
|
|
## Development
|
|
|
|
```sh
|
|
./scripts/ci-check.sh
|
|
```
|
|
|
|
Building, signing and releasing: [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md).
|
|
|
|
## Documentation
|
|
|
|
- [Repository map](docs/MAP.md) - where things live
|
|
- [Architecture](docs/ARCHITECTURE.md) - why the page is built this way
|
|
- [Development](docs/DEVELOPMENT.md) - building, signing and releasing
|
|
|
|
## Support
|
|
|
|
Questions and bug reports go to
|
|
[Issues](https://github.com/Nikitid/luci-app-overview-manager/issues/new/choose): pick the form that
|
|
fits. Report a vulnerability privately through
|
|
[a security advisory](https://github.com/Nikitid/luci-app-overview-manager/security/advisories/new).
|
|
English or Russian is fine.
|
|
|
|
## License
|
|
|
|
[MIT](LICENSE)
|