Jemand hat eine Automatisierung gebaut, die das VPN einschaltet, sobald ein Inkognito-Tab erscheint, und sie funktioniert nicht zuverlässig. Der Grund ist strukturell und lohnt sich zu verstehen, bevor man an der Automatisierung dreht: Androids Regeln pro App wählen Anwendungspakete, während Inkognito ein Zustand innerhalb eines Pakets ist. Die Regel kann die beiden nicht unterscheiden. Die Benachrichtigung kommt zudem erst, nachdem der Browser die Arbeit aufgenommen hat, sodass selbst ein korrekter Auslöser zu spät kommt. Gehen Sie die fünf Prüfungen der Reihe nach durch; ein Fehlschlag bei Prüfung vier bedeutet, dass der Ansatz und nicht die Einstellungen geändert werden muss.

Prüfung eins: was die Regel wählen kann

Eine VPN-App baut ihren Tunnel aus Listen erlaubter oder gesperrter Anwendungen, und diese Listen nehmen Paketnamen. Chrome im normalen Modus und Chrome im Inkognito-Modus sind dasselbe Paket mit derselben Benutzerkennung und derselben Netzwerkberechtigung, daher gilt eine Regel, die Chrome einschließt oder ausschließt, für beide gleichermaßen. Die Plattform hat keine tabbezogene Identität, gegen die sie abgleichen könnte.

Das ist kein Mangel, den man umgehen müsste; es ist die Granularität, die die API bietet. Wenn Sie Chrome-Verkehr im Tunnel und alles andere außerhalb brauchen, drückt eine Regel pro App genau das aus. Wenn Sie nur private Tabs im Tunnel brauchen, während normale Tabs direkt laufen, kann keine Regel pro App das ausdrücken, und keine Benachrichtigungslogik fügt einen Selektor hinzu, den die Plattform nicht hat.

Hüten Sie sich vor der Paketidentitätsfalle: Eine Beta oder ein Hersteller-Build ist ein anderes Paket als der stabile Browser, eine Regel, die eines abdeckt, verfehlt das andere stillschweigend:

adb shell pm list packages | grep -i chrome

Prüfung zwei: kann der Auslöser je früh genug sein

Ein Benachrichtigungslistener beobachtet Benachrichtigungen, die er sehen darf. Beobachten ist kein Abfangen: Wenn die Benachrichtigung existiert, hat der Browser den Namen bereits aufgelöst und die Verbindung geöffnet, und nichts auf diesem Weg wartet auf Ihre Automatisierung. Eine Aufgabe, die dann den VPN-Client startet, muss auf die Client-Oberfläche, eine mögliche Zustimmungsabfrage und den Tunnel-Handshake warten, was in Sekunden gemessen wird, während die erste Anfrage in Millisekunden gemessen wird.

Die Erkennung ist aus einem zweiten Grund fragil. Benachrichtigungstext ändert sich zwischen Versionen und Lokalisierungen, ein Muster, das zu einer Version passte, passt nach einem Update nicht mehr, und der Fehler bleibt still. Eine fehlende Benachrichtigung beweist nicht, dass privates Browsen fehlt; sie kann nur bedeuten, dass sich die Zeichenkette geändert hat oder der Kanal stummgeschaltet wurde.

Es gibt eine legitime Form dieses Ablaufs, und sie ist geordnet statt reaktiv: zuerst das freigegebene VPN verbinden, ein Bereitschaftssignal bestätigen, das tatsächlich beweist, dass der Tunnel Verkehr trägt, dann die Inkognito-Sitzung über unterstützte Browser-Bedienelemente öffnen und anhalten, wenn die Bereitschaftsprüfung scheitert. Das schützt die Sitzung, die Sie gleich beginnen, ohne eine zu schützen, die bereits läuft.

Prüfung drei: prüfen Sie die Berechtigung, die Sie erteilen wollen

Benachrichtigungszugriff ist eine sensible Berechtigung, die einem Dienst erlaubt, Benachrichtigungen jeder App zu lesen, nicht nur die des Browsers. Sie einem unbekannten Automatisierungswerkzeug zu geben, um einen Browserzustand zu beobachten, ist ein schlechter Tausch, und der Zugriff bleibt nach dem Experiment bestehen. Durch Bedienungshilfen gesteuerte Taps sind schlimmer: Sie sind eine Skriptebene über der Oberfläche, keine unterstützte VPN-Steuerung, und jede Layoutänderung bricht sie.

Fragen Sie vor jeder Vergabe, ob dasselbe Ergebnis mit einem unterstützten Mechanismus erreichbar ist. Wenn die Antwort eine Richtlinienanforderung ist, geht das meist: Die Plattform kann einen Tunnel für eine App oder ein Profil ganz ohne lauschenden Dienst erzwingen.

Prüfung vier: Always-on und Sperre, wenn Sie Durchsetzung brauchen

Wenn der Browser niemals außerhalb des Tunnels kommunizieren darf, gehört die Durchsetzung in die Plattform-Einstellungen, nicht in ein Makro. Android unterstützt ein Always-on-VPN mit einem Sperrmodus, der Verkehr verhindert, wenn der Tunnel nicht steht, und verwaltete Geräte können ihn per Richtlinie erhalten. Prüfen Sie, was das Gerät derzeit hat, statt es anzunehmen:

adb shell settings get global always_on_vpn_app
adb shell settings get global always_on_vpn_lockdown

Ein nicht-leerer App-Wert bedeutet, dass ein Paket als Always-on konfiguriert ist, und ein Lockdown-Wert von 1 bedeutet, dass Verbindungen außerhalb des Tunnels gesperrt sind. Das Paar macht aus einer Best-Effort-Gewohnheit eine Garantie und beseitigt das Rennen vollständig, weil der Tunnel steht, bevor Anwendungsverkehr erlaubt wird.

Zwei Grenzen sind hier wichtig. Arbeitsprofile haben ihre eigene VPN-Konfiguration, eine im persönlichen Profil geprüfte Regel sagt also nichts über das Arbeitsprofil. Und ein separat installierter Browser, ein von einer anderen App geöffneter benutzerdefinierter Tab oder eine Webansicht in einer App ist ein anderes Paket oder ein anderer Kontext mit eigener Weiterleitung, prüfen Sie also das tatsächliche Paket, statt anzunehmen, ein anders gestaltetes Fenster sei eine eigene Domäne.

Prüfung fünf: den Ablauf aufschreiben und den Fehlerpfad testen

Was Sie auch wählen, dokumentieren Sie die Reihenfolge und die Abbruchbedingung. Für den Komfortablauf heißt das: Tunnel steht, Bereitschaft bewiesen, Inkognito geöffnet und ein harter Stopp, wenn die Bereitschaft scheitert. Für den Durchsetzungspfad heißt das: Always-on-App konfiguriert, Sperre aktiviert und das erwartete Verhalten, wenn der Tunnel gar nicht hochkommt, nämlich kein Verkehr statt ungeschütztem Verkehr.

Testen Sie dann den Fehler, nicht nur den Erfolg. Trennen Sie den Tunnel während einer Sitzung und beobachten Sie, was der Browser tut; blockieren Sie den Prozess der VPN-App und bestätigen Sie, dass nichts durchsickert. Zuletzt halten Sie die beiden Privatsphäre-Modelle in der Dokumentation getrennt: Inkognito steuert einen temporären Browserzustand und verbirgt Verkehr nicht vor dem Netzwerk, während ein VPN Verkehr trägt, aber Anmeldungen und nichts in der privaten Sitzung Gesendetes löscht.

Ähnliche Artikel