Zaxira nusxa oldidan VPN yoqilgan bo‘lishi kerak bo‘lgan skriptlar ko‘pincha openvpnni to‘g‘ridan-to‘g‘ri ishga tushiradi. Bu Tunnelblick allaqachon boshqaradigan profil, DNS va marshrutlar bilan ishlashni tashlab ketadi. Qo‘llab-quvvatlanadigan yo‘l — Tunnelblickning o‘z AppleScript interfeysi, u nomlangan konfiguratsiya uchun connect, state va disconnect so‘rovlarini qabul qiladi. Undan foydalaning va ilova mas’ul bo‘lib qolsin.

Ilova bilan gaplashing, openvpn bilan emas

OpenVPN profili, dvigatel tanlovi, skriptlar, DNS va marshrutlar integratsiyasi Tunnelblickga tegishli. Alohida openvpn binar fayli boshqa ishga tushirish tartibi, o‘sha ulanishga qisqa yo‘l emas.

Ilovaning skript interfeysini chaqirish bu egalikni buzmaydi va har bir so‘rovni tekshirish mumkin qiladi.

Bu yerdagi misollar Tunnelblick Applications ichida, ishlaydigan konfiguratsiya nomi HQ va buyruqlar tizimga kirgan Mac foydalanuvchisining sessiyasida bajariladi deb hisoblaydi. Nomni o‘zingizdagi aniq konfiguratsiyaga almashtiring.

Aynan bitta nomlangan profilni ishga tushiring

connect so‘rovi konfiguratsiya nomini ko‘rsatadi. Bu oxirgi tanlangan narsaga ulanish so‘rovi emas.

Uni konfiguratsiyaga tegishli foydalanuvchi sessiyasida bajaring:

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

Odatiy kirish so‘rovlaridan o‘ting. macOS chaqirayotgan ilovaga Tunnelblickni boshqarishga ruxsat bor-yo‘qligini so‘rashi mumkin; tasdiqlashdan oldin qaysi ilova va qaysi maqsad ekanini tekshiring. O‘sha muloqot oynasini bosib o‘tadigan avtomatlashtirish uning ma’nosini yo‘qotadi.

connect so‘rovi tunnel ko‘tarilishidan oldin qaytadi

Tunnelblickning skript qo‘llanmasi aniq: connect ulanish tugashidan oldin qaytadi. Nol chiqish holati so‘rov qabul qilinganini bildiradi, trafik oqayotganini emas.

Holatni alohida o‘qing:

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

CONNECTED — ulanish holatining natijasi. U hali ishingizga kerak bo‘lgan xususiy resurs yetib borishini isbotlamaydi, shuning uchun bog‘liq ishni boshlashdan oldin buni alohida tekshiring.

Skript interfeysidagi boshqa boshqaruvlar kengroq amallarni qamrab oladi va faqat bitta profil o‘zgarganda kerak emas.

Muddat bilan kuting, so‘ng muvaffaqiyatsiz yakunlang

Cheksiz so‘rov — skriptning tuni bo‘yi osilib turishi va keyingi ishga tushishni to‘sishining sababi. Kutishga muddat, qisqa interval va aniq muvaffaqiyatsizlik natijasi bering. CONNECTEDdan boshqa har qanday holatni, o‘tish holatlarini ham qo‘shib, tayyor emas deb hisoblang. Oxirgi ko‘rgan holatni yozib qo‘ying, muvaffaqiyatsizlik o‘zini o‘zi tushuntirsin.

Cheklangan sikl shunday ko‘rinadi:

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

O‘ttiz soniya — misol, universal taym-aut emas. Muddatni profil haqiqatda ishlatadigan autentifikatsiya yo‘lidan tanlab, ish jarayonining yozuvida saqlang.

Holatni tekshiring va nom bo‘yicha uzib qo‘ying

O‘sha profilni to‘xtatish uchun disconnectni o‘sha nom bilan chaqiring. Bu so‘rovni tor saqlaydi va boshqa konfiguratsiyalarga tegmaydi.

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

Profil nomi va boshqaruvchini ish jarayonining yozuvida birga saqlang, kutilgan autentifikatsiya va yakunlash tekshiruvlari bilan birga. Aynan o‘sha yozuv buyruqni olti oydan keyin ham tekshiriladigan qiladi.

Kompyuter bilan birga ishga tushish xatti-harakati boshqa rejim. Tunnelblickning hujjatlashtirilgan ishga tushirish opsiyasidan va u kutgan hisob ma’lumotlari sozlamasidan foydalaning. Tizimga kirgan ish stoli sessiyasida bajarilgan buyruq va mashina bilan birga boshlanadigan xizmat bir kontekstni bo‘lishmaydi. Kirgan paytingizda ishlaydigan skript yuklanishda ham ishlaydi deb o‘ylamang. Ishga tushirish yo‘lini alohida, o‘sha muddat va jurnal bilan sinab ko‘ring.

O'xshash maqolalar