duffyduck 2471fcfc65 Add README, MIT license and .gitignore
README documents the reverse-tunnel use case, features, security model and
usage steps. .gitignore excludes OS/editor cruft and prevents accidental
commit of generated WireGuard configs (which contain private keys).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 02:03:19 +02:00
2026-05-10 01:58:17 +02:00
2026-05-10 02:03:19 +02:00

Fritzbox Reverse WireGuard VPN Tunnel Generator

Single-File-Webapp zum Erzeugen von WireGuard-Konfigurationen für ein Reverse-Setup zwischen einem Windows-PC (als WG-Server) und einer Fritzbox (als WG-Client).

Das Problem

Die Fritzbox bringt einen WireGuard-Server mit — aber:

  • Sie kann pro Gerät nur ein Schlüsselpaar verwalten. Fremde Configs lassen sich nicht einfach importieren.
  • Übliches Setup: Windows-Client connectet zur Fritzbox als Server. Sobald der Fritzbox-Anschluss seine öffentliche IP wechselt (was bei den meisten DSL-Anschlüssen täglich passiert), verliert der Windows-WireGuard-Client die Verbindung und reconnectet nicht zuverlässig — der User muss manuell neu verbinden.

Die Lösung

Spieß umdrehen: Der Windows-PC wird WireGuard-Server (öffnet UDP-Port), die Fritzbox baut als Client ausgehend zum Windows auf. Der Windows-Anschluss hat in der Regel länger gleiche IPs (oder feste IP über den Provider/Office-Anschluss), und selbst wenn nicht: die Fritzbox initiiert den Tunnel und reconnectet von sich aus zuverlässig bei IP-Wechseln.

[Fritzbox-LAN 192.168.178.0/24]
       |
[Fritzbox]  ── ausgehend WG ──>  [Internet]  ──>  windows.dyndns.org:51820
                                                         |
                                                  [Windows-PC]

Vom Windows-PC aus ist das gesamte Fritzbox-LAN durch den Tunnel erreichbar — inkl. SMB-Freigaben, Drucker, Web-Interfaces, etc.

Features

  • Schlüsselgenerierung im Browser via WebCrypto X25519 (RFC 7748). Keine externen Tools nötig.
  • Public Key wird live aus dem Private Key abgeleitet — auch bei manuell eingesetzten Schlüsseln.
  • Pre-Shared Key (optional, empfohlen) für zusätzliche Quanten-Resistenz der Tunnel-Verschlüsselung.
  • „Fritzbox hat schon eine WireGuard-Verbindung"-Modus: Generiert dann nur einen separaten [Peer]-Block, der als eigene .conf-Datei in die Fritzbox importiert werden kann — die existierende Verbindung wird ergänzt, ohne dass sie gelöscht werden muss.
  • Output: Vollständige .conf für Windows und Fritzbox, beide als Text + Download + QR-Code.
  • Konfiguration speichern/laden: Verschlüsseltes Token (AES-256-GCM, PBKDF2-HMAC-SHA256 mit 600.000 Iterationen) zum sicheren Aufbewahren z.B. im Passwort-Manager. Konfiguration jederzeit wiederherstellen und neu exportieren.
  • Dynamisch generierte Setup-Anleitung mit Topologie-Diagramm.
  • Komplett offline-fähig. Eine einzige HTML-Datei, alle Libraries (qrcode-generator) inline. Keine externen Requests, keine Telemetrie, alles passiert lokal im Browser.

Nutzung

  1. Die Datei fritzbox-reverse-wg.html in einem aktuellen Browser öffnen (Chrome/Edge/Firefox/Safari der letzten ~2 Jahre wegen WebCrypto X25519).
  2. Schlüssel werden beim Laden automatisch generiert. Felder anpassen:
    • Endpoint: DynDNS-Hostname des Windows-Anschlusses
    • Port: UDP-Port auf dem Windows-PC
    • Tunnel-Subnetz: Default 10.10.10.0/24 passt meist
    • Fritzbox-LAN: Zielnetz, das vom Windows aus erreichbar werden soll (Default 192.168.178.0/24)
  3. Wenn auf der Fritzbox bereits eine WireGuard-Verbindung existiert: die Checkbox aktivieren und den existierenden Fritzbox-Private-Key in das Eingabefeld eintragen (steht in der ursprünglich von der Fritzbox erzeugten .conf als PrivateKey =).
  4. Auf „Konfigurationen erzeugen" klicken.
  5. Beide .conf-Dateien herunterladen und auf den jeweiligen Geräten importieren (siehe automatisch generierte Anleitung im Output).
  6. Optional: Konfiguration mit einem Passwort verschlüsseln und das Token sichern. Damit lässt sich die gesamte Konfiguration später jederzeit wiederherstellen.

Voraussetzungen

  • Windows-Anschluss: Sollte einen UDP-Port nach außen öffnen können (Port-Forwarding am Router) und einen DynDNS-Namen haben.
  • Fritzbox: mit WireGuard-Unterstützung (FRITZ!OS 7.50+).

Sicherheit

  • Alle kryptografischen Operationen laufen ausschließlich im Browser (WebCrypto API).
  • Private Keys, PSKs und Passwörter werden zu keinem Zeitpunkt über das Netzwerk gesendet.
  • Die HTML-Datei lädt keine externen Ressourcen — die qrcode-Generator-Library ist inline eingebettet.
  • Speicher-Tokens sind mit AES-256-GCM verschlüsselt; Schlüsselableitung via PBKDF2-HMAC-SHA-256 mit 600.000 Iterationen (OWASP-Empfehlung 2024). Manipulierte Tokens werden über das GCM-Auth-Tag erkannt und abgelehnt.

Credits

  • QR-Code-Generierung: qrcode-generator von Kazuhiko Arase (MIT)
  • Schlüssel-Erzeugung: WebCrypto X25519 (RFC 7748)

Lizenz

MIT

S
Description
No description provided
Readme MIT 47 KiB
Languages
HTML 100%