From fe9973f831cf6c7983f6975a04830e0510e975ef Mon Sep 17 00:00:00 2001 From: marcus hinz Date: Sun, 21 Jun 2026 11:26:57 +0200 Subject: [PATCH] protocol --- __pycache__/wuerth_vpncpython-314.pyc | Bin 0 -> 30288 bytes openconnect protocol anyconnect.txt | 23 ++++++++++++ wuerth_vpn | 48 +++++++++++++++----------- 3 files changed, 50 insertions(+), 21 deletions(-) create mode 100644 __pycache__/wuerth_vpncpython-314.pyc create mode 100644 openconnect protocol anyconnect.txt diff --git a/__pycache__/wuerth_vpncpython-314.pyc b/__pycache__/wuerth_vpncpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3c94dbaffe0cace6c5b5cfc2e32e110f60c94aa GIT binary patch literal 30288 zcmchA3vg3edgj&3zLu{fzu(xx#s*_-j4@yy%^TWugHg+FGd*MQ$d<4*2uXc)-GJv2 zXDYifL)QQUv$!*z#Jxq*W|K{r-PuiVWw(;9OeNW^WY=nomivxVLndUWQkC7J8(1d2 zRa^W0=juKrUmM6|a=_=F_v1hRIp;tB|DU5ax68@F)XeSp%9SG=_c!EGjU(fDwB5>a z0d9)(H&k-c_D)XX{G4Pt!}%@8tdf;|ZIX?B?UEf|>oG@fo|My(@<%zmt}SC9neb{uo{x+Qn7NAmO*NkzTIQgLsIRMJ~2mG+iNWxeH6d2fYO(OW51 z_Et$%z1326Z;e#b!1?o}T7SM&=jWw0{sO7q@01$+mW1~-YCUH`yd|*~ZVPi4R&su! zl8Y2cjeZy0ZsuR+e`RjYWz;Qv5n|{*Xj{v5XQHI8(_OwXJ)P=O<56C_Z(I%4 zzi8=Z-#Oi{y3~AnZGKA=`q#v@dMADjshp=KLZUS89rX2ie=>E$>$~)twB36?FnY4z zI~oaxqLR}edUGNyh7!BH@o;>rHylk!fk-5ivb}vo3_CzE+8uFfviQYs!5|+HuL^K+Tgrj4q@1{2zLuJv4K*TG?CL{`thC;zm zu*2EcYLWSqaVZ>&1|qFCIsdhRaa0wAJN`myhSd2Z6I_}Iy50B zVq&XH7G66LM}4CKDgcou0^#VXa5NaZfC5g1gJU5Hp@Row7mo)np=x+~bx+=F#{(mw zh+Od6@o+SBBp9Z6-$Y{k;DjWhyaHAk3(tG)s2DgOLVSOCGUSV)&P%BMSTsH%9S#Q~ zu`xuQ2qhAL3o4i_iNwx@J1&H!u}Ewr5b21bA$#qhIuJik)#p|o3kIY>bZlpC_}Rp=kifV& z8JZXig`;A4bR4KM_RK27KUc4pgDMxE%Tuffl;ueSaiw|7W8z}$;wAJSFwlo71F4=D zg3Ge9M`?M=EKwXSfAsfg7py66kUL}T`4ud62&>~>vy5B(7JY>q0zN5bQ;q84xXoBD z?pXhh;^aIrBu$9XJ64f-Z3#)l+{?rCJ|B=0RB5B^RC+Xw*)I#j!+~ftCIzI>@UU2q z_%8e+&!B+ecMm5fg0W$YGaG%8296b^ zz(Y`D85V3oBx{9=1=aKR>g7;*VJr~WQ?0GAR_p&h#2ZGxiiW-FW8qAX=Ipi%TPCa%wqcF1igQCM(TrK-qtbGW zN-FsZaw6bWMBJ zFE_*pdrFnZ1?`lMQk}4eIVA=9CQvLHAEAAYS<7{RkUwcLq$_rqq;CJDe;vQP<4%d>a_~!bnr{6w36Id#(xc26)x30f+r*G<@$xv4Nq;HyY}kotEazp`u{#CEPKpZ9Ij7z;h_!R&mZR59c4@IsyRY3V-Lc^5 zndf_cwxpC>CVNV$+_KLT2hhN8RvxJ5-dTU3(D5PXg!99~!UMGhA6D4OU27w|zVN^% z+lOryvO5nn9V+Agq^$5zlkHC$EwHn8N1&@R4Le!iSKl4|R()!2w&KiTQ+7%lASqU( z04x{ED2~Kppy5~EHT#h`L7NNhn!Kg_Q?lOee@LI(1I(u{Y)Hn8wq*PoyllzHL||HF zriK;(2hNO`H2PE-QYLRf}5aJ1DS(vXS=$s$TaJVe%hSODcKa$eZ7RJuk%y~hrl z$2o0#$a6*Yv!zMTx_N$`ig)F*r;PBf{PTndrGB$#H}{8y2b{JK3oNj+u!x|~7V~wi z`qiru+_8wSBK>N3at85+{k4lW)~=gD_F2BC(2l^G;b+azcNBG9!>&Q`%nWe5 zE$ZqX#QIDtnHjRENRy$`fb+Cou$D8hqxm#YY}d{Vk$}<3obWP}R9mxMkkHWqG&k$VcYUG^_v@uuO5M!4(2$$a*Fy z*($i0<+L3f1BcpFDUbQ{5t5k~67Mee{j50PrULqudFqZ8TaL9Q$pnz(W9pkZt zl#uf?bRuRFO)c3T2`40Yh?JLI!^5Ky95RC8QE7OXO|Zr(owS!Lw7zv1Pdwwun;;VG zXS8tTI~qPE>z%|y`rJ9hKHpb-A1c12Zy@>l7w-AqU~$Rd7|WpyGA(GTA&B9Re-wd( zpr$WR{rQ93mx0?V7B_IGilUi;<+xMcsD{(0I-@GGaHsZ1kw-D7d{J$QJN4zLRP8^25X7Xc#aN2a#7iMHX0TocIP=UnJ{Gu#mx?2u04Wo=PsrfEggBb+bh= z89)aRB9|Bet<=nbya|y2@)Ga5oS)>YQhd!~Mcvzl8LQ^)f{d&7ZRcWT{kH`Lq88+$ zKQh{)=Kwx3fZqm8i^@KM^MjS^C6 zBfJM5niW2LbB#|MOFd@LqE2kETGi7cNSnM21!NDM4@-Bf;s~;cW3ZI{B6EDS5y#4< zLm6JJ;ZxiqFI+9WT$tvo0OXmnkNJ8XkZKDufK*U(rH1=C#&HEPT1Q4uKJ#IHme z4L#M0j3~}{npQbKvyS#*-6ezser7`C!r@>zk?~*=rrsNmPBw8OYV0?>5+!MZg?<-$ zuI|3Pd!{v2*t94VT|II6#J5l07mCtCT~es~STF$tQSRs#|L7w$+&Dj1CO(MJ7}92B zhXb9~<{?VU7{8s6T{WxG?E0GE)6N`fKAaF7J2GG=mc2jU=hEX;7g}I)0#WhH*p9db zX-&={aqFPf?9Ack)l$@5bqsB+26- zgO)*ShdXXV4q{B?7=MX*Ndo6D9kjqM8??eM@5)!(h`nAb!$<6%9J7`iv>8$mshVS+ zJGL$-BfJnvRP4y0f80K3_Yos4$N1Lf1i*`4n&1z5W=Blp^7ItbWnT@Wba<@List2| z>Jxc|JSqYhvg&z;HmJcq&83DA(XOV9JI-+NydmOGa)8teJb;Nfng`VH_=L18EehnhOIj0VC7I&b9|ADvZljK9*qMkNNZI@DtUw)@cE zT%%SQ0>hOpvkao(}Yjxfo7M1tz1^DRvTCR@Cd{J12=6T3EVp0u@} z>lX>2ljZI0;8aMl(OBdqUDPv~*WON4>SQsZiMt(ak3pCw1;f!vCxXJkc49_M7Phy8 z`92zI55|MCrE`*RZ%>SZ86r)#t@9d=d|uO95K5JJCkx?H@_E-!TGx9gtxjjF9Yh{g z$hb2g9$1&;{E>;X35dD|{*Fi|IUn4bNMJNXVgPV(Vq#)acsV9{Au*hYNQqrUV8Gnp zCl?%21X`hB-_c2T#^XI3KsO-O8wj5dp^mX%dxy-OeXaG%Syx16@g=f|jzk@hi-A>i zh&=YM#2_hRL?#iQVC6^wQA$9#Hm(q%5ejwq7~{z9JLWqg=k*U9KKc59_zf0wK@3YF zMykq=vk}PmWXEVEmI%pq3C)phkx*3pC8QMhl69En8I6H50AwPeP+YbLW6_ZK6^gLO zW06R!lMxoO3*$b_M4!U}ag340vTgJ{hA2)zMJr_?1EJwW2y87rbTJNLA0Xiv9iNDv zQwTG{^cJsbl=DWMDl?M78JcDi;fakPzK9Agx$6Fwd(l;TZD6K*w(RzWd13QnY2~dw z*Z0h>yI0zhF6l^?bS#u~YA5?A`St?mLxHPqo=v=e@x6<8?SJ6>zH?#y?t4|cr(O4p z%Wu_Qubs|Y^pvMP-lWGnTa)%|`pC0svAkin7x(xIMjD!=A}geBvRS6;H~iW z@S@PLC{(?>eo?5N*}5oH%(xbXl840wjEhjg6}YbQm-+e9y&p(_bm>1``rzE3*UrB_ zGCwdnKN^}p8<`KCpFjWRe6g6~6Ay$65L+J!b&G;$sif}K=Ifi$_*?s~?_+&fmn>bk zSXTbHFwf`PYc zTc|jY;twwJ1#0TIJz1UyMP;`NzEg0caN4n0Sv4&XcTc)Cd42N6zG?oxy99OK>b>53 z>%{dFvrP+SEz?JS>?vEUth@EK>tCDOdF^WpmD{e_7f}d*ou4VY>0T_Vd*Ata&XsN%k-=;~XS-@0<~ zBTtht!Nh#a_Egahq)9 zb|>aHBU*nCWGIMM^>Czbvz9@P4Kmi5S@bhxB=Twotno}VuS&#>eVL^Y zwDzprbHVQ#(n#MI>+cF<;MQS}6wi+%o@^ZX$H6FW_ZJP=C#<`z1gjvh42O?m=6;3T zCm_5zadd^2m*_1wjQYy3EAW^8{8-~JTh`w4=WK7q3%9rO=WnlJTucr`m`@s6-2hyD z^#VJvJUQ*?+MC*t*$RcutQA^^#B-a757#USdE~1>ot7P?&#Yn5~zy;v~@kAJRI>QVFaW#V= zIX@H$#1o-lg3h3f9#KdUVhqXUI8aZY+K_s*BE zPYD~ybL{f5t9_UIX12{XriA8Cgp&JaM9OsjeXyMvq0l_Y>TJU1vA}_X$?W4x?vktFZ-uX%n>ljNy>|BCJ$K7eY0GRPUE20h zY1>j!%`NwL+>7P4GXoHRl>P37`LZ30HEWk@o71)J$=Y^MO2s7)om3$9^!e(IsiL;* zoi>^(+D1EVMa`}7cfvQ$%^tZ|(K`L|A_RG-KK3-uB+{Nn%E7XCVuR1BbNk$m9~}C? z_V0V=%U&|8x2W{zF6FV4a}_fxAaV61!M5OX!BzKV_qB=n`mT@pt&A>c%~P1Q8hNdt z)E6+YjADj3<~QJOEhZjt6e@7T!?JUD_&d9R+&>dt3 z;svX7lnT)}v-|fe=sQ56WCih;pn35RzY2W)#8o+CyD~g=lpOY%(FIrI)ZwRgaO|HD z+x}?@*tHLdXZsoCwhf;N`y6YY9<;VQx8xwhte2IZwmE*CqK`EcaYE^p(BP&5*2 z+ynxq zg>X?Ee0Qs(qT<(%WzFruV0U#Rc-cTJ0T)8yv2h7V(b>tmr7PJQ8@X#d2Dx1Z5sZ^2 zxN~Hrr;DM%3OVCAW@GDOC}hkz(zA1Cw}L<`OO3@B-sX#co*iRE^; zzM`=bzwV@6Ml-gI>(M+M*;07FMUlema&^hhr0qtTy2D?=!XR0PoE?&NCVS6gVUVyR zjAyd|y=bkl;T zdltBp;ikJ5lE+^z6+xO`%%u4x5Uf|pPFejzz5ccO8`fBsF>Zw(id0Bccy)Dbf zo=Lq-#?^0-&<&c`Y8(TbuT5=@{#BuY5zwKbNhbk~3NL#Nz|Z`U8TvL)E>kggAP+Xbn4|AuuL2Ac-~;1&kW0o&bZIu&wyolrdVbu-;aeS zo)WThRo76L>hkSZ zUHaE|PF^WtiZ`@-m=R zbwdlyamBa?SWRozR$x<@77i9ZW4{_!yYJT+yjT|@mQf7G_RFeU|C-LxN<(kVa}jee z$M`}y0q~;Ev&%#E(uedmYwTaNSw$quKfXM_X`8F{Qdh|J{B0(lX^wej>F0AYzzgve zXkjwIwnEb}H-+wVuPO+0+>cKq2@ylY{5HD{z+lH}$Ki7)x34k>h$maJD8%wqmKXVk# z(hN0=jv9|XfMqIew(1J_`h5(j_1Vmhj9D^go0)t$Yg@6J9VU$gHV{HP0%~pM^urmU z3;=EszmHgmPw0Fik|b4jB|=iabSV<*9}nSvH+heSFNT7+crK001>l4#SI|ktCcdZ?)hoiJ?x|eabCk1*cK)r7}=^_;<&C67ACdRZDhyhr#8$+kO z8!&)NVj)>Lb*%63$y37v#|Dl=n+VKBu&%`)P*O+#z#9m2s+?8QY8r+n5__~@7}t|= z^8uGtafyxi;J8l!MI(_AjNym!s6ij#A{U{~LwI^Y3`7((5sCL8mryXc<%mg~fL0M+ zVt~dI5Dlzj6lg#{`*1KOiT{x@Ie}~a5^imejza^QWq8AVZHS%@D$_1o2rbN&cYnB4Zr6Z%`u@iK! zj@Mo4pt3IbNLy??7J=A;c-XRbXO)T&>FSW|WE}cTttb;&!cmskrM98>WdA@v8yz;W zdKnv87TEh09j^gSVo3au`t={EKmmmuh~TM+^8lXg(ws*lfian9-ho(LbW?^OQigmy zeldCuw{c?RbH+4wx%j6P;6i`_*=Q7wM49YC{4)|%3`3s4Ivg&g1pQ_ z5xBA#4={XS_kQRub4W5E5QYqXW!RWdtktDRY45U9BFftpw(+0{Wwnur`0ps#IvNp4 z{>lI#7bw7_#UtaS;m@b}f-oi;OVHr!dS+g)@y11|$%@lL%ga41Qa{VSa={B}zBb9% zzI!~yw`T4NTst&Vn&Q{Mm*#7de9gPtQvBNcH4W2ts9IIl;v=Y^`le}nim!d(skm}! z+OFl8*`DGXnQu*!Uo#U-@l6kk>t+TPiW{Mk#=Fz}+9bbrwh;Zh%Xyfe+S-j68#O!4gqV@*bn zt3R{n7nDCP;p&=ipINBwX6;z2U3YtEp|%S>c0Z`}-uNm5HM%Zb#!z^Zy!Uo>dhOQa z+O6redy;GSr1+NzFf4X`l3zcEj_r6**ZjR#skmy^ErLUuZ%*>fx5Md{o@7f;y5&H! zMbV){sY?8&B)@5H809^vY5HCps)bISaMg3!qhy^OOYt3A$hsuI?)K>vzf}t%sLev> zZ=)8nG0AV7Z=-R#k4~e7*WZ}AI9HZ#-I;9Nxlq0<#qTC)C=ru$-M_#0&feVMZ_G)* z|Ft_`TPRmLs;2&>yY_VFfn?`_g>owYZ-HB74M39u!j~O4PEG?`inB2#8)~im!W6+cJA;p>~TIg3W#%x)1=Bf=$ZEruhv?egpI!8}2lqEf4Bj z=Qb_W@1X3pEGacC&9^4`*7=PJ_>f--Y)bM?X}&GVx6K_+Z`zyOv^T}?Gh|}JGXVs= zPYq<#Y+br$W3pyrif?0$R>RtpHSKJuRZOqM)L)K@jY+<7b|=GV19Hv+6aZT$gwovJ zoo?EeY}%G?+LvtF_ru!sf&S!y{`7&<$pgTjGi=r?_mW8A6S*H0R$krvt-a7RNec~0 zp<&hzEfeOWTRSsfnrlr#SwvMz+4Zro`_p_*SnW{|FBZyY-3=4z{QK-XVRB{G!m2-$ za*Gz%GL(VE^(kj_?E91~x+jK@qOzGwM1zp#AMwaHMdxQ^%{68htn@oGX17Fqnk+;w zOF#9jP>TtNK8sxbXK9;$=Pgg!jh*KqJyu?Z67$d-*>wT|CqbDiuS406M1!&i{4!@6T8SxaR76u+EIwMWP;5CRk8sZ;b3+;Vm96xHSh zL-;>J8qCs~CWS234g!nr^7nUM58rK_FW)o2r*B?3`PgQ~rIFgv34OvSx*MBBo5^(IrS^zS?M4- zW}I0yk>P8O>xLDAO4n8vpUG;0yTHm*GTKUDb}!mzGEY@G`vsu1STbl;SD4@y)?U4z zt>hmnSDXDDTj#SFndp_WZHhEKCQFZi&m=O|n9A$hMbni{!!e`~_mS01Rslv;q~6H+ zcvX{aro>MWe@xbWvPfy-PG)c20Jm(7ol~|}mBZ;8Mpo?^Ke@^{gN-o^`({uCCNNZ( zhb|ALUG+&<{esJzcC{p3Eeoy<)7Bpsx)w{zr;j~wm0fv5@q)-de))J>@FoTCY)ML3 zrz9v|lP+%lsF)4~i$cw!uy#o(PYd-)p*}6FPYUZF6*x+qm-D8rPX$hJ-)dYEO0OM! z`&BwKm=yQdo>CqAX?BwNXPcQn%$k`MG&5nn*L$b`w@xsp-ZrIW^Z;3AX8zz8Ju@*E zfU(-F%)(fjQ5t@l&g<3Y>$A=rRJt}x&F+M2^Htk<&E}@rMXeW{ujaisKNCGiuQK!X zk1>Y0Y{KSi7B`+vShi*A6PBPWVl^?$TCtesZ_bP@AzUKN)npJQY=%+=`ZQgWJ595q z89u&`GT2;I=4sm1lyo&MxSG?hwxp|V!PU;D=aNu0gGpJJnYGnd&Zx6CEv!ijYtlk< zQfQtXNeQhc^R{+Tz{GsUyvn-rd&O^+`T)G2A^)U}_Ty7pV% zIs9JfuOFim*M7_LNvx6O|C7Obg`+tQW{y#(+G^XYnG{XUM_XzU_quh$+QCg&k8Z>h zH;t>6wLVk-7}`?Dy;=jYvvsxfeb!g8a};p(C_Rod-2`srkt@uJYf)6Ioza4Fp%l|k z?QB~*Lb1wz1Nj=g>_@LT;gf~YPKMEpJ1&>!VloS6<8d5?0fTX0$8+72E^12_wJj92 zr;D~Gi?%KlZA%yJPZsT8C^|Up_@uRC!L#p9`E1!AZ2bPlKiG6rxMsiQyzcy0!kzM@ zXWu-(?;k$$>|?LG{bA*S4*Q3dWw5gpXNl>8M)Hro1`^;GKq{FZs{WC-3pZMx zF&ci*^D8C`nHEpakkG=DW3+hO(N%FK2(bxBHk~9wz3|)A_%RSejHDw0QjW=15T<2w z(EeQcY(~Xmme28A`Ruv*40kDw3Y;YSW@gZ+q-y%ejoAYty2>s)?wa)+&-xe?95_>j z4*pchscmQh5d$!I?t}Oz1(TI0!ij_?AQkZ}dsM=M<_QQ>mCFi!ljUlXtc_=~s4vC@ zzzJ_KbQbe2cyxk>`H&*SMUg+5`fZe=Tr*)JHi)&@S#J!<6w;EN`pRf)sv@g_tj82f z#H2_lq8}D<;fuYgkP))t=Gq9wlU|wf4g?XM%JsD`!j+(&D&j7MvGe!vXDtD`yzf5h zO?-xUECI#k>EgA?;KesJMq{^jL6jkY@dF#`x@FQAia)Y+>)m#D1w z^cWd?Bnm5At})vMFo!awGwjaK%|psoep?oHo2*5CJ7z!rb&%eMj^Peqcpg(+Ir@ai zK3$VQ!A`LWb<0j&#@h$321CR@MQVjZ!LV^1(y82tFCj|dMksn4;{QTG)>$S?Z2UR0 zCSFGppq2qC(j{BwOSa63BmmN6GMdbVg^`eBzPfD=qN5%9$nBXcne*Q*x$FO+@?-vh zGI~a+X`^?R?JYwY=;}vgsNrd0Lqt_DgVmw?)SwDGq|tT@jDH5AYFhf59-vLxgIVKi zh85Z|TQA>izgVFi+VNY@omHb*+qENro@a#`&5rLG=rMdXE4@rFRduaUx_0G2O@~qX zrz_nI*2L1uFgid9d#NP48_=@tZLh74dmp zlCMkiim2!Pq4$Q;&D)aA(0kafrO-vKvxndBeXrLj{ZxeLnUdSz%VHO1#i7=8ZVovW8Uz#i#n(6=n@UY^9hhFMgbD>S>^om%CDGUxqB7GJm;ClNzl~JG;Rle z@c`C)>mJhQ`=!jMtX0~&g2FRxX3GDZm+%ge-NQ-UX6 z9<=(c>>bM0@?`BYC)y1(=qkBTvR&VsPLQg;S$iBgI~esl$7uap$NHsF#A7%=;l+|X ztjOBjL@mY@KT}e7=8HL*4>n)sua#%2ag0qb&LRmYGDUY&Yy_~C&9M)MEaIsvq}M#T zz70zilo4KtTVQ1i%GwbkXXy=PrY=Kc*9@~*NOcgoeG zQ8+Va=H9p`?D(Fg<@n_ax0-LNFH1bFXdG?rMDr)@s4o+xeh4eNZ{Vo7p4J;8 z&BYC5{RS#;EmCBNez;{k^i972Arf3<{>_OHG<@-MUG9GT096p$=b4}Hvb_P0khL!+ z=N$?}@kofA2h~v07-bYbTjk8id^;mHWJl;N(jvuAPbA_BfkCUbuC484n!QI@A|qc( z4<`9}q76OB@Re?Pu6b@Bf4}cv_bm#=Bv^R6kB)I3ys_6r55AFbqH<9a=@9(!C+=ZcDn`p4cp|O;C1J!!{?~o1ZwWuFl7JnXk&2@sWowa!%VH zmT^MS&E4tJ_GD>$y0kl4+MOzdK9t@BJbSFicP2|aQ-z(z`1^))%XI#a>6EHxzF*&% z(KmAuW%9OLTk;jf$XU`MV`0yIp21s3e+gJC0%JB#q{N|6mPAx4ECDule@5QFA&beZ z7U;DU8l|A`z4# z?Rw%qvhGmWzai^)$ogGa>|CfmJo9@LN)}z5PbA=A56?WY#w?CKPe*Lf^Lj|iUQeB* zbMqO~xOvJ$HRB=aXFRQel=UHrTAy}6!1Iu#JWo4`H%z)Y`z@dGRgPZEXWe$kLCa%- z$Llm@Ahj61_0-#dz|T0c8PUaBK@a$xhlVvC(m{JPkuqU5(JYT{!lKPE_ou@)<6&ar zZYze~I}I`}oc^mHx{8@mZgRolC4wuizREOgok!d zao3dV;X1CdWy-U_H7|PCO}Q7ibx-o}!*x%1{CwLJCw|3@Tvbm5{EpR=I{YfllM4Lu z$YbHK)zW<}|1n43hd%qZ0{fKXv1l2vTMk;T)jsB!<00OiunW_ZDO>fA?C!sIR$NQm zx_JHKg3~*7XwjaZw$~)>H8Xos_6@pkcgnv06Tak%Fm+(j?)cTCzkKvpdhgrwf3^3U Zz0>_yzi{~rSHAeMz3S6aF7q3A{~w3nlllMv literal 0 HcmV?d00001 diff --git a/openconnect protocol anyconnect.txt b/openconnect protocol anyconnect.txt new file mode 100644 index 0000000..640007d --- /dev/null +++ b/openconnect protocol anyconnect.txt @@ -0,0 +1,23 @@ + openconnect --protocol=anyconnect --user ex08802409 --script 'vpn-slice gitops.apps.ocp-dev01.wgn.wuerth.com console-openshift-console.apps.ocp-dev01.wgn.wuerth.com oauth-openshift.apps.ocp-dev01.wgn.wuerth.com apm-dev.wgn.wuerth.com odatang9.wgn.wuerth.com fs.wgn.wuerth.com fahrzeugeinrichtung.apps.ocp-dev01.wgn.wuerth.com api.ocp-dev01.wgn.wuerth.com console-openshift-console.apps.ocp-01.wgn.wuerth.com gitops.apps.ocp-01.wgn.wuerth.com oauth-openshift.apps.ocp-01.wgn.wuerth.com api.ocp-01.wgn.wuerth.com proxy.wgs.wuerth.com odatang8.wgn.wuerth.com fahrzeugeinrichtung.apps.ocp-01.wgn.wuerth.com' https://loki.witglobal.net + +[sudo] password for marcuh: POST https://loki.witglobal.net/ +Connected to 185.101.5.240:443 +SSL negotiation with loki.witglobal.net +Connected to HTTPS on loki.witglobal.net with ciphersuite (TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM) +Got HTTP response: HTTP/1.1 404 Not Found +Unexpected 404 result from server +GET https://loki.witglobal.net/ +Connected to 185.101.5.240:443 +SSL negotiation with loki.witglobal.net +Connected to HTTPS on loki.witglobal.net with ciphersuite (TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM) +Got HTTP response: HTTP/1.0 302 Object Moved +GET https://loki.witglobal.net/+webvpn+/index.html +SSL negotiation with loki.witglobal.net +Connected to HTTPS on loki.witglobal.net with ciphersuite (TLS1.3)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-128-GCM) +Please enter your username and password. +POST https://loki.witglobal.net/+webvpn+/index.html +Login failed. +Please enter your username and password. +Password: +fgets (stdin): Inappropriate ioctl for device + diff --git a/wuerth_vpn b/wuerth_vpn index 25ab4ab..b960c95 100755 --- a/wuerth_vpn +++ b/wuerth_vpn @@ -132,27 +132,31 @@ class VpnWorker(QObject): if not server.startswith("https://"): server = "https://" + server - cmd_str = ( - f"printf '%s\\n%s\\n' '{self.sudo_pw}' '{self.vpn_pw}'" - f" | sudo -kS openconnect" - f" --protocol=anyconnect" - f" --user {self.user}" - f" --passwd-on-stdin" - f" --pid-file {PIDFILE}" - f" --force-dpd 0" - f" --script '{vpn_slice_arg}'" - f" {server}" - ) + cmd = [ + "sudo", "-kS", "openconnect", + "--protocol=anyconnect", + "--user", self.user, + "--passwd-on-stdin", + "--pid-file", PIDFILE, + "--force-dpd", "0", + "--script", vpn_slice_arg, + server, + ] self.log(f"$ openconnect --protocol=anyconnect --user {self.user} --script '{vpn_slice_arg}' {server}\n\n") p = subprocess.Popen( - cmd_str, - shell=True, + cmd, + stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=0, ) + # wie die funktionierende printf-Pipe: sudo liest Zeile 1, openconnect + # Zeile 2 (--passwd-on-stdin); stdin schließen, damit openconnect EOF sieht + p.stdin.write(f"{self.sudo_pw}\n{self.vpn_pw}\n".encode()) + p.stdin.flush() + p.stdin.close() start = time.time() results_seen = 0 @@ -187,10 +191,12 @@ class VpnWorker(QObject): self.done.emit(False, "") return + sudo_in = (self.sudo_pw + "\n").encode() + self.log(f"Sending SIGINT to pid {pid}...\n") subprocess.run( - f"echo '{self.sudo_pw}' | sudo -S kill -INT {pid}", - shell=True, + ["sudo", "-S", "kill", "-INT", str(pid)], + input=sudo_in, stderr=subprocess.DEVNULL, ) @@ -198,8 +204,8 @@ class VpnWorker(QObject): while time.time() - start < 12: if not _pid_is_openconnect(pid): subprocess.run( - f"echo '{self.sudo_pw}' | sudo -S rm -f {PIDFILE}", - shell=True, + ["sudo", "-S", "rm", "-f", PIDFILE], + input=sudo_in, stderr=subprocess.DEVNULL, ) self.log("Disconnected.\n") @@ -210,15 +216,15 @@ class VpnWorker(QObject): if 3.0 < elapsed < 3.5: self.log("Escalating: SIGTERM\n") subprocess.run( - f"echo '{self.sudo_pw}' | sudo -S kill -TERM {pid}", - shell=True, + ["sudo", "-S", "kill", "-TERM", str(pid)], + input=sudo_in, stderr=subprocess.DEVNULL, ) if 8.0 < elapsed < 8.5: self.log("Escalating: SIGKILL\n") subprocess.run( - f"echo '{self.sudo_pw}' | sudo -S kill -KILL {pid}", - shell=True, + ["sudo", "-S", "kill", "-KILL", str(pid)], + input=sudo_in, stderr=subprocess.DEVNULL, ) time.sleep(0.2)