Å opne ein privat URL og håpe at tunnelen kjem opp først er eit kappløp, og nettlesaren vinn som regel. Ein snarveg som reagerer på ei side som alt lastar, har mista DNS-oppslaget og ofte den første sambindinga, som nettopp er den delen som trong VPN-en. Arbeidsflyten må eige rekkjefølgja i staden for å observere henne. Tre vilkår avgjer om den arbeidsflyten i det heile høyrer heime i Tasker.

Eitt inngangspunkt bør eige sekvensen

Gje den private tenesta eitt godkjent inngangspunkt, og la det inngangspunktet utføre trinna i rekkjefølgje. Valider målet, vel den tiltenkte profilen, be om sambindinga, vent på eit beredskapsresultat med ei grense for kor lenge du vil vente, og opne først då URL-en. Viss eit trinn feilar, stopp og sei det i staden for å falle gjennom til ei direkte opning.

Det er den siste klausulen folk hoppar over. Ein arbeidsflyt som likevel opnar URL-en ved tidsavbrot, er verre enn inga automatisering, fordi han lagar ei førespurnad som ser ut som ein mislukka VPN medan han aldri brukte nokon.

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

Den nummererte lista ovanfor er kontrakten, ikkje ein eksportert profil. Kvar klient implementerer kontrollflata si ulikt, og nokre krev ein plugin, ei uttrykkeleg kontrollløyve eller eit eingongssamtykke frå brukaren som inga automatisering kan levere.

Tilkopla er ikkje det same som klar

Ein status som seier at tunnelen er starta bevisar at klienten godtok førespurnaden. Det bevisar ikkje at oppløysaren no returnerer private adresser, eller at den tiltenkte tenesta er nåbar. Det er separate resultat, og gapet mellom dei er der ein snarveg som opnar for tidleg, feilar stille. Klienten rapporterer sin eigen tilstand, ikkje tilstanden til vegen URL-en vil bruke.

Definer beredskap mot noko arbeidsflyten kan observere. Ein tilkoplingstilstand frå klienten, ei oppløyst adresse frå det forventa området eller ein nåbarheitstest mot den konkrete tenesta fungerer alle, føresett at testen ikkje kan falle tilbake til den vanlege nettverksvegen. Ein test som lukkast via den normale ruta, fortel deg ingenting.

Avgrens ventinga. Eit beredskapsvilkår utan tidsavbrot gjer ein øydelagd profil til ein snarveg som heng, og brukarar rapporterer det som telefonen som frys, ikkje som eit VPN-problem.

Kva Tasker kan og ikkje kan

Tasker leverer limet: ein utløysar, ei ordna handlingliste, vilkår og ei URL-handling. Handlinga opne URL utfører berre opningstrinnet og ingenting anna. Tilkoplingstrinnet må kome frå VPN-klienten, via ein plugin, ein intent eller ei eksponert teneste som klienten dokumenterer og tillèt.

OpenVPN for Android dokumenterer til dømes eit fjernkontrollgrensesnitt bygt på AIDL og intents. Det er ein eigenskap ved den klienten, ikkje ein lisens for kvar oppgåve på eininga til å styre han. Gje kontroll berre til appen du har til hensikt, fordi eit automatiseringslag som kan kople til og frå ein tunnel, er ei kontrollflate som er verdt å verne.

Viss den installerte klienten ikkje eksponerer nokon støtta kontrollmekanisme, er det ærlege svaret at denne arbeidsflyten ikkje kan byggjast på den klienten. Ei gammal funksjonssamanlikningsside er ikkje ein kapasitetsspesifikasjon for versjonen på telefonen.

Når grensa må vere obligatorisk

Automatisering er ei bekvemmelegheit, og ei bekvemmelegheit kan ikkje handheve ei tryggingsgrense. Viss kravet er at dekte applikasjonar aldri kommuniserer utan VPN-en, bruk alltid på-VPN og blokkering frå plattformen, eller den tilsvarande administrerte konfigurasjonen. Ei nettlesarhending som blir utløyst etter at navigeringa har byrja, kan ikkje erstatte den handhevinga, same kor nøye oppgåva er ordna.

Avgjer kva du byggjer. Ein snarveg som koplar til først og deretter opnar, er nyttig, og han er ikkje ein garanti. Ei administrert eining med blokkering slått på er ein garanti, og ho treng ikkje ein Tasker-sekvens i det heile.

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

Test tre utfall, ikkje eitt

Køyr arbeidsflyten mot ei vellukka tilkopling, eit medvite tidsavbrot og ei vanleg attoppkopling etter at tunnelen fell. Tidsavbrotsfallet er det som avslører om sekvensen verkeleg stoppar, og attoppkoplinga avslører om beredskap blir sjekka eller berre antatt frå ein tidlegare suksess. Køyr tidsavbrotsfallet først, fordi ein arbeidsflyt som ignorerer feil, ikkje er verdt å teste for suksess.

Tillat berre mål frå den godkjende lista, og kontroller kvar lenkje som kjem utanfrå før du opnar henne. Ei oppgåve som godtar vilkårlege lenkjer, blir ein måte å starte uventa skjema på, og ei privat administrasjonsside som blir nådd slik, er eit verre utfall enn ein mislukka snarveg.

Skriv ned profilen, beredskapsvilkåret og tidsavbrotet ved sida av oppgåva. Den neste personen som endrar VPN-klienten, treng alle tre, og ingen av dei er synlege frå snarvegikonet.

Relaterte artiklar