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>
6.0 KiB
6.0 KiB
LuCI WireGuard Dashboard
Interface moderne de gestion VPN WireGuard pour OpenWrt avec assistant de configuration, gestion des pairs et surveillance en temps reel.
Fonctionnalites
- Assistant de configuration : Creez des tunnels et des pairs en quelques minutes avec des presets pour les cas d'utilisation courants
- Vue d'ensemble du tableau de bord : Statut en temps reel de tous les tunnels et pairs
- Gestion des pairs : Ajoutez, supprimez et configurez les pairs avec generation de QR code
- Surveillance du trafic : Statistiques de bande passante en direct par interface et par pair
- Export de configuration client : Generez des fichiers de configuration et QR codes pour les applications mobiles
Installation
opkg update
opkg install luci-app-wireguard-dashboard
Dependances
wireguard-tools- Outils espace utilisateur WireGuardluci-base- Interface web LuCIqrencode(optionnel) - Pour la generation de QR code cote serveur
Assistant de configuration
L'assistant fournit des configurations predefinies pour les scenarios VPN courants :
Presets de tunnel
| Preset | Description | Port par defaut | Reseau |
|---|---|---|---|
| Road Warrior | Acces distant pour utilisateurs mobiles | 51820 | 10.10.0.0/24 |
| Site-to-Site | Connecter deux reseaux | 51821 | 10.20.0.0/24 |
| Tunnel IoT | Tunnel isole pour appareils connectes | 51822 | 10.30.0.0/24 |
Presets de zone de pair
| Zone | Description | Mode tunnel |
|---|---|---|
| Utilisateur domicile | Acces reseau complet | Complet |
| Travailleur distant | Ressources bureau uniquement | Divise |
| Appareil mobile | Acces en deplacement | Complet |
| Appareil IoT | Acces VPN uniquement limite | Divise |
| Invite | Acces visiteur temporaire | Complet |
| Serveur/Site | Connexion site-a-site | Divise |
Flux de l'assistant
- Selectionner le type de tunnel - Choisir le preset (Road Warrior, Site-to-Site, IoT)
- Configurer le tunnel - Definir le nom d'interface, port, reseau VPN, endpoint public
- Selectionner les zones de pair - Choisir quels types de pairs creer
- Creer - L'assistant genere les cles, cree l'interface, ajoute les pairs, affiche les QR codes
API RPCD
Le tableau de bord communique via l'objet RPCD luci.wireguard-dashboard.
Methodes
| Methode | Parametres | Description |
|---|---|---|
status |
- | Obtenir le statut global WireGuard |
interfaces |
- | Lister toutes les interfaces WireGuard |
peers |
- | Lister tous les pairs avec leur statut |
traffic |
- | Obtenir les statistiques de trafic |
generate_keys |
- | Generer une nouvelle paire de cles + PSK |
create_interface |
name, private_key, listen_port, addresses, mtu | Creer une nouvelle interface WireGuard avec regles firewall |
add_peer |
interface, name, allowed_ips, public_key, preshared_key, endpoint, persistent_keepalive | Ajouter un pair a l'interface |
remove_peer |
interface, public_key | Supprimer un pair de l'interface |
interface_control |
interface, action (up/down/restart) | Controler l'etat de l'interface |
generate_config |
interface, peer, private_key, endpoint | Generer un fichier de configuration client |
generate_qr |
interface, peer, private_key, endpoint | Generer un QR code (necessite qrencode) |
Exemple : Creer une interface via CLI
# Generer les cles
keys=$(ubus call luci.wireguard-dashboard generate_keys '{}')
privkey=$(echo "$keys" | jsonfilter -e '@.private_key')
# Creer l'interface
ubus call luci.wireguard-dashboard create_interface "{
\"name\": \"wg0\",
\"private_key\": \"$privkey\",
\"listen_port\": \"51820\",
\"addresses\": \"10.10.0.1/24\",
\"mtu\": \"1420\"
}"
Exemple : Ajouter un pair via CLI
# Generer les cles du pair
peer_keys=$(ubus call luci.wireguard-dashboard generate_keys '{}')
peer_pubkey=$(echo "$peer_keys" | jsonfilter -e '@.public_key')
peer_psk=$(echo "$peer_keys" | jsonfilter -e '@.preshared_key')
# Ajouter le pair
ubus call luci.wireguard-dashboard add_peer "{
\"interface\": \"wg0\",
\"name\": \"Telephone\",
\"allowed_ips\": \"10.10.0.2/32\",
\"public_key\": \"$peer_pubkey\",
\"preshared_key\": \"$peer_psk\",
\"persistent_keepalive\": \"25\"
}"
Integration pare-feu
Lors de la creation d'une interface via l'assistant ou l'API create_interface, les regles de pare-feu suivantes sont automatiquement creees :
- Zone (
wg_<interface>) : INPUT/OUTPUT/FORWARD = ACCEPT - Redirection : Redirection bidirectionnelle vers/depuis la zone
lan - Regle WAN : Autoriser le trafic UDP sur le port d'ecoute depuis le WAN
Emplacements des fichiers
| Fichier | Objectif |
|---|---|
/usr/libexec/rpcd/luci.wireguard-dashboard |
Backend RPCD |
/www/luci-static/resources/wireguard-dashboard/api.js |
Wrapper API JavaScript |
/www/luci-static/resources/view/wireguard-dashboard/*.js |
Vues LuCI |
/usr/share/luci/menu.d/luci-app-wireguard-dashboard.json |
Configuration du menu |
/usr/share/rpcd/acl.d/luci-app-wireguard-dashboard.json |
Permissions ACL |
Depannage
L'interface ne demarre pas
# Verifier le statut de l'interface
wg show wg0
# Verifier la configuration UCI
uci show network.wg0
# Demarrer manuellement
ifup wg0
# Verifier les logs
logread | grep -i wireguard
Les pairs ne se connectent pas
- Verifiez que le port du pare-feu est ouvert :
iptables -L -n | grep 51820 - Verifiez que l'endpoint est accessible depuis le client
- Verifiez que les allowed_ips correspondent des deux cotes
- Verifiez les problemes de NAT - activez PersistentKeepalive
Les QR codes ne se generent pas
Installez qrencode pour la generation de QR cote serveur :
opkg install qrencode
Le tableau de bord prend egalement en charge la generation de QR cote client via JavaScript (sans dependance serveur).
Licence
Apache-2.0
Auteur
CyberMind.fr - Projet SecuBox