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

Уговор припада једној апликацији и једном распону верзија

OpenVPN Connect и OpenVPN for Android су различите апликације, а intent који именује један пакет не ради ништа у другој. Пре него што дирнете задатак, потврдите који је клијент инсталиран и која је верзија произвела понашање са којим поредите. За Connect на Android-у 3.3.2 или новијем документована Tasker интеграција очекује ID профила. Старија упутства која испред приказаног имена стављају AS или PC описују ранији уговор, а њихово копирање у тренутни задатак уобичајен је разлог зашто се ништа не дешава.

Та граница верзије објашњава већину извештаја да је раније радило. Апликација није покварила функцију; променила је шта функција прихвата. Третирајте распон верзија као део уговора према коме пишете.

Одакле долази идентификатор

Отворите жељени профил у Connect-у и копирајте његов ID профила из детаља самог профила. Користите ту вредност уместо имена које препознајете са листе, јер је име ознака, а идентификатор је оно са чиме апликација пореди. Поља везе у радњи Send Intent у Tasker-у изгледају као блок испод, при чему је замењен само идентификатор. Одржавајте доследном и инстанцу апликације личног или радног профила.

Action: net.openvpn.openvpn.CONNECT
Extra: net.openvpn.openvpn.AUTOSTART_PROFILE_ID:'PROFILE_ID'
Extra: net.openvpn.openvpn.AUTOCONNECT:true
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity

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

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

Шта радња ради и шта вам оставља

Слање intent-а за повезивање тражи од апликације да покрене профил. Он не заобилази ауторизацију коју тај профил захтева. Connect може и даље приказати упит, због чега документовани аутономни случај претпоставља да нема додатне ауторизације ни сачуваних података за повезивање. Искушење је уклонити ту границу уграђивањем лозинки или тајни приватног кључа у дељени Tasker извоз.

Не радите то. Извоз задатка је текстуална датотека коју људи копирају у chat нити, а тајне стављене тамо откривају се у тренутку када се подели. Користите сопствене сачуване податке за повезивање апликације ако су профилу потребни и пустите да MFA упити остану упити. Све што избегне упит чувањем одговора преместило је тајну уместо да реши проблем.

Страна прекидања има своју документовану радњу и то није трик на клијента:

Action: net.openvpn.openvpn.DISCONNECT
Extra: net.openvpn.openvpn.STOP:true
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity

Повезивање са намерно непостојећим профилом да би се присилило прекидање је врста заобилазног решења које се појављује у старим нитима и затим након ажурирања тихо не успе. Користите изричиту радњу.

Проверите стање пре него што се следећи корак покрене

Успешно покретање intent-а доказује да је захтев достављен, а не да тунел постоји. Ако задатак затим отвори интерну апликацију,тај корак треба услов спремности са ограниченим временским роком. Тренутна радња након слања на крају ће ударити у упит.

$ adb shell cmd package resolve-activity --brief net.openvpn.openvpn
net.openvpn.openvpn/net.openvpn.unified.MainActivity
$ adb shell dumpsys activity activities | grep -i openvpn

Упит resolve потврђује да пакет и активност на које циљате постоје на том уређају, што искључује грешку у куцању у пољу класе. Испис активности показује шта је након покретања вашег задатка заиста у првом плану, и то је најјефтинији начин да видите да ли је апликација отворила упит уместо да се повеже. Покрените обоје након неуспелог задатка уместо да погађате које је поље погрешно. Неслагање у називу класе производи тренутну грешку, док профил који недостаје не производи никакву видљиву грешку.

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

Повезани чланци