Add complete French (fr) and Chinese (zh) translations for all documentation: - Root files: README, CHANGELOG, SECURITY, BETA-RELEASE - docs/: All 16 core documentation files - DOCS/: All 19 deep-dive documents including embedded/ and archive/ - package/secubox/: All 123+ package READMEs - Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/ Total: 346 translation files created Each file includes language switcher links for easy navigation between English, French, and Chinese versions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
10 KiB
10 KiB
Reseau Mesh P2P SecuBox
Reseau mesh pair-a-pair distribue pour les appliances SecuBox avec sauvegarde, recuperation et federation integrees.
Apercu
SecuBox P2P permet a plusieurs appliances SecuBox de former un reseau mesh distribue pour :
- Decouverte de Services : Decouverte et connexion automatiques aux noeuds SecuBox pairs
- Synchronisation de Configuration : Partage et synchronisation des configurations sur le mesh
- Sauvegarde Distribuee : Sauvegardes versionnees via integration Gitea
- Auto-Recuperation : Demarrage de nouvelles appliances a partir de sauvegardes existantes
- Federation MaaS : Mesh-as-a-Service pour infrastructure de securite distribuee
Architecture
+-------------------+
| Serveur Gitea |
| (Controle Vers.) |
+---------+---------+
|
+---------------------+---------------------+
| | |
+----v----+ +----v----+ +----v----+
| SecuBox |<--------->| SecuBox |<--------->| SecuBox |
| Noeud A | | Noeud B | | Noeud C |
| (Leader)| | (Pair) | | (Pair) |
+---------+ +---------+ +---------+
| | |
WireGuard WireGuard WireGuard
Tunnel Tunnel Tunnel
Fonctionnalites
Reseau Mesh
| Fonctionnalite | Description |
|---|---|
| Decouverte de Pairs | Decouverte automatique basee sur mDNS/DNS-SD |
| VPN WireGuard | Tunnels mesh chiffres entre noeuds |
| LB HAProxy | Equilibrage de charge sur les services mesh |
| Integration DNS | Resolution DNS compatible mesh |
Sauvegarde et Recuperation
| Fonctionnalite | Description |
|---|---|
| Integration Gitea | Sauvegardes versionnees basees sur Git |
| 15 Types de Composants | Sauvegarde complete de l'appliance |
| Script Bootstrap | Recuperation en une commande pour nouvelles boxes |
| Suivi Historique | Piste d'audit complete des changements |
Modes de Topologie
- Mesh Complet : Chaque noeud se connecte a tous les autres
- Etoile : Hub central avec connexions en rayons
- Anneau : Topologie circulaire avec connexions voisines
- Arbre : Structure hierarchique parent-enfant
Installation
opkg update
opkg install secubox-p2p luci-app-secubox-p2p
Configuration
Configuration UCI
# /etc/config/secubox-p2p
config p2p 'settings'
option enabled '1'
option node_name 'secubox-node'
option discovery_enabled '1'
option sync_interval '300'
config gitea 'gitea'
option enabled '1'
option server_url 'http://localhost:3000'
option repo_owner 'admin'
option repo_name 'secubox-backup'
option access_token 'votre-token-ici'
option auto_backup '1'
option backup_interval '3600'
Configuration Manuelle
# Activer le mesh P2P
uci set secubox-p2p.settings.enabled='1'
uci set secubox-p2p.settings.node_name='mon-secubox'
uci commit secubox-p2p
# Configurer la sauvegarde Gitea
uci set secubox-p2p.gitea.enabled='1'
uci set secubox-p2p.gitea.server_url='http://gitea.local:3000'
uci set secubox-p2p.gitea.repo_owner='admin'
uci set secubox-p2p.gitea.repo_name='secubox-backup'
uci set secubox-p2p.gitea.access_token='votre-token'
uci commit secubox-p2p
# Redemarrer le service
/etc/init.d/secubox-p2p restart
Utilisation
Ligne de Commande
# Gestion des pairs
secubox-p2p peers # Lister les pairs connectes
secubox-p2p discover # Decouvrir de nouveaux pairs
secubox-p2p add-peer <addr> # Ajouter un pair manuellement
# Gestion des services
secubox-p2p services # Lister les services locaux
secubox-p2p shared-services # Lister les services partages sur le mesh
# Operations de synchronisation
secubox-p2p sync # Synchroniser avec tous les pairs
API RPCD
Toutes les fonctions sont disponibles via ubus :
# Operations sur les pairs
ubus call luci.secubox-p2p get_peers
ubus call luci.secubox-p2p discover '{"timeout":5}'
ubus call luci.secubox-p2p add_peer '{"address":"10.0.0.2","name":"peer1"}'
# Sauvegarde Gitea
ubus call luci.secubox-p2p push_gitea_backup '{"message":"Sauvegarde quotidienne"}'
ubus call luci.secubox-p2p pull_gitea_backup '{"commit_sha":"abc123"}'
ubus call luci.secubox-p2p list_gitea_repos
ubus call luci.secubox-p2p get_gitea_commits '{"limit":10}'
# Sauvegarde locale
ubus call luci.secubox-p2p create_local_backup '{"name":"pre-upgrade"}'
ubus call luci.secubox-p2p list_local_backups
ubus call luci.secubox-p2p restore_local_backup '{"backup_id":"20260130-120000"}'
Composants de Sauvegarde
Le systeme de sauvegarde capture 15 categories de composants :
| Composant | Chemin | Description |
|---|---|---|
configs |
/etc/config/ |
Fichiers de configuration UCI |
profiles |
/usr/share/secubox/profiles/ |
Profils de deploiement |
presets |
/etc/secubox/presets/ |
Presets de parametres |
manifests |
/etc/secubox/manifests/ |
Manifestes d'applications |
scripts |
/usr/share/secubox/scripts/ |
Scripts personnalises |
macros |
/etc/secubox/macros/ |
Macros d'automatisation |
workflows |
/etc/secubox/workflows/ |
Workflows CI/CD |
packages |
- | Liste des paquets installes |
services |
- | Etats des services |
cron |
/etc/crontabs/ |
Taches planifiees |
ssh |
/etc/dropbear/ |
Cles SSH et configuration |
certificates |
/etc/acme/, /etc/ssl/ |
Certificats TLS |
haproxy |
/etc/haproxy/ |
Configuration du load balancer |
dns |
/etc/dnsmasq.d/ |
Configuration DNS |
device |
- | Info materiel/systeme |
Auto-Recuperation
Bootstrap Rapide
Deployer SecuBox sur une nouvelle box OpenWrt avec une commande :
# Depuis le depot Gitea
wget -qO- http://gitea.local:3000/user/repo/raw/branch/main/bootstrap.sh | sh
# Ou avec curl
curl -sL http://gitea.local:3000/user/repo/raw/branch/main/bootstrap.sh | sh
Recuperation Manuelle
# Mode interactif
secubox-restore -i
# Restauration directe
secubox-restore http://gitea.local:3000 admin secubox-backup [token]
# Restaurer depuis une branche specifique
secubox-restore -b develop http://gitea.local:3000 admin secubox-backup
Options de Recuperation
secubox-restore [options] <server-url> <repo-owner> <repo-name> [token]
Options:
-i, --interactive Mode interactif avec invites
-b, --branch <nom> Branche Git depuis laquelle restaurer (defaut: main)
--include-network Restaurer aussi les configs network/wireless/firewall
-h, --help Afficher le message d'aide
Interface Web LuCI
Accedez au Hub P2P : SecuBox > Mesh P2P > Hub
Fonctionnalites du Tableau de Bord
- Visualisation Globe : Vue interactive de la topologie mesh
- Indicateurs de Statut : Statut Systeme, DNS, WireGuard, Load Balancer
- Compteurs de Pairs : Pairs connectes, noeuds en ligne, services partages
- Actions Rapides : Decouvrir, Sync Tous, Ajouter Pair, Auto Pair
Onglet Integration Gitea
- Configuration du Depot : Configurer le serveur Gitea et les identifiants
- Auto-Sauvegarde : Activer les sauvegardes planifiees
- Historique des Commits : Voir l'historique des sauvegardes avec options de restauration
- Generation de Token : Creer des tokens d'acces avec les bonnes portees
Securite
Authentification
- Les tokens Gitea necessitent des portees specifiques :
write:repository- Pousser les sauvegardesread:user- Verifier l'identitewrite:user- Creer des tokens (pour la configuration auto)
Chiffrement
- Tout le trafic mesh chiffre via WireGuard
- Communication Gitea sur HTTPS (recommande)
- Cles SSH sauvegardees de maniere securisee
Controle d'Acces
- L'ACL RPCD controle l'acces API
- Permissions Gitea par utilisateur
- Regles de pare-feu au niveau reseau
Depannage
Problemes Courants
La decouverte de pairs ne fonctionne pas :
# Verifier mDNS/avahi
/etc/init.d/avahi-daemon status
# Verifier que le pare-feu autorise mDNS (port 5353/udp)
uci show firewall | grep mdns
La sauvegarde Gitea echoue :
# Tester la connectivite API
curl -s http://gitea:3000/api/v1/user \
-H "Authorization: token VOTRE_TOKEN"
# Verifier les portees du token
ubus call luci.secubox-p2p get_gitea_config
Le tunnel WireGuard ne s'etablit pas :
# Verifier le statut WireGuard
wg show
# Verifier les cles des pairs
uci show wireguard
Journaux
# Journaux du service P2P
logread | grep secubox-p2p
# Journaux RPCD
logread | grep rpcd
Reference API
Gestion des Pairs
| Methode | Parametres | Description |
|---|---|---|
get_peers |
- | Lister tous les pairs |
add_peer |
address, name |
Ajouter un nouveau pair |
remove_peer |
peer_id |
Supprimer un pair |
discover |
timeout |
Decouvrir des pairs |
Operations Gitea
| Methode | Parametres | Description |
|---|---|---|
get_gitea_config |
- | Obtenir les parametres Gitea |
set_gitea_config |
config |
Mettre a jour les parametres |
create_gitea_repo |
name, description, private |
Creer un depot |
list_gitea_repos |
- | Lister les depots |
get_gitea_commits |
limit |
Obtenir l'historique des commits |
push_gitea_backup |
message, components |
Pousser une sauvegarde |
pull_gitea_backup |
commit_sha |
Restaurer depuis un commit |
Sauvegarde Locale
| Methode | Parametres | Description |
|---|---|---|
create_local_backup |
name, components |
Creer une sauvegarde |
list_local_backups |
- | Lister les sauvegardes |
restore_local_backup |
backup_id |
Restaurer une sauvegarde |
Contribution
- Forker le depot
- Creer une branche de fonctionnalite
- Effectuer vos modifications
- Tester sur un appareil OpenWrt
- Soumettre une pull request
Licence
GPL-2.0 - Voir le fichier LICENSE pour les details.
Projets Associes
- SecuBox Core - Fonctionnalite principale SecuBox
- LuCI App SecuBox - Tableau de bord principal
- LuCI App SecuBox P2P - Interface web P2P
- SecuBox Gitea - Gestion du conteneur Gitea