Некој изгради автоматизација што го вклучува VPN-от кога ќе се појави инкогнито картичка, и таа не работи сигурно. За тоа постои структурна причина и вреди да се разбере пред да се прилагоди автоматизацијата. Android правилата за VPN по апликација избираат пакети на апликации, а инкогнито е состојба внатре во еден пакет, па правилото не може да ги разликува двете. Известувањето се активира откако прелистувачот веќе почнал да работи, па дури и точен тригер доаѓа доцна. Поминете ги проверките подолу по ред; неуспех на четвртата проверка значи дека треба да се смени пристапот, а не конфигурацијата.

Прва проверка: потврдете што може да избере правилото по апликација

Android VPN апликацијата го гради својот тунел со списоци на дозволени или забранети апликации, а тие списоци примаат имиња на пакети. Chrome во нормален режим и Chrome во инкогнито режим се истиот пакет, со ист кориснички идентификатор и исто мрежно дозвола, па правилото што го вклучува или исклучува Chrome се применува исто на двете. Платформата нема идентитет поврзан со картичка со кој би можела да споредува.

Тоа не е дефект што треба да се заобиколи; тоа е деталноста што ја нуди API-то. Ако вашето барање е сообраќајот на Chrome низ тунелот и сѐ друго надвор, правилото по апликација го изразува тоа точно. Ако вашето барање е само приватните картички да одат низ тунелот, а обичните картички директно, тогаш ниту едно правило по апликација не може да го изрази тоа, и никакво количество логика за известувања нема да додаде избирач што платформата го нема.

Внимавајте на стапицата со идентитетот на пакетот за време на проверката. Бета или изданието на производителот е различен пакет од стабилниот прелистувач, па правилото што покрива едниот тивко го пропушта другиот:

adb shell pm list packages | grep -i chrome

Втора проверка: тестирајте дали тригерот некогаш може да биде доволно рано

Слушачот на известувања набљудува известувања што му е дозволено да ги гледа. Набљудувањето не е пресретнување: прелистувачот веќе го решил името и ја отворил врската додека известувањето постои, и ништо на тој пат не чека вашата автоматизација да заврши. Задачата што потоа го стартува VPN клиентот мора да чека за интерфејсот на клиентот, евентуално барање за согласност и ракувањето на тунелот, што се мери во секунди, додека првото барање се мери во милисекунди.

Самото откривање е кревко од втора причина. Текстот на известувањето се менува меѓу верзии и локализации, па шаблонот усогласен со едно издание престанува да се совпаѓа по ажурирање, а неуспехот е тивок. Известување што недостасува не е доказ дека нема приватно прелистување; може да значи само дека низата се сменила или каналот бил исклучен.

Постои легитимна верзија на овој работен тек и таа е подредена, а не реактивна: прво поврзете го одобрениот VPN, потврдете сигнал за подготвеност што навистина докажува дека тунелот пренесува сообраќај, потоа отворете инкогнито сесија преку поддржаните контроли на прелистувачот и запрете ако проверката за подготвеност не успее. Тоа ја штити сесијата што штотуку ја започнувате без да се преправате дека штитите веќе активна.

Трета проверка: ревидирајте го дозволата што ќе ја дадете

Пристапот до известувања е чувствителна дозвола што му овозможува на сервисот да чита известувања од секоја апликација, не само од прелистувачот. Да се даде на непозната алатка за автоматизација за следење на една состојба на прелистувачот е лоша замена, а пристапот останува и по завршувањето на експериментот. Допирите водени од пристапноста се полоши: тие се скриптен слој над интерфејсот, не поддржан интерфејс за контрола на VPN, и се кршат при секоја промена на распоредот.

Пред да дадете нешто, прашајте дали истиот резултат е достапен со поддржан механизам. Ако одговорот е барање за политика, обично е: платформата може да наметне тунел за апликација или профил без никаков сервис што слуша.

Четврта проверка: користете постојано вклучено и блокирање кога барањето е спроведување

Ако прелистувачот никогаш не смее да комуницира надвор од тунелот, спроведувањето припаѓа на поставките на платформата, а не на макро. Android поддржува постојано вклучен VPN со режим на блокирање што го спречува сообраќајот кога тунелот не е воспоставен, а управуваните уреди можат да го добијат преку политика. Потврдете што има уредот сега наместо да претпоставувате:

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

Вредност на апликацијата што не е нула значи дека пакетот е конфигуриран како постојано вклучен, а вредноста на блокирањето 1 значи дека врските надвор од тунелот се блокирани. Токму овој пар ја претвора навиката за најдобар напор во гаранција и исто така целосно ја отстранува трката, бидејќи тунелот се воспоставува пред да се дозволи сообраќајот на апликацијата.

Две граници вреди да се наведат овде. Работните профили носат своја VPN конфигурација, па правилото проверено во личниот профил не кажува ништо за работниот. И посебно инсталиран прелистувач, прилагодена картичка отворена од друга апликација или webview внатре во апликација е различен пакет или контекст со сопствено насочување, па проверете го вистинскиот пакет наместо да претпоставувате дека прозорецот со различен стил е посебен домен.

Петта проверка: запишете го работниот тек и тестирајте го патот на неуспех

Што и да изберете, документирајте го редот и условот за прекин. За работниот тек на погодност тоа значи: тунел горе, подготвеност докажана, инкогнито отворено и тврдо запирање ако подготвеноста не успее. За патот на спроведување тоа значи: постојано вклучена апликација конфигурирана, блокирање овозможено и очекуваното однесување кога тунелот воопшто не може да се подигне, што е никаков сообраќај наместо незаштитен сообраќај.

Потоа тестирајте го неуспехот, не само успехот. Исклучете го тунелот за време на сесија и гледајте што прави прелистувачот; блокирајте го процесот на VPN апликацијата и потврдете дека ништо не истекува. На крајот, чувајте ги двата модели на приватност одделно во корисничката документација: инкогнито ја контролира привремената состојба на прелистувачот и не го крие сообраќајот од мрежата, додека VPN пренесува сообраќај но не ги брише најавите или ништо испратено во приватната сесија.

Поврзани статии