Versteek die Android-VPN-kennisgewing sonder om die tonnel te stop
Android kan drie verskillende VPN-kennisgewings wys. Vind uit watter app die een besit wat jy sien, wat elke beheer werklik verander, en wat aanhou loop.
Jy kan die kennisgewing wegsteek wat sê jou VPN is aan die gang, en die tonnel bly sonder dit werk. Dit verras mense, want die boodskap en die verbinding voel soos een ding. Hulle is nie. Op die meeste Android-fone kan die laai-inskrywing, die sleutel in die statusbalk en die deurlopende dienskennisgewing van drie verskillende eienaars kom, en net een van daardie eienaars luister na die app se kennisgewingtoestemming. Om uit te werk wat jy mag verwyder, begin by die vraag wie die reël geplaas het waarna jy kyk.
Drie kennisgewings, drie eienaars
Die eerste eienaar is die VPN-app self, wat gewoonlik 'n deurlopende kennisgewing plaas met 'n koppel-of-ontkoppel-aksie en 'n sessieteller. Die tweede is Android se eie VPN-aanwyser: SystemUI teken die sleutelikoon en, afhangend van die weergawe en die vervaardiger, 'n stelselvlak-reël wat die aktiewe VPN-netwerk rapporteer. Die derde is 'n toestelbeleid-kennisgewing wat deur 'n werkprofiel of 'n administrateur-app beheer word. Nie een van hulle is dieselfde objek nie, selfs wanneer hulle langs mekaar in die skerm val.
Sorteer die boodskap voordat jy aan 'n skakelaar raak:
| Notice | Who controls it |
|---|---|
| App-owned ongoing notice | The app's notification channel; a long-press shows the channel name and the owning package |
| Foreground-service notice | The service visibility Android requires while the tunnel runs; the app cannot simply drop it |
| System VPN indicator | SystemUI or the manufacturer, driven by the VPN network state rather than by the app's channel |
| Work-policy notice | The administrator or work-profile policy; the phone user may not have the switch at all |
Watter beheerders jy sien, hang af van die Android-weergawe, die vervaardiger se bou en die kanaal wat die app geskep het. 'n Grys skakelaar is 'n stelling oor beleid, nie 'n uitnodiging om dit te omseil nie. As die skakelaar nie in jou bou bestaan nie, is die eerlike antwoord dat hierdie spesifieke kennisgewing nie joune is om te verwyder nie.
Vind die pakket agter die reël
Druk lank op die kennisgewing en maak sy instellings oop voordat jy iets anders lees. Die skerm waarop jy beland, noem die kanaal, en op Android 8 en later behoort daardie kanaal aan presies een pakket. As die kanaal iets soos VPN-status heet en die app is jou kliënt, is die kennisgewing aan die app behore en is die app se eie instellingsblad die plek om te kyk. As jy op 'n stelselblad beland sonder enige kanaal, kyk jy na 'n platformaanwyser en die app kan jou nie help nie.
Wanneer die lang druk nie genoeg vertel nie, lys een adb-oproep wat werklik geplaas is en deur wie: adb shell dumpsys notification --noredact, soek dan in die uitset na die pakket wat jy vermoed. Jy wil die plasing-pakket en die kanaal-ID hê, nie iets wat jy daarvandaan kan wysig nie. Behandel die uitset as 'n diagnose, want niks in daardie lys verander die kennisgewing nie.
Op 'n bestuurde foon is die antwoord soms vaal: die kennisgewing kom van die toestelbeleid-app, en die persoon wat die foon vashou, is nie die persoon wat dit kan afskakel nie. In daardie geval is die administrateur-konsole die enigste ondersteunde beheer, en die foon se eie instellings bly grys, maak nie saak watter kieslys jy vind nie.
Wat die Android 13-toestemming werklik verander
Android 13 het kennisgewings 'n looptyd-toestemming gemaak, so 'n app wat op API 33 teiken, moet vra voordat dit enigiets kan plaas. Weier daardie versoek en die app se kennisgewings hou op om in die laai te verskyn, wat voel soos die oplossing waarna mense soek. Maar die voorgronddiens agter 'n VPN hou aan loop, en die stelsel wys steeds die diens in Taakbestuurder selfs wanneer sy kennisgewing uit die skerm weg is. Die VPN-magtiging self bly onaangeraak: die tonnel bly op totdat jy dit ontkoppel of die app se VPN-toestemming intrek.
Daardie ruil is slegter as wat dit lyk, want die kennisgewing is ook jou vinnigste manier om die sessie te sien en te beëindig. Verwyder dit en jy het die foon moeiliker gemaak om te verstaan terwyl jy niks aan die routing verander het nie. Die dokumentasie oor kennisgewingtoestemming beskryf die gedrag in die laai; dit beskryf nie 'n ondersteunde manier om 'n lopende tonnel stil te maak nie.
Daar is nog een weergawe-kronkel wat die moeite werd is om te ken: 'n voorgronddiens-kennisgewing word deur die diensmodel vereis, en die app is nie vry om dit weg te steek net omdat jy 'n toestemming geweier het nie. Sommige boue hou 'n kompakte weergawe sigbaar, ander skuif die bewys na Taakbestuurder, en daardie verskil is die vervaardiger se keuse eerder as 'n instelling wat jy gemis het.
Demo-modus en ikoon-truuks is nie 'n oplossing nie
Jy sal advies vind oor demo-modus, oor die wegsteek van ikone deur ongedokumenteerde adb-opdragte, en oor 'n UI-fout wat die sleutel laat verdwyn. Dit alles verander die voorstelling. Niks daarvan verander routing, beleid of die VPN-magtiging wat die stelsel volg nie, en 'n foon wie se netwerkstatus onsigbaar is, is moeiliker om te ontfout as een met 'n ekstra reël in die skerm.
'n App se verbindingsikoon is ook nie 'n gesondheidskontrole nie. Die tonnel kan af wees terwyl 'n ou koppelvlak of 'n verouderde kennisgewing bly staan, en 'n plaaslike filterdiens kan die VPN-sleutel laat verskyn sonder om 'n greep na 'n remote uitgang te stuur. Kontroleer die werklike toestand in die stelsel se VPN-instellings, nie in die skerm nie.
Wat ek sou verander, in volgorde
Begin deur die eienaar te identifiseer en gebruik dan net die beheer wat daardie eienaar bied. As die kennisgewing aan die app behoort en opsioneel is, skakel daardie kanaal af en los die dienskanaal alleen. As dit die stelselaanwyser is, aanvaar dit, want dit rapporteer 'n feit oor die toestel eerder as om 'n app te adverteer. Op 'n bestuurde toestel, stop by die administrateur se beleid en gaan nie na 'n omseilpad soek nie.
Bevestig dan dat jy steeds 'n ondersteunde manier het om die tonnel te kontroleer en te ontkoppel, of dit nou die app se eie skerm of die stelsel se VPN-instellingsblad is. 'n Foon met een minder banier en 'n duidelike manier om die sessie te dood is die resultaat wat jy wil hê. Die omgekeerde, 'n stiller skerm en geen idee of verkeer gerouteer word nie, is nie 'n verbetering nie.