Script-yada u baahan VPN inuu shaqeeyo ka hor backup waxay inta badan si toos ah u bilaabaan openvpn. Taasi waxay ka tagtaa profile-ka, DNS iyo maaraynta waddooyinka oo Tunnelblick hore u maamulo. Waddada la taageeray waa interface-ka AppleScript ee Tunnelblick laftiisa, kaas oo aqbala codsiyada connect, state iyo disconnect ee configuration magac leh. Isticmaal, oo u dhaaf app-ka inuu mas'uul ahaado.

La hadal app-ka, ee ha la hadlin openvpn

Tunnelblick wuxuu leeyahay profile-ka OpenVPN, doorashada matoorka, script-yada iyo isku-xirka DNS iyo waddooyinka. Binary openvpn gaar ah waa hab kale oo bilow ah, ma aha waddo gaaban oo isla xiriirkaas.

Wicitaanka interface-ka script-ka ee app-ka waxay ilaalisaa lahaanshahaas oo aan dhaqaaqin oo ka dhigtaa codsi kasta mid la dib u eegi karo.

Tusaalooyinka halkan waxay u malaynayaan in Tunnelblick ku jiro Applications, in configuration shaqeeya loo yaqaan HQ, iyo in amarrada ku socdaan session-ka isticmaalaha Mac ee soo galay. Beddel magaca configuration-ka saxda ah ee aad haysato.

Bilow si sax ah hal profile magac leh

Codsiga connect wuxuu magacaabaa configuration-ka. Ma aha codsi lagu xiriirinayo wixii ugu dambeeyay la doortay.

Ku socodsii session-ka isticmaalaha oo leh configuration-ka:

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

Dhex mar digniinaha galitaanka caadiga ah. macOS waxaa laga yaabaa inuu weydiiyo haddii app-ka wacaya loo ogol yahay inuu maamulo Tunnelblick; hubi app-ka iyo bartilmaameedka ka hor intaadan ansixin. Automation-ka gujiya dialog-kaas waxay burisaa ujeeddada dialog-ka.

Codsiga connect wuxuu soo noqdaa ka hor inta tunnel-ku kacsan

Hagaha script-ka Tunnelblick waa cad: connect wuxuu soo noqdaa ka hor inta xiriirku dhammaan. Xaaladda bixitaanka eber macnaheedu waa codsiga la aqbalay, ma aha in taraafikadu socoto.

Akhri xaaladda si gooni ah:

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

CONNECTED waa natiijada xaaladda xiriirka. Weli ma caddaynayso in kheyraadka gaarka ah ee shaqadaadu u baahan tahay la gaari karo, marka taas si gooni ah u hubi ka hor intaadan bilaabin shaqo ku tiirsan.

Kontaroolada kale ee interface-ka script-ka waxay daboolaan falalka ballaaran oo looma baahna marka hal profile kaliya isbeddelo.

Sug waqti xaddidan, ka dibna guuldareysto

Weydiinta aan dhammaadka lahayn waa sababta script-ku habeenkii oo dhan u lalmaado oo u xannibo socodka xiga. Sugitaanka sii waqti xaddidan, farqi gaaban iyo natiijo guuldarro cad. U qaado xaalad kasta oo aan CONNECTED ahayn mid aan diyaar ahayn, oo ay ku jiraan kuwa kala-guurka. Diiwaangeli xaaladdii ugu dambeysay ee aad aragtay si guuldarraddu iskeed isu sharraxdo.

Loop xaddidan wuxuu u eg yahay sidan:

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

Soddon ilbiriqsi waa tusaale, ma aha waqti-dhaqaaq caalami ah. Dooro waqti xaddidan iyadoo laga eegayo waddada xaqiijinta ee profile-ku dhab ahaan isticmaalo, kana hayso diiwaanka socodka shaqada.

Hubi xaaladda oo ku gooy magaca

Si aad u joojiso isla profile-kaas, wac disconnect isla magacaas. Taasi waxay codsiga ku haysaa mid cidhiidhi ah oo ka tagtaa configuration-yada kale.

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

Hayso magaca profile-ka iyo kontaroolaha wada diiwaanka socodka shaqada, oo ay la socdaan hubinta xaqiijinta iyo dhamaystirka ee la filayo. Diiwaankaas ayaa ka dhigaya amarka mid la dib u eegi karo lix bilood ka dib.

Dhaqanka bilowga kombuyuutarka waa hab kale. Isticmaal doorashada bilowga ee Tunnelblick ee dokumentaysan iyo habaynta aqoonsiga ee uu filayo. Amarka lagu socodsiiyay session desktop oo soo galay iyo adeeg la bilaabma mishiinka ma wadaagaan macne. Ha u malayn in script-ka shaqeeya inta aad soo gashay uu shaqeyn doono marka la kiciyo. Tijaabi waddada bilowga si gooni ah, isla waqtiga xaddidan iyo diiwaangelinta.

Maqaallo la xiriira