Automatizācija, kas mēnešiem ilgi uzticami savienojās, pārstāj darboties pēc klienta atjauninājuma, kamēr tas pats profils joprojām savienojas ar roku. Šis modelis norāda uz vadības līgumu, nevis uz VPN serveri. Kāds mainīja, kuru darbību lietotne pieņem vai kuru identifikatoru tā gaida, un uzdevums joprojām sūta veco. Savienojuma pārbūve aizņem mazāk laika nekā servera atkārtota pārbaude.

Līgums pieder vienai lietotnei un vienam versiju diapazonam

OpenVPN Connect un OpenVPN for Android ir dažādas lietotnes, un intents, kas nosauc vienu pakotni, otrā neko nedara. Pirms pieskaraties uzdevumam, pārliecinieties, kurš klients ir instalēts un kura versija radīja uzvedību, ar ko salīdzināt. Android 3.3.2 vai jaunākas Connect versijas gadījumā dokumentētā Tasker integrācija gaida profila ID. Vecākas instrukcijas, kas parādāmā nosaukuma priekšā liek AS vai PC, apraksta iepriekšēju līgumu, un to kopēšana pašreizējā uzdevumā ir ierastais iemesls, kāpēc nekas nenotiek.

Šī versiju robeža izskaidro lielāko daļu ziņu, ka iepriekš tas strādāja. Lietotne nesabojāja funkciju; tā mainīja to, ko funkcija pieņem. Uztveriet versiju diapazonu kā līguma, pret kuru rakstāt, daļu.

No kurienes nāk identifikators

Atveriet vēlamo profilu Connect un nokopējiet tā profila ID no paša profila informācijas. Izmantojiet šo vērtību, nevis no saraksta atpazīstamu nosaukumu, jo nosaukums ir etiķete un identifikators ir tas, ar ko lietotne salīdzina. Tasker darbības Send Intent savienojuma lauki izskatās kā zemāk redzamais bloks, kurā aizstāts tikai identifikators. Saglabājiet konsekventu arī personīgā vai darba profila lietotnes eksemplāru.

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

Darba profila kopija ar tādu pašu pakotnes nosaukumu un citu saglabātu profilu pieņems intentu un neatradīs nevienu atbilstošu profilu, kas izskatās pēc salauzta uzdevuma, nevis pēc apjoma kļūdas. Ja profils tiek atkārtoti importēts vai aizstāts, uzskatiet identifikatoru par aizdomīgu un pārbaudiet to vēlreiz. Atkārtota importēšana bieži rada jaunu profila ierakstu arī tad, ja parādāmais nosaukums nemainās. Pārbaudiet identifikatoru pirms kaut kā cita maiņas.

Atstājiet nesaistītos laukus tukšus, kā dokumentēts. Kategorijas, MIME tipa un datu lauki, ko ceļvedis neprasa, var mainīt to, kā Android atrisina intentu, un citādi atrisināts intents var palaist lietotni, nepalaižot jūsu profilu.

Ko darbība dara un ko tā atstāj jums

Savienojuma intenta nosūtīšana lūdz lietotni palaist profilu. Tas neapiet atļauju, kas šim profilam nepieciešama. Connect joprojām var rādīt pieprasījumu, tāpēc dokumentētais autonomais gadījums pieņem, ka nav papildu atļaujas un nav saglabātu savienojuma akreditācijas datu. Kārdinājums ir noņemt šo robežu, iegulstot paroles vai privātās atslēgas noslēpumus kopīgā Tasker eksportā.

Nedariet to. Uzdevuma eksports ir teksta fails, ko cilvēki kopē sarunu pavedienos, un tur ievietotie noslēpumi tiek atklāti tajā brīdī, kad tas tiek kopīgots. Izmantojiet pašas lietotnes saglabātos savienojuma akreditācijas datus, ja profilam tie ir nepieciešami, un ļaujiet MFA pieprasījumiem palikt pieprasījumiem. Jebkas, kas izvairās no pieprasījuma, saglabājot atbildi, ir pārvietojis noslēpumu, nevis atrisinājis problēmu.

Atvienošanas pusei ir sava dokumentētā darbība, un tā nav viltība pret klientu:

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

Savienošanās ar apzināti neesošu profilu, lai piespiestu atvienoties, ir tāda apeja, kas parādās vecos pavedienos un pēc atjauninājuma klusi neizdodas. Izmantojiet skaidro darbību.

Pārbaudiet stāvokli pirms nākamā soļa izpildes

Veiksmīga intenta palaišana pierāda, ka pieprasījums tika piegādāts, nevis ka tunelis pastāv. Ja uzdevums pēc tam atver iekšēju lietotni,šim solim ir nepieciešams gatavības nosacījums ar ierobežotu taimautu. Tūlītēja darbība pēc nosūtīšanas agrāk vai vēlāk atsitīsies pret pieprasījumu.

$ 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 vaicājums apstiprina, ka pakotne un aktivitāte, uz ko mērķējat, pastāv šajā ierīcē, kas izslēdz drukas kļūdu klases laukā. Aktivitātes izdruka parāda, kas pēc jūsu uzdevuma izpildes patiešām ir priekšplānā, un tas ir lētākais veids, kā redzēt, vai lietotne atvēra pieprasījumu, nevis savienojās. Izpildiet abus pēc neizdevušā uzdevuma, nevis miniet, kurš lauks ir nepareizs. Klases nosaukuma neatbilstība rada tūlītēju kļūdu, savukārt trūkstošs profils nerada nekādu redzamu kļūdu.

Izlemiet atvienošanas piederību pirms uzdevuma izlaišanas. Īsceļš, kas nogāž tuneli, no kura ir atkarīgs cits darba uzdevums, radīs atbalsta pieteikumu, kas nemaz nelīdzinās savam cēlonim. Divu automatizāciju turēšana, kas abas kontrolē vienu un to pašu klientu, rada sacensību, ko nevarat atkļūdot no žurnāliem, tāpēc izdzēsiet novecojušo darbību, tiklīdz jaunā darbojas.

Saistītie raksti