Go to file
CyberMind-FR c53f24dc6c Add per-VLAN QoS support and fix menu naming issues
secubox-qos v1.1.0:
- Add multi-interface support (eth0, eth0.100, eth0.200, etc.)
- Add VLAN discovery and listing (/vlans endpoint)
- Add per-VLAN bandwidth policies with priority settings
- Add 802.1p PCP (Priority Code Point) marking support
- Add VLAN creation/deletion endpoints
- Add VLAN-aware traffic classification rules
- Add per-interface statistics and tc class stats
- Support applying QoS to all managed interfaces at once
- Update frontend with VLAN policies table and PCP settings

secubox-roadmap:
- Add conditional navbar based on authentication status
- Show guest header with Login button when not authenticated
- Show full sidebar when authenticated

Menu fixes (5 modules):
- Fix mitmproxy: title → name
- Fix exposure: title → name, add description
- Fix traffic: title → name, add description
- Fix wireguard: title → name, section → category, fix icon
- Fix zkp: remove duplicate title, url → path

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-24 10:17:10 +01:00
.claude Add per-VLAN QoS support and fix menu naming issues 2026-03-24 10:17:10 +01:00
.github/workflows Add secubox-repo and secubox-hardening modules, CI/CD workflows 2026-03-22 22:15:01 +01:00
.vscode Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
board Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
cache/repo feat: modular nginx config + hub roadmap + new modules 2026-03-21 20:34:01 +01:00
common Add secubox-repo and secubox-hardening modules, CI/CD workflows 2026-03-22 22:15:01 +01:00
image Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
packages Add per-VLAN QoS support and fix menu naming issues 2026-03-24 10:17:10 +01:00
repo Update metapackages to include all 41 modules 2026-03-23 18:02:26 +01:00
scripts Apply CRT P31 Phosphor theme to all 38 module UIs 2026-03-23 18:56:11 +01:00
.gitignore fix: complete CSS variables and add module scaffold skill 2026-03-21 18:27:21 +01:00
build.log Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
CLAUDE.md feat(mail): Debian LXC containers for Postfix/Dovecot/Roundcube 2026-03-22 10:40:00 +01:00
README.md feat: three-fold architecture for streamlit, haproxy, metablogizer 2026-03-22 07:28:33 +01:00
secubox.conf.example Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
setup-dev.sh Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
wget-log Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
wget-log.1 Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
wget-log.2 Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
wget-log.3 Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
wget-log.4 Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
wget-log.5 Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
wget-log.6 Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00
wget-log.7 Initial commit: SecuBox-DEB migration from OpenWrt to Debian 2026-03-21 09:41:06 +01:00

SecuBox-DEB

Migration OpenWrt → Debian · GlobalScale Technologies

CyberMind · Gandalf · Mars 2026

Port complet de SecuBox OpenWrt vers Debian bookworm arm64/amd64 pour les boards MOCHAbin (Armada 7040), ESPRESSObin (Armada 3720), et VMs x86_64.


Architecture

OpenWrt / LuCI                   →    Debian bookworm
─────────────────────────────────────────────────────────
RPCD shell backend               →    FastAPI + Uvicorn (Unix socket)
UCI config /etc/config/          →    TOML /etc/secubox/secubox.conf
luci-app-*/htdocs/ (JS/CSS/HTML) →    Conservé + XHR réécrits
OpenWrt packages (.ipk)          →    Paquets Debian (.deb)
opkg                             →    apt + repo apt.secubox.in

Boards supportés :

Board SoC RAM Réseau Profil
MOCHAbin Armada 7040 Quad 1.8GHz 4 GB 2× SFP+ 10GbE + 4× GbE SecuBox Pro
ESPRESSObin v7 Armada 3720 Dual 1.2GHz 12 GB WAN + 2× LAN DSA SecuBox Lite
ESPRESSObin Ultra Armada 3720 Dual 1.2GHz 2 GB WAN PoE + 4× LAN + Wi-Fi SecuBox Lite+
VM x86_64 Any 2+ GB Virtio/NAT SecuBox Full

Packages (30 modules)

Core & Dashboard

Package Description
secubox-core Python lib, nginx config, auth framework
secubox-hub Central dashboard with roadmap, system health
secubox-portal Web authentication, JWT login/logout
secubox-system System control (services, logs, updates)

Security (6 modules)

Package Description
secubox-crowdsec IDS/IPS with CrowdSec, decisions, bouncers
secubox-wireguard VPN dashboard, peers, keys, QR codes
secubox-auth OAuth2 + captive portal vouchers
secubox-nac Network Access Control, device guardian
secubox-waf Web Application Firewall (300+ rules)
secubox-users Unified identity (7 services sync)

Network (5 modules)

Package Description
secubox-netmodes Network modes (router, bridge, AP)
secubox-dpi Deep Packet Inspection (netifyd)
secubox-qos QoS / Bandwidth manager (HTB)
secubox-vhost Virtual hosts nginx + ACME
secubox-haproxy HAProxy dashboard, backends, ACLs

Monitoring (3 modules)

Package Description
secubox-netdata Real-time monitoring dashboard
secubox-mediaflow Media streaming detection
secubox-cdn CDN cache (Squid/nginx)

DNS & Email (6 modules)

Package Description
secubox-dns DNS Master / BIND zones, DNSSEC
secubox-mail Postfix/Dovecot email server
secubox-mail-lxc LXC container for mail
secubox-webmail Roundcube/SOGo webmail
secubox-webmail-lxc LXC container for webmail

Publishing (5 modules)

Package Description
secubox-droplet File publisher
secubox-streamlit Streamlit app platform
secubox-streamforge Streamlit app manager
secubox-metablogizer Static site generator + Tor
secubox-publish Unified publishing dashboard

Metapackages

Package Description
secubox-full All modules for MOCHAbin/VM
secubox-lite Core modules for ESPRESSObin

Quick Start

Installation (from APT repo)

# Add SecuBox repository
curl -fsSL https://apt.secubox.in/gpg.key | gpg --dearmor -o /etc/apt/keyrings/secubox.gpg
echo "deb [signed-by=/etc/apt/keyrings/secubox.gpg] https://apt.secubox.in bookworm main" \
  > /etc/apt/sources.list.d/secubox.list

# Install
apt update
apt install secubox-full   # or secubox-lite for minimal

# Access dashboard
firefox https://localhost/
# Login: admin / secubox

Build from source

git clone https://github.com/gkerma/secubox-deb
cd secubox-deb

# Build all packages
bash scripts/build-all-local.sh bookworm amd64

# Build image for VM
sudo bash image/build-image.sh --board vm-x64 --vdi

# Create VirtualBox VM
bash image/create-vbox-vm.sh output/secubox-vm-x64-bookworm.vdi

API Reference

All modules expose REST APIs via Unix sockets proxied by nginx at /api/v1/<module>/.

Authentication

# Login
curl -X POST https://localhost/api/v1/portal/login \
  -H 'Content-Type: application/json' \
  -d '{"username":"admin","password":"secubox"}'

# Response: {"success":true,"token":"eyJ...","username":"admin","role":"admin"}

# Use token for protected endpoints
curl https://localhost/api/v1/hub/status \
  -H 'Authorization: Bearer <token>'

Common Endpoints (all modules)

Endpoint Method Auth Description
/status GET No Module status
/health GET No Health check

Hub API (/api/v1/hub/)

Endpoint Method Description
/dashboard GET Full dashboard data
/menu GET Dynamic sidebar menu
/modules GET Module status list
/alerts GET Active alerts
/roadmap GET Migration progress
/system_health GET System health score
/network_summary GET Network status

CrowdSec API (/api/v1/crowdsec/)

Endpoint Method Description
/metrics GET CrowdSec metrics
/decisions GET Active decisions
/alerts GET Security alerts
/bouncers GET Bouncer status
/ban POST Ban IP address
/unban POST Unban IP address

WireGuard API (/api/v1/wireguard/)

Endpoint Method Description
/interfaces GET WG interfaces
/peers GET Peer list
/peer POST Add peer
/peer/{id} DELETE Remove peer
/qrcode/{peer} GET Peer QR code

See docs/API-REFERENCE.md for complete API documentation.


Configuration

Main configuration: /etc/secubox/secubox.conf (TOML)

[general]
hostname = "secubox"
domain = "local"
timezone = "Europe/Paris"

[auth]
jwt_secret = "your-secret-key"
session_timeout = 86400

[network]
wan_interface = "eth0"
lan_interface = "eth1"

[crowdsec]
api_url = "http://127.0.0.1:8080"

Development

# Setup dev environment
bash setup-dev.sh
source .venv/bin/activate

# Run single module API
cd packages/secubox-crowdsec
uvicorn api.main:app --reload --host 127.0.0.1 --port 8001

# Build single package
dpkg-buildpackage -us -uc -b

# Deploy to VM
scp -P 2222 *.deb root@localhost:/tmp/
ssh -p 2222 root@localhost "dpkg -i /tmp/*.deb"

Documentation


License

Apache-2.0 © 2026 CyberMind · Gandalf / gkerma