VPN schalten je nach Bedarf
Mit Tasker WireGuard-Tunnel automatisch schalten (ohne Plugin)
In dieser kleinen Anleitung zeige ich, wie man mit der Automatisierungs-App „Tasker“ bestehende WireGuard-Tunnel – je nach Bedürfnis – aktiviert oder diese Verbindung eben wieder trennt.
VPN-Verbindungen nutze ich mittlerweile nur noch via dem WireGuard-Protokoll – Weil es so schön einfach ist bzw. weil man hierfür keine Zertifikate benötigt. Mit Tasker kann man dies zudem automatisieren. Jedoch muss die offizielle WireGuard-App natürlich installiert sein.
Der Entwickler dieser App ist vermutlich ebenfalls ein Freund von WireGuard. Denn er hat den Zugriff darauf direkt innerhalb von Tasker integriert – allerdings etwas versteckt. Ein spezielles Plug-in ist hierfür nicht notwendig.
Man erreicht die entsprechende Aktion folgendermaßen: Beim Anlegen einer neuen Aktion innerhalb eines Tasks geht man auf das Pluszeichen unten rechts und dann auf ➜ Tasker ➜ Tasker-Funktion ➜ WireGuard Tunnel setzen (ganz unten in der Liste).
Nach der Auswahl fragt Tasker, ob der Tunnel „oben“ sein soll. Das bedeutet einfach nur, ob er aktiv sein soll. Wenn man also eine solche VPN-Verbindung per Tasker aktivieren möchte, sollte man dies bejahen.
Danach fragt Tasker nach dem gewünschten Tunnelnamen. Hierzu wechselt man in die WireGuard-App und notiert- bzw. kopiert sich den genauen Namen des Tunnels, den man schalten möchte. Der Name muss genau stimmen.
Und nun hat man eine simple Tasker-Aktion. Die Funktion lautet dann zum Beispiel:
WireGuardSetTunnel(true,ProtonVPN)
„ProtonVPN“ ist natürlich nur ein Beispiel. So hatte ich eine meiner Verbindungen innerhalb der WireGuard-App genannt. Aus dem true kann man auch ein false machen. Dann wird der aktuelle Tunnel mit diesem Namen deaktiviert. Einens solchen Deaktivierungs-Task benötigt man ja i. d. R. auch.
Und wozu soll das gut sein? Ich selbst betreibe mittels Raspberry Pi meinen eigenen kleinen WireGuard-Server daheim. Ich kann mich also von Außen via Mobilfunknetz oder via fremden WLAN nach Hause „einklinken“ x. Und das mache ich automatisiert: Immer wenn ich nicht mit dem Smartphone via WLAN im eigenen Heimnetz bin, sorgt Tasker dafür, dass ich automatisch stets via WireGuard bzw. via VPN damit verbunden bin.
x Via (modernerer) FritzBox ist dies übrigens auch möglich – ohne Raspberry Pi.
Dadurch denken alle Apps mit Netzwerkzugriff auf meinem Handy (bzw. die Server dahinter), ich säße immer noch Zuhause auf dem Sofa bzw. erhalten immer nur diese IP-Adresse – Das Füttern von Daten für Bewegungsprofile wird dadurch also erschwert. Denn bei jedem Wechsel zu einer anderen Mobilfunkzelle erhält man ja (meist?) eine neue IP-Adresse. Die eigentliche Ortungsfunktionalität schalte ich via Tasker auch nur bei Bedarf an.
Zudem profitiere ich dann auch unterwegs von meinem Pi-Hole (Tracking- und Werbeblocker) auf dem Raspberry bzw. von Unbound (eigener DNS-Server) und ich habe Zugriff auf lokale Netzwerk-Ressourcen (z. B. auf meine MP3-Sammlung auf dem Raspberry).
Wenn ich wieder Zuhause bin bzw. wenn sich das Smartphone mit dem heimischen WLAN verbunden hat, deaktiviert Tasker automatisch die WireGuard-VPN-Verbindung dazu. Es wäre ja ansonsten auch doppelt gemoppelt.
Gewiss gibt es auch noch andere Fälle, bei denen automatisch eine VPN-Verbindung aufgebaut werden soll – etwa wenn beim Start der Netflix-App automatisch ein WireGuard-Tunnel in ein fremdes Land aufgebaut werden soll. Aber so etwas benötige ich nicht. Zudem könnte es hierbei zu leichten Verzögerungen bzw. Leaks kommen. Dies könnte man wiederum mit Tasker abfangen, indem man beim Start einer App das sofortige Beenden von dieser, Tunnel aufbauen, etwas Warten, App Neustarten via Task anlegt. Aber dies wäre meinerseits nur Theorie.