luci-theme-vantage README

The project's README from github.com/anothaDev/luci-theme-vantage. As one markdown file: README.md.

Vantage logo

Vantage

A LuCI theme and live network dashboard for OpenWrt 25.12 and 24.10, built from scratch.

OpenWrt 25.12 and 24.10 LuCI theme + app License: GPL-3.0-or-later


The Vantage dashboard in dark mode: health strip flagging a weak client, network path from gateway to access point, radios and SSIDs with packets moving on its grid, live throughput with download and upload in their own colours, and radio cards

Screenshots show recorded data from a real access point, pseudonymised (documentation addresses and MACs, neutral names). See Develop.

What you get

Two packages. The app works under any LuCI theme; the theme is useful without the app.

luci-theme-vantage, the shell:

luci-app-vantage, the dashboard at admin/dashboard (the landing page):

Screenshots

Dashboard in light mode with every check passing Client inspector drawer open over the clients table
Light mode: health checks, network path and live throughput Client inspector with experience score, signal and link details
Command palette searching pages LuCI Status Overview page restyled by the theme
Ctrl+K palette: every page, fuzzy matched Stock Status page under the theme, with a combined memory bar
Channel Analysis page showing neighbouring networks Dashboard on a phone-sized screen
Stock Channel Analysis (neighbour networks are generated) Phone layout with the bottom bar and the Wi-Fi/Wired switch

Install

For OpenWrt 25.12 (apk). Both packages are architecture-independent, so the same files install on any target. For 24.10 (opkg, signed .ipk repository), see OpenWrt 24.10.

From the signed repository, on the router (once; later versions come with apk upgrade):

wget -O /etc/apk/keys/vantage-signing.pem https://anothadev.github.io/luci-theme-vantage/vantage-signing.pem
sha256sum /etc/apk/keys/vantage-signing.pem   # must be c8a6c83eeb49ca2407932fb5e95785776128cef87db75ebaea0fe4171eee2157
echo 'https://anothadev.github.io/luci-theme-vantage/25.12/packages.adb' >> /etc/apk/repositories.d/customfeeds.list
apk update && apk add luci-theme-vantage luci-app-vantage

Or from the files of a release (or your own build), with the files in the current directory (192.0.2.1 stands for your router's address):

sha256sum -c --ignore-missing SHA256SUMS
scp -O luci-theme-vantage-*.apk luci-app-vantage-*.apk [email protected]:/tmp/
ssh [email protected] 'apk add --no-network --allow-untrusted /tmp/luci-theme-vantage-*.apk /tmp/luci-app-vantage-*.apk'

Log out of LuCI and back in; the dashboard is now the landing page. On a fresh install the theme selects itself; an upgrade never overrides the theme you chose (System → System → Language and Style). Removing the theme switches LuCI back to Bootstrap.

The install guide covers requirements, verifying the packages, installing only one of them, upgrades, uninstalling, building Vantage into your own firmware, troubleshooting, and a ready-made prompt for installing with a coding agent.

Build

With podman and the official OpenWrt SDK image:

dev/build/sdk-build.sh 25.12.4          # builds HEAD into dist/25.12.4/

The script builds from a clean clone of the commit in an SDK image pinned by digest, so the same commit, SDK release and image always produce byte-identical packages. It checks every package against the commit's source (security-tests/verify_built_apk.js) before writing it to dist/<release>/, next to SHA256SUMS and a BUILDINFO with the build inputs. Optional index signing and the details are in the install guide.

Develop

The UI is developed offline against recorded device data, never against a live device:

  1. Replay – dev/replay/ serves the complete LuCI UI on 127.0.0.1 from a recording of a real LuCI session (ubus replies, HTTP responses and static files; the format is in the replay's README) or from hand-written fixtures, with the theme and app loaded from this tree; reload to see an edit. Save & Apply works against an in-memory overlay. Recordings stay outside the repository.
  2. Demo mode – --demo pseudonymises the recording as it loads: documentation MACs and addresses (00:00:5E:00:53:xx, 192.0.2.0/24, 2001:db8::/32), neutral hostname, SSIDs and client names. The screenshots above were taken this way.
node dev/replay/server.js --mirror ../vantage-mirror --port 8106 --demo \
    --theme-dir luci-theme-vantage/htdocs/luci-static/vantage --theme vantage \
    --app-dir luci-app-vantage

See dev/replay/README.md for all options, docs/SPEC.md for the product and docs/luci-contract.md for what LuCI expects from a theme. dev/icons/build.js generates the status icon set; prototypes/ holds the design prototypes the packages were made from. Coding agents working on the repository should read AGENTS.md.

Checks:

node --test tests/
dev/i18n/update.sh --check
node security-tests/check_dom_sinks.js
node security-tests/check_private_addresses.js [--require-mirror --mirror ../vantage-mirror]
node security-tests/test_templates.js
node security-tests/test_acl_policy.js

Security

Compatibility

OpenWrt Status
25.12 Built with the 25.12 SDK and tested
24.10 Signed .ipk packages since 1.0.8, built with the 24.10 SDK and tested on a 24.10.8 router without Wi-Fi (install)

Languages

Available: English and Simplified Chinese (dashboard, thanks to @ntbowen). Translations are very welcome.

To add a language: fork the repository, run dev/i18n/update.sh --add <lang> (a LuCI language code such as de or zh_Hans), translate the two new .po files and open a pull request that touches only po/ files. Preview your work in the replay with --lang <lang>. The details are under Translations.

Each translation installs as its own packages, e.g. apk add luci-i18n-vantage-de luci-i18n-vantage-theme-de; see Languages in the install guide.

Contributing

Issues and pull requests are welcome; see CONTRIBUTING.md. A bug report should include your OpenWrt version (cat /etc/openwrt_release), your browser, and screenshots taken with the replay's --demo mode or with personal data removed: no real IP addresses, MACs or SSIDs. Report security problems privately as described in SECURITY.md, not in a public issue.

What changed in each release is in CHANGELOG.md. Planned work and ideas are in docs/ROADMAP.md; next up is searching clients, radios and networks with Ctrl+K.

License

GNU General Public License v3.0 or later (GPL-3.0-or-later), see LICENSE and luci-theme-vantage/NOTICE.

luci-theme-vantage (anothaDev/luci-theme-vantage)

Searching Database…

What is this?A from-scratch LuCI theme and live network dashboard for OpenWrt routers. LuCI is OpenWrt's web admin interface, and Vantage replaces its look and adds a dashboard.
Is it just a theme, or does it add something?It is two packages. luci-theme-vantage restyles the router's web UI and works alone. luci-app-vantage adds a live dashboard as the landing page and works under any theme.
How do I install it on my router?On OpenWrt 25.12 it installs with apk from a signed repository. On 24.10 it installs with opkg from signed .ipk packages. Then log out of LuCI and back in, and the dashboard becomes the landing page.
What do I need before installing?A router running OpenWrt 25.12 or 24.10 with LuCI. The packages are architecture-independent, so the same files work on any target.
Is it fully tested on OpenWrt 24.10?Not fully. The 24.10 build was tested only on a router without Wi-Fi, so its wireless views have less real-device testing than the 25.12 build.
Does it work on phones?Yes. On phones the icon rail becomes a bottom bar and sheet, and tables turn into cards on small screens.
Does the dashboard send my network data anywhere or change settings?The dashboard is read-only and leaves Wi-Fi keys and RADIUS secrets out of its data. Reverse DNS is a separate optional package. Renaming devices is the only write, and it goes into its own group.
What does the dashboard show at a glance?A health verdict with checks for uplink, CPU, memory, Wi-Fi, client signal and storage. It also shows the network path from gateway to access point, live throughput, and clients with human names and experience scores.
Can I jump to any page quickly?Yes. Ctrl + K or / opens a command palette with fuzzy search over every page you can open.
Does it show the firewall rules?Yes. A firewall overview shows what is open from the internet and which zone reaches which, with warnings for risky cases. It is shown only to sessions that already hold LuCI's firewall access.
Does it support other languages?English and Simplified Chinese are available. New translations are welcome and are added as po/ files in a pull request.
Which topics is it in?openwrt, wifi, router, dashboard, javascript
Creator
anothaDev
Size
5 MB
Stars
398
Age
1mo
Commits · 90 Days