mirror of
https://github.com/CyberMind-FR/secubox-deb.git
synced 2026-07-29 15:37:03 +00:00
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> |
||
|---|---|---|
| .. | ||
| 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