Add multilingual support by creating README files in German, Spanish, French, and Portuguese

This commit is contained in:
Eduardo Silva 2025-04-17 12:24:21 -03:00
parent 9dd31b0f76
commit ee7b190803
5 changed files with 787 additions and 0 deletions

View File

@ -1,3 +1,13 @@
## 🌍 Read this in other languages:
- 🇬🇧 [English](README.md)
- 🇧🇷 [Português](docs/README.pt-br.md)
- 🇪🇸 [Español](docs/README.es.md)
- 🇫🇷 [Français](docs/README.fr.md)
- 🇩🇪 [Deutsch](docs/README.de.md)
✨ If you find any issues with the translation or would like to request a new language, please open an [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
wireguard_webadmin is a full-featured yet easy-to-configure web interface for managing WireGuard VPN instances. Designed to simplify the administration of WireGuard networks, it provides a user-friendly interface that supports multiple users with varying access levels, multiple WireGuard instances with individual peer management, and support for crypto key routing for site-to-site interconnections.

189
docs/README.de.md Normal file
View File

@ -0,0 +1,189 @@
## 🌍 Lies das in anderen Sprachen:
- 🇬🇧 [English](../README.md)
- 🇧🇷 [Português](README.pt-br.md)
- 🇪🇸 [Español](README.es.md)
- 🇫🇷 [Français](README.fr.md)
- 🇩🇪 [Deutsch](README.de.md)
✨ Wenn dir bei der Übersetzung Fehler auffallen oder du eine neue Sprache anfordern möchtest, öffne bitte ein [Issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
**wireguard_webadmin** ist eine funktionsreiche und dennoch einfach zu konfigurierende Weboberfläche zur Verwaltung von WireGuardVPNInstanzen. Das Tool wurde entwickelt, um die Administration von WireGuardNetzwerken zu vereinfachen und bietet eine benutzerfreundliche Oberfläche mit Unterstützung für:
- mehrere Benutzer mit unterschiedlichen Berechtigungsstufen,
- mehrere WireGuardInstanzen mit individueller PeerVerwaltung sowie
- CryptoKeyRouting für SitetoSiteVerbindungen.
## Funktionen
- **Individuelle Transferhistorie pro Peer**: Verfolge Upload und DownloadVolumen jedes einzelnen Peers.
- **Erweiterte FirewallVerwaltung**: Mühelose, umfassende Verwaltung der VPNFirewall konzipiert für Einfachheit und Effektivität.
- **Portweiterleitung**: Leite TCP oder UDPPorts bequem an Peers oder an Netzwerke hinter diesen Peers weiter.
- **DNSServer**: Benutzerdefinierte Hosts und DNSBlacklists für höhere Sicherheit und verbesserten Datenschutz.
- **MehrbenutzerUnterstützung**: Verwalte den Zugriff mit unterschiedlichen Berechtigungsstufen für jeden Benutzer.
- **Mehrere WireGuardInstanzen**: Separate Verwaltung der Peers über mehrere Instanzen hinweg.
- **CryptoKeyRouting**: Vereinfacht die Konfiguration von SitetoSiteVerbindungen.
- **Einfaches Teilen von VPNEinladungen**: Erzeuge und verteile sofort sichere, zeitlich begrenzte VPNEinladungen per EMail oder WhatsApp inklusive QRCode und Konfigurationsdatei.
Dieses Projekt zielt darauf ab, eine intuitive und benutzerfreundliche Lösung für das WireGuardManagement bereitzustellen, ohne die Flexibilität und Leistung von WireGuard einzuschränken.
## Lizenz
Dieses Projekt steht unter der MITLizenz siehe [LICENSE](../LICENSE) für Details.
## Screenshots
### PeerListe
Zeigt eine vollständige Liste der Peers inklusive Status und weiterer Details zur einfachen Überwachung und Verwaltung von WireGuardVerbindungen.
![WireGuard Peer List](../screenshots/peerlist.png)
### PeerDetails
Zeigt wichtige PeerInformationen, detaillierte Metriken sowie eine vollständige TrafficHistorie. Enthält außerdem einen QRCode für die einfache Konfiguration.
![WireGuard Peer Details](../screenshots/peerinfo.png)
### VPNEinladung
Erstellt sichere, zeitlich begrenzte VPNEinladungen zum einfachen Teilen per EMail oder WhatsApp inklusive QRCode und Konfigurationsdatei.
![VPN Invite](../screenshots/vpninvite.png)
### Erweiterte DNSFilterung
Blockiere unerwünschte Inhalte mit integrierten DNSFilterlisten. Vorgefertigte Kategorien wie Pornografie, Glücksspiel, FakeNews, Adware und Malware sind enthalten; eigene Kategorien lassen sich hinzufügen, um die Sicherheit anzupassen.
![DNS Server](../screenshots/dns.png)
### FirewallVerwaltung
Bietet eine umfassende Oberfläche zur Verwaltung von VPNFirewallRegeln. Regeln können mit iptablesähnlicher Syntax erstellt, bearbeitet und gelöscht werden und ermöglichen so eine präzise Steuerung des Datenverkehrs.
![Firewall Rule List](../screenshots/firewall-rule-list.png)
![Firewall Rule Manager](../screenshots/firewall-manage-rule.png)
### WireGuardInstanzEinstellungen
Zentrale Anlaufstelle für die Verwaltung der Einstellungen einer oder mehrerer WireGuardInstanzen.
![WireGuard Server Configuration](../screenshots/serverconfig.png)
### Konsole
Schneller Zugriff auf häufig genutzte DebuggingTools zur Diagnose und Lösung potenzieller Probleme in der WireGuardUmgebung.
![Console](../screenshots/console.png)
### Benutzerverwaltung
Unterstützt MehrbenutzerUmgebungen durch Zuweisung unterschiedlicher Berechtigungsstufen von eingeschränktem Zugriff bis hin zu vollständigen Administratorrechten.
![User Manager](../screenshots/usermanager.png)
Auf Basis deiner Anforderungen wurden die folgenden DeployAnweisungen erstellt. Sie verwenden `wget`, um stets die aktuellste `docker-compose.yml` direkt aus deinem GitHubRepository abzurufen, und erläutern die Erstellung einer `.env`Datei für Umgebungsvariablen. So stellst du sicher, dass Nutzer immer mit der neuesten DeploymentKonfiguration arbeiten.
## DeployAnleitung
Folge diesen Schritten, um WireGuard WebAdmin bereitzustellen:
1. **Umgebung vorbereiten**
Erstelle zunächst ein Verzeichnis für WireGuard WebAdmin und wechsle hinein:
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
```
2. **DockerComposeDatei herunterladen**
Wähle je nach Szenario einen der folgenden Befehle, um die passende `docker-compose.yml` herunterzuladen. So nutzt du stets die aktuelle Version der DeploymentDatei.
### Mit NGINX (empfohlen)
Für eine produktionsreife Bereitstellung mit NGINX als ReverseProxy (empfohlen):
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose.yml
```
Im Standard generiert der Container ein selbstsigniertes Zertifikat. Eigene Zertifikate können durch Ersetzen von `nginx.pem` und `nginx.key` im Volume `certificates` hinterlegt werden.
### Ohne NGINX (nur Debug/Test)
Für eine reine Testumgebung ohne NGINX (nicht für Produktion empfohlen):
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-nginx.yml
```
3. **`.env`Datei erstellen**
Erstelle eine `.env`Datei im selben Verzeichnis wie deine `docker-compose.yml` und passe `my_server_address` an die DNSAdresse oder IP deines Servers an:
```env
# SERVER_ADDRESS muss auf den Server zeigen. Ohne DNSNamen kann die IP genutzt werden.
# Ein falsch konfigurierter SERVER_ADDRESS führt zu CSRFFehlern.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
```
4. **Docker Compose ausführen**
### Mit NGINX (empfohlen)
```bash
docker compose up -d
```
WebInterface unter `https://yourserver.example.com` öffnen. Bei selbstsigniertem Zertifikat muss die Ausnahme akzeptiert werden.
### Ohne NGINX (nur Debug/Test)
```bash
docker compose -f docker-compose-no-nginx.yml up -d
```
WebInterface unter `http://127.0.0.1:8000` öffnen.
Nach diesen Schritten sollte WireGuard WebAdmin laufen. Konfiguriere anschließend deine Instanzen über das WebInterface.
## UpgradeAnleitung
Regelmäßige Upgrades stellen sicher, dass du die neuesten Funktionen, Sicherheitsverbesserungen und Bugfixes erhältst.
### Vorbereitung
1. **Vom GitCloneWorkflow umsteigen**
```bash
cd /pfad/zu/wireguard_webadmin
```
Befindet sich deine Installation in einem GitCloneVerzeichnis, wechsle dorthin:
```bash
cd /pfad/zu/wireguard_webadmin_git_clone
```
2. **Dienste stoppen**
```bash
docker compose down
```
3. **Aktuelle Images ziehen**
```bash
docker compose pull
```
4. **Daten sichern**
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Passe den Pfad zum Volume ggf. an.
5. **Neu deployen**
Folge anschließend der [DeployAnleitung](#deploy-anleitung) und lade dabei die aktuelle `docker-compose.yml` erneut herunter.
### Nach dem Upgrade
- **Funktion prüfen**: WebInterface aufrufen und Logs prüfen.
- **Unterstützung**: Bei Problemen siehe [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions).
## Beitragen
Beiträge machen die OpenSourceCommunity großartig. **Danke für jede Unterstützung!**
## Support
Bei Fragen oder Problemen eröffne bitte ein Issue auf GitHub.

207
docs/README.es.md Normal file
View File

@ -0,0 +1,207 @@
## 🌍 Lea esto en otros idiomas:
- 🇬🇧 [English](../README.md)
- 🇧🇷 [Português](README.pt-br.md)
- 🇪🇸 [Español](README.es.md)
- 🇫🇷 [Français](README.fr.md)
- 🇩🇪 [Deutsch](README.de.md)
✨ Si encuentra algún problema con la traducción o desea solicitar un nuevo idioma, por favor abra un [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
**wireguard_webadmin** es una interfaz web completa y fácil de configurar para administrar instancias de WireGuard VPN. Diseñada para simplificar la administración de redes WireGuard, ofrece una interfaz intuitiva que admite múltiples usuarios con distintos niveles de acceso, varias instancias de WireGuard con gestión individual de peers y soporte para *cryptokey routing* en interconexiones *sitetosite*.
## Funcionalidades
- **Historial de Transferencia por Peer**: Controle los volúmenes de descarga y subida de cada peer individualmente.
- **Gestión Avanzada de Firewall**: Disfrute de una gestión de firewall de VPN integral y sencilla, diseñada para ser eficaz.
- **Redirección de Puertos**: Redirija puertos TCP o UDP a peers o redes detrás de esos peers con facilidad.
- **Servidor DNS**: Soporte para hosts personalizados y listas de bloqueo DNS para mayor seguridad y privacidad.
- **Soporte Multiusuario**: Gestione el acceso con diferentes niveles de permisos para cada usuario.
- **Múltiples Instancias de WireGuard**: Permite la gestión separada de peers en varias instancias.
- **CryptoKey Routing**: Simplifica la configuración de interconexiones *sitetosite*.
- **Compartir Invitaciones VPN Sin Esfuerzo**: Genere y distribuya al instante invitaciones VPN seguras y temporales por correo electrónico o WhatsApp, con código QR y archivo de configuración.
Este proyecto tiene como objetivo ofrecer una solución intuitiva y fácil de usar para la gestión de VPN WireGuard sin comprometer la potencia y flexibilidad que proporciona WireGuard.
## Licencia
Este proyecto está bajo la licencia MIT. Consulte el archivo [LICENSE](../LICENSE) para más detalles.
## Capturas de Pantalla
### Lista de Peers
Muestra una lista completa de peers, incluido su estado y otros detalles, lo que permite supervisar y gestionar fácilmente las conexiones VPN de WireGuard.
![Lista de Peers de WireGuard](../screenshots/peerlist.png)
### Detalles del Peer
Presenta información clave del peer, métricas detalladas y un historial completo de volumen de tráfico. También incluye un código QR para una configuración sencilla.
![Detalles del Peer](../screenshots/peerinfo.png)
### Invitación VPN
Genera invitaciones VPN seguras y temporales para compartir fácilmente la configuración por correo electrónico o WhatsApp, con código QR y archivo de configuración.
![Invitación VPN](../screenshots/vpninvite.png)
### Filtrado DNS Avanzado
Bloquee contenido no deseado mediante listas de filtrado DNS integradas. Incluye categorías predefinidas como pornografía, juegos de azar, noticias falsas, adware y malware, con la posibilidad de agregar categorías personalizadas para una experiencia de seguridad adaptada.
![Servidor DNS](../screenshots/dns.png)
### Gestión de Firewall
Proporciona una interfaz completa para gestionar reglas de firewall de la VPN, permitiendo crear, editar y eliminar reglas con sintaxis estilo *iptables*. Esta característica garantiza un control preciso del tráfico de red, mejorando la seguridad y la conectividad de las instancias de WireGuard.
![Lista de Reglas de Firewall](../screenshots/firewall-rule-list.png)
![Gestor de Reglas de Firewall](../screenshots/firewall-manage-rule.png)
### Configuración de Instancias de WireGuard
Un centro de control para gestionar la configuración de una o varias instancias de WireGuard, permitiendo ajustes sencillos de la VPN.
![Configuración del Servidor WireGuard](../screenshots/serverconfig.png)
### Consola
Acceso rápido a herramientas comunes de depuración, lo que facilita el diagnóstico y la resolución de posibles problemas en el entorno VPN WireGuard.
![Consola](../screenshots/console.png)
### Gestor de Usuarios
Admite entornos multiusuario permitiendo asignar distintos niveles de permisos, desde acceso restringido hasta derechos administrativos completos, garantizando un control de acceso seguro y personalizado.
![Gestor de Usuarios](../screenshots/usermanager.png)
---
## Instrucciones de Despliegue
Siga estos pasos para desplegar WireGuard WebAdmin:
1. **Prepare el Entorno:**
Cree un directorio para el proyecto WireGuard WebAdmin y acceda a él. Este será el directorio de trabajo para el despliegue.
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
```
2. **Obtenga el Archivo Docker Compose:**
Según su escenario de despliegue, elija uno de los siguientes comandos para descargar el archivo `docker-compose.yml` correspondiente directamente en su directorio de trabajo. Este método garantiza que utilice la versión más reciente de la configuración.
### Con NGINX (Recomendado)
Para un despliegue de producción con NGINX como *reverse proxy* (recomendado para la mayoría), use:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose.yml
```
Este modo es el recomendado para ejecutar la interfaz web de administración. El despliegue del contenedor generará automáticamente un certificado autofirmado. Si desea actualizar sus certificados, acceda al volumen `certificates` y sustituya `nginx.pem` y `nginx.key` por sus propios certificados.
### Sin NGINX (Solo para Depuración y Pruebas)
Para un entorno de depuración sin NGINX (no recomendado en producción), use:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-nginx.yml
```
3. **Cree el Archivo `.env`:**
Cree un archivo `.env` en el mismo directorio que su `docker-compose.yml` con el siguiente contenido, ajustando `my_server_address` al nombre DNS o IP de su servidor.
```env
# Configure SERVER_ADDRESS para que coincida con la dirección de su servidor. Puede usar la IP si no tiene DNS.
# Una SERVER_ADDRESS mal configurada provocará errores CSRF.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
```
Sustituya `my_server_address` por la dirección real de su servidor.
4. **Ejecute Docker Compose:**
### Con NGINX (Recomendado)
```bash
docker compose up -d
```
Acceda a la interfaz web en `https://suserver.ejemplo.com`. Si utiliza un certificado autofirmado, acepte la excepción de seguridad en su navegador.
### Sin NGINX (Solo para Depuración y Pruebas)
Si eligió la configuración sin NGINX, ejecute el archivo descargado `docker-compose-no-nginx.yml`:
```bash
docker compose -f docker-compose-no-nginx.yml up -d
```
Acceda a la interfaz en `http://127.0.0.1:8000`.
Tras completar estos pasos, WireGuard WebAdmin estará en funcionamiento. Comience la configuración accediendo a la interfaz web de su servidor.
---
## Instrucciones de Actualización
Actualizar su instalación de WireGuard WebAdmin garantiza acceso a nuevas funciones, mejoras de seguridad y correcciones. Siga estas instrucciones para una actualización sin problemas:
### Preparación para la Actualización:
1. **Transición desde un flujo de trabajo *git clone*:**
Acceda al directorio `wireguard_webadmin`:
```bash
cd path/to/wireguard_webadmin
```
Si actualiza desde una instalación realizada con *git clone*, vaya al directorio del proyecto:
```bash
cd /path/to/wireguard_webadmin_git_clone
```
2. **Detenga los Servicios:**
Pare todos los servicios para evitar pérdida de datos durante la actualización.
```bash
docker compose down
```
3. **Descargue las Imágenes Más Recientes:**
Actualice sus imágenes locales:
```bash
docker compose pull
```
4. **Haga Copia de Seguridad de Sus Datos:**
Antes de cualquier cambio, realice una copia de seguridad de la base de datos y de datos importantes.
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Sustituya la ruta del volumen Docker si es diferente. El archivo se guardará en el directorio actual.
5. **Despliegue con Docker Compose:**
Siga las [Instrucciones de Despliegue](#instrucciones-de-despliegue) indicadas anteriormente.
> **Nota:** No olvide actualizar `docker-compose.yml` a la versión más reciente descargándolo de nuevo del repositorio.
### Verificaciones Posteriores a la Actualización:
- **Verifique el Funcionamiento:** Una vez iniciados los servicios, acceda a la interfaz web para comprobar que WireGuard WebAdmin funciona correctamente. Revise los registros de la aplicación para detectar problemas.
- **Soporte y Solución de Problemas:** Si surge alguna complicación, consulte la sección de [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions) o la documentación relacionada.
Siguiendo estos pasos, actualizará WireGuard WebAdmin a la versión más reciente, incorporando todas las mejoras y correcciones de seguridad. Recuerde que realizar copias de seguridad periódicas y seguir estos pasos ayuda a mantener la salud y seguridad de su implementación.
---
## Contribuir
Las contribuciones hacen que la comunidad *opensource* sea un lugar increíble para aprender, inspirar y crear. Sus contribuciones son **muy apreciadas**.
## Soporte
Si encuentra problemas o necesita ayuda, abra un *issue* en la página de GitHub del proyecto.

175
docs/README.fr.md Normal file
View File

@ -0,0 +1,175 @@
## 🌍 Lire ceci dans dautres langues:
- 🇬🇧 [English](../README.md)
- 🇧🇷 [Português](README.pt-br.md)
- 🇪🇸 [Español](README.es.md)
- 🇫🇷 [Français](README.fr.md)
- 🇩🇪 [Deutsch](README.de.md)
✨ 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.
## Fonctionnalités
- **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.
Ce projet vise à offrir une solution intuitive et conviviale pour ladministration de WireGuard, sans compromettre la puissance et la flexibilité du protocole.
## 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 récupérer la dernière version du `docker-compose.yml` directement depuis le dépôt GitHub.
### Avec NGINX (recommandé)
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose.yml
```
Ce mode est recommandé pour exécuter linterface web. Le déploiement générera automatiquement un certificat autosigné. Pour utiliser vos propres certificats, remplacez `nginx.pem` et `nginx.key` dans le volume `certificates`.
### Sans NGINX (mode debug/test uniquement)
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-nginx.yml
```
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
```
Remplacez `my_server_address` par ladresse réelle de votre serveur.
4. **Lancer Docker Compose**
#### Avec NGINX (recommandé)
```bash
docker compose up -d
```
Accédez à linterface via `https://votreserveur.exemple.com`. Avec un certificat autosigné, votre navigateur demandera une exception.
#### Sans NGINX (mode debug/test)
```bash
docker compose -f docker-compose-no-nginx.yml up -d
```
Accédez à linterface via `http://127.0.0.1:8000`.
Après ces étapes, WireGuard WebAdmin sera opérationnel.
## Instructions de mise à jour
Pour profiter des dernières fonctionnalités et correctifs:
1. **Si vous utilisiez un clone Git**
```bash
cd /chemin/vers/wireguard_webadmin_git_clone
```
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.

206
docs/README.pt-br.md Normal file
View File

@ -0,0 +1,206 @@
## 🌍 Leia em outros idiomas:
- 🇬🇧 [English](../README.md)
- 🇧🇷 [Português](README.pt-br.md)
- 🇪🇸 [Español](README.es.md)
- 🇫🇷 [Français](README.fr.md)
- 🇩🇪 [Deutsch](README.de.md)
✨ Se encontrar algum problema na tradução ou quiser solicitar um novo idioma, por favor abra uma [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
**wireguard_webadmin** é uma interface web completa e fácil de configurar para gerenciar instâncias WireGuard VPN. Projetada para simplificar a administração de redes WireGuard, ela oferece uma interface amigável que suporta múltiplos usuários com diferentes níveis de acesso, várias instâncias WireGuard com gerenciamento individual de peers e suporte a *cryptokey routing* para interconexões *sitetosite*.
## Funcionalidades
- **Histórico de Transferência de Cada Peer**: Acompanhe individualmente os volumes de download e upload de cada peer.
- **Gerenciamento Avançado de Firewall**: Experimente um gerenciamento de firewall de VPN abrangente e sem complicações, projetado para ser simples e eficaz.
- **Redirecionamento de Portas**: Redirecione portas TCP ou UDP para peers ou redes além desses peers com facilidade!
- **Servidor DNS**: Suporte a hosts personalizados e listas de bloqueio DNS para maior segurança e privacidade.
- **Suporte Multiusuário**: Gerencie o acesso com diferentes níveis de permissão para cada usuário.
- **Múltiplas Instâncias WireGuard**: Permite o gerenciamento separado de peers em várias instâncias.
- **CryptoKey Routing**: Simplifica a configuração de interconexões *sitetosite*.
- **Compartilhamento de Convites VPN Sem Atrito**: Gere e distribua instantaneamente convites VPN seguros e com tempo de validade via email ou WhatsApp, contendo QR code e arquivo de configuração.
Este projeto tem como objetivo oferecer uma solução intuitiva e fácil de usar para gerenciamento de VPN WireGuard sem comprometer o poder e a flexibilidade que o WireGuard oferece.
## Licença
Este projeto é licenciado sob a licença MIT consulte o arquivo [LICENSE](../LICENSE) para detalhes.
## Capturas de Tela
### Lista de Peers
Exibe uma lista abrangente de peers, incluindo seu status e outros detalhes, permitindo monitorar e gerenciar facilmente as conexões VPN do WireGuard.
![Lista de Peers do WireGuard](../screenshots/peerlist.png)
### Detalhes do Peer
Mostra informações essenciais do peer, métricas detalhadas e um histórico completo de volume de tráfego. Inclui também um QR code para configuração fácil.
![Detalhes do Peer](../screenshots/peerinfo.png)
### Convite VPN
Gera convites VPN seguros e com tempo de validade para compartilhamento de configurações via email ou WhatsApp, com QR code e arquivo de configuração.
![Convite VPN](../screenshots/vpninvite.png)
### Filtragem DNS Avançada
Bloqueie conteúdo indesejado com listas de filtragem DNS integradas. Categorias predefinidas como pornografia, jogos de azar, fake news, adware e malware estão incluídas, com a possibilidade de adicionar categorias personalizadas para uma experiência de segurança sob medida.
![Servidor DNS](../screenshots/dns.png)
### Gerenciamento de Firewall
Oferece uma interface abrangente para gerenciar regras de firewall da VPN, permitindo criar, editar e excluir regras com sintaxe estilo *iptables*. Este recurso garante controle preciso do tráfego de rede, ampliando a segurança e a conectividade das instâncias WireGuard.
![Lista de Regras de Firewall](../screenshots/firewall-rule-list.png)
![Gerenciador de Regras de Firewall](../screenshots/firewall-manage-rule.png)
### Configurações da Instância WireGuard
Um hub central para gerenciar configurações de uma ou várias instâncias WireGuard, possibilitando ajustes de configuração de forma simples.
![Configuração do Servidor WireGuard](../screenshots/serverconfig.png)
### Console
Acesso rápido a ferramentas comuns de depuração, facilitando o diagnóstico e a resolução de possíveis problemas no ambiente VPN WireGuard.
![Console](../screenshots/console.png)
### Gerenciador de Usuários
Suporta ambientes multiusuário permitindo atribuir níveis de permissão variados, desde acesso restrito até direitos administrativos completos, garantindo controle de acesso seguro e personalizado.
![Gerenciador de Usuários](../screenshots/usermanager.png)
---
## Instruções de Implantação
Siga estes passos para implantar o WireGuard WebAdmin:
1. **Prepare o Ambiente:**
Primeiro, crie um diretório para o projeto WireGuard WebAdmin e navegue até ele. Este será o diretório de trabalho para a implantação.
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
```
2. **Obtenha o Arquivo Docker Compose:**
Dependendo do seu cenário de implantação, escolha um dos comandos a seguir para baixar o arquivo `docker-compose.yml` apropriado diretamente no seu diretório de trabalho. Esse método garante que você está usando a versão mais recente da configuração de implantação.
### Com NGINX (Recomendado)
Para uma implantação pronta para produção com NGINX como *reverse proxy* (recomendado para a maioria dos usuários), use:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose.yml
```
Este modo é recomendado para executar a interface web de administração. O *deployment* do contêiner gerará automaticamente um certificado autoassinado para você. Se desejar atualizar seus certificados, basta acessar o volume `certificates` e substituir `nginx.pem` e `nginx.key` pelos seus próprios certificados.
### Sem NGINX (Somente para Debug e Testes)
Para um ambiente de depuração sem NGINX, adequado apenas para testes (não recomendado em produção), use:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-nginx.yml
```
3. **Crie o Arquivo `.env`:**
Crie um arquivo `.env` no mesmo diretório do seu `docker-compose.yml` com o conteúdo abaixo, ajustando `my_server_address` para o DNS ou endereço IP do seu servidor. Este passo é crucial para garantir o funcionamento correto da aplicação.
```env
# Configure SERVER_ADDRESS para coincidir com o endereço do servidor. Se não tiver um nome DNS, você pode usar o IP.
# Um SERVER_ADDRESS configurado incorretamente causará erros de CSRF na aplicação.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
```
Substitua `my_server_address` pelo endereço real do seu servidor.
4. **Execute o Docker Compose:**
### Com NGINX (Recomendado)
```bash
docker compose up -d
```
Acesse a interface web em `https://seuservidor.exemplo.com`. Se estiver usando um certificado autoassinado, será necessário aceitar a exceção de certificado apresentada pelo navegador.
### Sem NGINX (Somente para Debug e Testes)
Caso tenha optado pela configuração sem NGINX, simplesmente execute o arquivo `docker-compose-no-nginx.yml` obtido anteriormente:
```bash
docker compose -f docker-compose-no-nginx.yml up -d
```
Acesse a interface web em `http://127.0.0.1:8000`.
Após concluir esses passos, o WireGuard WebAdmin deverá estar em execução. Inicie a configuração acessando a interface web do seu servidor.
---
## Instruções de Upgrade
Manter sua instalação do WireGuard WebAdmin atualizada garante acesso aos recursos mais recentes, melhorias de segurança e correções de bugs. Siga estas instruções para um upgrade tranquilo:
### Preparação para o Upgrade:
1. **Transição de um Workflow *git clone*:**
Navegue até o diretório `wireguard_webadmin`:
```bash
cd path/to/wireguard_webadmin
```
Se estiver atualizando a partir de uma instalação existente via *git clone*, navegue até o diretório do projeto atual.
```bash
cd /path/to/wireguard_webadmin_git_clone
```
2. **Desligue os Serviços:**
Pare todos os serviços em execução para evitar perda de dados durante o upgrade.
```bash
docker compose down
```
3. **Baixe as Imagens Mais Recentes:**
Atualize suas imagens locais:
```bash
docker compose pull
```
4. **Faça Backup dos Seus Dados:**
Antes de qualquer alteração, faça backup do banco de dados e de outros dados importantes. Este passo é essencial para restaurar sua configuração, se necessário.
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Substitua `/var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/` pelo caminho real do volume Docker, se diferente. O comando salva o backup no diretório atual.
5. **Implante Usando Docker Compose:**
Siga as [Instruções de Implantação](#instruções-de-implantação) descritas anteriormente.
> **Observação:** Não se esqueça de atualizar o arquivo `docker-compose.yml` para a versão mais recente, baixando-o novamente do repositório.
### Verificações PósUpgrade:
- **Verifique a Operação:** Após iniciar os serviços, acesse a interface web para garantir que o WireGuard WebAdmin esteja funcionando como esperado. Examine os logs da aplicação para possíveis problemas.
- **Suporte e Solução de Problemas:** Em caso de complicações ou para mais informações, consulte a página de [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions) do projeto ou a documentação pertinente.
Seguindo estas instruções, você atualizará seu WireGuard WebAdmin para a versão mais recente, incorporando todas as melhorias e atualizações de segurança disponíveis. Lembrese, backups regulares e o cumprimento destes passos de upgrade ajudam a manter a saúde e a segurança da sua implantação.
---
## Contribuindo
Contribuições tornam a comunidade *opensource* um lugar incrível para aprender, inspirar e criar. Suas contribuições são **muito bemvindas**.
## Suporte
Se encontrar qualquer problema ou precisar de assistência, abra uma *issue* na página GitHub do projeto.