Convert 90+ LuCI view files from legacy cbi-button-* classes to KissTheme kiss-btn-* classes for consistent dark theme styling. Pattern conversions applied: - cbi-button-positive → kiss-btn-green - cbi-button-negative/remove → kiss-btn-red - cbi-button-apply → kiss-btn-cyan - cbi-button-action → kiss-btn-blue - cbi-button (plain) → kiss-btn Also replaced hardcoded colors (#080, #c00, #888, etc.) with CSS variables (--kiss-green, --kiss-red, --kiss-muted, etc.) for proper dark theme compatibility. Apps updated include: ai-gateway, auth-guardian, bandwidth-manager, cloner, config-advisor, crowdsec-dashboard, dns-provider, exposure, glances, haproxy, hexojs, iot-guard, jellyfin, ksm-manager, mac-guardian, magicmirror2, master-link, meshname-dns, metablogizer, metabolizer, mqtt-bridge, netdata-dashboard, picobrew, routes-status, secubox-admin, secubox-mirror, secubox-p2p, secubox-security-threats, service-registry, simplex, streamlit, system-hub, tor-shield, traffic-shaper, vhost-manager, vortex-dns, vortex-firewall, webradio, wireguard-dashboard, zigbee2mqtt, zkp, and more. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| htdocs/luci-static/resources/view/secubox | ||
| root/usr | ||
| Makefile | ||
| README.md | ||
LuCI App Master-Link
LuCI web interface for SecuBox Master-Link mesh management.
Installation
opkg install luci-app-master-link
Requires secubox-master-link (pulled automatically as dependency).
Access
SecuBox > Mesh Management in the LuCI menu.
Tabs
Overview
Adapts to the node's role:
- Master: Role badge, mesh stats (peers, depth, chain height), Generate Token button with QR-ready URL
- Peer: Role badge, upstream master info, own depth, sync status
- Sub-master: Upstream info + downstream peer count
Join Requests (master/sub-master only)
- Table: hostname, IP, fingerprint, timestamp, status
- Actions: Approve, Reject, Promote to sub-master
- Auto-refresh every 10 seconds
Mesh Tree
- Hierarchical view of master → peers → sub-masters → their peers
- Depth indicators and role badges
- Online/offline status per node
RPCD Methods
All calls go through luci.master_link ubus object:
| Method | Description |
|---|---|
status |
Node status and mesh stats |
peers |
List all peers with join details |
tree |
Mesh topology tree |
token_generate |
Create one-time join token |
approve |
Approve, reject, or promote a peer |
token_cleanup |
Remove expired tokens |
Files
| File | Purpose |
|---|---|
root/usr/share/luci/menu.d/luci-app-master-link.json |
Menu entry |
root/usr/share/rpcd/acl.d/luci-app-master-link.json |
ACL permissions |
root/usr/libexec/rpcd/luci.master_link |
RPCD endpoint |
htdocs/luci-static/resources/view/secubox/master-link.js |
LuCI view |
License
Apache-2.0