mirror of
https://github.com/CyberMind-FR/secubox-deb.git
synced 2026-07-29 12:34:38 +00:00
docs(wiki): Expand wiki to comprehensive SecuBox documentation
- Update Home.md with full SecuBox system overview - Add Architecture-Boot.md (5-layer boot chain, CSPN compliance) - Add Design-System.md (6-module color system, typography) - Add Developer-Guide.md (stack, conventions, patterns) - Add Modules.md (all 125 modules with screenshots) - Update _Sidebar.md with comprehensive navigation - Fix fb_dashboard.py type hint for _read_from_socket Wiki now covers: system overview, architecture, modules, security, development guidelines, Eye Remote, and all hardware platforms. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
92343fb19d
commit
fec2ec11d3
137
docs/wiki/Architecture-Boot.md
Normal file
137
docs/wiki/Architecture-Boot.md
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
# Boot Architecture
|
||||
|
||||
**SecuBox-DEB** uses a five-layer boot chain from hardware firmware to user space. Three exclusive execution modes are available: maintenance (`PROMPT`), display (`KIOSK`), or production (`API`).
|
||||
|
||||
---
|
||||
|
||||
## Boot Chain Overview
|
||||
|
||||
### Layer 1 — HW / BootLoader
|
||||
|
||||
| Platform | Firmware | Notes |
|
||||
|----------|----------|-------|
|
||||
| Lenovo ThinkCentre M710q | BIOS/UEFI | x86_64, Secure Boot capable |
|
||||
| MOCHAbin (Armada 7040) | U-Boot | ARM64, eMMC or NVMe boot |
|
||||
| ESPRESSObin (Armada 3720) | U-Boot | ARM64, SD or eMMC boot |
|
||||
|
||||
### Layer 2 — OS / UEFI (GRUB2)
|
||||
|
||||
GRUB2 handles kernel selection, signature verification (Secure Boot), and optional TPM2 unsealing (`tpm2_unseal`).
|
||||
|
||||
**CSPN Compliance Points:**
|
||||
- `/boot` partition is unencrypted (FAT32/ext4) but protected by UEFI signature verification
|
||||
- Kernel command line parameters are locked in production
|
||||
- GRUB password is mandatory on production targets
|
||||
|
||||
### Layer 3 — Kernel + InitRamfs
|
||||
|
||||
#### Hardened Linux Kernel
|
||||
|
||||
```
|
||||
CONFIG_SECURITY_LOCKDOWN_LSM=y
|
||||
CONFIG_MODULE_SIG=y
|
||||
CONFIG_MODULE_SIG_SHA512=y
|
||||
CONFIG_HARDENED_USERCOPY=y
|
||||
CONFIG_RANDOMIZE_BASE=y # KASLR
|
||||
```
|
||||
|
||||
Built-in modules: `nftables`, `WireGuard`, `eBPF` (restricted), MOCHAbin network drivers (mvneta/mvpp2).
|
||||
|
||||
#### InitRamfs Operations
|
||||
|
||||
1. Mount encrypted LUKS2 disk (`cryptsetup luksOpen`)
|
||||
2. Verify ZKP pre-mount proof (GK·HAM-HASH L1)
|
||||
3. Mount encrypted root on `/sysroot`
|
||||
4. `switch_root` to Rootfs
|
||||
|
||||
### Layer 4 — Rootfs / INIT (systemd)
|
||||
|
||||
After `pivot_root`, systemd orchestrates the 10-phase SecuBox-DEB startup:
|
||||
|
||||
| Phase | Services | SecuBox Pairs |
|
||||
|-------|----------|---------------|
|
||||
| 1 — Network | nftables, WireGuard, Tailscale | MESH↔AUTH |
|
||||
| 2 — Perimeter Security | CrowdSec, HAProxy | WALL↔MIND |
|
||||
| 3 — DPI dual-stream | nDPId (active/shadow) | WALL↔MIND |
|
||||
| 4 — Runtime API | FastAPI/Uvicorn, 4R buffer | BOOT↔ROOT |
|
||||
| 5 — ZKP auth | GK·HAM-HASH (L1/L2/L3) | BOOT↔ROOT |
|
||||
| 6 — MirrorNet P2P | WireGuard + did:plc | MESH↔AUTH |
|
||||
| 7 — Notarization | ALERTE·DÉPÔT blind notarization | WALL↔MIND |
|
||||
| 8 — Display | HyperPixel / RPi Zero coprocessor | MESH↔AUTH |
|
||||
| 9 — Monitoring | Metrics, alerts, SIEM | WALL↔MIND |
|
||||
| 10 — Finalization | Health-check, seal TPM2 | BOOT↔ROOT |
|
||||
|
||||
---
|
||||
|
||||
## Execution Modes
|
||||
|
||||
### PROMPT `<LOG>` — Maintenance Mode
|
||||
|
||||
**Target:** `secubox-prompt.target`
|
||||
|
||||
- Shell access via physical console or restricted SSH
|
||||
- Full audit logging (`auditd` + `systemd-journal`, 90-day retention)
|
||||
- Production services (API, DPI, MirrorNet) are stopped
|
||||
|
||||
```bash
|
||||
echo "MODE=PROMPT" > /etc/secubox/runtime.conf
|
||||
systemctl isolate secubox-prompt.target
|
||||
```
|
||||
|
||||
### KIOSK `[UI]` — Display Mode
|
||||
|
||||
**Target:** `secubox-kiosk.target`
|
||||
|
||||
- Locked UI for metrics display on HyperPixel
|
||||
- No shell access, no inbound network interfaces
|
||||
- Communication via Unix socket (read-only)
|
||||
- Auto-restart on crash
|
||||
|
||||
```bash
|
||||
echo "MODE=KIOSK" > /etc/secubox/runtime.conf
|
||||
systemctl isolate secubox-kiosk.target
|
||||
```
|
||||
|
||||
### API `(RT)` — Production Mode
|
||||
|
||||
**Target:** `secubox-api.target` (default)
|
||||
|
||||
- FastAPI/Uvicorn on Unix socket (HAProxy TLS frontend)
|
||||
- 4R double-buffer active on L2
|
||||
- nDPId dual-stream listening
|
||||
- CrowdSec in agent mode
|
||||
- No interactive shell, no external SSH
|
||||
|
||||
```bash
|
||||
echo "MODE=API" > /etc/secubox/runtime.conf
|
||||
systemctl isolate secubox-api.target
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Module Color Correspondence
|
||||
|
||||
| Color | Hex | Layer / Mode |
|
||||
|-------|-----|--------------|
|
||||
| BOOT | `#803018` | HW / BootLoader |
|
||||
| WALL | `#9A6010` | OS / UEFI |
|
||||
| MIND | `#3D35A0` | Kernel + InitRamfs |
|
||||
| ROOT | `#0A5840` | Rootfs / INIT — API Mode |
|
||||
| MESH | `#104A88` | KIOSK Mode [UI] |
|
||||
| AUTH | `#C04E24` | PROMPT Mode \<LOG\> |
|
||||
|
||||
---
|
||||
|
||||
## CSPN Control Points
|
||||
|
||||
- [ ] Kernel and module signatures verified by Secure Boot
|
||||
- [ ] InitRD without plaintext secrets (`lsinitrd | grep -i key`)
|
||||
- [ ] TPM2 sealing to PCR 0+7+14 validated after kernel updates
|
||||
- [ ] PROMPT mode only accessible via physical console or certificate SSH
|
||||
- [ ] Audit logs exported and signed before each PROMPT session
|
||||
- [ ] API mode won't start if ZKP L1 proof fails
|
||||
- [ ] Network isolation between modes verified by `nft list ruleset`
|
||||
|
||||
---
|
||||
|
||||
*See also: [[Architecture-Security]], [[Architecture-Modules]]*
|
||||
184
docs/wiki/Design-System.md
Normal file
184
docs/wiki/Design-System.md
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
# Design System
|
||||
|
||||
SecuBox uses a **six-module color system** with complementary pairs for visual consistency across all interfaces.
|
||||
|
||||
---
|
||||
|
||||
## Module Colors
|
||||
|
||||
| Module | Code | Color | Hex | Description |
|
||||
|--------|------|-------|-----|-------------|
|
||||
| **AUTH** | 01 | Orange (Coral Auth) | `#C04E24` | Authentication, zero-trust |
|
||||
| **WALL** | 02 | Yellow (Amber Shield) | `#9A6010` | Firewall, nftables |
|
||||
| **BOOT** | 03 | Red (Coral Launch) | `#803018` | Deployment, provisioning |
|
||||
| **MIND** | 04 | Violet (Violet Mind) | `#3D35A0` | AI, behavioral analysis, nDPId |
|
||||
| **ROOT** | 05 | Green (Teal Root) | `#0A5840` | Terminal CLI, Debian system |
|
||||
| **MESH** | 06 | Blue (Blue Mesh) | `#104A88` | Network, WireGuard, Tailscale |
|
||||
|
||||
### Complementary Pairs
|
||||
|
||||
- **Red ↔ Green** (BOOT ↔ ROOT) — System deployment and operation
|
||||
- **Yellow ↔ Violet** (WALL ↔ MIND) — Security and intelligence
|
||||
- **Blue ↔ Orange** (MESH ↔ AUTH) — Network and access control
|
||||
|
||||
---
|
||||
|
||||
## Color Palette Details
|
||||
|
||||
### AUTH (Orange)
|
||||
```css
|
||||
--auth-main: #C04E24;
|
||||
--auth-light: #E8845A;
|
||||
--auth-xlt: #FAECE7;
|
||||
--auth-dark: #7A2A10;
|
||||
```
|
||||
|
||||
### WALL (Yellow/Amber)
|
||||
```css
|
||||
--wall-main: #9A6010;
|
||||
--wall-light: #CC8820;
|
||||
--wall-xlt: #FDF3E0;
|
||||
--wall-dark: #5A3808;
|
||||
```
|
||||
|
||||
### BOOT (Red)
|
||||
```css
|
||||
--boot-main: #803018;
|
||||
--boot-light: #C06040;
|
||||
--boot-xlt: #FAECE7;
|
||||
--boot-dark: #5A1E0A;
|
||||
```
|
||||
|
||||
### MIND (Violet)
|
||||
```css
|
||||
--mind-main: #3D35A0;
|
||||
--mind-light: #7068D0;
|
||||
--mind-xlt: #EEEDFE;
|
||||
--mind-dark: #241D6A;
|
||||
```
|
||||
|
||||
### ROOT (Green/Teal)
|
||||
```css
|
||||
--root-main: #0A5840;
|
||||
--root-light: #148C66;
|
||||
--root-xlt: #E1F5EE;
|
||||
--root-dark: #063828;
|
||||
```
|
||||
|
||||
### MESH (Blue)
|
||||
```css
|
||||
--mesh-main: #104A88;
|
||||
--mesh-light: #2C70C0;
|
||||
--mesh-xlt: #E6F1FB;
|
||||
--mesh-dark: #08305A;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Light Theme Base Colors
|
||||
|
||||
```css
|
||||
--bg: #FFFFFF;
|
||||
--surface: #FAFAF8;
|
||||
--surface2: #F4F3EF;
|
||||
--border: #E2E0D8;
|
||||
--border2: #C8C6BE;
|
||||
--text: #1A1A18;
|
||||
--muted: #6B6963;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Dark Theme (Eye Remote / Dashboard)
|
||||
|
||||
```css
|
||||
--cosmos-black: #0a0a0f;
|
||||
--gold-hermetic: #c9a84c;
|
||||
--cinnabar: #e63946;
|
||||
--matrix-green: #00ff41;
|
||||
--void-purple: #6e40c9;
|
||||
--cyber-cyan: #00d4ff;
|
||||
--text-primary: #e8e6d9;
|
||||
--text-muted: #6b6b7a;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Typography
|
||||
|
||||
### Font Stack
|
||||
- **Display/Heading**: Space Grotesk (300-700)
|
||||
- **Body**: Space Grotesk 400
|
||||
- **Monospace/Code**: JetBrains Mono (400, 700)
|
||||
|
||||
### Usage
|
||||
|
||||
```css
|
||||
/* Display - titles */
|
||||
font-size: 56px;
|
||||
font-weight: 700;
|
||||
letter-spacing: -2px;
|
||||
color: var(--root-main);
|
||||
|
||||
/* Heading */
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
letter-spacing: -0.4px;
|
||||
|
||||
/* Body */
|
||||
font-size: 14-16px;
|
||||
font-weight: 400;
|
||||
line-height: 1.6-1.7;
|
||||
|
||||
/* Code/Terminal */
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 12px;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Brand Identities
|
||||
|
||||
| Brand | Color | Usage |
|
||||
|-------|-------|-------|
|
||||
| **SecuBox·** | Green (Root) | Main product brand |
|
||||
| **Gondwana** | Violet (Mind) | Public/external brand |
|
||||
| **CyberMind** | Orange (Auth) | Internal/confidential brand |
|
||||
|
||||
---
|
||||
|
||||
## Module Icons/Symbols
|
||||
|
||||
| Module | Symbol | Description |
|
||||
|--------|--------|-------------|
|
||||
| AUTH | Hexagonal target | Controlled access, verified identity |
|
||||
| WALL | Flaming brick wall | nftables, inbound/outbound rules |
|
||||
| BOOT | Rocket | Provisioning, fast boot, deployment |
|
||||
| MIND | Robot | Automation, behavioral analysis |
|
||||
| ROOT | $>_ prompt | Console access, low-level system |
|
||||
| MESH | Network gear | WireGuard, Tailscale, mesh topology |
|
||||
|
||||
---
|
||||
|
||||
## Spacing System
|
||||
|
||||
| Size | Pixels | Usage |
|
||||
|------|--------|-------|
|
||||
| XS | 4px | Icon gaps |
|
||||
| S | 8px | Chips |
|
||||
| M | 16px | Padding |
|
||||
| L | 24px | Sections |
|
||||
| XL | 40px | Margins |
|
||||
| 2XL | 56px | Cover |
|
||||
|
||||
---
|
||||
|
||||
## Grid System
|
||||
|
||||
- 12-column grid
|
||||
- Gap: 8px
|
||||
- Border radius: 14px (cards), 6px (swatches), 3px (small elements)
|
||||
|
||||
---
|
||||
|
||||
*© 2026 CyberMind · Notre-Dame-du-Cruet, Savoie*
|
||||
196
docs/wiki/Developer-Guide.md
Normal file
196
docs/wiki/Developer-Guide.md
Normal file
|
|
@ -0,0 +1,196 @@
|
|||
# Developer Guide
|
||||
|
||||
Getting started with SecuBox-DEB development.
|
||||
|
||||
---
|
||||
|
||||
## Tech Stack
|
||||
|
||||
### Base System
|
||||
- **OS**: Debian 12 (Bookworm) ARM64
|
||||
- **Kernel**: 6.x with netfilter, tc, eBPF modules
|
||||
- **Transport**: Tailscale (WireGuard-based mesh)
|
||||
- **Containers**: Docker / Podman
|
||||
|
||||
### Security Stack
|
||||
- **Firewall**: nftables (not iptables)
|
||||
- **IDS/IPS**: Suricata + CrowdSec
|
||||
- **WAF**: HAProxy + mitmproxy
|
||||
- **DNS**: Unbound (Vortex DNS) + blocklists
|
||||
- **DPI**: nDPId + netifyd (dual-stream via tc mirred)
|
||||
- **Auth**: SecuBox-ZKP (Hamiltonian NP / GK-HAM-2025)
|
||||
- **P2P Mesh**: MirrorNet (did:plc + WireGuard + Chain of Hamiltonians)
|
||||
|
||||
### Application Stack
|
||||
- **Backend**: Python 3.11+ (FastAPI / Flask), Bash, C
|
||||
- **Frontend**: HTML/CSS/JS vanilla or React
|
||||
- **Config**: YAML + TOML, double-buffer / 4R versioning
|
||||
- **Pipeline**: 5-stage production pipeline (collect → process → analyze → report → alert)
|
||||
|
||||
---
|
||||
|
||||
## Code Conventions
|
||||
|
||||
### Python
|
||||
|
||||
```python
|
||||
"""
|
||||
SecuBox-Deb :: <ModuleName>
|
||||
CyberMind — https://cybermind.fr
|
||||
Author: Gérald Kerma <gandalf@gk2.net>
|
||||
License: Proprietary / ANSSI CSPN candidate
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
from pydantic import BaseModel
|
||||
|
||||
router = APIRouter(prefix="/api/v1/module", tags=["module"])
|
||||
|
||||
class MetricsResponse(BaseModel):
|
||||
cpu_percent: float
|
||||
mem_percent: float
|
||||
```
|
||||
|
||||
### Bash
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
# SecuBox-Deb :: <script_name>
|
||||
# CyberMind — Gérald Kerma
|
||||
set -euo pipefail
|
||||
readonly MODULE="<name>"
|
||||
readonly VERSION="<semver>"
|
||||
```
|
||||
|
||||
### nftables
|
||||
|
||||
```nft
|
||||
#!/usr/sbin/nft -f
|
||||
flush ruleset
|
||||
|
||||
table inet filter {
|
||||
chain input {
|
||||
type filter hook input priority 0; policy drop;
|
||||
ct state established,related accept
|
||||
iif lo accept
|
||||
log prefix "[SECUBOX-MODULE] " level info
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Double-Buffer / 4R Pattern
|
||||
|
||||
All configuration uses the PARAMETERS module with 4R versioning:
|
||||
|
||||
```
|
||||
/etc/secubox/<module>/
|
||||
├── active/ → live config (read-only in prod)
|
||||
├── shadow/ → editable, validation before swap
|
||||
├── rollback/ → 4 timestamped snapshots (R1..R4)
|
||||
└── pending/ → awaiting ZKP validation
|
||||
```
|
||||
|
||||
### Operations
|
||||
|
||||
```bash
|
||||
# Swap double-buffer (atomic)
|
||||
secubox-params swap --module <name> --validate-zkp
|
||||
|
||||
# Rollback to R1
|
||||
secubox-params rollback --module <name> --target R1
|
||||
|
||||
# Check config status
|
||||
secubox-params status --module <name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## FastAPI Module Structure
|
||||
|
||||
```
|
||||
packages/secubox-<module>/
|
||||
├── api/
|
||||
│ ├── __init__.py
|
||||
│ ├── main.py ← FastAPI app with router
|
||||
│ └── routers/
|
||||
│ └── metrics.py ← Endpoint implementations
|
||||
├── core/
|
||||
│ ├── config.py ← TOML configuration
|
||||
│ └── service.py ← Business logic
|
||||
├── models/
|
||||
│ └── schemas.py ← Pydantic models
|
||||
├── www/
|
||||
│ ├── index.html ← Web UI (from OpenWrt port)
|
||||
│ └── static/
|
||||
├── debian/
|
||||
│ ├── control
|
||||
│ ├── rules
|
||||
│ ├── postinst
|
||||
│ └── prerm
|
||||
└── README.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Common Commands
|
||||
|
||||
```bash
|
||||
# Build .deb package (cross-compile for ARM64)
|
||||
cd packages/secubox-<module>
|
||||
dpkg-buildpackage -a arm64 --host-arch arm64 -us -uc -b
|
||||
|
||||
# Deploy to device via SSH
|
||||
bash scripts/deploy.sh secubox-<module> root@192.168.1.1
|
||||
|
||||
# Run API in development mode
|
||||
uvicorn api.main:app --reload --uds /tmp/<module>.sock
|
||||
|
||||
# Run tests
|
||||
pytest tests/ -v
|
||||
|
||||
# Check system status
|
||||
systemctl status secubox-* --no-pager
|
||||
|
||||
# View live logs
|
||||
journalctl -u secubox-* -f --output json | jq '.MESSAGE'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ANSSI CSPN Compliance
|
||||
|
||||
1. **Privilege separation** by layer (L1/L2/L3)
|
||||
2. **Encryption**: TLS 1.3 minimum
|
||||
3. **Authentication**: ZKP Hamiltonian (GK-HAM-2025) — no plaintext secrets
|
||||
4. **Logs**: Immutable, RFC 3339 timestamped, secure rotation
|
||||
5. **Rollback**: Every config change → 4R snapshot mandatory
|
||||
6. **Attack surface**: Minimal — disable unused services
|
||||
7. **Tests**: Coverage ≥ 80%, regression tests on every PR
|
||||
|
||||
---
|
||||
|
||||
## What NOT to Do
|
||||
|
||||
- Use `iptables` (replaced by nftables)
|
||||
- Use `uci` / LuCI (that's SecuBox-OpenWrt — abandoned)
|
||||
- Write secrets in plaintext in code
|
||||
- Use ACCEPT default firewall policies
|
||||
- Suggest Python libraries with known vulnerabilities
|
||||
- Ignore double-buffer schema for configs
|
||||
- Mention "CrowdSec Ambassador" or "CyberMind Produits SASU"
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
|
||||
- [ANSSI CSPN](https://www.ssi.gouv.fr/entreprise/certification_cspn/)
|
||||
- [nDPId](https://github.com/utoni/nDPId)
|
||||
- [CrowdSec Docs](https://docs.crowdsec.net)
|
||||
- [Suricata Docs](https://docs.suricata.io)
|
||||
- [nftables Wiki](https://wiki.nftables.org)
|
||||
|
||||
---
|
||||
|
||||
*See also: [[Developer-Patterns]], [[Architecture-Boot]], [[Design-System]]*
|
||||
|
|
@ -1,54 +1,176 @@
|
|||
# SecuBox-DEB Wiki
|
||||
# SecuBox
|
||||
|
||||
Welcome to the SecuBox-DEB documentation wiki.
|
||||
**CyberMind · Gondwana · Notre-Dame-du-Cruet · Savoie** | [FR](Home-FR) | [DE](Home-DE) | [中文](Home-ZH)
|
||||
|
||||
## Eye Remote
|
||||
Complete security appliance solution ported from OpenWrt to Debian bookworm. Designed for GlobalScale ARM64 boards (MOCHAbin, ESPRESSObin) and x86_64 systems. **125 packages** with **2000+ API endpoints**.
|
||||
|
||||
The Eye Remote is a compact USB gadget display for monitoring SecuBox metrics.
|
||||
---
|
||||
|
||||
## 🔴 BOOT — Quick Start
|
||||
|
||||
### VirtualBox (2 Minutes) ⭐
|
||||
|
||||
Test SecuBox instantly in VirtualBox — no USB drive needed:
|
||||
|
||||
```bash
|
||||
# Download latest image
|
||||
wget https://github.com/CyberMind-FR/secubox-deb/releases/latest/download/secubox-live-amd64-bookworm.img.gz
|
||||
gunzip secubox-live-amd64-bookworm.img.gz
|
||||
|
||||
# Convert to VDI format
|
||||
VBoxManage convertfromraw secubox-live-amd64-bookworm.img secubox-live.vdi --format VDI
|
||||
|
||||
# Create and start VM
|
||||
curl -sLO https://raw.githubusercontent.com/CyberMind-FR/secubox-deb/master/image/create-vbox-vm.sh
|
||||
chmod +x create-vbox-vm.sh
|
||||
./create-vbox-vm.sh secubox-live.vdi
|
||||
```
|
||||
|
||||
**One-liner with auto-download:**
|
||||
|
||||
```bash
|
||||
curl -sL https://raw.githubusercontent.com/CyberMind-FR/secubox-deb/master/image/create-vbox-vm.sh | bash -s -- --download
|
||||
```
|
||||
|
||||
See [[Live-USB-VirtualBox]] for full documentation.
|
||||
|
||||
### Live USB (Hardware) ⚡
|
||||
|
||||
Boot directly from USB on physical hardware:
|
||||
|
||||
```bash
|
||||
wget https://github.com/CyberMind-FR/secubox-deb/releases/latest/download/secubox-live-amd64-bookworm.img.gz
|
||||
zcat secubox-live-amd64-bookworm.img.gz | sudo dd of=/dev/sdX bs=4M status=progress
|
||||
```
|
||||
|
||||
See [[Live-USB]] for complete guide.
|
||||
|
||||
### APT Installation (Existing Debian)
|
||||
|
||||
```bash
|
||||
curl -fsSL https://apt.secubox.in/install.sh | sudo bash
|
||||
sudo apt install secubox-full # or secubox-lite
|
||||
```
|
||||
|
||||
See [[Installation]] for detailed instructions.
|
||||
|
||||
---
|
||||
|
||||
## 🟠 AUTH — Access Credentials
|
||||
|
||||
| Service | Username | Password |
|
||||
|---------|----------|----------|
|
||||
| **Web UI** | admin | secubox |
|
||||
| **SSH** | root | secubox |
|
||||
| **Access** | https://localhost:9443 | SSH port 2222 |
|
||||
|
||||
---
|
||||
|
||||
## 🟢 ROOT — System Requirements
|
||||
|
||||
| Board | SoC | Profile | Use Case |
|
||||
|-------|-----|---------|----------|
|
||||
| MOCHAbin | Armada 7040 | Full | Enterprise Gateway |
|
||||
| ESPRESSObin v7 | Armada 3720 | Lite | Home/SMB Router |
|
||||
| ESPRESSObin Ultra | Armada 3720 | Lite+ | Home with Wi-Fi |
|
||||
| Raspberry Pi 400 | BCM2711 | Full | Maker Projects |
|
||||
| VM x86_64 | Any | Full | Testing/Development |
|
||||
| QEMU ARM64 | Emulated | Full | ARM testing on x86 |
|
||||
|
||||
---
|
||||
|
||||
## 🟣 MIND — Feature Overview
|
||||
|
||||
| Stack | Description | Modules |
|
||||
|-------|-------------|---------|
|
||||
| 🟠 **AUTH** | Authentication, ZeroTrust, MFA | auth, portal, users, nac |
|
||||
| 🟡 **WALL** | Firewall, CrowdSec, WAF, IDS/IPS | crowdsec, waf, threats, ipblock |
|
||||
| 🔴 **BOOT** | Deployment, provisioning | cloner, vault, vm, rezapp |
|
||||
| 🟣 **MIND** | AI, behavioral analysis, DPI | dpi, netifyd, ai-insights, soc |
|
||||
| 🟢 **ROOT** | System, CLI, hardening | core, hub, system, console |
|
||||
| 🔵 **MESH** | Network, WireGuard, QoS | wireguard, haproxy, netmodes, turn |
|
||||
|
||||
**Total: 125 packages**
|
||||
|
||||
See [[Modules]] for complete module documentation.
|
||||
|
||||
---
|
||||
|
||||
## 🔵 MESH — Documentation Index
|
||||
|
||||
### Getting Started
|
||||
- [[Live-USB-VirtualBox|VirtualBox Quick Start]] ⭐
|
||||
- [[Live-USB]] — Bootable USB guide
|
||||
- [[ARM-Installation]] — ARM boards & U-Boot ⚡
|
||||
- [[QEMU-ARM64]] — ARM emulation on x86 🖥️
|
||||
|
||||
### Configuration
|
||||
- [[Configuration]] — System configuration
|
||||
- [[Troubleshooting]] — Common issues
|
||||
|
||||
### Architecture
|
||||
- [[Architecture-Boot]] — 5-layer boot architecture
|
||||
- [[Architecture-Modules]] — Module interaction design
|
||||
- [[Architecture-Security]] — CSPN compliance & ZKP
|
||||
|
||||
### Development
|
||||
- [[Developer-Guide]] — Getting started with development
|
||||
- [[Developer-Patterns]] — FastAPI migration patterns
|
||||
- [[Design-System]] — UI/UX guidelines and module colors
|
||||
|
||||
### Reference
|
||||
- [[Modules]] — All 125 modules
|
||||
- [[API-Reference]] — REST API (2000+ endpoints)
|
||||
- [[Hardware-ESPRESSObin]] — ESPRESSObin setup
|
||||
- [[Hardware-MOCHAbin]] — MOCHAbin setup
|
||||
|
||||
---
|
||||
|
||||
## 👁️ Eye Remote
|
||||
|
||||
The Eye Remote is a compact USB gadget display for monitoring SecuBox metrics in real-time.
|
||||
|
||||
| Page | Description |
|
||||
|------|-------------|
|
||||
| [Eye Remote Implementation](Eye-Remote-Implementation.md) | Architecture, API, and implementation guide |
|
||||
| [Eye Remote Hardware](Eye-Remote-Hardware.md) | Hardware setup, GPIO pinout, display configuration |
|
||||
| [Eye Remote Gateway](Eye-Remote-Gateway.md) | Gateway emulator for development and testing |
|
||||
| [[Eye-Remote-Implementation]] | Architecture, API, and implementation guide |
|
||||
| [[Eye-Remote-Hardware]] | Hardware setup, GPIO pinout, display configuration |
|
||||
| [[Eye-Remote-Gateway]] | Gateway emulator for development and testing |
|
||||
|
||||
### Quick Start
|
||||
|
||||
1. **Hardware**: Raspberry Pi Zero W + HyperPixel 2.1 Round (480×480)
|
||||
2. **Connection**: USB OTG (10.55.0.0/30) or WiFi
|
||||
3. **Dashboard**: Python framebuffer rendering (no browser needed)
|
||||
|
||||
### Build Image
|
||||
**Hardware**: Raspberry Pi Zero W + HyperPixel 2.1 Round (480×480)
|
||||
**Connection**: USB OTG (10.55.0.0/30) or WiFi
|
||||
**Dashboard**: Python framebuffer rendering (no browser needed)
|
||||
|
||||
```bash
|
||||
# Lightweight framebuffer mode (recommended)
|
||||
# Build Eye Remote image (lightweight framebuffer mode)
|
||||
cd remote-ui/round
|
||||
sudo ./build-eye-remote-image.sh -i raspios-lite.img.xz --framebuffer
|
||||
|
||||
# With WiFi pre-configured
|
||||
sudo ./build-eye-remote-image.sh -i raspios-lite.img.xz -s "SSID" -p "password"
|
||||
```
|
||||
|
||||
### Test with Emulator
|
||||
|
||||
```bash
|
||||
# Start gateway emulator
|
||||
# Test with gateway emulator
|
||||
cd tools/secubox-eye-gateway
|
||||
pip install -e .
|
||||
secubox-eye-gateway --profile stressed --port 8765
|
||||
|
||||
# Test on desktop (requires pygame)
|
||||
cd remote-ui/round
|
||||
python3 test-dashboard-amd64.py --api http://localhost:8765
|
||||
python3 remote-ui/round/test-dashboard-amd64.py --api http://localhost:8765
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Other Documentation
|
||||
## 🟡 WALL — Security Features
|
||||
|
||||
- [CLAUDE.md](../../CLAUDE.md) — Project conventions and migration guide
|
||||
- [Porting Guide](../PORTING-GUIDE.md) — OpenWrt to Debian migration
|
||||
- **CrowdSec** — Community-driven IDS/IPS
|
||||
- **WAF** — 300+ ModSecurity rules
|
||||
- **nftables** — Default DROP policy
|
||||
- **AI-Insights** — ML threat detection
|
||||
- **IPBlock** — Automated blocklist management
|
||||
- **MAC-Guard** — MAC address control
|
||||
|
||||
---
|
||||
|
||||
*CyberMind · SecuBox-DEB · April 2026*
|
||||
## Links
|
||||
|
||||
- [GitHub Repository](https://github.com/CyberMind-FR/secubox-deb)
|
||||
- [Releases](https://github.com/CyberMind-FR/secubox-deb/releases)
|
||||
- [Issues](https://github.com/CyberMind-FR/secubox-deb/issues)
|
||||
- [CyberMind](https://cybermind.fr)
|
||||
|
||||
---
|
||||
|
||||
*© 2026 CyberMind · Notre-Dame-du-Cruet, Savoie*
|
||||
|
|
|
|||
1723
docs/wiki/Modules.md
Normal file
1723
docs/wiki/Modules.md
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -1,12 +1,44 @@
|
|||
## Navigation
|
||||
**[SecuBox](Home)** | [FR](Home-FR) | [DE](Home-DE) | [中文](Home-ZH) | **v2.0.0**
|
||||
|
||||
**[Home](Home)**
|
||||
### 🔴 BOOT — Getting Started
|
||||
* [[Live-USB-VirtualBox|VirtualBox]] ⭐
|
||||
* [[Live-USB-QEMU|QEMU]] 🖥️
|
||||
* [[Live-USB]]
|
||||
* [[Installation]]
|
||||
* [[ARM-Installation|ARM / U-Boot]] ⚡
|
||||
* [[Hardware-ESPRESSObin|ESPRESSObin]]
|
||||
* [[Hardware-MOCHAbin|MOCHAbin]]
|
||||
* [[QEMU-ARM64]] 🖥️
|
||||
|
||||
### Eye Remote
|
||||
- [Implementation](Eye-Remote-Implementation)
|
||||
- [Hardware](Eye-Remote-Hardware)
|
||||
- [Gateway & Emulator](Eye-Remote-Gateway)
|
||||
### 🟢 ROOT — Configuration
|
||||
* [[Configuration]]
|
||||
* [[Configuration-Advanced]]
|
||||
* [[Troubleshooting]]
|
||||
|
||||
### Project
|
||||
- [Migration Guide](../PORTING-GUIDE)
|
||||
- [CLAUDE.md](../../CLAUDE)
|
||||
### 🟣 MIND — Architecture
|
||||
* [[Architecture-Boot|Boot Architecture]]
|
||||
* [[Architecture-Modules|Module Design]]
|
||||
* [[Architecture-Security|Security Model]]
|
||||
* [[Design-System|UI/UX Design]]
|
||||
|
||||
### 🟡 WALL — Modules
|
||||
* [[Modules|All Modules (125)]]
|
||||
* [[Modules-Security]]
|
||||
* [[Modules-Networking]]
|
||||
* [[Modules-Monitoring]]
|
||||
|
||||
### 🔵 MESH — Reference
|
||||
* [[API-Reference]]
|
||||
* [[Developer-Guide]]
|
||||
* [[Developer-Patterns]]
|
||||
* [[UI-Comparison]]
|
||||
|
||||
### 👁️ Eye Remote
|
||||
* [[Eye-Remote-Implementation]]
|
||||
* [[Eye-Remote-Hardware]]
|
||||
* [[Eye-Remote-Gateway]]
|
||||
|
||||
### Links
|
||||
* [Releases](https://github.com/CyberMind-FR/secubox-deb/releases)
|
||||
* [Issues](https://github.com/CyberMind-FR/secubox-deb/issues)
|
||||
* [CyberMind](https://cybermind.fr)
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class AgentMetricsSource:
|
|||
self.sim = SimulatedMetrics()
|
||||
self._last_data = None
|
||||
|
||||
def _read_from_socket(self) -> dict:
|
||||
def _read_from_socket(self) -> dict | None:
|
||||
"""Read metrics from agent Unix socket."""
|
||||
try:
|
||||
s = sock_module.socket(sock_module.AF_UNIX, sock_module.SOCK_STREAM)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user