From 25f5e702c112484cebcc33c42ea51e0b3417d481 Mon Sep 17 00:00:00 2001 From: Purple Date: Wed, 5 Feb 2025 15:24:47 +0000 Subject: [PATCH] Update Repo --- .nova/Configuration.json | 4 + Mac/.DS_Store | Bin 0 -> 6148 bytes Mac/Archive.zip | Bin 0 -> 17204 bytes Mac/force-auth-EEPv1.sh | 145 ------------------- Mac/force-auth-fl-exitnode.sh | 147 -------------------- Mac/force-auth-fl-subnetexit.sh | 155 --------------------- Mac/force-auth-fl.sh | 181 ------------------------ Mac/force-auth-purpleinternal.sh | 146 ------------------- Mac/force-auth-test.sh | 146 ------------------- Mac/force-auth.sh | 142 ------------------- Mac/force-securevpr-test.sh | 39 ------ Mac/launch-connect-officewin.sh | 38 ----- Mac/launch-connect-vpr.sh | 37 ----- Mac/logout-all.sh | 31 ----- Mac/logout.sh | 26 ---- Mac/silent-auth.sh | 232 ------------------------------- 16 files changed, 4 insertions(+), 1465 deletions(-) create mode 100644 .nova/Configuration.json create mode 100644 Mac/.DS_Store create mode 100644 Mac/Archive.zip delete mode 100644 Mac/force-auth-EEPv1.sh delete mode 100644 Mac/force-auth-fl-exitnode.sh delete mode 100644 Mac/force-auth-fl-subnetexit.sh delete mode 100644 Mac/force-auth-fl.sh delete mode 100644 Mac/force-auth-purpleinternal.sh delete mode 100644 Mac/force-auth-test.sh delete mode 100644 Mac/force-auth.sh delete mode 100644 Mac/force-securevpr-test.sh delete mode 100644 Mac/launch-connect-officewin.sh delete mode 100644 Mac/launch-connect-vpr.sh delete mode 100644 Mac/logout-all.sh delete mode 100644 Mac/logout.sh delete mode 100644 Mac/silent-auth.sh 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 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0K(B3=IhC?IY|ZrVaGl7akB2keR)cu_?WwtBVD_gR7H+jj5%bi>Z^H zp$&txg_*c;(Xt`j(VxY8rb)LK99M|$q+7A<&PltwAlOq3_OXfy} zlamw3{k&BLM8()HD@_pI`Zx=sE1fe}swaI`=2C9TsiHwWWi71}?K^Ff&6#t4i}mA-2A$qmpgtA@8?D_{H(qer%$BsRB+n=5edLDY;2$v(A0v$TosRQc#Xxz|5|ATM_`U; z&qMB1(pEtdFarvqO|&anK3WQlyj9<2Q=Jy4gfN8l@J_jFSU5AS-}~eNPm{le;3`56 zP#2(wLiU9Iu0|PSkE;KB!WVpRARCJO(^ybgY5u|jHsI)#y^QQshq1@I_tiK+g>b}X zTv5gZR#w((Y2we|ySlj)%pZ$5L%Sotq0@Peu3#DVvQ{uCz)~c7TlWlJx6YqERUAjn zpGkrfcbkeuFIUe}4XvWm+wTfRsSCH83ndECV#j)<)v`tR_a5lxH=BQ;Q4o$zm;PFq zS5}?N42btW$jf#Ch~BzaXqh@!*(H23iv8f!-MfGZi!P}2IsFDbTatx~q3)Y5H>D<% zvhzns(h*IJ;x9B|qzFOTI}4xX2@A?{gJy(LPC#Ll?)t@`oF)WAJ8C~k3XnA_3Y4pq zf+)i%PS_eL*HQ>7vS#Bd+Y(_fW)Q{|6KePdG2k5(el@Kfv2T#pO;8ysSE3b#lK{pe zEm3SN0b@{h@vpI)-6e3XFahu;xy_gq7m~QN0}GLWAv)Qd8jJ+BQ&^>aPdP~eP^KQJ zFi{OeTVng&QoUNpe1D(pCC!_~Rls2muZ%E0@N*!F)u>jj$%T<` z_~>OL4AV#pc})YhxmNU8uR;&Zkw99<-qt}Yt@SUZ&5e7&<4y8Mp6t@9!^=I&-l=CV4`S(i>}Za%J& zp-JA8YTfd@O6A5A;7vIk#HC85Mk#;1uj~`kp(ayK89JP}pJb(I(bw_1*p291Twxh| zSE_bJcy+V;?UDKtX~C(XZn<|Zv4~!vdvc6$p!uS3Wz5<7_Sugz?Rw+5YA)mjQ&9#I z>ZHj;)c_m_Xc7qsNbw&lH~L%UwlQ?IGq#{Nwzso0HFlwQb8z~zWHbC$vKv)(tXG)O zd_VaPRAhePB*QSae-G;{*M{v>BoASHDpa2$I-U|uPT79feL)prJcRo(`VQ;VIPc=y zq*x;3CZ7xe?p5uUo`T~@%WP?dh2 z)ks^MfVyWi_eI0HdfddI)&Re4E%|bj^t$;Whznm0-)QD&=0n@C$aIZHsnB_0q5I4O z>iw|3!`hEehvR3b2kgz7Nk_aeVH!*b!r|t9Ol?uUeNSh7B(W6shP*KXn+3jvs}g`S z3oL@&!I*L3D`oD_wQ-oc}R|HL}8Sb zqP9f+iT%F(Hq zx1(@T$MB>ennUE0m#wC9ldeSJc^||Y3P3rGYANnft}`6*oguL3lT#jE?Y+Bm@RImA zT)W6SW%5}D$VG2HFyy9x6rKSKnFbt^Jk}YHr8eIT$IaxK>JVdbJ0A}B#sp_kh{_oY zZdDROx(p<`Cm|9*!8pwLGeuv|$4nJLfPji1{w+mO{w^+DOr2f+%uo8?^7D5|f%8*R z)cqzYLPg8|BPnwKloWGOd;Mbd9|0ykh5b8gd_xBWS9i2GK6K;W6;}=!fdpuDw3C~c zmq=#Le(#8x>h?eRfX_Km1lVpx)g7#WedOv4?77duPFZNXe>P==_q!ZFQGBnU?`JVQ zmMr3I{j#;7rjS0-`NGjWE^9H)bD?8iYUonklrs{r?7?*`k2lY7k`~i0*T&;)ZN6v0 zGgfU4I&Y(HC*rkvzBS+SP8JUY@AeyFRI`?q+Yb)tg(PvEj!7?0!MGRtaRs6tj#Gr( zEv3Zk5=+ES68Kr!fVt1a>BuYCJZ@{A5=@AA4=AO24naAdwokFH%*22w^AO8MK#wCc z{2cg3R^VA{00%MW227}GWb>|g7YxX@KI*tGH&#L&d)~DC!h+4d_5ru4V`3QHR@*zL z@6Kxt>Q!V2TF7N291kfe0Cn2;&SpV3gz$HLSC`&D@|Ejemo=Op1EM6u38Pgfru zWt4jZS0so|q+e<+NKgNmL2d3dJGeR};Lx++KF#{xZE9;gc&c{PNU7(Q z+WSaIpLPc-XAl`LExZyH#!x9mE(n|0I8cSe=LX8F^{L&G!7EE5KF%j(Dr1sjm?Stn zzo#_5k=_ZgIIu5S0 zu~LTg1;pvo@C?|3V`2~C-V01B?~ZLW)n2P=S{XR1WgV-5@zd(D+jrHwfnz&KaO7@N z)4=8G`j(zml_HB>K)6P4i@9N@2rYK5N8V?;$N`egU!p>pl2}2O%=XLFthz#mfn-;d zf?ksW$*YWIs+FCOx>;55PVQ<=?cIPdt%7mf}&hLQ{sp_;E-~!Z4!{yQc4j$?!{uX%;srHX<*t*xS)hLU*b3p7?A>mt`!NAHeYC6)JBqETH z$M0k=l+w^(_gfp1C`9nl4eN1{N`)_Ldj=8Gcsr~M?Gn3lpJ*PJu0UZhO46CtuEOHB z5#9U!Vw4pkE)ps3w1?3^@S`3m4})TzTuTO!!Kc6&P4Yg@o+1RXLsSwrN58L$2`-Z* z8use*z^+KFo_j(GV!w)DZ>xB?WS-pOaDd?b=8u+)o~+0^*-QQ*?~+tCv_{QeYLMQu zWP)=HMHj;dL|ytv$S!@Ho5mqd$ea+dPgovRT0HX1Irykc;n@-yp@0Xek3*?3gHPl7Hc1+X5%eTh+7m>w>`;qcHGDL~%9wh@GXXjC2#wA(d zh>rrP^W8gnyGlm@E_iB(4%r)Fs`;-q^4PW`@k(k0eH`sN(>ObWXBNG)lKbg{%0Ot3D2p{9n!-|byxfE4;C=GL z3S(r=y(#SDJ?lo-uc~@Q{8`Rrckt@{-W12}zbX!-zn62f|J5I!X;{DYhiEUlFOfR) z{yRiXnP8xyaKNR*E_8FLa1rup=rhJsH6TF8i%D^y2cmd63d5>>6X9+Hp15^XI!Knwtzug>2WoHaKS?f|}+_ zSsjb!_3poden=TRHa)Y;IbT@KRB~+2*c)tQP^&VxOLZAqTdQ*8o4&*_C|hiYUH7V7 zc-5oSgh#-+)V?u<8F78jU2CHJA$#tLT_sIBdzU> znrg}vQ=b*zR}LjoyObDp8fH>FMcDwJ!Jnn|T=(@+C8gj9uPQT_tYDZeyh!#$vI4Rwqr6W`w8~+AP9>Gf z2T2M-S!;!}#Tr)!bK!8D;^6`R-elGn%*?_no#dlUq}KDAL)#j?7ov29gv%E$|| zuY~?%%_}Nq2nDy_gKm9RpE_a-8u#%7Dt(lg998_JK^PQ3Lvthdz;V=BKOj=7K=j&Z zBR4{JBv%;D>VAmTiKAWG_fIFjCvm7f`s8i8G+SW@zZEQd+8n7-O#Kg5;tcC85&=tN0Ig@Uo?=J$uk zFB|RF9zrM98c>XgtiA%mDg7KDy5Z24A)UFi^5G0=k-Vp?V&^WSN?Xt_T+B6N4?_*7 z=#P7Kl48%ez}@*90L%(Qb80grGptJAmgW8 z#CGXBc)?Q9EuvWKIA}~l2si8zem1_*C=^su1szm|kw)PWEION6<^4U@-K{E%cW1QffZwvKx?>| z6s%xyU{HHBwQ?g2OBm{()nt%^i26|KvqOjYBra14KOReya2jNA~?9Vrd_0Kn3Iw-aw!dA~9?7;9f z+eUJ>S}8M41CVroVR00LJ1a^g*JQrsTau98nygyjLF{Ui-7&3kte@Ps*_X5@opq!> zOg4g1<>qZUxHPB|nJw(ElgyDRk!2xA|MCbs_mYa%*w`EGlq=4Q*{?rv#12sfFMVc- ztK)_W{lgtd2nP{js)*0XwqepNUjeTWajL3xwdQ7%)^$7f1(}N+39V!sctWQ(D*j?i z*$)bsf~sM&WNF*N=aV%d?8_NcP6111d9=ObR2>vHNn9>4#qRD4g_K1+{S`T0q<1ka zG;XQMAsPTD{FBd*ko!WtUHXlzp_#!X&WuP@xmZrKugRWG?F7Lf%WIfa`Zu_aG%e1; zL+THhj;RvLcHDc!g#qGBW!m)uFPqcN4u_kNVKfM~$TmK~^j}Gq!{U-p)zf5U@{*A@ zigvgBicEt2aB#F2-suceTP`bJ8`AhPM)LL7_W2p7^9BcTnkq{*RTBRYSlAj%Hs`gk zzgXGSpjrI^{PW@|EgvkVed{6Kq5oSS0sXVpwKunS{i}WWy}d0_mQz>}MB}aRHe!;D z7cpvFEswX#F4mMb+C_9M_gY%Y@)$5%{E8SNcw~R^wV2rI!%jnc?!*4X_|39q%Pxzq z@@zcou4TqR5}qmlNIYFBb*W|OM_p0RAJp;(Hx|r;XC|rq@uQX##q{vA90zFzYDGxt z;=RD)Eel?ff)reBBa>$EiXctvsUfm_-!d&>6=?N27%(VOc>>P-Dsv(IWH zu0S1S{!CUnfU2(b;DLb5CfjDKlg@Mp`6@O)NS-gFT1H^T^!!N@3}EOWVS%K+odCs} zOWN$Kl2Wh5BxQzn{UblU@k#HGALi`s4(q?d;ZkUq3Jja$R4&K!JyAs?T3$Ry-tugq z5SVa4tPM0UfI1OLoZaZ0OMe+ISSLh3rN?I7DLLL zPPunw1oyk_J<0FL?S2(ZN@ECnUU&|wuF9Rx`tYsBKI3RQ-F>~;psm!kx(To=Xs?LS zjvB^p^71)gCAgin$xS`Bsc5zBUB&Ul=vguWfUgV3LT-q-=hfh{#Urc4>%kAzfUlx) z;N)YNk0_qa-gh_@U9;NgkMHE${f-zsAl&MXwVOGeh(Cd2grzjw9yR3@G472a(> zWlL*tAo;O|06lb`8+2@tNfDFR9HP|t+hp>lH!YSj^?CyC)96ElyBL!bG!u!jF@H%; zIs9T{jC0Cos!0$GXEkiC_0~$( zcck#CNWG$elI;99k{tmV5)2v#DTUK(n<$KUriz_@F|M@bosk?i5`+IYl1UF&C&`}ugJe(hgfRMGQHi0ESfKSP1!%eI8frI0myWdZ zP+xgMz5K%1FG3l~?9OG9_~Wpwz(w*kBVuNUDtOrI<(bT~vl%OMVb)Rd*<9d${7yaf z43u*kGs0LIE{y{IQ!s)qu-yVMNbA`_IFwP6A4!oZtkGW|!LP|NNA<>Gkm-VWAyUy< z^cuq=Dt|I;HWlyhYGQ=Elbq}Kqb@1OrIBFLU@i?k$)p7|D-fc=jL+GPRC$GXp@)Am zY*eGJ8y=w4H)!B(q~c(cj~Y1M)f=leT8I~dB{1WW#1G_#r06yj08S45MKKfTdGuOV ze#}MY#~Z`eL{ti;{*7U8gP_nWBw;Nm;q~bc{A@S(s^gfpGLn-IxKO3KW(|#>W{%w) zDxZy9If?`0H$IaL9xhlW8=pp`a%AR<(H5-L6OH80LrZihXyS+)Z8Lal)`}Oe!i(j+b&kaydzT1>4>(Q3NK_|O`cO&9ARKS~JhNBgD%QqO!QLlO z1_xe@l<&XNUu+N)kZ;7vQT&ykrIM5|R}xRd*Np-H;PY4Gp9CA`jbMu;m!R*%N&v$p zC{oQS-(gULY*wwXwGuWkWm$aEtr5l5$yEU4qlx5`Z;qh$B<1+0%0-wbQKV|8jmE2f z9E4O1!zVtb2_bjNg~^rqT9b5(ki!mP`oR`^Mg9a@AyP2DKl7e@l$59Fh8^7a7}?lG z#eQ^_SD`DRY-%=cm|9CH;}1-2>>D2Q`i7~c3dn1UF@9lcNQ036DRN}bmUdx{@+ges zZFXNr8)5O`A`Pn9y3ZeyM%7G9m|$k}H3{YH=I|p)t-h9CrF2HF2~d9!=(?~vP1<32 zyssz?Nrc4p)Eut+l)-NtuwzeAAlO7WQn_&j={fG{GT2)!piQC0AboYDMj70sik{@w zkj*?8^Yx2M*_2J&q@Gq2b9LowaC+H>glqt1d204s7a5tlYZLM0D*Q@S=z}@+N?81C zf2Vfb`wIKB2!HR7<6?X36{G&OSH%2J5q35;c6Bm+L(}yC!2cRmZQuAb((7BxSe2RZ zlTUB7VeI3$!|uj#Vn;KFn$bq2(_+imwWYm2VIp^nJ_}qW;Y0SU)v|Tgo z?0^k-v;h{~;1*9hWRM{qL<>?_J-`J4OL%191_l86s??^le54?8^emsQqJ_Fg1+~bR z;Dg8G9cS-`G8pU7cn3jt^Wt?%U97SMT&3ZDd#~9kq7JTg^=OEZ4}q=d@8q9uHjr~#l3qHtL)ml3 zAq`!ii->|fa6*Dsgj%}0`84~3u5_^Ewh=ulHX!ST99W~b&AVsFsH23b+L;Pl>|6~V z`k1Xd1D2d<88U9LFsw{nD6)mNDAS7@SVThXyM(i1o^t$UAOwgQi$70$fydciN>ZzU zrBL6>H!D7G>#O+S6-$+Z9_{lp2f>Yar~`)SwRu0(w$b=p#EH^X0XV{eJ6u~0I3 zd`Ap#qLz7uMcX1aNNKk%Qmq00+xSxD`;1N5xOmVy^`T9Z{BE#k5(es8)zx|v4no9+ zEedKAyRBoI%vBUxmQ%%CbC%@=a2MZve-}@qJ-*lssFXlha)z=@_}YAF_S5uZ(n20o zjBnOU;gm@&PQn=?-51=;8rPiw$9q^;)>V5(iu%5q~7a|WMBR( z$;SOpI{&iC&1~qMU5)HaT}(YJ|I(ztBkeN{Tl*}@H<#RZAX(c9Z=h7lb%wf3QsReX7QVQYZu4CnzUbDZ6EZ_r)H0DzwWs~H7j29X|9yTvuIxXz8&^k%IL9a^(R;N zD*K7bj+I-d9V?Ofxbwh8yZN?_>Y(}Ua^RYJLN}!y1JZqo zH>2FCU19poC|_-W94jpqiZv+3-JFatl$R~4?C{ZSDRqTmUFqx@V z#xXX~K7_ajAIc3d)cM3m-m=aHw@ker4~x}Hvcn&arOA-WixMyd200qYbfY=EN3cjf z$px6^o>@=)z=5O-468EvUFUL}YCD%ogQJ;|&PSa4!%qehRlgG7M~3*uKq^@pIP0J~ zX*2iIkTHo;Ewl9*w`k-`>X~&5QXWYaOgD{LzF?|+71GI@qJPn})m2KV`;(BsvHT!X{U((8%>uuy1ov$?>>^cctbyUSJ63S)*|Y3XROxCH1y~(y8k$Rs z9Lfz9-utJ{u*+szGdftcCYB=%<2ywM1bI6~X@v4+9W7wV56}5ld3a`$2qoZ94}y?C zF0<%?PD%jc*jf`UA@~LaXibYoshTC4(5_i-pMYA8@+v4fA&c;-oY(Ac#c(rt zv*GJu9WN5F)IF*w9%c@jcfbN&d3Zln6)w4~VxsUe^&23eV#_bEj^+uUvns(LO88N% zqE@u0LbM4qK^hBQ5W{NJ;m89ci^)XIP)D_dG0hqnbBqTm0ieQqJ``{(dG|IKu)D-> z&&gDCNKHj024rhWk~AibZ+2IeDhC$`Co&EOD{>w;Ctm4aItQzXOY%lYAeUT!jB7x@ z%?04%`i`@5Efbi(A$j$n#$A;!XNS~RVlFN9FFPB#&bkUuQ!1C#k+bw;k9Dv~ zg28d!f=k?L@`&fNnmmUDkFQCbO6{S>Iizmob`=j-c*?g?R7BJ#d<~%`s)7$|6oZ4= z2ZKs2@ez`a9@ZQYj_rK9OqpX%lZaMX;inG(i~24uGlbsi;y*zG;50l00Gq*wWodJ` zd%LC#RtXiA-tBvzqkW|)-BF&V7Q?hCxV+5m?W=~7i$ak=xSC0;e1uI?72RP}MC6`d zrs7l!Z@8QdCw~Pk?HvNL|ZPn78&^ve*vtuGnIl%EUProUR&>_Px$> zIh-epU8^ki$I)!$lmc}x{=kbeqe^n`v)|+GcBYenfKPLzc=MX?Mz0w4SqLjg1EUeI z=;%D$R;>{y`jX9c=dh`?+Dkg_pc9Q`0=j)o0^B_ewVxZtFFQ#*UM?budR25)pc=DB=l)nwev z_Hm!;)Z*tc)h{+OlN0^CAo!t^U>w7}{tJ>gzzC%)%o8bQo2duV(F1d0-=85lyYnN` zcYuJjJuT16Q*!P_Fjq<=HKdU4h2*{O$7ccEwj-B|aA$)Y}Hf_SXcNWH9>c{0zcm9D3qeva?K{J_#i9u+w z&&VHWnB3cHFLc&AKSNKdF@a_t7bb7R|2?djJd0kXNzM{n3-uRF(mF_(QrWu;xy>`3 zNG?$`Fs|hodCMgT62cRR3My@al90v2H#HW4r2K{ZPt(8Zr|EyylekvQHyxT)9N!vJ zRkd}Ss+nM@<(WHT!ULXvV`Y#YM5)fd*&D7%&8e|%BugQRfO)6u56%v#1qDdd>U>ttcvT-V`9Zub&Wg&IN*s2dq(nrJ$$6^{84?vd%#;WsCV z30zNToqt(!2H?H~KKt=fFX33;kG} z3byaT0ZT|wTZyEC%5Wx7zwl;-xk+75Q0k4=MLFyOBr2GPH&% zgD}D2UDS{i zT9)$4=wpn!rRO}Jhgu~aq583vyZdt!_MZESp56O9pz6p-5m+$#bk#n`LHnGF*vRg$?|cSh#uq4GJLt6 zr-9?;fZe8=M}VQ8e_tJLA{*PbQ8hrgPUwz^@HP>`*(6t1hL$GzRe9qHLBgBESn&1M zmaxn9vH+>Lo0;*z%W$-V^JtY8bl&iyJB18uLkRI`s&&9$y&Yw|C zCS20sxN&s*XrK$>5cK+D;B2W8y;X4@^LJZ@L#cJ+*_xhRZgY9US&q~)>-N5>q3DAV z%Q$R=*=^UX1>dcWyM9uKid8P{;=8B zRKULP>Tkh;GT1v!xZ^*O*dr$Qbd3i-mT~qi2RU>)D^%=^fWDVq3Wi~m5)Ru=vkq*P zkvT)K8Fn|iN5I$L20&6l?sh8h}Mhw#L zLykjO3gY4OP<&AD^3$MH0q~H-D*zs!ub8A>HRcntL!s`WtPN%eOZ8pgDmx~JOUj87 zUZbFnOQF^-^>pFYP(DE=NP{;-+K>r^HMnBPZJuxbBpj;1fSj}gg%NT9+rv(~L9oCN z@##<~N+={7yEbf*0&+>i9>SnZ=pl&9L1f@ zZhggupbOy>6WSD%Gfa^ zaDk&9Xn|A{t4t)NPNmSkDrY9MPX%Q+;ZfL9^E zW$dpk;mI`1&P5e6)B^r{>})f)r0^5y@Kpon9CT5Vqc?- zc~DpH>?YbfB+WDlPJT@X^bsk_eo%V}Qj}+swv`~1t5_GHb$_x$i**+*n4CBZ^{!{` zpgf4N4dsouGG44d^+K{lP|?y#)@9&C){0^iY5EYy)ANuJ#%uVg*OhtrcJ_Hd;xBHqTZ?UwxfkTZyk$W!qYHPH489))~f|4g! z5)>jnjy{5JS{ox#={}E2?*72LCJO6$=bttYgC~xA8S%b=@8quB7SXKeOGf;sH|L5H zv35j5nEZit#BqYG!}wqW@9gmeZIclsJ5X_yHTwC$+%Qgj5T5?zEIyXPr7gu#r$%YL z?nVqxzchY;2@0hYqXsUJN&-z~z)@sZkFN@og}0tWaGy3elvIo|UMK?YHmQZWd#K@=WLR%{{W2}BQJ64Z!FXpI_q&qSQ}S{jlrBLPyzj>jt_~i;uD|Rl zZ*X^a-_7BA-K_YY=ooRcZRb2xv-ohHO54&V!FGOenqK29S6g7jb;W&CH4EpX^G#_w zQxvM5T&?&s_^$4G;&+Ne3p7u>4$5MD7ki5I9Q-F(1SEoU zAiW2U;VRmq2eVA9C8}|2j$^bj7Uwo+r2!jPcEn}H!gPdt_n!IaB|JK2VD3WDZ2X|f zv9jq|)zqZ5tkTXzi;gd5M)a^#*-ElrR_)`{*3neob4%EJqNAlmqvGC9n8bUA!~ zu6qLOJN#m{Y5wF)yc(e5Q66Fg^O?|pZ-tP`IqmUv@0;?2<;B=w=sK4>Nad@V&=CC& zHG)U91R6Vf6(W^p9v<(htSMCIk>(uXv~p{x)J-;cEP=x332;y0NfHOLwPf>SmN_8w8#c7tfcy*lD?OYaG_6G8c_~ib3%A8-n_2(>)Og z`b0ZQi6R$RKhYtYQn+*xQUeIEL?4lFo!tSLE^^)C9$IuuKCq3b8`Uo~%A>rR^-pLkNTnbE z$f8L}&~DktgPl$VfgFPH6RuTy zZ}7l~4Xz#jYOL`!7}0+X>%%5IC{8jTICu$EK79ggYc-qULbug?KM@L6;jkrMy+e7E zGC5m{UeDKIPn17>PHWp>YE&m)zDdo*eIEFCi3(!PMP5W`0 zCrGoImAJ>Vy7;3%o3s=PMFs^>pt1V6om^UHisp?`=&N^dGkS!w_Q`5s-v{mfB!^ti zM((q&;&0@z%u&Qd5*!^k?lT@6#7j1@mkaAJa#->QIh+?r-8}7O^^r<&J_&S@d&WTE z+@O9BtYypTXlwNR=C&GWais1; zX}*y|1D$4QY~o+!&?KdpP@j#F<}0DQtNq5dw%j!dB_j}*5y>q!Jf3|$G&qY|Qutb} z4wvYKt_8F0R~B?n<#*9~?9O{KlVD?64qIU!b+fTx$}*P_?v*ed%1)&|-wed z2t>C3P_BB&2+s(`M0~|Cw2MnGUxxeKlc8-KYsdB;?gz) z(`4L7$tuO99{5FXGcRX)E^UZ9OZ~b~ikip!UN09MV_A;dm8}h5d|Db!FwETEY$e`I&zW| zCepyU6!`=V_87Xp#Y!iw+{JbVa4R=WWKGAVcw}I%jxc?f;|>P9@tM)^{83{mL#FR- zfdTtU9}m6vI6J_U6fPS!mlblh&c|F_aUC9xi+Vkg_G$PbqM0mQ7Y8dTqAvXlfmNTY z?T&5|8WIM`URas?-L6ZVo(;R({4a>Equ3^3HME_ zVcb^Wc(%K=;y#x`f8i#VSHM@HI_X9KdeuwT_tG$HqNkSQdoeJ6BE&C4ErusLoYS^$ zLtC<8Q}J)Bqy|6Gy6}1gsf&08lPy9Mk7zD-X?DpW99 zB?_AY{l+Zg_ZXp!2-6^!!o~G zvR5Ry0cVh3vxT~%4PBahrU4=kI&P3lJAO|4O(v?Ix-41obF}mExcV};6L*`LM#nFB zk|8-%Ml{_tQpq&%U=)LoYxUO7U_QwE_9Y(HSiz~j6t4&b3Wq#1IMbI<@Sj5$WE zF)o4&$re-Zgbv4Je1y8DLS@=^AmTKOvxR`a9h?>_A+~-%=4tENk%GD&4XB(@G*X zv~-3I0aFANTW7=hW0$FQjg+vIG!khxiq*^yUDW5nJQ8k{sTNHtt8FN??L*?d!# z?d9Tu85cirsR0*npu3jE^B3O+6u?a|tkfsh%#Ff&^#YQs)X!%wxtE}DP|9MndZpb7 zelKZgSgdhaJ5{AraXY+E;@SLD0wfhC5T@l^=77k~xF_VM*+rHfvM}`y0t+frW&+rY zfRvf8c-h^pb2xg(XH8C@^)21E@=6+~Mhqd0lnfHt~LFVBJ}I4zaj*(T+C-2SNa(!R*P`LNAcXDR;Kqxrj@ zZ!qs8h%m$(G9ym3@;F<(uzzAY0LQdVv^F|FG%yZy-T2a1rf|BYcSOIEJ}>6oe>3Yh zbOYAy%>AjEn+HqZv2*8X@#&?=TZSi3bGt*ZRC*alp?X|66hY*ZMrvf7a&}W&R%Z_Z>R)zeR0(dyfBO_WZTl z2?g{Q=ls9ne&69h`CGX6Z%xQ=5BZ-l94Mf_W)}W$tl!6Sk^UBo4&iUH{@eli=R^KJ zvI+gSNF``*hy3qQ?>`^x_kknSzlE5^_}jz$chd8pPxkw`2j<^`Y2y7A?0-xw{d2(I z?K|AR1*9bWE8suOjQn%Z-%Xak2Q4T6|5D@cKHxvUir?Wn{NJ8bgX*tW@gKM5pI^uC zZ7ssz!ZgqT{eN8kpX2;4X|VqmCxG?;{^9=C694lFfBzr;`w1tweh>Le8T}px{LRb) R0)l`0T)a6Ci~>J@`+q3i7a#xt literal 0 HcmV?d00001 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