Mein Wireguard GUI Projekt

Hallo,
nachdem mein Lieblings WireGuard Projekt Firezone mehr zum Selber Hosten angeboten wird.

Dachte ich mir ich programmiere mir dann mal meinen eigenen GUI.

Jetzt wo sich das Projekt in der hoffentlich letzten „Alpha Phase“ befindet wollte ich mal ein paar Screen Shots sharen.

Was kann der GUI.

  • Passwordless Authentifizierung getestet mit PocketID, 2FA Auth oder auch per E-Mail
  • Analog Firezone gibt es auch diese Option für Client Verbindungen d.h. der User muss sich vorher per Web anmelden und die Verbindung wird dann nach einer definierten Laufzeit getrennt.
  • Unbound DNS mit forward zum Internen DNS Server oder PiHole, AdGuard
  • Outbound Routing über Proton VPN oder einen anderen WG Provider (getestet mit Proton VPN free)
  • Ingress Firewall Regeln um den Zugriff auf interne oder externe IP Adressen/ Ranges auf Ports oder ganz einzuschränken.

Das ganze läuft in einem Alpine Linux Docker Container. GUI ist Python (Flask).

Ein paar ScreenShots vom GUI

Interessant?

3 „Gefällt mir“

Sieht zumindest sehr cool aus die GUI, ist das Bootstrap (mit Python dahinter)?
Wie lange hast du da dran gesessen?

Ganz klar spannend. Erzähle mehr.

Supergeil! Haste das GitHub oder irgendwo zum downloaden?

Hallo,
ja die Basis ist AdminLTE 4 Bootstrap und Python Flask …

Erster Commit in mein privates Git war am 4. Nov. 2024. Ist halt ein Hobby Projekt.

Auf der Roadmap vor der 1. „öffentlichen“ Beta Release stehen noch ein paar Dinge wie Backup, Migration, Security Scan, eine kurze Doku…

Kann das Ding auch S2S-Verbindungen? Also kann man die AllowedIPs frei angeben oder ist das auch „zu“, so wie z.B. bei dem Hersteller mit dem großen „U“
Leider mache ich nur ungerne VPN-Zeugs in Docker-Containern… Gefällt mir irgendwie nicht.

Wenn es funktioniert wäre das aber schon ein Grund, dass es einem gefällt.

2 „Gefällt mir“

Hallo,

Klar geht Site-to-Site, kann alles frei konfiguriert werden hat ja keinen kommerziellen Hintergrund.

Das ganze kann natürlich auch native laufen keine Frage.

Ein System ist schnell zerstört, ein Container schnell deployed oder auch nicht …

Es gibt auch die Möglichkeit z.B. eine ProtonWGVPN Konfiguration zu importieren zum Beispiel 192.168.0.0/16 intern zu routen und alles andere dann ins „Internet“ über den Proton VPN Tunnel. Eine Art von Multi-Hop Routing.

projectvpn:/etc/wireguard# ip rule show all
0:      from all lookup local
100:    from 10.0.0.0/24 to 192.168.0.0/16 lookup main
300:    from 10.0.0.0/24 lookup 123
444:    from all to 10.0.0.0/24 lookup main
32766:  from all lookup main
32767:  from all lookup default


1 „Gefällt mir“

Ok, so ganz verstehen tue ich es zwar noch nicht, aber ich warte auf die offizielle Doku :wink:

Spannendes Projekt! Ich bin auf die public Beta gespannt :wink: