projects/vpn: Heron rootlos auf macOS (GlobalProtect/Duo-SAML via WKWebView + HIP), Reiher-Icon

This commit is contained in:
marcus.hinz
2026-06-25 16:56:43 +02:00
parent d64b27ab88
commit f044190474
6 changed files with 363 additions and 93 deletions
+7 -4
View File
@@ -9,10 +9,13 @@ und eigenes Browser-Profil — mehrere VPNs laufen parallel ohne Konflikt.
- **wuerth_vpn_tray.py** — Würth, Cisco AnyConnect (`--protocol=anyconnect`),
User+Passwort. Fertig und in Betrieb.
- **heron_vpn_tray.py** — Heron, GlobalProtect (`--protocol=gp`). Gerüst fertig;
der SAML-POST-/Duo-Login ist auf macOS nicht sauber rootlos lösbar
(openconnect `--external-browser` bedient nur SAML-REDIRECT; gp-saml-gui
braucht WebKit2GTK). Unter Linux via gp-saml-gui umsetzbar.
- **heron_vpn_tray.py** — Heron, GlobalProtect (`--protocol=gp`), Duo-SAML.
Läuft rootlos auf macOS: Der SAML-Login (`heron_gp_saml.py`) erfolgt in einem
nativen WKWebView (pyobjc) mit GlobalProtect-User-Agent, greift den
`prelogin-cookie` aus den HTTP-Antwort-Headern ab (was QtWebEngine nicht kann)
und startet damit openconnect inkl. HIP-Report (`--csd-wrapper`) über ocproxy.
Der SAML-Teil ist ein eigener CLT-Python-Prozess (braucht pyobjc), die Tray-App
ruft ihn und reicht den Cookie an openconnect.
## Voraussetzungen