In automatisearring dy't moannenlang betrouber ferbûn, hâldt op mei wurkjen nei in klientoanpassing, wylst itselde profyl noch hieltyd mei de hân ferbynt. Dat patroan wiist nei it bestjoeringskontrakt en net nei de VPN-tsjinner. Immen hat feroare hokker aksje de app akseptearret, of hokker identifikaasje er ferwachtet, en de taak stjoert noch hieltyd de âlde. De bining opnij opbouwe kostet minder tiid as de tsjinner wer neisjen.

It kontrakt heart by ien app en ien ferzjeberik

OpenVPN Connect en OpenVPN for Android binne ferskate tapassings, en in intent dy't it iene pakket neamt, docht neat yn it oare. Befêstigje foardatst de taak oanrekket hokker klient ynstallearre is en hokker ferzje it gedrach joech datst fergelikest. Foar Connect op Android 3.3.2 of nijer ferwachtet de dokumintearre Tasker-yntegraasje in profyl-ID. Aldere ynstruksjes dy't AS of PC foar in werjefte namme pleatse, beskriuwe in earder kontrakt, en dy yn in aktuele taak kopiearje is de gewoane reden dat der neat bart.

Dy ferzjegrins ferklearret de measte rapporten dat it earder wurke. De app hat de funksje net brutsen; hy hat feroare wat de funksje akseptearret. Behannel it ferzjeberik as part fan it kontrakt dêr'tst tsjin skriuwst.

Wêr't de identifikaasje wei komt

Iepenje it bedoelde profyl yn Connect en kopiearje syn profyl-ID út de details fan it profyl sels. Brûk dy wearde ynstee fan in namme dy'tst út de list kenst, want de namme is in label en de identifikaasje is dêr't de app tsjin ferget. De ferbiningsfjilden fan Tasker syn Send Intent-aksje lykje op it blok hjirûnder, wêrby't allinnich de identifikaasje ferfongen is. Hâld ek de app-ynstânsje fan it persoanlike of wurkprofyl konsekwint.

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

In kopy yn it wurkprofyl mei deselde pakketnamme en in oar bewarre profyl sil it intent akseptearje en gjin passend profyl fine, wat op in stikken taak liket en net op in omfânsflater. Wurdt it profyl opnij ymportearre of ferfongen, beskôgje de identifikaasje dan as fertocht en kontrolearje him opnij. Opnij ymportearje jout faak in nij profylitem, sels as de werjefte namme net feroaret. Kontrolearje de identifikaasje foardatst eat oars feroarest.

Lit net-relatearre fjilden leech sa't dokumintearre is. Fjilden foar kategory, MIME-type en gegevens dy't de gids net freget, kinne feroarje hoe't Android it intent oplost, en in intent dat oars oplost wurdt, kin de app starte sûnder dyn profyl te starten.

Wat de aksje docht, en wat er oan dy oerlitten wurdt

It stjoeren fan it ferbiningsintent freget de app om in profyl te starten. It omgiet net de autorisaasje dy't dat profyl easket. Connect kin noch hieltyd in fraach sjen litte, en dêrom giet it dokumintearre autonome gefal út fan gjin fierdere autorisaasje en gjin bewarre ferbiningsgegevens. De ferlieding is om dy grins fuort te heljen troch wachtwurden of geheimen fan de priveesleutel yn in dielde Tasker-eksport yn te bêdzjen.

Meitsje dat net. In taakeksport is in tekstbestân dat minsken yn petearen kopiearje, en geheimen dy't dêr pleatst wurde, binne iepenbier op it stuit dat it dield wurdt. Brûk de bewarre ferbiningsgegevens fan de app sels as it profyl dy nedich hat, en lit MFA-fragen fragen bliuwe. Alles wat de fraach foarkomt troch it antwurd te bewarjen, hat it geheim ferpleatst ynstee fan it probleem op te lossen.

De ûntkoppelingskant hat syn eigen dokumintearre aksje, en it is gjin trúk tsjin de klient:

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

Ferbine mei in bewust net-besteand profyl om in ûntkoppeling ôf te twingen is it soarte wurkromwei dat yn âlde diskusjes opkomt en nei in oanpassing stil mislearret. Brûk de eksplisite aksje.

Kontrolearje de tastân foardat de folgjende stap rint

In suksesfolle intent-start bewiist dat it fersyk levere is, net dat der in tunnel bestiet. As de taak dan in ynterne tapassing iepenet,hat dy stap in gereedheidsbetingst mei in beheinde tiidgrins nedich. In daliks aksje nei it stjoeren sil úteinlik tsjin in fraach ôfgean.

$ 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

De resolve-query befêstiget dat it pakket en de aktiviteit dêr'tst op rjochtest op dat apparaat besteane, wat in typflater yn it klassefjild útslút. De aktiviteitsdump lit sjen wat nei dyn taak wier op 'e foargrûn stiet, en it is de goedkeapste manier om te sjen oft de app in fraach iepene hat ynstee fan te ferbinen. Fier beide út nei in mislearre taak ynstee fan te rieden hokker fjild ferkeard is. In ôfwiking yn de klassenamme jout daliks in flater, wylst in ûntbrekkend profyl hielendal gjin sichtbere flater jout.

Beslút it eigenskip fan de ûntkoppeling foardatst de taak ferstjoerst. In koarte wei dy't in tunnel delhellet dêr't in oare wurktaak fan ôfhinklik is, sil in stipekaart jaan dat hielendal net op syn oarsaak liket. Twa automatisearrings hâlde dy't beide deselde klient bestjoere, jout in wedrin dy'tst net út de logs debugge kinst, dus ferwiderje de ferâldere aksje sadree't de nije wurket.

Relatearre artikelen