Delad tunnel utesluter fortfarande en app som du har avinstallerat
En regel knuten till en sökväg eller ett paket kan överleva appen den skrevs för. Kontrollera vad den pekar på nu och ta sedan bort den via profilens ägare.
Den gamla appen är borta, och listan över delad tunnel har fortfarande en post för den. Inget går sönder synligt, och därför blir den kvar i månader. Sedan installerar någon ett annat program i samma mapp, eller en hanterad profil återställer regeln vid varje återanslutning, och trafiken börjar ta en väg som ingen hade planerat. Undantaget överlevde anledningen till att det fanns.
Städningen handlar mest om identitet: vad regeln pekar på nu, och vem som äger listan.
Symtomet: ett undantag som inte matchar något
En inaktuell post är osynlig vid normal användning. Den blir synlig på tre sätt: en app som du förväntade dig skulle gå genom tunneln går direkt, ett nytt program ärver ett gammalt undantag, eller klienten vägrar spara en ändring eftersom den hanterade profilen skriver över den. Alla tre ser ut som separata buggar, och alla tre är samma bokföringsproblem. Var och en är billig att kontrollera och dyr att feldiagnostisera.
Börja med att läsa regeln, inte med att radera den.
Ta reda på vad regeln identifierar
Implementeringar av delad tunnel knyter undantag till olika saker: en sökväg till en körbar fil, ett paketnamn, en paketidentifierare eller en rutt. En sökvägsbaserad regel pekar på en fil som kanske inte finns längre, eller som nu kan vara en annan fil. En paketbaserad regel pekar på en identitet som en ny installation kan återanvända. Läs klientens dokumentation för fältet du tittar på, eftersom samma textruta betyder olika saker i olika produkter. Androids VpnService-guide är referensen för det paketbaserade fallet.
Det visade namnet är den minst tillförlitliga delen av posten, och det är den delen folk läser.
Sökvägsregler och paketregler beter sig olika
En sökvägsregel som överlever en avinstallation blir vanligtvis inaktiv, och inaktiv är det goda resultatet. Det dåliga resultatet är en sökväg som återanvänds, eftersom den nya körbara filen tyst ärver undantaget. Paketregler beter sig åter annorlunda: en produkt kan ignorera ett otillgängligt paket, avvisa det eller fortsätta matcha på namn när något nytt gör anspråk på det namnet.
Överför inte ett antagande från en klient till en annan. Kontrollera vad din faktiskt gör med ett saknat mål, helst genom att skapa tillståndet medvetet på en testmaskin och se vilken process som ärver undantaget.
Ta bort den via ägaren
Om listan kommer från en hanterad profil är lokal redigering en tillfällig ändring som återställs vid nästa återanslutning. Ändra profilen, eller fråga den som äger den, och bekräfta att ändringen överlever en återanslutning. Om listan är lokal, ta bort posten och kontrollera att klienten skrev om sin konfiguration i stället för att behålla den gamla i minnet.
En tom lista är inte målet. Målet är en lista vars poster fortfarande motsvarar verkliga krav.
Testa sedan båda riktningarna
Efter städningen, testa en app som fortfarande bör vara utesluten och en app som nu bör gå genom tunneln. Bekräfta DNS-beteendet separat, eftersom resolverpolicyn är en annan kontroll än undantagslistan. Återanslut sedan en gång och testa igen, eftersom en återställd profil är det vanligaste sättet en städning tyst upphäver sig själv.
Håll ett syfte på en rad bredvid varje kvarvarande undantag. Den raden är det som hindrar listan från att bli ett museum, och den gör nästa städning till ett femminutersjobb.