Claimward-Dokumentation
Claimward ist eine selbst gehostete Zero-Trust-Lösung für den Netzwerkzugang auf Basis von WireGuard. Personen melden sich mit dem Identitätsanbieter an, den Sie bereits haben (GitHub, ein beliebiger OpenID-Connect-Anbieter oder ein go-authn-Anbieter vor einer SAML-Föderation); Claimward registriert anschließend ihr Gerät als WireGuard-Peer Ihres Gateways, mit einer eigenen Adresse und den Routen des gewählten Mandanten.
Alles ist in Go geschrieben. Die macOS-App zeichnet ihr Fenster mit Svelte in einer Webview; die Linux- und die Windows-App sind reines Go (go-widgets, kein cgo).
Ein Gateway aufsetzen und ein erstes Gerät verbinden.
Steuerungsebene, Datenebene, der Registrierungsablauf und die Leases.
GitHub (Standard), OpenID Connect oder go-authn mit seinem Register der WireGuard-Schlüssel.
Wer wohin gehört, und der für jede Sitzung gewählte Mandant.
Der Server, die Client-Bibliothek, der privilegierte Helper und die drei Desktop-Apps.
Die Registrierungs-API und der gRPC-RouteService.
TLS, das Gateway, Leases, Zustand, die Admin-API und Metriken.
Die Bausteine
| Repository | Release | Was es ist |
|---|---|---|
claimward-vpn-server | v0.2.0 | Steuerungsebene: prüft die Anmeldung, vergibt Adressen, programmiert das WireGuard-Gateway, streamt die Routen der Mandanten über gRPC, Admin-API und Metriken |
claimward-vpn-client | v0.3.1 | Go-Bibliothek, die sich die Apps und der Server teilen: Wire-Protokoll, Anmeldeanbieter, Tunnel, privilegierter Helper, App-Kern. Sie liefert kein Binary aus |
claimward-vpn-app-osx | v0.2.0 | macOS-App: Menüleisten-App in Go, Svelte-Oberfläche in einer Webview, Helper als root-LaunchDaemon |
claimward-vpn-app-linux | v0.2.1 | Linux-App: Fenster und Infobereich in reinem Go, von systemd ausgeführter Helper |
claimward-vpn-app-windows | v0.3.0 | Windows-App: Fenster und Infobereich in reinem Go, Helper als Windows-Dienst, Wintun-Tunnel |
Stand. Dies sind erste Releases. Laut den jeweiligen Repositorys steht
noch aus: das Sitzungstoken im Geheimnisspeicher der Plattform (Keychain,
ein Schlüsselbund, die Windows-Anmeldeinformationsverwaltung), eine signierte und notarisierte macOS-App,
ein MSI für Windows, unter macOS und Linux angewendetes DNS sowie ein Zustand auf dem Server,
der einen Neustart übersteht. Das README jedes Repositorys listet auf, was noch fehlt.
Erstellt am von tannevaled
Geändert am von tannevaled