Skripti zinazohitaji VPN iwe hai kabla ya nakala rudufu mara nyingi huanzisha openvpn moja kwa moja. Hilo huacha wasifu, DNS na usimamizi wa njia ambao Tunnelblick tayari unausimamia. Njia inayoungwa mkono ni kiolesura cha AppleScript cha Tunnelblick yenyewe, kinachokubali maombi ya connect, state na disconnect kwa usanidi wenye jina. Itumie, na acha programu iwe na jukumu.

Zungumza na programu, si na openvpn

Tunnelblick inamiliki wasifu wa OpenVPN, uchaguzi wa injini, skripti na muunganiko wa DNS na njia. Faili binary ya openvpn tofauti ni mpangilio mwingine wa kuanzisha, si njia ya mkato kuelekea muunganisho huo huo.

Kuita kiolesura cha skripti cha programu huhifadhi umiliki huo bila kuguswa na hufanya kila ombi liweze kukaguliwa.

Mifano hapa inadhani Tunnelblick iko katika Applications, usanidi unaofanya kazi unaitwa HQ na amri zinaendeshwa katika kipindi cha mtumiaji wa Mac aliyeingia. Badilisha jina kuwa usanidi kamili ulio nao.

Anzisha wasifu mmoja wenye jina kwa usahihi

Ombi la connect hutaja usanidi. Si ombi la kuunganisha kile kilichochaguliwa mwisho.

Liendeshe katika kipindi cha mtumiaji kinachomiliki usanidi:

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

Pita kwenye vidokezo vya kawaida vya kuingia. macOS inaweza kuuliza ikiwa programu inayopiga inaruhusiwa kudhibiti Tunnelblick; angalia ni programu gani na lengo gani kabla ya kuidhinisha. Uendeshaji wa kiotomatiki unaobofya kwenye kidirisha hicho unaharibu madhumuni ya kidirisha.

Ombi la connect hurudi kabla handaki haijainuka

Mwongozo wa skripti wa Tunnelblick uko wazi: connect hurudi kabla muunganisho haujakamilika. Hali ya kutoka sifuri inamaanisha ombi lilikubaliwa, si kwamba trafiki inapita.

Soma hali kwa mbali:

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

CONNECTED ni tokeo la hali ya muunganisho. Bado haithibitishi kwamba rasilimali binafsi inayohitajika na kazi yako inafikiwa, kwa hivyo angalia hilo kwa mbali kabla ya kuanza kazi tegemezi.

Vifaa vingine vya kudhibiti katika kiolesura cha skripti hushughulikia vitendo vipana na havihitajiki wakati wasifu mmoja tu unabadilika.

Subiri kwa muda wa mwisho, kisha shindwa

Kuuliza bila mwisho ndiko kunakofanya skripti ining'inie usiku kucha na kuzuia uendeshaji unaofuata. Ipe kusubiri muda wa mwisho, kipindi kifupi na tokeo la wazi la kushindwa. Chukua hali yoyote isipokuwa CONNECTED kama isiyo tayari, ikiwa ni pamoja na zile za mpito. Rekodi hali ya mwisho uliyoiona ili kushindwa kujieleze.

Mzunguko wenye mipaka unaonekana hivi:

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

Sekunde thelathini ni mfano, si muda wa mwisho wa jumla. Chagua muda wa mwisho kutoka kwenye njia ya uthibitishaji ambayo wasifu hutumia kwa kweli, na uitunze katika rekodi ya mtiririko wa kazi.

Angalia hali na tenganisha kwa jina

Ili kusimamisha wasifu huo huo, ita disconnect kwa jina lile lile. Hilo huweka ombi limebanwa na kuacha usanidi mwingine kwa amani.

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

Weka jina la wasifu na kidhibiti pamoja katika rekodi ya mtiririko wa kazi, pamoja na ukaguzi unaotarajiwa wa uthibitishaji na ukamilishaji. Rekodi hiyo ndiyo inayofanya amri hiyo ikaguliwe hata baada ya miezi sita.

Tabia ya kuanza pamoja na kompyuta ni hali nyingine. Tumia chaguo la kuanzisha lililoandikwa la Tunnelblick na mpangilio wa hati za utambulisho unaotarajiwa. Amri inayoendeshwa katika kipindi cha kompyuta ya mezani kilichoingiwa na huduma inayoanza pamoja na mashine hazishiriki muktadha. Usidhani kwamba skripti inayofanya kazi ukiwa umeingia itaendeshwa wakati wa kuwasha. Jaribu njia ya kuanzisha peke yake, kwa muda wa mwisho na uwekaji kumbukumbu sawa.

Makala zinazohusiana