diff --git a/.nova/Configuration.json b/.nova/Configuration.json new file mode 100644 index 0000000..6ce0302 --- /dev/null +++ b/.nova/Configuration.json @@ -0,0 +1,4 @@ +{ + "index.enabled" : true, + "index.symbolicate" : true +} diff --git a/Mac/.DS_Store b/Mac/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/Mac/.DS_Store differ diff --git a/Mac/Archive.zip b/Mac/Archive.zip new file mode 100644 index 0000000..ae67c70 Binary files /dev/null and b/Mac/Archive.zip differ diff --git a/Mac/force-auth-EEPv1.sh b/Mac/force-auth-EEPv1.sh deleted file mode 100644 index af4d24e..0000000 --- a/Mac/force-auth-EEPv1.sh +++ /dev/null @@ -1,145 +0,0 @@ -#!/bin/sh -echo "Start: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -# VARIABLES IN USE FROM CONSOLE -# TAILSCALEAUTHKEY -# TSSERVERIP - -# DEFAULT VARIABLES -APPNA="Tailscale" -DIR="/Applications/$APPNA.app" -IP1=8.8.8.8 -IP2=$(echo "$TSSERVERIP") -DT0=$(date) -echo "Execution Record for $DT0" - -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") -TSUSER=$(echo $currentUser | sed 's/_//g') - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "no user logged in" - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 - fi -} - -# CHECKS TAILSCALE IS PRESENT ON THE DEVICE -if [ -d "$DIR" ]; then - ### Take action if $DIR exists ### - echo - echo "$APPNA is installed." - echo -else - ### Control will jump here if $DIR does NOT exists ### - echo - echo "$APPNA is not installed." - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -runAsUser defaults write io.tailscale.ipn.macos TailscaleOnboardingSeen 1 -runAsUser defaults write io.tailscale.ipn.macos TailscaleStartOnLogin 1 -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" - -sleep 3 - -# OPENS TAILSCALE BEFORE CHECKS -runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - -# GIVES TAILSCALE TIME TO OPEN AND CONNECT IF EMPLOYEE AUTHED -sleep 12 - -# PING GOOGLE FOR NEXT CHECK -PING1=$(ping -c 1 "$IP1" | grep -c from) - -# PING TAILSCALE VPR FOR FIRST ATTEMPT -PING2=$(ping -c 1 "$IP2" | grep -c from) - -# INTERNET CHECK -if [ "$PING1" -eq "1" ]; then - echo - echo Internet is working - echo -else - echo - echo NO INTERNET... Exit.. - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - echo - echo Server $IP2 is reachable, internet is working - echo and the user is already authenticated - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 - -else - echo - echo NO AUTH AUTHENTICATING... - killall Tailscale - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 20 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - echo -fi - -# PING TAILSCALE VPR AFTER FIRST ATTEMPT -PING3=$(ping -c 1 "$IP2" | grep -c from) - -# TAILSCALE FINAL AUTH CHECK -if [ "$PING3" -eq "1" ]; then - echo - echo Server $IP2 is now reachable - echo internet is working and user is authenticated - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 -else - echo - echo NO AUTH AUTHENTICATING... - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 20 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - echo -fi - -echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - -exit 0 diff --git a/Mac/force-auth-fl-exitnode.sh b/Mac/force-auth-fl-exitnode.sh deleted file mode 100644 index 164b8c9..0000000 --- a/Mac/force-auth-fl-exitnode.sh +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/sh -echo "Start: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -# VARIABLES IN USE FROM CONSOLE -# TAILSCALEAUTHKEY - Used to authenticate Tailscale -# TSSERVERIP - Used to check if already connected to Tailscale -# TSUNAME - Used to pass Mosyle Full Name - -# DEFAULT VARIABLES -APPNA="Tailscale" -DIR="/Applications/$APPNA.app" -IP1=8.8.8.8 -IP2=$(echo "$TSSERVERIP") -DT0=$(date) -echo "Execution Record for $DT0" - -MODEL_INFO=$(system_profiler SPHardwareDataType | grep "Model Name" | sed 's/^ *//') -PRETTY_MODEL=${MODEL_INFO/"Model Name: "/} -SERIAL_INFO=$(system_profiler SPHardwareDataType | grep "Serial Number (system)" | sed 's/^ *//') -PRETTY_SERIAL=${SERIAL_INFO/"Serial Number (system): "/} - -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") - - -if [[ -z "$TSUNAME" ]]; then - TSUSER=$(echo "$currentUser-$PRETTY_MODEL-$PRETTY_SERIAL" | tr 'a-z' 'A-Z' | sed 's/ /-/g') -else - TSUSER=$(echo "$TSUNAME-$PRETTY_MODEL-$PRETTY_SERIAL" | tr 'a-z' 'A-Z' | sed 's/ /-/g') -fi - - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "no user logged in" - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 - fi -} - -# CHECKS TAILSCALE IS PRESENT ON THE DEVICE -if [ -d "$DIR" ]; then - ### Take action if $DIR exists ### - echo - echo "$APPNA is installed." - echo -else - ### Control will jump here if $DIR does NOT exists ### - echo - echo "$APPNA is not installed." - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" -# OPENS TAILSCALE BEFORE CHECKS -runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - -# GIVES TAILSCALE TIME TO OPEN AND CONNECT IF EMPLOYEE AUTHED -sleep 20 - -# PING GOOGLE FOR NEXT CHECK -PING1=$(ping -c 1 "$IP1" | grep -c from) - -# PING TAILSCALE VPR FOR FIRST ATTEMPT -PING2=$(ping -c 1 "$IP2" | grep -c from) - -# INTERNET CHECK -if [ "$PING1" -eq "1" ]; then - echo - echo Internet is working - echo -else - echo - echo NO INTERNET... Exit.. - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - echo - echo Server $IP2 is reachable, internet is working - echo and the user is already authenticated - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 - -else - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 3 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" --reset - echo - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --hostname "$TSUSER" --exit-node="secure-vpr" --exit-node-allow-lan-access -fi - -# PING TAILSCALE VPR AFTER FIRST ATTEMPT -PING3=$(ping -c 1 "$IP2" | grep -c from) - -# TAILSCALE FINAL AUTH CHECK -if [ "$PING3" -eq "1" ]; then - echo - echo Server $IP2 is now reachable - echo internet is working and user is authenticated - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 -else - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 3 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" --reset - echo - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --hostname "$TSUSER" --exit-node="secure-vpr" --exit-node-allow-lan-access -fi - -echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - -exit 0 diff --git a/Mac/force-auth-fl-subnetexit.sh b/Mac/force-auth-fl-subnetexit.sh deleted file mode 100644 index 0414597..0000000 --- a/Mac/force-auth-fl-subnetexit.sh +++ /dev/null @@ -1,155 +0,0 @@ -#!/bin/sh -echo "Start: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -# VARIABLES IN USE FROM CONSOLE -# TAILSCALEAUTHKEY - Used to authenticate Tailscale -# TSSERVERIP - Used to check if already connected to Tailscale -# TSUNAME - Used to pass Mosyle Full Name -# TSSUBNET - Used to pass subnet through for auto failover - -# DEFAULT VARIABLES -APPNA="Tailscale" -DIR="/Applications/$APPNA.app" -IP1=8.8.8.8 -IP2=$(echo "$TSSERVERIP") -DT0=$(date) -echo "Execution Record for $DT0" - -MODEL_INFO=$(system_profiler SPHardwareDataType | grep "Model Name" | sed 's/^ *//') -PRETTY_MODEL=${MODEL_INFO/"Model Name: "/} -SERIAL_INFO=$(system_profiler SPHardwareDataType | grep "Serial Number (system)" | sed 's/^ *//') -PRETTY_SERIAL=${SERIAL_INFO/"Serial Number (system): "/} - -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") - - -if [[ -z "$TSUNAME" ]]; then - TSUSER=$(echo "$currentUser-$PRETTY_MODEL-$PRETTY_SERIAL" | tr 'a-z' 'A-Z' | sed 's/ /-/g') -else - TSUSER=$(echo "$TSUNAME-$PRETTY_MODEL-$PRETTY_SERIAL" | tr 'a-z' 'A-Z' | sed 's/ /-/g') -fi - - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "no user logged in" - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 - fi -} - -# CHECKS TAILSCALE IS PRESENT ON THE DEVICE -if [ -d "$DIR" ]; then - ### Take action if $DIR exists ### - echo - echo "$APPNA is installed." - echo -else - ### Control will jump here if $DIR does NOT exists ### - echo - echo "$APPNA is not installed." - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" -# OPENS TAILSCALE BEFORE CHECKS -runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - -# GIVES TAILSCALE TIME TO OPEN AND CONNECT IF EMPLOYEE AUTHED -sleep 20 - -# PING GOOGLE FOR NEXT CHECK -PING1=$(ping -c 1 "$IP1" | grep -c from) - -# PING TAILSCALE VPR FOR FIRST ATTEMPT -PING2=$(ping -c 1 "$IP2" | grep -c from) - -# INTERNET CHECK -if [ "$PING1" -eq "1" ]; then - echo - echo Internet is working - echo -else - echo - echo NO INTERNET... Exit.. - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - echo - echo Server $IP2 is reachable, internet is working - echo and the user is already authenticated - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 - -else - echo - echo NO AUTH AUTHENTICATING... - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale logout - killall Tailscale - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 20 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" --advertise-routes=$TSSUBNET --reset - echo -fi - -# PING TAILSCALE VPR AFTER FIRST ATTEMPT -PING3=$(ping -c 1 "$IP2" | grep -c from) - -# TAILSCALE FINAL AUTH CHECK -if [ "$PING3" -eq "1" ]; then - echo - echo Server $IP2 is now reachable - echo internet is working and user is authenticated - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 -else - echo - echo NO AUTH AUTHENTICATING... - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale logout - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 20 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" --advertise-routes=$TSSUBNET --reset - echo -fi - -echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - -exit 0 diff --git a/Mac/force-auth-fl.sh b/Mac/force-auth-fl.sh deleted file mode 100644 index c6e771c..0000000 --- a/Mac/force-auth-fl.sh +++ /dev/null @@ -1,181 +0,0 @@ -#!/bin/sh -echo "Start: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -# VARIABLES IN USE FROM CONSOLE -# TAILSCALEAUTHKEY - Used to authenticate Tailscale -# TSSERVERIP - Used to check if already connected to Tailscale -# TSUNAME - Used to pass Mosyle Full Name - -# DEFAULT VARIABLES -APPNA="Tailscale" -DIR="/Applications/$APPNA.app" -IP1=8.8.8.8 -IP2=$(echo "$TSSERVERIP") -DT0=$(date) -echo "Execution Record for $DT0" - -MODEL_INFO=$(system_profiler SPHardwareDataType | grep "Model Name" | sed 's/^ *//') -PRETTY_MODEL=${MODEL_INFO/"Model Name: "/} -SERIAL_INFO=$(system_profiler SPHardwareDataType | grep "Serial Number (system)" | sed 's/^ *//') -PRETTY_SERIAL=${SERIAL_INFO/"Serial Number (system): "/} - -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") - - -if [[ -z "$TSUNAME" ]]; then - TSUSER=$(echo "$currentUser-$PRETTY_MODEL-$PRETTY_SERIAL" | tr 'a-z' 'A-Z' | sed 's/ /-/g') -else - TSUSER=$(echo "$TSUNAME-$PRETTY_MODEL-$PRETTY_SERIAL" | tr 'a-z' 'A-Z' | sed 's/ /-/g') -fi - - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "no user logged in" - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 - fi -} - -# CHECKS TAILSCALE IS PRESENT ON THE DEVICE -if [ -d "$DIR" ]; then - ### Take action if $DIR exists ### - echo - echo "$APPNA is installed." - echo -else - ### Control will jump here if $DIR does NOT exists ### - echo - echo "$APPNA is not installed." - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -runAsUser defaults write io.tailscale.ipn.macos TailscaleOnboardingSeen 1 -runAsUser defaults write io.tailscale.ipn.macos TailscaleStartOnLogin 1 -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" - -sleep 3 - -# OPENS TAILSCALE BEFORE CHECKS -runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - -# GIVES TAILSCALE TIME TO OPEN AND CONNECT IF EMPLOYEE AUTHED -sleep 20 - -# PING GOOGLE FOR NEXT CHECK -PING1=$(ping -c 1 "$IP1" | grep -c from) - -# PING TAILSCALE VPR FOR FIRST ATTEMPT -PING2=$(ping -c 1 "$IP2" | grep -c from) - -# INTERNET CHECK -if [ "$PING1" -eq "1" ]; then - echo - echo Internet is working - echo -else - echo - echo NO INTERNET... Exit.. - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - echo - echo Server $IP2 is reachable, internet is working - echo and the user is already authenticated - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 - -else - echo - echo CHECK 1 of 3 NO AUTH AUTHENTICATING... - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 3 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - echo -fi - -sleep 25 - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - echo - echo Server $IP2 is reachable, internet is working - echo and the user is already authenticated - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 - -else - echo - echo CHECK 2 of 3 NO AUTH AUTHENTICATING... - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 3 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - echo -fi - -sleep 25 - -# PING TAILSCALE VPR AFTER FIRST ATTEMPT -PING3=$(ping -c 1 "$IP2" | grep -c from) - -# TAILSCALE FINAL AUTH CHECK -if [ "$PING3" -eq "1" ]; then - echo - echo Server $IP2 is now reachable - echo internet is working and user is authenticated - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 -else - echo - echo CHECK 3 of 3 NO AUTH AUTHENTICATING WITH RESET... - sleep 2 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 3 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" --reset - echo -fi - -echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - -exit 0 diff --git a/Mac/force-auth-purpleinternal.sh b/Mac/force-auth-purpleinternal.sh deleted file mode 100644 index 4f7c0d3..0000000 --- a/Mac/force-auth-purpleinternal.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -echo "Start: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -# VARIABLES IN USE FROM CONSOLE -# TAILSCALEAUTHKEY -# TSSERVERIP - -# DEFAULT VARIABLES -APPNA="Tailscale" -DIR="/Applications/$APPNA.app" -IP1=8.8.8.8 -IP2=$(echo "$TSSERVERIP") -DT0=$(date) -echo "Execution Record for $DT0" - -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") -TSUSER=$(echo $TSUNAME | sed 's/_//g' | sed 's/ //g') - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "no user logged in" - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 - fi -} - -# CHECKS TAILSCALE IS PRESENT ON THE DEVICE -if [ -d "$DIR" ]; then - ### Take action if $DIR exists ### - echo - echo "$APPNA is installed." - echo -else - ### Control will jump here if $DIR does NOT exists ### - echo - echo "$APPNA is not installed." - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -runAsUser defaults write io.tailscale.ipn.macos TailscaleOnboardingSeen 1 -runAsUser defaults write io.tailscale.ipn.macos TailscaleStartOnLogin 1 -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" - -sleep 3 - -# OPENS TAILSCALE BEFORE CHECKS -runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - -# GIVES TAILSCALE TIME TO OPEN AND CONNECT IF EMPLOYEE AUTHED -sleep 12 - -# PING GOOGLE FOR NEXT CHECK -PING1=$(ping -c 1 "$IP1" | grep -c from) - -echo Using "$IP2" as Tailscale connected check -# PING TAILSCALE VPR FOR FIRST ATTEMPT -PING2=$(ping -c 1 "$IP2" | grep -c from) - -# INTERNET CHECK -if [ "$PING1" -eq "1" ]; then - echo - echo Internet is working - echo -else - echo - echo NO INTERNET... Exit.. - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - echo - echo Server $IP2 is reachable, internet is working - echo and the user is already authenticated - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 - -else - echo - echo NO AUTH AUTHENTICATING... - killall Tailscale - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 7 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - echo -fi -sleep 25 -# PING TAILSCALE VPR AFTER FIRST ATTEMPT -PING3=$(ping -c 1 "$IP2" | grep -c from) - -# TAILSCALE FINAL AUTH CHECK -if [ "$PING3" -eq "1" ]; then - echo - echo Server $IP2 is now reachable - echo internet is working and user is authenticated - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 -else - echo - echo NO AUTH AUTHENTICATING... - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 20 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - echo -fi - -echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - -exit 0 diff --git a/Mac/force-auth-test.sh b/Mac/force-auth-test.sh deleted file mode 100644 index 5dee827..0000000 --- a/Mac/force-auth-test.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -echo "Start: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -# VARIABLES IN USE FROM CONSOLE -# TAILSCALEAUTHKEY -# TSSERVERIP - -# DEFAULT VARIABLES -APPNA="Tailscale" -DIR="/Applications/$APPNA.app" -IP1=8.8.8.8 -IP2=$(echo "$TSSERVERIP") -DT0=$(date) -echo "Execution Record for $DT0" - -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") -TSUSER=$(echo $TSUNAME | sed 's/_//g' | sed 's/ //g') - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "no user logged in" - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 - fi -} - -# CHECKS TAILSCALE IS PRESENT ON THE DEVICE -if [ -d "$DIR" ]; then - ### Take action if $DIR exists ### - echo - echo "$APPNA is installed." - echo -else - ### Control will jump here if $DIR does NOT exists ### - echo - echo "$APPNA is not installed." - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -runAsUser defaults write io.tailscale.ipn.macos TailscaleOnboardingSeen 1 -runAsUser defaults write io.tailscale.ipn.macos TailscaleStartOnLogin 1 -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" - -sleep 3 - -# OPENS TAILSCALE BEFORE CHECKS -runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - -# GIVES TAILSCALE TIME TO OPEN AND CONNECT IF EMPLOYEE AUTHED -sleep 12 - -# PING GOOGLE FOR NEXT CHECK -PING1=$(ping -c 1 "$IP1" | grep -c from) - -echo Using "$IP2" as Tailscale connected check -# PING TAILSCALE VPR FOR FIRST ATTEMPT -PING2=$(ping -c 1 "$IP2" | grep -c from) - -# INTERNET CHECK -if [ "$PING1" -eq "1" ]; then - echo - echo Internet is working - echo -else - echo - echo NO INTERNET... Exit.. - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - echo - echo Server $IP2 is reachable, internet is working - echo and the user is already authenticated - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 - -else - echo - echo ROUND"1:"NO AUTH AUTHENTICATING... - killall Tailscale - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 7 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - echo -fi -sleep 25 -# PING TAILSCALE VPR AFTER FIRST ATTEMPT -PING3=$(ping -c 1 "$IP2" | grep -c from) - -# TAILSCALE FINAL AUTH CHECK -if [ "$PING3" -eq "1" ]; then - echo - echo Server $IP2 is now reachable - echo internet is working and user is authenticated - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 -else - echo - echo ROUND"2:" NO AUTH AUTHENTICATING WITH RESET... - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 20 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" --reset - echo -fi - -echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - -exit 0 diff --git a/Mac/force-auth.sh b/Mac/force-auth.sh deleted file mode 100644 index 74344d5..0000000 --- a/Mac/force-auth.sh +++ /dev/null @@ -1,142 +0,0 @@ -#!/bin/sh -echo "Start: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -# VARIABLES IN USE FROM CONSOLE -# TAILSCALEAUTHKEY -# TSSERVERIP - -# DEFAULT VARIABLES -APPNA="Tailscale" -DIR="/Applications/$APPNA.app" -IP1=8.8.8.8 -IP2=$(echo "$TSSERVERIP") -DT0=$(date) -echo "Execution Record for $DT0" - -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") -TSUSER=$(echo $currentUser) - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "no user logged in" - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 - fi -} - -# CHECKS TAILSCALE IS PRESENT ON THE DEVICE -if [ -d "$DIR" ]; then - ### Take action if $DIR exists ### - echo - echo "$APPNA is installed." - echo -else - ### Control will jump here if $DIR does NOT exists ### - echo - echo "$APPNA is not installed." - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" -# OPENS TAILSCALE BEFORE CHECKS -runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - - -# GIVES TAILSCALE TIME TO OPEN AND CONNECT IF EMPLOYEE AUTHED -sleep 20 - -# PING GOOGLE FOR NEXT CHECK -PING1=$(ping -c 1 "$IP1" | grep -c from) - -# PING TAILSCALE VPR FOR FIRST ATTEMPT -PING2=$(ping -c 1 "$IP2" | grep -c from) - -# INTERNET CHECK -if [ "$PING1" -eq "1" ]; then - echo - echo Internet is working - echo -else - echo - echo NO INTERNET... Exit.. - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 1 -fi - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - echo - echo Server $IP2 is reachable, internet is working - echo and the user is already authenticated - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 - -else - echo - echo NO AUTH AUTHENTICATING... - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale logout - killall Tailscale - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 20 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" --reset - echo -fi - -# PING TAILSCALE VPR AFTER FIRST ATTEMPT -PING3=$(ping -c 1 "$IP2" | grep -c from) - -# TAILSCALE FINAL AUTH CHECK -if [ "$PING3" -eq "1" ]; then - echo - echo Server $IP2 is now reachable - echo internet is working and user is authenticated - echo - echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - echo - exit 0 -else - echo - echo NO AUTH AUTHENTICATING... - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale logout - sleep 5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 20 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" --reset - echo -fi - -echo "End: *** PURPLE LAUNCH TAILSCALE FORCE AUTH SCRIPT ***" - -exit 0 diff --git a/Mac/force-securevpr-test.sh b/Mac/force-securevpr-test.sh deleted file mode 100644 index 9bd9204..0000000 --- a/Mac/force-securevpr-test.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -echo "*** PURPLE LAUNCH TAILSCALE SCRIPT ***" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo "no user logged in" - exit 1 - fi -} -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" - -TSUSER=$(echo $TSUNAME | sed 's/_//g' | sed 's/ //g') - -sudo -u $(stat -f "%Su" /dev/console) osascript <> /Library/Logs/Purple/TSLogout.log - # Echo the ID - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale switch $id - sleep 2 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale logout -done <<< "$list" diff --git a/Mac/logout.sh b/Mac/logout.sh deleted file mode 100644 index c7aeecb..0000000 --- a/Mac/logout.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") -TSUSER=$(echo $currentUser) - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "no user logged in" - echo - exit 1 - fi -} -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" -runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale logout -sleep 2 -killall Tailscale -runAsUser rm -rf ~/Library/Containers/io.tailscale.ipn.macsys -runAsUser rm -rf ~/Library/Containers/io.tailscale.ipn.macsys.login-item-helper -runAsUser rm -rf ~/Library/Containers/io.tailscale.ipn.macsys.share-extension -sleep 3 -sudo rm -rf /Library/Tailscale/ diff --git a/Mac/silent-auth.sh b/Mac/silent-auth.sh deleted file mode 100644 index 1f5475b..0000000 --- a/Mac/silent-auth.sh +++ /dev/null @@ -1,232 +0,0 @@ -#!/bin/sh -echo "____________________________________________" -echo "Start: TAILSCALE SILENT AUTH SCRIPT" -############################################################################################### -# -# ****** -# *...../ / ****** -# ************** *****/ *****/*****/***/*************/ ****** /********** -# ******/..*****/ *****/ *****/********//******/ ,*****/******,***** ,*****/ -# *****/ ***** *****/ *****/*****/ *****/ /************************** -# *******//*****/ *************/*****/ *********************/*******./*/* ()) -# ************* ******/*****/*****/ *****/******/. ****** ********** (())) -# *****/ *****/ ()) -# *****/ *****/ -# -############################################################################################### -# NOTICE: MAC SPECIFIC SCRIPT, USING MOSYLE VARIABLES -############################################################################################### - -# DEFAULT VARIABLES -APPNA="Tailscale" -DIR="/Applications/$APPNA.app" -IP1=8.8.8.8 -IP2=$(echo "$TSSERVERIP") -DT0=$(date "+%D %T") -echo "Execution Record for $DT0" -echo - -# SOURCES USER INFO FOR RUNASUSER COMMAND BELOW -currentUser=$( echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }' ) -uid=$(id -u "$currentUser") - -MODEL_INFO=$(system_profiler SPHardwareDataType | grep "Model Name" | sed 's/^ *//') -PRETTY_MODEL=${MODEL_INFO/"Model Name: "/} -SERIAL_INFO=$(system_profiler SPHardwareDataType | grep "Serial Number (system)" | sed 's/^ *//') -PRETTY_SERIAL=${SERIAL_INFO/"Serial Number (system): "/} - - -if [ "$USEMODELANDSERIAL" == "Y" ]; then - echo "• Organisation includes Model and Serial in Hostname" - if [[ -z "$TSUNAME" ]]; then - TSUSER=$(echo "$currentUser-$PRETTY_MODEL-$PRETTY_SERIAL" | tr 'A-Z' 'a-z' | sed 's/ /-/g') - else - TSUSER=$(echo "$TSUNAME-$PRETTY_MODEL-$PRETTY_SERIAL" | tr 'A-Z' 'a-z' | sed 's/ /-/g') - OLDTSUSER=$(echo "$TSUNAME" | tr 'A-Z' 'a-z' | sed 's/ //g') - fi -else - echo "• Organisation uses only Username in Hostname" - if [[ -z "$TSUNAME" ]]; then - TSUSER=$(echo "$currentUser" | tr 'A-Z' 'a-z' | sed 's/ /-/g') - else - TSUSER=$(echo "$TSUNAME" | tr 'A-Z' 'a-z' | sed 's/ /-/g') - OLDTSUSER=$(echo "$TSUNAME" | tr 'A-Z' 'a-z' | sed 's/ //g') - fi -fi - -# SIMPLIFIES RUN AS USER COMMAND FOR STANDARD USER ACCOUNTS WITHOUT SUDO RIGHTS -runAsUser() { - if [ "$currentUser" != "loginwindow" ]; then - launchctl asuser "$uid" sudo -u "$currentUser" "$@" - else - echo - echo "• No user is logged in" - echo - echo "End: TAILSCALE SILENT AUTH SCRIPT" - echo "____________________________________________" - echo - exit 1 - fi -} - -# CHECKS TAILSCALE IS PRESENT ON THE DEVICE -if [ -d "$DIR" ]; then - ### Take action if $DIR exists ### - echo "• $APPNA is installed." -else - ### Control will jump here if $DIR does NOT exists ### - echo - echo "• $APPNA is not installed." - echo - echo "End: TAILSCALE SILENT AUTH SCRIPT" - echo "____________________________________________" - echo - exit 1 -fi - -runAsUser defaults write io.tailscale.ipn.macos TailscaleOnboardingSeen 1 -runAsUser defaults write io.tailscale.ipn.macos TailscaleStartOnLogin 1 -defaults write io.tailscale.ipn.macos ManagedByOrganizationName "Purple Computing" - -sleep 3 - -# OPENS TAILSCALE BEFORE CHECKS -runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - -# GIVES TAILSCALE TIME TO OPEN AND CONNECT IF EMPLOYEE AUTHED -sleep 6 - -# PING GOOGLE FOR NEXT CHECK -PING1=$(ping -c 1 "$IP1" | grep -c from) -sleep 2 - -# PING TAILSCALE VPR FOR FIRST ATTEMPT -echo "• "Tailscale Ping Address":" "$IP2" -PING2=$(ping -c 1 "$IP2" | grep -c from) - -# INTERNET CHECK -if [ "$PING1" -eq "1" ]; then - echo "• Internet is working" -else - echo - echo "• NO INTERNET... Exit.." - echo - echo "End: TAILSCALE SILENT AUTH SCRIPT" - echo "____________________________________________" - echo - exit 1 -fi - -# TAILSCALE ALREADY AUTHED CHECK -if [ "$PING2" -eq "1" ]; then - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale set --hostname "$TSUSER" - echo "• Tailscale Ping Address: $IP2 is reachable" - echo "• Internet is working" - TSMNetName="$(runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale status | head -n 1 | awk '{print $3}' | awk -F'.' '{print $2}')" - TSMHostname="$(runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale status | head -n 1 | awk '{print $2}' | awk -F'.' '{print $1}')" - TSMIP="$(runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale status | head -n 1 | awk '{print $1}')" - echo "• User is Authenticated" - if [ "$TSEXITNODE" == "N" ]; then - echo "• Exit Node NOT Enforced" - else - if [[ -z "$TSEXITNODE" ]]; then - echo "• Exit Node NOT Enforced" - else - echo "• Exit Node Enforced" - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale set --exit-node=$TSEXITNODE - fi - fi - echo - echo NO INTERVENTION WAS NEEDED - echo - echo "Tailnet: $TSMNetName" - echo "Hostname: $TSMHostname" - echo "IP: $TSMIP" - echo - echo "End: TAILSCALE SILENT AUTH SCRIPT" - echo "____________________________________________" - echo - exit 0 - -else - echo - echo ATTEMPT"1:" NO AUTH AUTHENTICATING... - # killall Tailscale - sleep 3 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - sleep 6 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale switch "$TAILSCALENET" - sleep 1 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale set --hostname "$TSUSER" - echo -fi -sleep 7 -# PING TAILSCALE VPR AFTER THE FIRST ATTEMPT -PING3=$(ping -c 1 "$IP2" | grep -c from) - -# TAILSCALE FINAL AUTH CHECK -if [ "$PING3" -eq "1" ]; then - echo "• Tailscale Ping Address: $IP2 is reachable" - echo "• Internet is working" - TSMNetName="$(runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale status | head -n 1 | awk '{print $3}' | awk -F'.' '{print $2}')" - TSMHostname="$(runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale status | head -n 1 | awk '{print $2}' | awk -F'.' '{print $1}')" - TSMIP="$(runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale status | head -n 1 | awk '{print $1}')" - echo "• User is Authenticated" - if [ "$TSEXITNODE" == "N" ]; then - echo "• Exit Node NOT Enforced" - else - if [[ -z "$TSEXITNODE" ]]; then - echo "• Exit Node NOT Enforced" - else - echo "• Exit Node Enforced" - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale set --exit-node=$TSEXITNODE - fi - fi - echo - echo "ATTEMPT 1:" AUTHENTICATED SUCCESSFULLY - echo - echo "Tailnet: $TSMNetName" - echo "Hostname: $TSMHostname" - echo "IP: $TSMIP" - echo - echo "End: TAILSCALE SILENT AUTH SCRIPT" - echo "____________________________________________" - echo - exit 0 -else - echo - echo ATTEMPT"2:" NO AUTH... AUTHING WITH RESET... - sleep 2.5 - runAsUser osascript -e 'tell application "Tailscale"' -e 'activate' -e 'end tell' - if [[ -z "$HOOKHELPER" ]]; then - echo "• No Webhooks to Fire. Continuing..." - else - echo "• Cleaning up Existing Node in TS Admin Portal" - curl -s --request POST "$HOOKHELPER" -H "Content-Type: application/json; charset=UTF-8" -d '{"tailnet": "'"$TAILSCALENET"'", "apikey": "'"$TAILSCALEAPIKEY"'", "targetname": "'"$TSUSER"'"}' - curl -s --request POST "$HOOKHELPER" -H "Content-Type: application/json; charset=UTF-8" -d '{"tailnet": "'"$TAILSCALENET"'", "apikey": "'"$TAILSCALEAPIKEY"'", "targetname": "'"$OLDTSUSER"'"}' - fi - sleep 2.5 - curl -s https://raw.githubusercontent.com/PurpleComputing/Tailscale-scripts/main/Mac/logout-all.sh | bash - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale up --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - sleep 1.5 - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale login --authkey "$TAILSCALEAUTHKEY" --hostname "$TSUSER" - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale set --hostname "$TSUSER" - echo -fi - -if [ "$TSEXITNODE" == "N" ]; then - echo "• Exit Node NOT Enforced" -else - if [[ -z "$TSEXITNODE" ]]; then - echo "• Exit Node NOT Enforced" - else - echo "• Exit Node Enforced" - runAsUser /Applications/Tailscale.app/Contents/MacOS/Tailscale set --exit-node=$TSEXITNODE - fi -fi - -echo "End: TAILSCALE SILENT AUTH SCRIPT" -echo "____________________________________________" - - -exit 0