Ehtiyat nüsxədən əvvəl VPN-in işləməsini tələb edən skriptlər çox vaxt openvpn-i birbaşa işə salır. Bu, Tunnelblick-in artıq idarə etdiyi profili, DNS-i və marşrut emalını kənara qoyur. Dəstəklənən yol Tunnelblick-in öz AppleScript interfeysidir; o, adlandırılmış konfiqurasiya üçün connect, state və disconnect sorğularını qəbul edir. Ondan istifadə edin və tətbiq nəzarətdə qalsın.

Tətbiqlə danışın, openvpn ilə yox

OpenVPN profili, mühərrik seçimi, skriptlər, DNS və marşrut inteqrasiyası Tunnelblick-ə aiddir. Ayrıca openvpn binarlığı başqa bir işə salma quruluşudur, eyni bağlantının qısa yolu deyil.

Tətbiqin skript interfeysini çağırmaq bu sahibliyi toxunulmaz saxlayır və hər sorğunu yoxlanıla bilən edir.

Buradakı nümunələr Tunnelblick-in Applications qovluğunda olduğunu, işlək konfiqurasiyanın adının HQ olduğunu və əmrlərin daxil olmuş Mac istifadəçisinin sessiyasında işlədiyini qəbul edir. Adı sizdə olan dəqiq konfiqurasiya ilə dəyişin.

Dəqiq bir adlandırılmış profili başladın

Connect sorğusu konfiqurasiyanın adını göstərir. Bu, ən son seçilmiş olana qoşulma sorğusu deyil.

Onu konfiqurasiyaya sahib olan istifadəçi sessiyasında işlədin:

osascript -e 'tell application "/Applications/Tunnelblick.app" to connect "HQ"'

Adi giriş sorğularından keçin. macOS sorğunu göndərən tətbiqin Tunnelblick-i idarə etməsinə icazə verilib-verilmədiyini soruşa bilər; təsdiqləməzdən əvvəl hansı tətbiq və hansı hədəf olduğunu yoxlayın. Həmin dialoqu avtomatik klikləyib keçən avtomatlaşdırma dialoqun məqsədini puça çıxarır.

Connect sorğusu tunel qalxmadan əvvəl qayıdır

Tunnelblick-in skript bələdçisi birmənalıdır: connect bağlantı tamamlanmadan qayıdır. Sıfır çıxış statusu sorğunun qəbul edildiyini göstərir, trafikin axdığını yox.

Vəziyyəti ayrıca oxuyun:

osascript -e 'tell application "/Applications/Tunnelblick.app" to get state of first configuration where name = "HQ"'

CONNECTED bağlantı vəziyyətinin nəticəsidir. O, işinizin ehtiyac duyduğu şəxsi resursun əlçatan olduğunu hələ sübut etmir, ona görə asılı işə başlamazdan əvvəl bunu ayrıca yoxlayın.

Skript interfeysindəki digər idarəetmə vasitələri daha geniş əməliyyatları əhatə edir və yalnız bir profil dəyişdikdə lazım deyil.

Son tarixlə gözləyin, sonra uğursuz olun

Sonsuza qədər sorğu göndərmək skriptin gecə boyu asılı qalmasına və növbəti işə mane olmasına səbəb olur. Gözləməyə son tarix, qısa interval və açıq uğursuzluq nəticəsi verin. CONNECTED-dən başqa hər vəziyyəti, keçid vəziyyətləri də daxil olmaqla, hazır olmayan kimi qəbul edin. Gördüyünüz son vəziyyəti qeyd edin ki, uğursuzluq özünü izah etsin.

Məhdud dövrə belə görünür:

for i in $(seq 1 30); do
  state=$(osascript -e 'tell application "/Applications/Tunnelblick.app" to get state of first configuration where name = "HQ"')
  if [ "$state" = "CONNECTED" ]; then exit 0; fi
  sleep 1
done
echo "tunnel did not reach CONNECTED" >&2
exit 1

Otuz saniyə nümunədir, universal taym-aut deyil. Son tarixi profilin həqiqətən istifadə etdiyi autentifikasiya yoluna görə seçin və iş axınının qeydində saxlayın.

Vəziyyəti yoxlayın və adla əlaqəni kəsin

Eyni profili dayandırmaq üçün disconnect-i eyni adla çağırın. Bu, sorğunu dar saxlayır və digər konfiqurasiyalara toxunmur.

osascript -e 'tell application "/Applications/Tunnelblick.app" to disconnect "HQ"'

Profil adını və idarəedicini iş axınının qeydində birlikdə saxlayın, gözlənilən autentifikasiya və tamamlanma yoxlamaları ilə birlikdə. Altı ay sonra əmri yoxlanıla bilən edən məhz bu qeyddir.

Kompüterlə başlama davranışı fərqli rejimdir. Tunnelblick-in sənədləşdirilmiş başlatma seçimindən və onun gözlədiyi etimadnamə qurulumundan istifadə edin. Daxil olmuş masaüstü sessiyasında işləyən əmr və maşınla birlikdə başlayan xidmət eyni konteksti paylaşmır. Daxil olduğunuz halda işləyən skriptin yükləmə zamanı işləyəcəyini güman etməyin. Başlatma yolunu ayrıca, eyni son tarix və qeydlə sınayın.

Əlaqəli məqalələr