secubox-deb/packages/secubox-console
CyberMind-FR bd7dda0c6f feat(secubox): complete meta-script generator Tasks 14-17
Task 14: Arch Profiles
- Add profiles/arch/arm64.yaml and profiles/arch/amd64.yaml
- Add ResolveWithArch() to merger for base → arch → tier chain
- Add tests for arch profile resolution

Task 15: Package secubox.yaml for All Packages
- Add scripts/generate-secubox-yaml.py generator script
- Generate 131 debian/secubox.yaml files with:
  - Category detection (security, network, system, etc.)
  - Tier assignment (all, lite, standard, pro)
  - API socket and UI path detection

Task 16: APT Repository Setup
- Add apt/conf/ reprepro configuration (multi-arch arm64/amd64)
- Add apt/hooks/lintian-check pre-publish validation
- Add scripts/apt-publish.sh and scripts/apt-sync.sh
- Add apt/README.md documentation

Task 17: CI Integration
- Add .github/workflows/build-secubox-cli.yml
- Build for linux-amd64 and linux-arm64
- Version injection via ldflags
- GitHub releases on tag push

Code Quality Fixes (Tasks 10-13):
- Add atomic writes for OTA boot control files (0600 perms)
- Fix NVME device extraction (nvme0n1p2 → nvme0n1)
- Add scanner.Err() checks in hardware detection
- Fix URL injection validation in fetch command
- Add proper cleanup on checksum failures

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-11 05:32:29 +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 fix(services): Add LogsDirectory and fix menu icons 2026-04-20 08:59:19 +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