Update README files with enhanced descriptions and installation instructions

This commit is contained in:
Eduardo Silva
2026-03-18 22:31:12 -03:00
parent 5c1c34ca91
commit ea6ee51e32
5 changed files with 227 additions and 950 deletions

View File

@@ -1,4 +1,4 @@
## 🌍 Lire ceci dans dautres langues:
## 🌍 Lire ceci dans d'autres langues:
- 🇬🇧 [English](../README.md)
- 🇧🇷 [Português](README.pt-br.md)
- 🇪🇸 [Español](README.es.md)
@@ -7,194 +7,62 @@
✨ Si vous constatez un problème dans la traduction ou souhaitez demander une nouvelle langue, veuillez ouvrir une [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
wireguard_webadmin est une interface web complète et facile à configurer pour gérer des instances WireGuard VPN. Conçue pour simplifier ladministration des réseaux WireGuard, elle fournit une interface conviviale prenant en charge plusieurs utilisateurs avec différents niveaux daccès, plusieurs instances WireGuard avec gestion individuelle des pairs, ainsi que le cryptokeyrouting pour les interconnexions siteàsite.
**Gestion de VPN self-hosted et contrôle d'accès Zero Trust — entièrement sur votre infrastructure.**
## Fonctionnalités
Plus qu'un simple panneau WireGuard : gérez les pairs, les règles de pare-feu, le DNS, la redirection de ports et publiez des applications internes avec une authentification appropriée — sans dépendre de services tiers. Fonctionne sur n'importe quelle machine Linux avec Docker. Gratuit, open source, rien ne quitte votre serveur.
- **Historique de transfert par pair**: suivez les volumes de téléchargement et denvoi pour chaque pair.
- **Gestion avancée du parefeu**: administration VPN simple et efficace des règles de parefeu.
- **Redirection de ports**: redirigez facilement des ports TCP ou UDP vers des pairs ou des réseaux situés derrière ces pairs.
- **Serveur DNS**: prise en charge dhôtes personnalisés et de listes de blocage pour une sécurité renforcée et une meilleure confidentialité.
- **Prise en charge multiutilisateur**: gérez laccès avec différents niveaux dautorisation.
- **Instances WireGuard multiples**: gérez séparément les pairs de plusieurs instances.
- **Crypto Key Routing**: simplifie la configuration des interconnexions siteàsite.
- **Partage dinvitations VPN**: générez et distribuez instantanément des invitations VPN sécurisées et limitées dans le temps par email ou WhatsApp, avec QR code et fichier de configuration.
- **Modèles de Routage par Peer**: Définissez des modèles de routage réutilisables par instance WireGuard et appliquez-les aux pairs, garantissant un comportement de routage cohérent et prévisible.
- **Application des Routes avec Règles de Firewall Automatiques**: Appliquez des politiques de routage en générant automatiquement des règles de pare-feu qui restreignent les pairs aux routes explicitement autorisées.
- ⚙️ **Gérer** — Plusieurs instances WireGuard, graphiques de trafic par pair, pare-feu, listes de blocage DNS, invitations VPN avec QR code
- 🔒 **Protéger** — Passerelle d'applications Zero Trust avec TOTP, ACL par IP et anti-force-brute (Altcha PoW)
- **Automatiser** — Accès planifié par pair, modèles de routage, liens d'invitation avec expiration, API REST v2
Ce projet vise à offrir une solution intuitive et conviviale pour ladministration de WireGuard, sans compromettre la puissance et la flexibilité du protocole.
### 📖 [Documentation complète, guide d'installation et conseils sur wireguard-webadmin.com](https://wireguard-webadmin.com/)
---
## Installation Rapide
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
# éditez .env avec votre SERVER_ADDRESS
docker compose up -d
```
> Pour des instructions détaillées, un guide de mise à jour et des conseils de configuration, visitez **[wireguard-webadmin.com](https://wireguard-webadmin.com/)**.
---
## Captures d'écran
### Liste des pairs
Statut en temps réel et graphiques de bande passante en direct pour chaque pair sur toutes les instances WireGuard.
![Liste des pairs](images/peer_list_dark.png)
### Détails d'un pair
Historique du trafic, dernier handshake, IPs autorisées et QR code — le tout au même endroit.
![Détails d'un pair](images/peer_details.png)
### Passerelle d'applications Zero Trust
Publiez des applications internes comme Proxmox ou Grafana avec une authentification TOTP devant — sans ouvrir de ports.
![Passerelle Zero Trust](images/zero_trust_app.png)
### Gestion du pare-feu
Règles iptables par instance, redirection de ports et ACLs sortantes gérées depuis l'interface.
![Pare-feu](images/firewall.png)
### Invitation VPN
Générez un lien d'invitation avec QR code et fichier de configuration. L'utilisateur le scanne ou l'importe directement dans son client WireGuard.
![Invitation VPN](images/vpn_invite.png)
---
## Licence
Ce projet est distribué sous licence MIT consultez le fichier [LICENSE](../LICENSE) pour plus de détails.
## Captures décran
### Liste des pairs
Affiche une liste complète des pairs, y compris leur état et dautres détails, pour un suivi et une gestion aisés des connexions WireGuard.
![WireGuard Peer List](../screenshots/peerlist.png)
### Détails dun pair
Affiche les informations clés du pair, des métriques détaillées et un historique complet du volume de trafic. Comprend également un QR code pour une configuration facile.
![WireGuard Peer Details](../screenshots/peerinfo.png)
### Invitation VPN
Génère des invitations VPN sécurisées et limitées dans le temps pour un partage facile de la configuration via email ou WhatsApp, avec QR code et fichier de configuration.
![VPN Invite](../screenshots/vpninvite.png)
### Filtrage DNS avancé
Bloquez les contenus indésirables grâce aux listes de filtrage DNS intégrées. Des catégories prédéfinies comme pornographie, jeux dargent, fake news, adware et malware sont incluses, avec la possibilité dajouter des catégories personnalisées pour une sécurité adaptée.
![DNS Server](../screenshots/dns.png)
### Gestion du parefeu
Interface complète pour créer, modifier et supprimer des règles de parefeu avec une syntaxe de type iptables. Permet un contrôle précis du trafic réseau, améliorant la sécurité et la connectivité des instances WireGuard.
![Firewall Rule List](../screenshots/firewall-rule-list.png)
![Firewall Rule Manager](../screenshots/firewall-manage-rule.png)
### Paramètres de linstance WireGuard
Un hub centralisé pour gérer les paramètres dune ou plusieurs instances WireGuard, permettant des ajustements de configuration simples.
![WireGuard Server Configuration](../screenshots/serverconfig.png)
### Console
Accès rapide aux outils de débogage courants afin de diagnostiquer et résoudre les problèmes potentiels dans lenvironnement WireGuard.
![Console](../screenshots/console.png)
### Gestion des utilisateurs
Prend en charge les environnements multiutilisateur en permettant dassigner différents niveaux dautorisation, du simple accès restreint aux droits administrateur complets.
![User Manager](../screenshots/usermanager.png)
## Instructions de déploiement
Suivez ces étapes pour déployer WireGuard WebAdmin:
1. **Préparer lenvironnement**
Créez dabord un répertoire pour le projet et placezvous dedans:
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
```
2. **Télécharger le fichier Docker Compose**
Choisissez lune des commandes suivantes pour télécharger le fichier compose approprié directement dans votre répertoire de travail. Cela vous garantit dutiliser la version la plus récente de la configuration de déploiement.
### Option 1 : Avec Caddy (recommandé)
Pour le déploiement de production recommandé avec Caddy comme proxy inverse, utilisez :
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
```
Cest la manière recommandée dexécuter linterface dadministration web, car elle inclut toutes les fonctionnalités prises en charge du proxy inverse et fournit une gestion automatique des certificats SSL via Caddy.
> [!IMPORTANT]
> Caddy nécessite un nom DNS valide, interne ou public, pointant vers votre serveur afin de pouvoir obtenir et renouveler correctement les certificats SSL.
### Option 2 : Sans Caddy
Si vous préférez utiliser votre propre proxy inverse ou exécuter lapplication sans Caddy, utilisez :
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-caddy.yml
```
> [!CAUTION]
> Exécuter lapplication sans Caddy signifie perdre lexpérience intégrée de publication sécurisée, y compris les certificats SSL automatiques et la configuration de proxy inverse recommandée. Si vous choisissez cette option, assurez-vous de fournir votre propre couche dexposition sécurisée.
3. **Créer le fichier `.env`**
Dans le même répertoire que `docker-compose.yml`, créez un fichier `.env`:
```env
# Configurez SERVER_ADDRESS avec le nom DNS ou ladresse IP du serveur.
# Une mauvaise valeur provoquera des erreurs CSRF.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
# Choisissez un fuseau horaire parmi https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIMEZONE=Europe/Paris
# Paramètres de mise en cache de l'état WireGuard
# Cela améliore les performances en réduisant le nombre d'appels à la commande `wg` et en stockant les résultats récents.
# WIREGUARD_STATUS_CACHE_ENABLED=True
#
# Combien d'instantanés de statut WireGuard mis en cache doivent être préchargés lors du chargement de la page.
# Cela permet d'afficher les graphiques de trafic déjà remplis au lieu de commencer vides.
# Diminuez cette valeur si la liste initiale des pairs semble lente.
# 0 = désactiver le préchargement, 9 = pré-remplir complètement les graphiques de trafic.
# WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=9
#
# À quelle fréquence (en secondes) le cache doit être rafraîchi.
# Valeurs autorisées : 30, 60, 150, 300. Par défaut : 60.
# WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=60
# Si vous avez besoin d'hôtes supplémentaires autorisés, vous pouvez les spécifier ici.
# Le SERVER_ADDRESS sera toujours autorisé.
# Exemple : EXTRA_ALLOWED_HOSTS=app1.exemple.com,app2.exemple.com:8443,app3.exemple.com
#EXTRA_ALLOWED_HOSTS=app1.exemple.com,app2.exemple.com:8443,app3.exemple.com
```
Remplacez `my_server_address` par ladresse réelle de votre serveur.
4. **Lancer Docker Compose**
Exécutez la commande Docker Compose pour démarrer votre déploiement.
```bash
docker compose up -d
```
Accédez à linterface via `https://votreserveur.exemple.com`. Avec le déploiement recommandé utilisant Caddy, les certificats SSL sont obtenus et renouvelés automatiquement.
Après ces étapes, WireGuard WebAdmin sera opérationnel.
## Instructions de mise à jour
Pour profiter des dernières fonctionnalités et correctifs:
1. **Allez dans le répertoire du projet**
```bash
cd wireguard_webadmin
```
2. **Arrêter les services**
```bash
docker compose down
```
3. **Mettre à jour les images**
```bash
docker compose pull
```
4. **Sauvegarder vos données**
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Adaptez le chemin si nécessaire.
5. **Déployer à nouveau**
Suivez les [instructions de déploiement](#instructions-de-déploiement) et récupérez la dernière version de `docker-compose.yml`.
### Vérifications postmise à jour
- Vérifiez linterface web et les journaux pour détecter déventuels problèmes.
- Besoin daide ? Consultez la section [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions).
## Contribuer
Les contributions sont **grandement appréciées**! Rejoigneznous pour améliorer ce projet opensource.
## Support
En cas de problème, ouvrez une *issue* sur la page GitHub du projet.
Les contributions sont les bienvenues et très appréciées. N'hésitez pas à ouvrir des issues ou des pull requests sur [GitHub](https://github.com/eduardogsilva/wireguard_webadmin).