બેકઅપ પહેલાં 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નો દસ્તાવેજીકૃત સ્ટાર્ટઅપ વિકલ્પ અને તે જે અપેક્ષા રાખે એ ક્રેડેન્શિયલ ગોઠવણ વાપરો. લોગ-ઇન થયેલા ડેસ્કટોપ સત્રમાં ચાલતો આદેશ અને મશીન સાથે શરૂ થતી સેવા સમાન સંદર્ભ વહેંચતા નથી. લોગ-ઇન હોય ત્યારે ચાલતી સ્ક્રિપ્ટ બૂટ વખતે પણ ચાલશે એમ ધારશો નહીં. સ્ટાર્ટઅપ માર્ગ અલગથી, એ જ સમયમર્યાદા અને લોગિંગ સાથે ચકાસો.

સંબંધિત લેખો