Àwọn script tí wọ́n nílò VPN ṣáájú àdàkọ ààbò sábà máa ń dá openvpn sílẹ̀ tààrà. Ìyẹn fi profáìlì, DNS àti ìtọ́jú ọ̀nà sílẹ̀ tí Tunnelblick ti ń ṣàkóso. Ọ̀nà tí a ṣe àtìlẹ́yìn fún ni ìbákẹ́gbẹ́ AppleScript ti Tunnelblick fúnraarẹ̀, tí ó ń gba àwọn ìbéèrè connect, state àti disconnect fún ìṣètò tí ó ní orúkọ. Lo ó, kí o sì jẹ́ kí app náà wà ní ojúṣe.

Bá app náà sọ̀rọ̀, kì í ṣe openvpn

Tunnelblick ni ó ni profáìlì OpenVPN, yíyan ẹ́ńjìnnì, àwọn script àti ìsopọ̀ DNS pẹ̀lú ọ̀nà. Binary openvpn ọ̀tọ̀ọ̀tọ̀ jẹ́ ìṣètò ìbẹ̀rẹ̀ mìíràn, kì í ṣe ọ̀nà kúkúrú sí ìsopọ̀ kan náà.

Pípe ìbákẹ́gbẹ́ script ti app náà ń pa ohun-ìní yẹn mọ́ kí ó sì jẹ́ kí gbogbo ìbéèrè lè ṣe àyẹ̀wò.

Àwọn àpẹẹrẹ níbí gbà pé Tunnelblick wà nínú Applications, pé ìṣètò tí ń ṣiṣẹ́ ní orúkọ HQ, àti pé àwọn àṣẹ ń ṣiṣẹ́ nínú ìpàdé olùlò Mac tí ó ti wọlé. Yí orúkọ náà padà sí ìṣètò gbáàtọ̀ tí o ní.

Bẹ̀rẹ̀ profáìlì kan tí ó ní orúkọ gbáàtọ̀

Ìbéèrè connect dárúkọ ìṣètò náà. Kì í ṣe ìbéèrè láti so mọ́ ohun tí a yàn gbẹ̀yìn.

Ṣe é nínú ìpàdé olùlò tí ó ni ìṣètò náà:

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

Kọjá àwọn ìbéèrè ìwọlé tí ó wọ́pọ̀. macOS lè béèrè bóyá a gbà app tí ń pè ní àṣẹ láti ṣàkóso Tunnelblick; yẹ̀wò app wo àti ibi-afẹ́de wo kí o tó fọwọ́ sí. Ìṣàkóso aládàáṣe tí ń tẹ ibara-ẹni yẹn kọjá ń pa èròǹgbà ibara-ẹni náà run.

Ìbéèrè connect padà kí tunnel tó gòkè

Ìtọ́sọ́nà script Tunnelblick ṣe kedere: connect ń padà kí ìsopọ̀ tó parí. Ipò àbájáde òdo túmọ̀ sí pé a gba ìbéèrè náà, kì í ṣe pé ìgbòkègbodò ń ṣàn.

Ka ipò náà lọ́tọ̀:

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

CONNECTED jẹ́ àbájáde ipò ìsopọ̀. Kò tíì fi hàn pé ohun-ìní àdáni tí iṣẹ́ rẹ nílò lè dé, nítorí náà yẹ̀wò ìyẹn lọ́tọ̀ kí o tó bẹ̀rẹ̀ iṣẹ́ tí ó gbára lé e.

Àwọn ìṣàkóso mìíràn nínú ìbákẹ́gbẹ́ script ń bo àwọn ìgbésẹ̀ gbòòrò àti pé a kò nílò wọn nígbà tí profáìlì kan ṣoṣo bá yí padà.

Dúró pẹ̀lú àkókò ìparí, lẹ́yìn náà kùnà

Ìbéèrè àìlópin ni ó ń jẹ́ kí script gbé kọ́ láàárọ̀-ọ̀sán àti dí ìgbésẹ̀ tí ó tẹ̀le. Fún ìdúró ní àkókò ìparí, ààlà kúkúrú àti àbájáde ìkùnà tí ó kedere. Ka gbogbo ipò yàtọ̀ sí CONNECTED sí àìṣetán, pẹ̀lú àwọn ipò ìyípadà. Ṣàkọsílẹ̀ ipò gbẹ̀yìn tí o rí kí ìkùnà náà lè ṣàlàyé ara rẹ̀.

Lúùpù tí ó ní ààlà ń rí báyìí:

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

Ọgbọ̀n sẹ́kọ́ndì jẹ́ àpẹẹrẹ, kì í ṣe àkókò ìparí gbogbo agbáyé. Yan àkókò ìparí láti inú ọ̀nà ìfìdí ẹ̀tọ́ tí profáìlì ń lò gan, kí o sì tọ́jú rẹ̀ nínú àkọsílẹ̀ ìṣàn iṣẹ́.

Yẹ̀wò ipò kí o sì jáwọ́ nípa orúkọ

Láti dá profáìlì kan náà dúró, pe disconnect pẹ̀lú orúkọ kan náà. Ìyẹn ń pa ìbéèrè mọ́ ní tóóró ó sì fi àwọn ìṣètò mìíràn sílẹ̀ ní àlàáfíà.

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

Tọ́jú orúkọ profáìlì àti òṣèrépá ìṣàkóso papọ̀ nínú àkọsílẹ̀ ìṣàn iṣẹ́, pẹ̀lú àwọn àyẹ̀wò ìfìdí ẹ̀tọ́ àti ìparí tí a retí. Àkọsílẹ̀ yẹn ni ó ń jẹ́ kí àṣẹ náà lè ṣe àyẹ̀wò kódà lẹ́yìn oṣù mẹ́fà.

Ìhùwàsí ìbẹ̀rẹ̀ pẹ̀lú kọ̀mpútà jẹ́ ipò mìíràn. Lo àṣàyàn ìbẹ̀rẹ̀ tí a kọ sílẹ̀ ti Tunnelblick àti ìṣètò ẹ̀rí tí ó retí. Àṣẹ tí a ṣe nínú ìpàdé desktop tí a ti wọlé àti iṣẹ́ tí ó bẹ̀rẹ̀ pẹ̀lú ẹ̀rọ kò pín ipò kan náà. Má ṣe rò pé script tí ń ṣiṣẹ́ nígbà tí o wọlé yóò tún ṣiṣẹ́ nígbà ìbẹ̀rẹ̀. Dán ọ̀nà ìbẹ̀rẹ̀ wò lọ́tọ̀, pẹ̀lú àkókò ìparí àti àkọsílẹ̀ kan náà.

Àwọn àpilẹ̀kọ tó jọra