Нэрлэсэн Tunnelblick профайлыг терминалаас удирдах
Tunnelblick нь AppleScript-ээр дамжуулан connect, state, disconnect-ыг санал болгодог. Тэр интерфейсийг дуудаж, програмыг хариуцлагатай хэвээр үлдээж, хүлээлт бүрд хугацаа өг.
Нөөц хуулбар хийхийн өмнө VPN шаарддаг скриптүүд openvpn-ийг шууд ажиллуулдаг. Энэ нь Tunnelblick-ийн аль хэдийн удирдаж буй профайл, DNS, замын боловсруулалтыг орхидог. Дэмжигдсэн зам нь 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-ийн баримтжуулсан эхлүүлэх сонголт болон түүний хүлээдэг итгэмжлэлийн тохиргоог ашигла. Нэвтэрсэн ширээний сесс дотор ажилласан команд болон машинтай хамт эхэлдэг үйлчилгээ нэг контекстийг хуваалцдаггүй. Нэвтэрсэн үед ажилладаг скрипт ачаалах үед ч ажиллана гэж бүү үз. Эхлүүлэх замыг тусад нь, мөн тэр хугацаа, бүртгэлээр турш.