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

@@ -7,200 +7,62 @@
✨ 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:
**Self-hosted VPN-Verwaltung und Zero-Trust-Zugangskontrolle — alles auf deiner eigenen Infrastruktur.**
- mehrere Benutzer mit unterschiedlichen Berechtigungsstufen,
- mehrere WireGuardInstanzen mit individueller PeerVerwaltung sowie
- CryptoKeyRouting für SitetoSiteVerbindungen.
Mehr als ein WireGuard-Panel: Verwalte Peers, Firewall-Regeln, DNS und Port-Weiterleitungen und veröffentliche interne Anwendungen mit echter Authentifizierung — ohne Abhängigkeit von Drittanbietern. Läuft auf jeder Linux-Maschine mit Docker. Kostenlos, open source, nichts verlässt deinen Server.
## Funktionen
- ⚙️ **Verwalten** — Mehrere WireGuard-Instanzen, Traffic-Graphen pro Peer, Firewall, DNS-Blacklists, VPN-Einladungen mit QR-Code
- 🔒 **Schützen** — Zero-Trust-Anwendungs-Gateway mit TOTP, IP-ACL und Brute-Force-Schutz (Altcha PoW)
-**Automatisieren** — Zeitgesteuerter Peer-Zugang, Routing-Templates, ablaufende Einladungslinks, REST API v2
- **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.
- **Routing-Vorlagen pro Peer**: Definieren Sie wiederverwendbare Routing-Vorlagen pro WireGuard-Instanz und wenden Sie diese auf Peers an, um ein konsistentes und vorhersehbares Routing-Verhalten zu gewährleisten.
- **Routenzwang mit automatischen Firewall-Regeln**: Erwingen Sie Routing-Richtlinien durch automatisches Erstellen von Firewall-Regeln, die Peers auf explizit erlaubte Routen beschränken.
### 📖 [Vollständige Dokumentation, Installationsanleitung und Tipps auf wireguard-webadmin.com](https://wireguard-webadmin.com/)
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
## Schnellinstallation
Dieses Projekt steht unter der MITLizenz siehe [LICENSE](../LICENSE) für Details.
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
# .env mit deiner SERVER_ADDRESS bearbeiten
docker compose up -d
```
> Für detaillierte Anleitungen, Upgrade-Guide und Konfigurationstipps besuche **[wireguard-webadmin.com](https://wireguard-webadmin.com/)**.
---
## 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)
### Peer-Liste
Echtzeit-Status und Live-Bandbreitengraphen für jeden Peer über alle WireGuard-Instanzen hinweg.
![Peer-Liste](images/peer_list_dark.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)
### Peer-Details
Traffic-Historie, letzter Handshake, erlaubte IPs und QR-Code — alles an einem Ort.
![Peer-Details](images/peer_details.png)
### VPNEinladung
Erstellt sichere, zeitlich begrenzte VPNEinladungen zum einfachen Teilen per EMail oder WhatsApp inklusive QRCode und Konfigurationsdatei.
![VPN Invite](../screenshots/vpninvite.png)
### Zero-Trust-Anwendungs-Gateway
Veröffentliche interne Apps wie Proxmox oder Grafana mit TOTP-Authentifizierung davor — ohne offene Ports.
![Zero-Trust-Gateway](images/zero_trust_app.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)
### Firewall-Verwaltung
iptables-Regeln pro Instanz, Port-Weiterleitungen und ausgehende ACLs direkt über die Oberfläche verwalten.
![Firewall](images/firewall.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)
### VPN-Einladung
Erstelle einen teilbaren Einladungslink mit QR-Code und Konfigurationsdatei. Der Nutzer scannt oder importiert ihn direkt in seinen WireGuard-Client.
![VPN-Einladung](images/vpn_invite.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)
## Lizenz
### 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 Compose-Datei herunterzuladen. So nutzt du stets die aktuelle Version der Deployment-Datei.
### Option 1: Mit Caddy (empfohlen)
Für das empfohlene produktive Deployment mit Caddy als Reverse-Proxy:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
```
Dies ist die empfohlene Methode zum Betrieb der Web-Administrationsoberfläche, da sie alle unterstützten Reverse-Proxy-Funktionen umfasst und eine automatische SSL-Zertifikatsverwaltung über Caddy bietet.
> [!IMPORTANT]
> Caddy benötigt einen gültigen DNS-Namen, intern oder öffentlich, der auf Ihren Server zeigt, damit SSL-Zertifikate korrekt ausgestellt und erneuert werden können.
### Option 2: Ohne Caddy
Wenn Sie Ihren eigenen Reverse-Proxy verwenden oder die Anwendung ohne Caddy betreiben möchten, nutzen Sie:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-caddy.yml
```
> [!CAUTION]
> Wenn Sie die Anwendung ohne Caddy betreiben, verlieren Sie die integrierte sichere Veröffentlichung, einschließlich automatischer SSL-Zertifikate und des empfohlenen Reverse-Proxy-Setups. Wenn Sie diese Option wählen, müssen Sie selbst für eine sichere Veröffentlichung sorgen.
3. **.envDatei 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
# Wähle eine Zeitzone aus https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIMEZONE=Europe/Berlin
# WireGuardStatusCachingEinstellungen
# Dies verbessert die Leistung, indem die Anzahl der Aufrufe des `wg`-Befehls reduziert und aktuelle Ergebnisse gespeichert werden.
# WIREGUARD_STATUS_CACHE_ENABLED=True
#
# Wie viele zwischengespeicherte WireGuard-Status-Snapshots beim Laden der Seite vorgeladen werden sollen.
# Dies ermöglicht es, dass Traffic-Diagramme bereits ausgefüllt angezeigt werden, anstatt leer zu beginnen.
# Verringern Sie diesen Wert, wenn sich die initiale Peer-Liste langsam anfühlt.
# 0 = Vorladen deaktivieren, 9 = Traffic-Diagramme vollständig ausfüllen.
# WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=9
#
# Wie oft (in Sekunden) der Cache aktualisiert werden soll.
# Erlaubte Werte: 30, 60, 150, 300. Standard: 60.
# WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=60
# Wenn Sie zusätzliche erlaubte Hosts benötigen, können Sie diese hier angeben.
# Die SERVER_ADDRESS wird immer erlaubt sein.
# Beispiel: EXTRA_ALLOWED_HOSTS=app1.beispiel.com,app2.beispiel.com:8443,app3.beispiel.com
#EXTRA_ALLOWED_HOSTS=app1.beispiel.com,app2.beispiel.com:8443,app3.beispiel.com
```
4. **Docker Compose ausführen**
Führen Sie den Docker Compose-Befehl aus, um Ihr Deployment zu starten:
```bash
docker compose up -d
```
Öffnen Sie die Weboberfläche unter `https://yourserver.example.com`. Beim empfohlenen Deployment mit Caddy werden SSL-Zertifikate automatisch ausgestellt und erneuert.
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. **In das Projektverzeichnis wechseln**
```bash
cd wireguard_webadmin
```
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).
Dieses Projekt steht unter der MIT-Lizenz siehe [LICENSE](../LICENSE) für Details.
## 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.
Beiträge sind willkommen und sehr geschätzt. Öffne gerne Issues oder Pull Requests auf [GitHub](https://github.com/eduardogsilva/wireguard_webadmin).