د ټرمینل څخه د نوم لرونکي Tunnelblick پروفایل کنټرول
Tunnelblick د AppleScript له لارې connect، state او disconnect وړاندې کوي. هماغه انټرفېس ته زنګ ووهئ، اپلیکیشن مسؤل پاتې شي او هر انتظار ته یوه موده ورکړئ.
هغه سکریپټونه چې د بیک اپ دمخه VPN ته اړتیا لري، ډیری وختونه openvpn مستقیم پیلوي. دا هغه پروفایل، DNS او د لارو سمبالښت پرېږدي چې Tunnelblick لا دمخه یې اداره کوي. ملاتړ شوې لار د Tunnelblick خپل AppleScript انټرفېس دی، چې د نوم لرونکي ترتیباتو لپاره connect، state او disconnect غوښتنې مني. هماغه وکاروئ او اپلیکیشن مسؤل پاتې شي.
له اپلیکیشن سره خبرې وکړئ، له openvpn سره نه
OpenVPN پروفایل، د انجن ټاکنه، سکریپټونه او د DNS او لارو یوځای کول د Tunnelblick دي. جلا openvpn باینري د پیل بېله چوکاټ ده، نه هماغه اړیکې ته لنډه لار.
د اپلیکیشن سکریپټینګ انټرفېس ته زنګ وهل هغه مالکیت ټینګ ساتي او هر غوښتنه د کتنې وړ ګرځوي.
دلته بېلګې فرض کوي چې Tunnelblick په Applications کې دی، کاري ترتیبات یې نوم HQ دی او امرونه د ننوتل شوي Mac کاروونکي په غونډه کې ځي. نوم په خپل دقیق ترتیباتو بدل کړئ.
په دقیق ډول یو نوم لرونکی پروفایل پیل کړئ
connect غوښتنه ترتیباتو ته نوم ورکوي. دا د هغه څه سره د نښلولو غوښتنه نه ده چې په آخر کې ټاکل شوي وو.
دا د هغه کاروونکي په غونډه کې چل کړئ چې ترتیبات یې لري:
osascript -e 'tell application "/Applications/Tunnelblick.app" to connect "HQ"'د ننوتلو عادي غوښتنې تېرې کړئ. macOS کېدای شي وپوښتي چې ایا زنګ وهونکي اپلیکیشن ته اجازه ده Tunnelblick کنټرول کړي؛ د اجازې دمخه وګورئ کوم اپلیکیشن او کوم هدف دی. هغه ډیالوګ چې په کلیک تېر شي د ډیالوګ هدف له منځه وړي.
connect غوښتنه د تونل له پورته کېدو دمخه بېرته راځي
د Tunnelblick سکریپټ لارښود روښانه دی: connect د اړیکې له بشپړېدو دمخه بېرته راځي. صفر وتلنې حالت مانا دا ده چې غوښتنه ومنل شوه، نه دا چې ترافیک روان دی.
حالت جلا ولولئ:
osascript -e 'tell application "/Applications/Tunnelblick.app" to get state of first configuration where name = "HQ"'CONNECTED د اړیکې د حالت پایله ده. دا لا هم نه ثابتوي چې هغه شخصي سرچینه چې ستاسو دندې ته اړینه ده د لاسرسي وړ ده، نو د تړلي کار له پیل دمخه یې جلا وګورئ.
د سکریپټینګ انټرفېس نور کنټرولونه پراخه کړنې رانغاړي او کله چې یوازې یو پروفایل بدل شي اړین نه دي.
د مودې سره انتظار وکړئ، بیا ناکام شئ
بې پای انتظار هغه څه دي چې سکریپټ ټوله شپه ځوړند ساتي او بل چلول بندوي. انتظار ته موده، لنډه وقفه او روښانه ناکامي ورکړئ. له CONNECTED پرته هر حالت، د انتقالي حالتونو په ګډون، نه چمتو وګڼئ. وروستی لیدل شوی حالت ولیکئ ترڅو ناکامي پخپله ځان تشریح کړي.
محدود حلقه داسې ښکاري:
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دېرش ثانیې یوه بېلګه ده، نه نړیواله موده. موده د هغې تصدیق لارې له مخې وټاکئ چې پروفایل واقعاً کاروي، او دا د کاري بهیر په ثبت کې وساتئ.
حالت وګورئ او په نوم اړیکه پرې کړئ
هماغه پروفایل بندولو لپاره disconnect په هماغه نوم وبلئ. دا غوښتنه تنګ ساتي او نور ترتیبات په سوله پرېږدي.
osascript -e 'tell application "/Applications/Tunnelblick.app" to disconnect "HQ"'د پروفایل نوم او کنټرولر یوځای د کاري بهیر په ثبت کې وساتئ، د تمه شوو تصدیق او بشپړېدو کتنو سره. هماغه ثبت دی چې امر شپږ میاشتې وروسته هم د کتنې وړ ګرځوي.
د کمپیوټر سره د پیل چلند بله طریقه ده. د Tunnelblick مستند شوې د پیل اختیار او هغه د اعتبار معلوماتو ترتیب وکاروئ چې تمه یې لري. هغه امر چې د ننوتل شوي ډیسکټاپ په غونډه کې ځي او هغه خدمت چې له ماشین سره پیلېږي یو شریک زمینه نه لري. دا مه فکر کئ چې د ننوتلو پر مهال کار کوونکی سکریپټ به د بوټ پر مهال هم وځي. د پیل لاره جلا، د هماغې مودې او ثبت سره وازموئ.