Skripten, déi virun enger Sécherungskopie e VPN brauchen, starten dacks openvpn direkt. Dat verléisst de Profil, DNS an d’Routebehandlung, déi Tunnelblick schonn ëmgesetzt. Den ënnerstëtzte Wee ass Tunnelblick seng eege AppleScript-Schnëttstell, déi connect-, state- an disconnect-Ufroen fir eng benannt Konfiguratioun unhëlt. Benotz se, a loos d’App verantwortlech bleiwen.

Schwätz mat der App, net mat openvpn

Tunnelblick besëtzt de OpenVPN-Profil, d’Wiel vum Motor, d’Skripten an d’DNS- an d’Routeintegratioun. Eng separat openvpn-Binär ass eng aner Startopstellung, keng Ofkierzung op déiselwecht Verbindung.

D’Schnëttstell fir Skripten vun der App opzeruffen, hält dës Proprietéit intakt a mécht all Ufro iwwerpréifbar.

D’Beispiller hei gi vun aus, datt Tunnelblick an Applications läit, datt eng funktionéierend Konfiguratioun HQ heescht an datt d’Befehler an der Sessioun vum ageloggten Mac-Benotzer lafen. Änner den Numm op déi genee Konfiguratioun, déi s du hues.

Start genau ee benannten Profil

Eng connect-Ufro nennt d’Konfiguratioun. Et ass keng Ufro, dat ze verbannen, wat zulescht ausgewielt gouf.

Laf se an der Benotzersessioun, déi d’Konfiguratioun besëtzt:

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

Gitt duerch déi gewinnt Umeldungsufroen. macOS kann froen, ob d’App, déi rifft, Tunnelblick däerf steieren; préif wéi eng App a wéi en Zil, ier s du zoustëmms. Automatiséierung, déi duerch dësen Dialog klickt, hëlt dem Dialog säi Sënn.

Eng connect-Ufro kënnt zréck, ier den Tunnel steet

Tunnelblick seng Skriptguide ass kloer: connect kënnt zréck, ier d’Verbindung fäerdeg ass. En Null-Exitstatus heescht, datt d’Ufro ugeholl gouf, net datt den Traffic fléisst.

Liest den Zoustand getrennt:

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

CONNECTED ass en Resultat vum Verbindungszoustand. Et weist nach net, datt déi privat Ressource, déi deng Aarbecht brauch, erreechbar ass, also préif dat getrennt, ier s du ofhängeg Aarbecht ufänks.

Aner Steierunge vun der Skriptschnëttstell decken méi breet Aktiounen an si net néideg, wann nëmmen ee Profil ännert.

Waard mat engem Termin, da scheiter

Ëmmer weider ze froen ass de Grond, firwat e Skript iwwer Nuecht hänkt an den nächsten Laf blockéiert. Gëff dem Waarde en Termin, e kuerzen Intervall an en duidlecht Feelresultat. Behändel all Zoustand ausser CONNECTED als net bereet, och déi transitional. Log de leschten Zoustand, deen s du gesinn hues, sou datt de Feeler sech selwer erkläert.

Eng limitéiert Schleif gesäit sou aus:

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

Drësseg Sekonnen sinn e Beispill, keen universellen Timeout. Wielt en Termin aus dem Authentifikatiounswee, deen de Profil tatsächlech benotzt, a behält en an der Opzeechnung vum Workflow.

Préif den Zoustand a trenn no Numm

Fir dee selwechte Profil ze stoppen, rif disconnect mat demselwechten Numm op. Dat hält d’Ufro schmuel an léisst aner Konfiguratiounen a Rou.

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

Halt den Profilnumm an den Controller zesummen an der Opzeechnung vum Workflow, zesumme mat den erwaarten Authentifikatiouns- a Fäerdegstellungspréifungen. Déi Opzeechnung ass et, déi de Befehl sechs Méint méi spéit iwwerpréifbar mécht.

Behuelen beim Start mam Computer ass en anere Modus. Benotz Tunnelblick seng dokumentéiert Startoptioun an d’Ariichtung vun den Umeldungsdonnéeën, déi se erwaart. E Befehl, deen an enger ageloggter Desktop-Sessioun laft, an en Service, deen mat der Maschinn start, deelen keen Kontext. Geh net dovun aus, datt e Skript, deen funktionéiert, während s du ageloggt bass, beim Start laft. Test de Startwee getrennt, mat demselwechten Termin a Logging.

Ähnlech Artikelen