OpenVPN Connect in Tasker: ID profila, ne ime
OpenVPN Connect v Androidu 3.3.2 ali novejšem sprejme ID profila, ne prikazanega imena. Znova zgradite intent Taskerja in naslednji korak pogoje na dejansko stanje povezave.
Avtomatizacija, ki se je mesece zanesljivo povezovala, po posodobitvi odjemalca preneha delovati, medtem ko se isti profil še vedno povezuje ročno. Ta vzorec kaže na nadzorno pogodbo, ne na strežnik VPN. Nekdo je spremenil, katero dejanje aplikacija sprejme ali kateri identifikator pričakuje, opravilo pa še vedno pošilja starega. Ponovna vzpostavitev vezave vzame manj časa kot ponovno preverjanje strežnika.
Pogodba pripada eni aplikaciji in enemu razponu različic
OpenVPN Connect in OpenVPN for Android sta različni aplikaciji in intent, ki poimenuje en paket, v drugi ne naredi ničesar. Preden se dotaknete opravila, potrdite, kateri odjemalec je nameščen in katera različica je ustvarila vedenje, s katerim primerjate. Pri Connectu v Androidu 3.3.2 ali novejšem pričakuje dokumentirana integracija s Taskerjem ID profila. Starejša navodila, ki pred prikazano ime postavijo AS ali PC, opisujejo prejšnjo pogodbo, in njihovo kopiranje v trenutno opravilo je običajen razlog, da se nič ne zgodi.
Ta meja različic pojasni večino poročil, da je prej delovalo. Aplikacija ni pokvarila funkcije; spremenila je, kaj funkcija sprejme. Obravnavajte razpon različic kot del pogodbe, proti kateri pišete.
Od kod izvira identifikator
Odprite želeni profil v Connectu in kopirajte njegov ID profila iz podrobnosti samega profila. Uporabite to vrednost namesto imena, ki ga prepoznate s seznama, ker je ime oznaka in identifikator je tisto, s čimer aplikacija primerja. Polja povezave v dejanju Send Intent v Taskerju so videti kot spodnji blok, pri čemer je zamenjan samo identifikator. Ohranite tudi doslednost primerka aplikacije osebnega ali delovnega profila.
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
Kopija v delovnem profilu z enakim imenom paketa in drugim shranjenim profilom bo intent sprejela in ne bo našla nobenega ustreznega profila, kar je videti kot pokvarjeno opravilo in ne kot napaka obsega. Če je profil znova uvožen ali zamenjan, imejte identifikator za sumljiv in ga znova preverite. Ponovni uvoz pogosto ustvari nov vnos profila, tudi ko prikazano ime ostane nespremenjeno. Preverite identifikator, preden spremenite karkoli drugega.
Nepovezana polja pustite prazna, kot je dokumentirano. Polja kategorije, vrste MIME in podatkov, ki jih vodnik ne zahteva, lahko spremenijo, kako Android razreši intent, in drugače razrešen intent lahko zažene aplikacijo, ne da bi zagnal vaš profil.
Kaj dejanje naredi in kaj prepusti vam
Pošiljanje intenta povezave prosi aplikacijo, da zažene profil. Ne obide avtorizacije, ki jo ta profil zahteva. Connect lahko še vedno prikaže poziv, zato dokumentirani avtonomni primer predpostavlja brez dodatne avtorizacije in brez shranjenih poverilnic povezave. Skušnjava je to mejo odstraniti z vdelavo gesel ali skrivnosti zasebnega ključa v deljeno izvozno datoteko Taskerja.
Tega ne storite. Izvoz opravila je besedilna datoteka, ki jo ljudje kopirajo v niti klepeta, in skrivnosti, ki so tam, so razkrite v trenutku, ko je deljena. Uporabite lastne shranjene poverilnice povezave aplikacije, če jih profil potrebuje, in pustite, da pozivi MFA ostanejo pozivi. Karkoli se izogne pozivu s shranjevanjem odgovora, je skrivnost premaknilo, namesto da bi rešilo težavo.
Stran prekinitve ima svoje dokumentirano dejanje in to ni trik na odjemalca:
Action: net.openvpn.openvpn.DISCONNECT
Extra: net.openvpn.openvpn.STOP:true
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity
Povezovanje z namerno neobstoječim profilom, da bi vsilili prekinitev, je vrsta obhoda, ki se pojavi v starih nitih in nato po posodobitvi tiho spodleti. Uporabite izrecno dejanje.
Preverite stanje, preden se zažene naslednji korak
Uspešen zagon intenta dokazuje, da je bila zahteva dostavljena, ne da tunel obstaja. Če opravilo nato odpre notranjo aplikacijo,to dejanje potrebuje pogoj pripravljenosti z omejenim časovnim limitom. Takojšnje dejanje po pošiljanju bo slej ko prej trčilo ob poziv.
$ 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
Poizvedba resolve potrdi, da paket in dejavnost, na katero ciljate, obstajata na tej napravi, kar izključuje tipkarsko napako v polju razreda. Izpisek dejavnosti pokaže, kaj je po zagonu vašega opravila v resnici v ospredju, in to je najcenejši način, da vidite, ali je aplikacija odprla poziv namesto da bi se povezala. Zaženite oboje po neuspelem opravilu, namesto da ugibate, katero polje je napačno. Neskladje v imenu razreda povzroči takojšnjo napako, medtem ko manjkajoči profil ne povzroči nobene vidne napake.
Odločite o lastništvu prekinitve, preden opravilo izdate. Bližnjica, ki poruši tunel, od katerega je odvisno drugo delovno opravilo, bo ustvarila zahtevek za podporo, ki svojemu vzroku ni prav nič podoben. Če obdržite dve avtomatizaciji, ki obe nadzorujeta istega odjemalca, ustvarite tekmo, ki je iz dnevnikov ne morete razhroščevati, zato izbrišite zastarelo dejanje, ko nova deluje.