Անվանված Tunnelblick պրոֆիլի կառավարում տերմինալից
Tunnelblick-ը connect, state և disconnect է տրամադրում AppleScript-ի միջոցով: Կանչեք այդ ինտերֆեյսը, թողեք հավելվածը պատասխանատու մնա և յուրաքանչյուր սպասման ժամկետ տվեք:
Սկրիպտները, որոնք պահուստավորումից առաջ VPN են պահանջում, հաճախ openvpn-ը գործարկում են ուղղակիորեն: Դա թողնում է այն պրոֆիլը, DNS-ը և երթուղիների մշակումը, որը Tunnelblick-ն արդեն ղեկավարում է: Աջակցվող ուղին Tunnelblick-ի սեփական AppleScript ինտերֆեյսն է, որն ընդունում է connect, state և disconnect հարցումներ անվանված կոնֆիգուրացիայի համար: Օգտագործեք այն և թողեք հավելվածը պատասխանատու մնա:
Խոսեք հավելվածի հետ, ոչ openvpn-ի
Tunnelblick-ին է պատկանում OpenVPN պրոֆիլը, շարժիչի ընտրությունը, սկրիպտները և DNS-ի ու երթուղիների ինտեգրումը: Առանձին 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-ի փաստաթղթավորված գործարկման տարբերակը և այն հավատարմագրերի կարգավորումը, որն այն սպասում է: Մուտք գործած աշխատասեղանի սեսիայում կատարված հրամանը և մեքենայի հետ սկսվող ծառայությունը չեն կիսում համատեքստը: Մի ենթադրեք, որ մուտքի ժամանակ աշխատող սկրիպտը կաշխատի նաև բեռնման պահին: Փորձարկեք գործարկման ուղին առանձին՝ նույն ժամկետով և գրանցմամբ: