mirror of
https://github.com/CyberMind-FR/secubox-deb.git
synced 2026-07-28 21:17:36 +00:00
The hub's `_compute_menu_sync()` drops menu entries lacking an `id`
field. 6+ packages (lyrion, yacy, zigbee, rustdesk, grafana, authelia)
shipped a different schema (`title/url/section/module`) so they NEVER
appeared in the navbar. Plus the existing CATEGORY_META declared 12
sections (dashboard/security/network/system/core/users/services/
privacy/monitoring/publishing/apps/admin), not the 6 SecuBox charter
modules.
Changes:
* All 121 packages/secubox-*/menu.d/*.json normalised to the canonical
schema (id, name, path, category, icon, order, description). Legacy
schema aliases (title/url/module/section) preserved as fallbacks then
dropped from the file.
* Each menu entry's category remapped to one of the 6 charter modules:
AUTH (auth/users/identity/zkp/nac/openclaw),
WALL (crowdsec/waf/mitmproxy/hardening/threat-* /cve-triage/...),
BOOT (kernel-build/eye-remote/master-link/droplet/cloner/backup/...),
MIND (ai-gateway/mcp-server/grafana/ndpid/netifyd/glances/...),
ROOT (system/hub/portal/console/admin/vault/vm/rtty/...),
MESH (wireguard/dns/tor/matrix/gitea/nextcloud/mail/lyrion/yacy/
zigbee/dns-provider/rustdesk/... — all network + comms apps).
* secubox-hub v1.4.0 — CATEGORY_META rewritten with the 6 charter
modules carrying their official color from DESIGN-CHARTER.md and
the complementary-pair order. DEFAULT_MENU fallback remapped too.
* secubox-zigbee v2.5.3 — www/zigbee/index.html rewritten with the
canonical SecuBox scaffold (body display:flex, sidebar 220px fixed,
.main reserving 48px for the global-menu-bar). MESH palette.
Browser side: operators need to clear localStorage sbx_menu_cache (or
hard-refresh after the 1h TTL) to see the new sections after deploy.
Co-authored-by: CyberMind-FR <gandalf@Gk2.net>
|
||
|---|---|---|
| .. | ||
| bin | ||
| console | ||
| debian | ||
| menu.d | ||
| README.md | ||
SecuBox Console TUI
Terminal-based dashboard for SecuBox appliances using Python Textual framework.
Features
- Dashboard: Live system metrics (CPU, memory, disk), uptime, health score
- Services: List, start, stop, restart, enable, disable SecuBox services
- Network: Interface status with WAN/LAN/SFP classification
- Logs: Real-time log viewer with unit filtering
- Menu: System info, quick actions (reboot, shutdown, kiosk toggle)
Keyboard Navigation
| Key | Action |
|---|---|
d |
Switch to Dashboard |
s |
Switch to Services |
n |
Switch to Network |
l |
Switch to Logs |
m |
Switch to Menu |
q |
Quit |
r |
Refresh current view |
j |
Move down (vim-style) |
k |
Move up (vim-style) |
h |
Go back |
Enter |
Select/toggle |
? |
Help |
Services Screen Actions
| Key | Action |
|---|---|
Enter |
Toggle service (start if stopped, stop if running) |
R |
Restart selected service |
e |
Enable selected service |
D |
Disable selected service |
Board-Specific Theming
The console automatically detects the board type and applies themed colors:
| Board | Color | Badge |
|---|---|---|
| MOCHAbin | Sky Blue | PRO |
| ESPRESSObin v7 | Green | LITE |
| ESPRESSObin Ultra | Teal | ULTRA |
| x64 VM | Purple | VM |
| x64 Baremetal | Orange | SERVER |
| Raspberry Pi | Pink | PI |
Installation
apt install secubox-console
Usage
Manual Launch
secubox-console
Auto-Start on TTY1
Enable console mode to auto-start on TTY1 at boot:
secubox-kiosk-setup console
This disables GUI kiosk mode if active and enables the console TUI service.
Check Current Mode
secubox-kiosk-setup status
Disable Console Mode
secubox-kiosk-setup no-console
systemd Service
The console runs as a systemd service on TTY1:
# Check status
systemctl status secubox-console
# Start manually
systemctl start secubox-console
# View logs
journalctl -u secubox-console -f
Dependencies
secubox-core>= 1.1.0 (board detection, kiosk management)python3-textual>= 0.40.0 (TUI framework)python3-httpx(async HTTP client)python3-rich(terminal formatting)
API Communication
The console communicates with SecuBox modules via Unix sockets:
/run/secubox/hub.sock- Dashboard data, services/run/secubox/system.sock- Board info, resources/run/secubox/watchdog.sock- Health status/run/secubox/netmodes.sock- Network mode
If sockets are unavailable, the console falls back to local system commands.
Author
Gerald KERMA devel@cybermind.fr CyberMind — https://cybermind.fr