Aylarla etibarlı qoşulan avtomatlaşdırma müştəri yenilənməsindən sonra işləməyi dayandırır, halbuki eyni profil əl ilə hələ də qoşulur. Bu nümunə VPN serverinə deyil, idarəetmə müqaviləsinə işarə edir. Kimsə tətbiqin hansı əməliyyatı qəbul etdiyini və ya hansı identifikatoru gözlədiyini dəyişib, tapşırıq isə hələ də köhnəsini göndərir. Bağlantını yenidən qurmaq serveri təkrar yoxlamaqdan daha az vaxt aparır.

Müqavilə bir tətbiqə və bir versiya aralığına aiddir

OpenVPN Connect və OpenVPN for Android fərqli tətbiqlərdir və bir paketi adlandıran intent digərində heç nə etmir. Tapşırığa toxunmadan əvvəl hansı müştərinin quraşdırıldığını və müqayisə etdiyiniz davranışı hansı versiyanın yaratdığını təsdiqləyin. Android 3.3.2 və ya daha yeni Connect üçün sənədləşdirilmiş Tasker inteqrasiyası profil ID-si gözləyir. Göstərilən adın qarşısına AS və ya PC qoyan köhnə təlimatlar əvvəlki müqaviləni təsvir edir və onları cari tapşırığa köçürmək heç nəyin baş verməməsinin adi səbəbidir.

Bu versiya sərhədi əvvəllər işlədiyi barədə bildirişlərin çoxunu izah edir. Tətbiq funksiyanı pozmadı; funksiyanın nəyi qəbul etdiyini dəyişdi. Versiya aralığını yazdığınız müqavilənin bir hissəsi kimi qəbul edin.

İdentifikator haradan gəlir

İstədiyiniz profili Connect daxilində açın və onun profil ID-sini profilin öz təfərrüatlarından kopyalayın. Siyahıdan tanıdığınız ad yerinə bu dəyəri istifadə edin, çünki ad etiketdir və identifikator tətbiqin müqayisə etdiyi şeydir. Tasker-dəki Send Intent əməliyyatının bağlantı sahələri aşağıdakı bloka bənzəyir, yalnız identifikator dəyişdirilir. Şəxsi və ya iş profili tətbiq nüsxəsini də ardıcıl saxlayın.

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

Eyni paket adına və başqa saxlanmış profilə malik iş profili nüsxəsi intenti qəbul edəcək və uyğun profil tapmayacaq, bu isə əhatə səhvi deyil, pozulmuş tapşırıq kimi görünür. Profil yenidən idxal edilərsə və ya dəyişdirilərsə, identifikatoru şübhəli sayın və yenidən yoxlayın. Yenidən idxal, göstərilən ad dəyişməsə belə, çox vaxt yeni profil qeydi yaradır. Başqa bir şeyi dəyişməzdən əvvəl identifikatoru yoxlayın.

Əlaqəsiz sahələri sənədləşdirildiyi kimi boş buraxın. Bələdçinin tələb etmədiyi kateqoriya, MIME növü və məlumat sahələri Android-in intenti necə həll etdiyini dəyişə bilər və fərqli həll olunan intent tətbiqi profilinizi başlatmadan aça bilər.

Əməliyyat nə edir və sizə nə buraxır

Bağlantı intentini göndərmək tətbiqdən profil başlatmağı xahiş edir. Bu, profilin tələb etdiyi avtorizasiyanı yan keçmir. Connect hələ də sorğu göstərə bilər, buna görə sənədləşdirilmiş avtonom hal əlavə avtorizasiya və saxlanmış bağlantı məlumatları olmadığını fərz edir. Vəsvasə şifrələri və ya şəxsi açar sirrlərini paylaşılan Tasker ixracına yerləşdirərək bu sərhədi aradan qaldırmaqdır.

Bunu etməyin. Tapşırıq ixracı insanların söhbət mövzularına kopyaladığı mətn faylıdır və ora qoyulan sirrlər paylaşıldığı anda açılır. Profilə lazımdırsa, tətbiqin öz saxlanmış bağlantı məlumatlarından istifadə edin və MFA sorğularının sorğu olaraq qalmasına icazə verin. Sorğudan cavabı saxlamaqla yayınan hər şey problemi həll etmək əvəzinə sirri yerini dəyişmişdir.

Bağlantının kəsilməsi tərəfinin öz sənədləşdirilmiş əməliyyatı var və bu müştəriyə qarşı hiylə deyil:

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

Bağlantını kəsməyə məcbur etmək üçün qəsdən mövcud olmayan profilə qoşulmaq köhnə mövzularda görünən və yenilənmədən sonra səssizcə uğursuz olan müvəqqəti həll növüdür. Açıq əməliyyatdan istifadə edin.

Növbəti addım işə düşməzdən əvvəl vəziyyəti yoxlayın

Uğurlu intent başlatması sorğunun çatdırıldığını sübut edir, tunelin mövcud olduğunu deyil. Tapşırıq sonra daxili tətbiq açarsa,həmin addım məhdud vaxt limiti olan hazırlıq şərtinə ehtiyac duyur. Göndərişdən dərhal sonra edilən əməliyyat sonda bir sorğuya dəyəcək.

$ 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 sorğusu hədəflədiyiniz paketin və fəaliyyətin o cihazda mövcud olduğunu təsdiqləyir, bu da sinif sahəsindəki yazı səhvini istisna edir. Fəaliyyət çıxarışı tapşırığınız işlədikdən sonra həqiqətən nəyin ön planda olduğunu göstərir və tətbiqin qoşulmaq əvəzinə sorğu açıb-açmadığını görməyin ən ucuz yoludur. Uğursuz tapşırıqdan sonra hansı sahənin səhv olduğunu təxmin etmək əvəzinə hər ikisini işlədin. Sinif adındakı uyğunsuzluq dərhal xəta verir, halbuki çatışmayan profil heç bir görünən xəta vermir.

Tapşırığı göndərməzdən əvvəl bağlantının kəsilməsinin sahibliyinə qərar verin. Başqa bir iş tapşırığının asılı olduğu tuneli yıxan qısa yol, səbəbinə heç bənzəməyən dəstək bileti yaradacaq. Eyni müştərini idarə edən iki avtomatlaşdırmanı saxlamaq, qeydlərdən ayırd edə bilməyəcəyiniz bir yarış yaradır, ona görə yenisi işləyəndə köhnə əməliyyatı silin.

Əlaqəli məqalələr