wireguard_webadmin/docs/README.de.md

190 lines
8.0 KiB
Markdown
Raw Normal View History

## 🌍 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.