secubox-deb/packages/secubox-console
CyberMind 5e93c73600
feat(navbar): consolidate to 6 charter categories + fix dropped menu entries (closes #306) (#307)
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>
2026-05-21 10:03:05 +02:00
..
bin feat(soc): Add hierarchical SOC system with multi-tier deployment 2026-04-01 07:08:08 +02:00
console feat(console): Standalone mode + tools documentation 2026-04-01 07:22:30 +02:00
debian feat(secubox): complete meta-script generator Tasks 14-17 2026-05-11 05:32:29 +02:00
menu.d feat(navbar): consolidate to 6 charter categories + fix dropped menu entries (closes #306) (#307) 2026-05-21 10:03:05 +02:00
README.md feat(soc): Add hierarchical SOC system with multi-tier deployment 2026-04-01 07:08:08 +02:00

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