Wireguard VPN auf Android mit Automate ein- und ausschalten

[PROLOG]
Wireguard VPN ist ja seit einigen Monaten ein immer heißer werdendes Thema, zu dem ich hier im Forum (https://forum.heimnetz.de/threads/wireguard-vs-openvpn.202) sowie hier bei den QNAP Anleitungen (https://www.heimnetz.de/anleitungen/nas-netzwerkspeicher/qnap) schon einiges geschrieben habe.

Ich setze Wireguard vornehmlich auf meinem Android-Smartphone ein, nicht nur um auf mein Heimnetz zugreifen zu können, sondern auch um meine eigenen DNS Server mit insbesondere Werbe- und Trackingblocker zu verwenden. Der Unterschied, ob Werbung blockiert wird oder nicht, ist sehr deutlich spürbar, ganz besonders dann, wenn ich vergessen habe das Wireguard VPN zu aktivieren, was manuell einfach etwas lästig ist, denn daheim im WLAN möchte ich das VPN nicht aktiv haben, da es schlichtweg unnötig ist. Es muss also eine automatisierte und komfortable Lösung her. Genau das richten wir in dieser Anleitung ein.


[VORBEREITUNGEN]
Natürlich muss als erstes die Wireguard App installiert und eingerichtet sein, sodass man eine Verbindung zu seinem VPN herstellen kann. Für die Automatisierung wird die kostenlose App „Automate“ benötigt, welche im Play Store heruntergeladen und installiert werden kann. Beim ersten Start/ Einrichten müssen unter Umständen Berechtigungen erteilt und ggf. weitere App-Plugins heruntergeladen werden, dazu wird man entsprechend bei Bedarf aufgefordert.

Für unser Projekt machen wir es uns so richtig einfach und laden uns die vorgefertigte Steuerung (Flow) aus den Community-Downloads herunter. Dazu wählen wir oben links die drei Striche > Community und geben in das Suchfeld „Wireguard“ ein. Anschließend klicken wir „Toggle Wireguard based on home Wifi connection” an und wählen anschließend „Download“. In der Beschreibung ist auch ein Teil dieser Anleitung enthalten, leider ist diese aber nicht vollständig.
Wireguard Start/Stopp Steuerung herunterladen
Nachdem das schnell erledigt ist, gehen wir zurück ins Hauptmenü „Flows“ und sehen den neu hinzugefügten Flow in der bei euch natürlich etwas anders aussehenden Übersicht.
Übersicht mit neuem Flow
Den Flow wählen wir aus um ihn zu bearbeiten. In dem Fenster das sich nun auftut klicken wir unten rechts auf das Plus-Symbol und anschließend auf das schaltplanähnliche Symbol.
Flow bearbeiten
Es folgt die Übersicht des Flows, also der Steuerung mit seinen Bedingungen und Aktionen. Die drei markierten Elemente (Blocks) müssen wir nun für unsere Gegebenheiten anpassen.
Übersicht des zu bearbeitenden Flows
Dazu wählen wir zunächst den Block mit der roten Nr. 1. Dieser stellt die Bedingung für das Ein- und Ausschalten des VPN dar, sprich „Wenn mit WLAN XYZ verbunden, schalte das VPN aus, ansonsten ein.“. Hier müssen wir unser WLAN angeben, das geht am einfachsten, wenn wir mit diesem verbunden sind und auf „Pick Network“ klicken, wo das entsprechende WLAN mit Namen aufgeführt ist und mit einem Klick darauf ausgewählt wird. Anschließend speichern wir den Block oben rechts mit „save“ und landen wieder in der Übersicht.
WLAN anpassen
Nun wählen wir den Block mit der roten Nr. 2. Dieser stellt die Aktion für das Abschalten des VPN dar. Etwas weiter unten unter „Extras“ muss der Name des VPN-Tunnels angegeben werden, die Anführungszeichen müssen erhalten bleiben. Der Name entspricht dem, mit dem das VPN in der Wireguard App aufgeführt wird. Auch diesen Block speichern wir anschließend und gelangen zurück zur Übersicht.
Tunnelname anpassen
Analog verfahren wir nun mit dem Block mit der roten Nr. 3. Dieser schaltet das VPN ein.
Die Übersicht des Flows verlassen wir mit der Zurücktaste und starten den Flow mit einem Klick auf „Start“, anschließend gehen wir eine weitere Seite zurück ins Hauptmenü. Nun müssen noch die Berechtigungen für Wireguard eingeholt werden. Das machen wir zunächst über die drei Striche oben links > Settings > Privileges und suchen dort in der Liste nach „WireGuard Tunnel starten“ und setzen den Haken. Die Menüs verlassen wir wieder mit der Zurücktaste.
Berechtigung Automate für Wireguard setzen Berechtigung Automate für Wireguard setzen
Weiter geht es dann in der Wireguard App, in der wir global erlauben müssen, dass Wireguard überhaupt durch andere Apps gesteuert werden darf. Dazu gehen wir auf die drei Punkte oben rechts und dann auf „Erweitert“ und setzen den entsprechenden Haken.
Steuerung durch externe Apps erlauben
Dann sind wir auch schon fertig und die App prüft bei jedem Ein- und Ausschalten des WLAN, ob das Telefon mit dem heimischen WLAN oder mit dem Mobilfunknetz verbunden ist. Besteht eine Verbindung mit dem Mobilfunknetz, wird das VPN eingeschaltet und daheim im WLAN abgeschaltet.

Für die Wissbegierigen:
Die beiden Blocks „Toast show“ sorgen dafür, dass die Meldung „VPN connected/ disconnected“ angezeigt wird. Die Meldung kann bei Bedarf bearbeitet oder die Blöcke einfach gelöscht werden, beim Löschen müssen nur die Verbindungen zum Anfang wieder hergestellt werden.

Der Block „When network connected mobile“ sorgt dafür, dass das VPN nur (!) beim Mobilfunkverbindungsaufbau aktiviert wird. Das ist insoweit ok, da davon auszugehen ist, dass man sein heimisches WLAN verlässt und eine Mobilfunkverbindung aufgebaut wird, sodass das VPN beim späteren Verbinden mit anderen WLANs weiterhin aktiv ist. Ist das nicht gegeben, da man z.B. aus seinem WLAN direkt in ein anderes WLAN wechselt, sollte dieser Block gelöscht werden, die Verbindung zum nächsten Block muss aber wieder hergestellt werden.

Der Block „Ping“ sorgt dafür, dass beim Verbinden mit dem Mobilfunk geprüft wird, ob schon eine Internetverbindung besteht, damit der Tunnel nicht zu früh aufgebaut wird. Ich halte diesen für optional, da die Wireguard App mittlerweile sehr stabil beim Verbindungswechsel arbeitet.

Den Flow kann man nach Belieben auch noch um weitere WLANs ergänzen, bei denen man ggf. ebenfalls nicht mit dem VPN verbunden sein möchte, das würde aber den Rahmen hier sprengen.
Übrigens: Mit „Automate“ lässt sich eine Vielzahl an Funktionen automatisieren, z.B. schalte ich damit auch Rufumleitungen oder für‘s Freisprechen im Auto Bluetooth ein und aus.


[EPILOG]
Das war einfach… Anpassungen etc. brauchen aber etwas Einarbeitung und ein logisch denkendes Köpfchen, um die Abläufe die man sich zusammenbaut zu verstehen und mit der Realität verknüpfen zu können. Meinen Flow habe ich noch etwas angepasst, da ich z.B. das VPN im Auto-WLAN nicht nutzen kann (ich brauche hierfür IPv6 und das geht da nicht).

Vor akkufressenden Apps braucht auch niemand Angst haben, Automate braucht so wenig, dass ich den Verbrauch nichtmal angezeigt bekomme (<= 0,1% / Tag) und eine aktive Wireguard Verbindung kommt mit etwa 0,1% je Stunde zurecht. Maßstab ist hier ein S20+ (4500mAh).

Also dann: Viel Spaß mit der komfortablen VPN Steuerung für sicheres Surfen!

---

Vielen Dank an den User tiermutter für diese Anleitung!

Wenn Du Fragen zu dieser Anleitung hast, dann schau doch einfach mal bei uns im vorbei!