secubox-deb/packages/secubox-mesh/menu.d
CyberMind 88c8edc803
feat(secubox-mesh): 2.0.x radio module — 802.11s + Passpoint AP + OPAD (ref #449) (#469)
* feat(secubox-mesh): radio module 802.11s + AP Passpoint (ref #449)

Refonte majeure 2.0.0 du paquet secubox-mesh — remplace le scaffold
"Mesh DNS" 1.1.0 (rôle DNS reste couvert par secubox-meshname).

Implémentation per spec CM-MESH-MPCIE-2026-06 v0.2.1 :
- FastAPI control plane (127.0.0.1:8743) avec 6 routes :
  GET  /mesh/peers, /mesh/rf, /ap/clients, /health
  POST /mesh/key/rotate, /reg/domain
- Modules : models (pydantic), config (TOML + resolve_secret file/vault),
  rf (iw wrappers), mesh (802.11s peers/SAE), ap (hostapd state +
  Jinja2 render), supplicant (wpa_supplicant SAE mode=5).
- Templates Jinja : hostapd.conf.j2 (HS2.0/Passpoint R3), wpa_supplicant
  -mesh.conf.j2 (mode=5 + SAE + MFP requis).
- scripts/mesh-up : bring-up 802.11s 2-nœuds idempotent.
- Systemd unit durci CSPN (NoNewPrivileges, ProtectSystem strict,
  SystemCallFilter ~@privileged, user dédié secubox-mesh).
- udev rule MT7632U + helper rebind conservés (de #458), chemins
  migrés /usr/local/sbin → /usr/sbin (Debian Policy 9.1.2).

Garde-fous :
- Verrou régulatoire FR au postinst (iw reg set FR)
- OPAD passif par défaut (opad.reactive=false)
- SAE password jamais en clair : sae_password_ref = file:// 0600
- WARN startup explicite sur maturité SAE-mesh (chipset-dependent)

Build : dpkg-buildpackage -b → secubox-mesh_2.0.0-1~bookworm1_all.deb
        (Architecture: all, ~14 KB, conffiles auto-détectés)
Replaces:/Breaks: secubox-mesh (<< 2.0.0~) → upgrade propre depuis 1.1.0.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat(secubox-mesh): WebUI + menu + 3 systemd unit fixes (ref #449)

Bumps 2.0.0 → 2.0.3 :

- 2.0.1 : systemd unit — déplace le commentaire inline de PrivateDevices=
  (systemd refusait de parser "false        # ..." comme boolean).
- 2.0.2 : systemd unit — ExecStart use python3 -m uvicorn + PYTHONPATH
  =/usr/lib/secubox/mesh (pattern hérité ; /usr/bin/uvicorn n'existe pas
  sur bookworm).
- 2.0.3 : WebUI P31 light + menu :
    - www/mesh/index.html — Dashboard 4 cartes (RF state, mesh peers,
      AP clients, liveness) avec auto-refresh 8s. Bouton "Rotate SAE"
      avec confirmation. Style cohérent avec crowdsec/c3box.
    - menu.d/24-mesh.json — Entrée sidebar (category mesh, icon 📡).
    - debian/rules — install www/ et menu.d/ aux bons chemins.

Validation E2E sur gk2 (mesh point UP @ ch1 2412MHz 20dBm sur AR9271,
WebUI /mesh/ 200, edge nginx OK). 7/8 DoD spec §1.

---------

Co-authored-by: CyberMind-FR <gandalf@Gk2.net>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-03 09:11:27 +02:00
..
24-mesh.json feat(secubox-mesh): 2.0.x radio module — 802.11s + Passpoint AP + OPAD (ref #449) (#469) 2026-06-03 09:11:27 +02:00