Отварянето на частен URL с надеждата, че тунелът ще се вдигне пръв, е надпревара и обикновено браузърът печели. Пряк път, който реагира на вече зареждаща се страница, е пропуснал DNS заявката и често първата връзка, а точно тази част е имала нужда от VPN. Работният процес трябва да притежава реда, а не да го наблюдава. Три условия решават дали този процес изобщо принадлежи в Tasker.

Една входна точка трябва да притежава последователността

Дайте на частната услуга една одобрена входна точка и нека тя изпълни стъпките по ред. Проверете дестинацията, изберете предвидения профил, поискайте връзката, изчакайте резултат за готовност с ограничение колко дълго ще чакате и само след това отворете URL. Ако някоя стъпка се провали, спрете и го кажете, вместо да преминете към директно отваряне.

Именно последната клауза хората пропускат. Работен процес, който въпреки това отваря URL при изтичане на времето, е по-лош от липса на автоматизация, защото създава заявка, която изглежда като провален VPN, а никога не е използвал такъв.

1. validate destination against the approved list
2. select the intended VPN profile
3. request connection through the client's supported interface
4. wait for readiness, maximum 20 seconds
5. open the URL only if readiness succeeded
6. on timeout, stop and report

Номерираният списък по-горе е договорът, а не експортиран профил. Всеки клиент реализира повърхността си за управление по различен начин, а някои изискват плъгин, изрично разрешение за управление или еднократно съгласие на потребителя, което никаква автоматизация не може да осигури.

Свързано не е същото като готово

Статус, който казва, че тунелът е стартирал доказва, че клиентът е приел заявката. Той не доказва, че резолверът сега връща частни адреси или че предвидената услуга е достъпна. Това са отделни резултати и разликата между тях е мястото, където пряк път, който отваря твърде рано, се проваля безшумно. Клиентът съобщава своето състояние, а не състоянието на пътя, който URL ще използва.

Дефинирайте готовността спрямо нещо, което работният процес може да наблюдава. Състояние на връзката от клиента, получен адрес от очаквания диапазон или проверка за достъпност на конкретната услуга — всички работят, при условие че проверката не може да се върне към обичайния мрежов път. Проверка, която успява по нормалния маршрут, не ви казва нищо.

Ограничете изчакването. Условие за готовност без таймаут превръща счупен профил в пряк път, който виси, а потребителите съобщават това като замръзване на телефона, не като проблем с VPN.

Какво може и какво не може Tasker

Tasker осигурява лепилото: тригер, подреден списък с действия, условия и действие за URL. Неговото действие за отваряне на URL изпълнява стъпката на отваряне и нищо друго. Стъпката за свързване трябва да дойде от VPN клиента — чрез плъгин, intent или изложена услуга, която клиентът документира и разрешава.

OpenVPN for Android например документира интерфейс за дистанционно управление, изграден върху AIDL и intent. Това е възможност на този клиент, а не лиценз за която и да е задача на устройството да го управлява. Давайте управление само на приложението, което имате предвид, защото слой за автоматизация, който може да свързва и прекъсва тунел, е повърхност за управление, която заслужава защита.

Ако инсталираният клиент не предоставя поддържан механизъм за управление, честният отговор е, че този работен процес не може да бъде изграден върху него. Стара страница за сравнение на функции не е спецификация на възможностите за версията на телефона.

Когато границата трябва да е задължителна

Автоматизацията е удобство, а удобството не може да наложи граница за сигурност. Ако изискването е обхванатите приложения никога да не комуникират без VPN, използвайте постоянния VPN и настройката за блокиране на платформата или еквивалентната управлявана конфигурация. Събитие в браузъра, което се задейства след началото на навигацията, не може да замести това налагане, колкото и внимателно да е подредена задачата.

Решете кое изграждате. Пряк път, който първо се свързва и после отваря, е полезен и не е гаранция. Управлявано устройство с включено блокиране е гаранция и изобщо не се нуждае от последователност в Tasker.

RequirementMechanism
Open the page after the tunnel is readyOrdered task with a bounded readiness wait
Never allow traffic outside the tunnelAlways-on VPN with blocking, or managed policy
Only some apps use the tunnelPer-app VPN or work-profile scope
Different URL every timeValidate the input before opening it

Пуснете три изхода, не един

Пуснете работния процес срещу успешна връзка, умишлено изтичане на времето и обикновено повторно свързване след падане на тунела. Случаят с изтичане показва дали последователността наистина спира, а случаят с повторно свързване — дали готовността се проверява или само се предполага от предишен успех. Пуснете първо случая с изтичане, защото работен процес, който игнорира провал, не си струва да се тества за успех.

Разрешавайте само дестинации от одобрения списък и проверявайте всяка връзка, която идва отвън, преди да я отворите. Задача, която приема произволни връзки, се превръща в начин за стартиране на неочаквани схеми, а частна административна страница, достигната така, е по-лош изход от провален пряк път.

Запишете профила, условието за готовност и таймаута до задачата. Следващият човек, който ще смени VPN клиента, ще се нуждае и от трите, а нито едно от тях не се вижда от иконата на прекия път.

Подобни статии