Ein automatisering som kopla til påliteleg i månadsvis sluttar å verke etter ei klientoppdatering, medan same profilen framleis koplar til manuelt. Det mønsteret peikar på styringskontrakten og ikkje på VPN-tenaren. Nokon har endra kva handling appen godtek, eller kva identifikator han ventar, og oppgåva sender framleis den gamle. Det tek kortare tid å byggje bindinga på nytt enn å kontrollere tenaren igjen.

Kontrakten høyrer til éin app og eitt versjonsintervall

OpenVPN Connect og OpenVPN for Android er ulike program, og eit intent som nemner den eine pakken, gjer ingenting i den andre. Før du rører oppgåva, må du stadfeste kva klient som er installert og kva versjon som gav åtferda du samanliknar med. For Connect på Android 3.3.2 eller nyare ventar den dokumenterte Tasker-integrasjonen eit profil-ID. Eldre rettleiingar som set AS eller PC framfor eit visingsnamn, skildrar ein tidlegare kontrakt, og å kopiere dei inn i ei gjeldande oppgåve er den vanlege grunnen til at ingenting skjer.

Den versjonsgrensa forklarer dei fleste rapportane om at det verka før. Appen øydela ikkje funksjonen; han endra kva funksjonen godtek. Handsam versjonsintervallet som ein del av kontrakten du skriv mot.

Kvar identifikatoren kjem frå

Opne den tiltenkte profilen i Connect og kopier profil-ID-en hans frå detaljane til sjølve profilen. Bruk den verdien i staden for eit namn du kjenner att frå lista, fordi namnet er ei etikett og identifikatoren er det appen samanliknar mot. Tilkoplingsfelta i Taskers Send Intent-handling ser ut som blokka nedanfor, der berre identifikatoren er bytt ut. Hald òg appførekomsten for den personlege profilen eller arbeidsprofilen konsekvent.

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

Ein kopi i arbeidsprofilen med same pakkenamn og ein annan lagra profil godtek intentet og finn ingen samsvarande profil, noko som ser ut som ei øydelagd oppgåve og ikkje som ein omfangsfeil. Viss profilen blir importert på nytt eller bytt ut, bør du handsame identifikatoren som mistenkeleg og kontrollere han igjen. Ny import gir ofte ein ny profiloppføring sjølv når visingsnamnet er uendra. Kontroller identifikatoren før du endrar noko anna.

Lat ikkje-relaterte felt stå tomme som dokumentert. Felt for kategori, MIME-type og data som rettleiinga ikkje ber om, kan endre korleis Android løyser intentet, og eit intent som blir løyst annleis, kan starte appen utan å starte profilen din.

Kva handlinga gjer, og kva ho overlèt til deg

Å sende tilkoplingsintentet ber appen starte ein profil. Det omgår ikkje den autorisasjonen profilen krev. Connect kan framleis vise ei førespurnad, og difor føreset det dokumenterte autonome tilfellet ingen ytterlegare autorisasjon og ingen lagra tilkoplingsopplysningar. Freistinga er å fjerne den grensa ved å byggje inn passord eller løyndomar for den private nøkkelen i ein delt Tasker-eksport.

Ikkje gjer det. Ein oppgåveeksport er ei tekstfil som folk kopierer inn i chattrådar, og løyndomar som blir plasserte der, blir avdekte i det augeblikket ho blir delt. Bruk appen sine eigne lagra tilkoplingsopplysningar viss profilen treng dei, og lat MFA-førespurnader bli verande førespurnader. Alt som unngår førespurnaden ved å lagre svaret, har flytta løyndomen i staden for å løyse problemet.

Fråkoplingssida har si eiga dokumenterte handling, og det er ikkje eit triks mot klienten:

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

Å kople til ein medvite ikkje-eksisterande profil for å tvinge fram fråkopling er den typen mellombels løysing som dukkar opp i gamle trådar og deretter feilar stille etter ei oppdatering. Bruk den uttrykkelege handlinga.

Kontroller tilstanden før neste steg køyrer

Ein vellukka intent-start beviser at førespurnaden vart levert, ikkje at det finst ein tunnel. Viss oppgåva deretter opnar eit internt program,treng det steget eit beredskapsvilkår med ei avgrensa tidsgrense. Ei umiddelbar handling etter sendinga vil før eller sidan treffe ei førespurnad.

$ 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-førespurnaden stadfestar at pakken og aktiviteten du siktar på, finst på den eininga, noko som utelukkar ein skrivefeil i klassefelta. Aktivitetsdumpen viser kva som faktisk er i forgrunnen etter at oppgåva di køyrer, og det er den billegaste måten å sjå om appen opna ei førespurnad i staden for å kople til. Køyr begge etter ei mislukka oppgåve i staden for å gjette kva felt som er feil. Eit avvik i klassenamnet gir ein umiddelbar feil, medan ein manglande profil ikkje gir nokon synleg feil i det heile.

Avgjer eigarskapen til fråkoplinga før du leverer oppgåva. Ein snarveg som riv ned ein tunnel som ei anna arbeidsoppgåve er avhengig av, gir ei støttesak som slett ikkje liknar årsaka si. Å halde to automatiseringar som båe styrer same klienten, gir eit kapplaup du ikkje kan feilsøkje frå loggane, så slett den utdaterte handlinga når den nye verkar.

Relaterte artiklar