From f39f25666afa6adef70ba89fa9ea2173dc2dc066 Mon Sep 17 00:00:00 2001 From: bol-van Date: Wed, 1 May 2024 13:55:11 +0300 Subject: [PATCH] winws: fix windivert init race condition --- binaries/win64/winws.exe | Bin 166912 -> 167424 bytes binaries/win64/zapret-winws/preset_russia.cmd | 1 - .../preset_russia_autohostlist.cmd | 1 - binaries/win64/zapret-winws/winws.exe | Bin 166912 -> 167424 bytes nfq/darkmagic.c | 18 ++++++++++++++---- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/binaries/win64/winws.exe b/binaries/win64/winws.exe index 88b9446ffd60e5f034b1f86cd644e41049b6010b..a4466e63fc20b9eb9fa3d1ee300e3e80beabf68b 100644 GIT binary patch delta 19489 zcmeHvdt6P~`~P0MP7*mqrwgS+Cqhw(22msgn* z_9kPUOU4G5yxjWz8@3+LDSuD6mV7OqZ^j)X9Jh4kmUevk;FZ@q@Y>qclk{^6jd9>k z@hcnEuh}wv+?;e&%B3qwA99M`Cgm>L+Q^7<;J7;UTfPNZM1SF%l4TYr2SSF$Z6%x- z^#$SL!b-y~hMg7%RO6GX@x%V+^;su^Y%HBu?JvQs+W7 zWFDpJzr0(oAe_EDCWZA!Z|XTmpL06hRrFm!x41PWGwB((PBooY5-!2`RNPC|?vuT` zF8^;8g6U?rAd*E(+&k6u%#-C0Q@eW`veeS1t|RfzS@z$mr7olHjeT4$m7;OuH8Eis zol$Rw`&AQUP2IJ6Q|=C!C7z;x)*DT}vm|*ebReHtu6Ru$bx!9(#=LwTE1z0o>FZ-4 zWInx6e*pQNHfeB&6w;c$!Q_giov#xi88p&wNt4RVf2tK(y1csd%Hcs_)7fI z@`v9r;{8bmEBm)wk~8QCe?OO_g|fLHWmt0j)ue8afhq3x!Cr3z-L4JcKgzWHq}36x z;|ux#!JiivI36><$PfU(!hdllkuR>6L&G-g`cE(mf%U z>0i3J{IE~yjKHBh_bELeI3MxTv&neA)?8|762_;@rT3e3AP;GyrgO-Tmi0}y5uZb| z31^J)6u*l~PUu}i>7=mps;*3J%m zi^()5yeZ#!8J!Y7iIiEcghvp5_(ba7z6GDSly+|a2f0L>MQnt1;uG7XFU+IlD z1pQ{rgOUJNW~aUNt;t!MsSj}9!KxddVJ>tflG!7gxGf#X8o7=# z-RCHKLofF1?H2qYvur&wH(EjyYN$vYjp*x7X3?a++Ij=}5KiqM#SI?RU!V05(G>ZN zn);UbF6qtkGhhlAtF|6hTPvWM7ocQnZ#t@9OFptUUD+?Fh2=hv=y9Fjm*?ynr{9q% zS4~EO{ULuCST?)e?V6SJZodw7ddu=&lKf^G+~3y_%(BW=w-c3G<*_ z-h+y)H}>@5dZXWbG^o$HF-V<#5-P$jD%H`_mk^Vh)f-iPBq=mm1|eewmb;{nM;urC z$4Yaks!6-1oT)Y*XWD0dY1ho52l}@*M6yg%x=t^S>A{9s(`gOBr1wS)iJ?6ipPu^JognguAtYF(}hRq`J!9WN;scgGVhx;PS|vPaCW zn^$A0MIXd{=##A<3>rVarP@DR(ic5opd3nxdQ-Ts-HjO#DfZ^MjLvY+kLsLdtWk5w zcfIMW0WE9Cq1~L)Ss&Ro&wrzB2B!J#{Eg=x)Kel4b!L5!ZO9{mdCFBqO9uv$KJ@;; zJ~f11tcM@bPJ{PJ*W}PAkjbF+250+) zLk2_k53y&m*s|J~)rW)9j>o{PzVkYse^)LhlX9b_&?X z+)n!ptzX~aTe}?_AM3O66m#Yrb}its#VE*)mE>4tji#$d1oO{K^w^dSkR-fjt|Zr+f)YNFFddOGhYL!_C)GwHIC-RpnL6mCU}4~oX; zv0XEF78^#_LKA&7GDQ7MC8?P;TyO34Y(j_&2$9>6od+ zk5-NeBAsZXu_MSpnlaXk6wq~JqsRbyZR{kBbL==RNu%S&b@qLmBPsv313Vay0GFl$ z))wgZq({az;$JMGcgAI5*v5}fATHE0e!hFiacO4eX6y11KH?Y0Xw-yu^%mc>+oQ7W z>YT|4Dok8)n@Eil{1LM|Cp0E2>DdXbNMHJPLL7giz!H;^OUNk8*@?{vX>WNsDU;{# zouzZ94(H1*TCPq_Cv}sz*zGn$C9_DO-K1BBQ%6f3v2zhkVr zD5eHlj6Tf5Sv+@(MyD+#Q)p@0Lw^4vx_5do;_$}wJkpy^nK6>orDtb^dOukR4WEXf z+h<;2UdwBX*)^Ve%+!)x8a}g#^tC*knL)@7I(60~{>}k9?31sHKD}8tIt_Zmb!czXV|d-{y4x~fer-Ym=%@vE z_*WJhx3CEYXUf8D{M|{ko}n2#jTt%a$_7k#)TC;=s=Tqpt>;)u`j>&07YEqgLOxn@XoaTs_2RR-2OVeo3 z;wJpz6q>l$pMNxsPG7u}w5AP~TqAnRpG#H~-m-(5jC*;DkEP>MXTsao(>T*oL}P_1 ziFnXv%dR$lJ`VjERFBQq#$|TF`uRFyi!_ z`7K;^X1O1J#pTWXZU}aJMn^8)H{P^bmj@laOxe0zAl&0cTdoMAVdc`MCWyMVu(OzmsC)Y-^v_o)dZ zjJL%`G(qquVRVXM#~@Bw_bc(C37=u!&;_6QVmVmED|jJbQOIRjqGIylKdKf1e%0QKtp!*!sS$HhcCDr{mU7N6=hZAIa~SOFcjT zlEl!G&%@jroncdBckTc-Gi+i%`sVZA{Eu@jJva0uq%##ZHs^o*m>%DFg5S1;8oyXf zwo$iD^)YW-Y}&*h`;4C5^dnAl`S}5O0<@gW?@ahpNmRAvEB@A6%ib*(!oOKV$87D- z-~XHzZ~c;tqQkbe_ntlgR^EM$vqq7FE&LVyn00iHNHZyJy{jIRAgPiTZRl~dK99F1$=Etwx-|j>cv0Q)B3w_)ECTldp1sNbFeu= zK%H%s;!pjy4#aZD)9F@j52BC zzWx*yPra5jU5=&s1zx-uN%t4{V{yJ#(3pSvCw*5??mG~N9&zR~96FB`v$I;xMRoRG zwuzWEUFfa7exwC`k6(A{`?Vkcx+m@UwJ-l$Pdeml-;dAr#8kmbdju_^wzE%5OZ8Y+(;jITzFGquh(8@7qaQ(T3kd^4}EF;on5MM|VS?4?TvNI2R|2$Jfx^ z-}vxX*U_?Xe%G{R&fWEh4gLUKsw~lw9{cuagI8Gk_A^VxUms%K%Xy^Ej>gy{E)wY% zmT)Yxmn;*>3QOn0|Bzb0e$DPT?k1Q+w$X^9NRm!JDbkac^hi-K|5tbVsOT2a(eu_+ zzOWnZQalao@yckE__j~gf;%JNgJ+Twc-oJ}~7fS<50{Nm?+M^_do-3(IGfH}4 zK{;QN>v1YZ9)gAU*sNfWWkoS`(t(EL6KXsVL~9)Mq~!;qaQbsTxSLF)g$ECluj$M~ zdK?B09_mZHXr047`Cp^x$A`5zCCoqEhh);Thuh%^+2KeJ5=(m@Sw=?C8%O*}bIY3} zy9lXg*?tta4$W!7v3SzL^4GDx#C3H?cub9fg||1-fhYQtv2^E&p(L6*o@|8;u)lCYmG-rmKjGsITh-h$kJxN5W4r&EdF+T8hCnI zz`^#g@9t$xhmWOmYzBr9DpXC7FF!B`(xTJsXx8XVbJCC|oas!uQq!4Mq#r$SW-q&> z_&y(35Vg+c^LN|Qg0r3B#D`}ak}b5>xjntSyF-2HMRY$aGNUEtP`W3^!3(+4rPX$n zC?}k($P`vS>lQ0Go`)ylAV}6_^)py~lj~gScs`)sOBSDrEXV9R3J*2n)&aD`dB4t) zjL(RXLhfk@_*idA<`Lr~Wc~u<_u%#obq_HJS=$iBWadfer*CIMxeh3Y`P>Fe- zz88YdXpq_T@d%si1;lsdd3OJB72{clj{Kn!w(raz3Pz=}rN!*Zz&Jpcl%S3~6>E&u zh3d`ob!j+P^+f@c^Q=DRGR@zi&l?Y4|Uuzly9M~7n)*k3ct`Di~WKN{V?MyE`<62ib;?F zLn6edusgv7E~j*1VMfQ0Sx$fX#Zm3WBr?r1_u?7{{$w|c+vSTq|1^f)y*iS=Fwhcr z?I%Zme`kyDFOPWsOh;Plb~4#%nR2_kqsFH_9xIK<)75OhnZjne(N9HB-TR1tptm^O z_a^nGV{z6S&*_a<@PwbQ_mS`Iu$gam)`v2kNio2$vf5o&-MQ}!E zz7Goz9gyBK79BTh-XaDwZ>#Z_`N{=<>7LP9?+FTyv*0wlZlD+b`iXzt-m;^z4k4Q@ z)>jW5_;;->+unH)!*ZM@Y?WBzWnEj5%)D)f)79A=+i=Yq_b|d`z4BBqej@E`n%fY` zdgZHLd`nJ$Bc-+K#T7_ry$V2;g~&p~gBhq}F4&4>$*+*M?E;SugocOqg{1QfS=7}M zW&hQQtP-?NB$SL1`Z|#|BuL0{A_0Dy<_P7H>zJF4e+|;WumwkaJWcLqV0O)xK(mouRha#@L$q8~ zh+p=H84qYcs~*2%$9yO- zxyDMu*UMEs!LWxL2cxQ&aIgkx!QTrKY&A$zk4qlR%mfysno{s~&6!X^=S@Eggu? z8s|z*XSK+V|ktv-0G8Vswl|R7XliP@w}A?rUqm<87A0R@)ala^(D#t=bT{iB@;7NUcv4C>2%~xs4OwfQ-GeM}AW7Cgdy#EC|Ltw-hD5TFCjml-{-i$f zwhru1S`c;NO&noj(z-VGz&haig>}UM(wy+eZwejz6Cb|#ruFhbWT@NTs4mvfsvb<1 zIk~TNMz@Up^$+scqq|8p-MVKuyhVJ3!VzQ%iMMtdNj8uMg+F0|Kl<1q>w!boLER|? zB>EVaf|#jqeV$CF5dOyt!l=xHodZ*kgNe;P*y@}!B- zB8BuNZq@}UB+P+mgs&%){rtmn>!c~asS)wnBMHD*ON2o^@G#Gwsc}b42I1@pbQsQ%pzU+8;7hv<4% zyk{O@`&0MO@;K+dU9hjuV~=TOm5VT9E_qI}t^MYak6D=Soln-)Ad7|W+2kSl%-S{w zJtM)w=EbBQI`-XSQp#(te8+LP3yvV{(2HG!Il)0#Y9!6VhZJ!f?qKCB$Ksvv((&p~ zWvVVHH}`eQdhI;hLpnTT>TR=%MsmQ3KV2bg%Oh&eeN@fG@R zB$+;2aP^*-XAfMZ;35TQ2oE-r?n1v!Bw1Lri9`vjHjz?cMm}QjTcO@&a?W56>?c%z zhh`7#@vn5(f2BM8E8Y5E>E{1RH~v?;e)V)87+tq|2GTD7O0(Plzu)oM17G8E{_iw9 zGlg9g2VyMjni|66&BR!LR%14D6eoX7WsN~f^~c4qW{R+K3kl$_nuMY)gc|yr2z$KA z*~A31B58Y|I@=XH22y4@l`5x}$SJ%&U}c$ds*RlbR8C=2U}dx9)L$%mvLaLE)HOLZ zQBEB|3d?~(6@awbo$;vtv6<2K|#k-S#B1)3qz`&l&YB(Bqt+<#H}QP%omJXNrU=& zEfd|BD>V{62{#XVW1=43>mnT9N}BLHjKck`B+u|kI40U%6zAc3Bmx`WMwSuIjzy-# zP^5EM+DlFcAw89)Uom~AL@m+-S^9>Y_C`9Ar4PwzH>3kudXt=XM%tC7Gm%a(srKjM zKFFjwz}}3STo2|7{B{!BVkwg9)ujnWRT{W*)inH~i=0uF2u}Q-bt$V7{ZZ+K;oC`H z&zDPZbdA*oi%`wsoEVH(5x*=EPHZPFJGRcN9%uHz=Ko5+{zp1`VDtbMi+H}bifAz(|GShuaHvwNhk_jxZ2k`|(SwVfr{NxN z5VME95)ohj35Pd35q86PF5Y-WoQ%7N1mkPm`dk>vt}D_#ajefg!76<`Vx*wnfi2}p zpwN5=NicZg%xF9+j%0_t;(fR*l3uK*`NNeab|Ya5A8<&DWYy0(STj|)U*=L$XQr2B zOP8(~87H;7Y6^18RZH>9u^D1i#RRfJTa3LKN1z_aC&+9e9b8mRSy{P?>rXh9@F$Eh zoIi*ySHBH=a&~hZlZ?OXO$e52ViV~Y>e>qR@w|t-J}CLNA51Gi4>5C8aj*#+-a^2B zcF9nt>W4QIQP72h)H+Bqp-?7dRNZdKOi~R+3WX-6FaSwInQ8_K?a0nivi*=MJ@UMp99teae4f`q$Z@?lV9(nffh9A#W8a@G=)?iV=40CQZAog#^w$ zCBd)>&y8Y7HW`$6x!v&`jF%Nbc)^;0x8x`dK`DF7>nA-SYet|l%k~t!_7HzV5q1ma zoUPE6V9wU%Go5D5>p1|EvnZhRsGMWP0wrF@m11(BwIhj!GEdl)FITBxXUsxs`SY0NN^RasBH*vPc)k+fAetZtRI zZxn3?T*+#2!x^~__o$pYXP1WgD>8uTHfuinME0Hz((%TV(#!fWOakjyehs$d*`keQ z;yttzm;F+mvsS9@1#fm>*Rp;QQv7#;pFg-cj1>$(WRYOF!E#yV9sw(vt^Tm7ZR-eCiTvKU!e4W{di zudK_3=?al_`Bu~QW4dB^Ye|K>Zk%`@y5!MQmh;B%*=3j zZn-<&TdZW)%_h}ox$)0&wT!Xqh%d@m`w18;+{<{HREtoc;xafc(vH)Mdht+H6Bpnb zJG!`gHH&V{R4iHqW8q2zEZWgfYJtctv}P@otC|9sE%D|&=igYlvzQM#n}cl5CG7g} z#iO2*@Ew36td+{0#hFa_GP^M`slJkhrQ7RrRl(oFDK8AN>TXPWrz|~Bmd=t@&-q(= zAG?%?9X?EWzAW5J7XCyQo(w3IjUIMW7Ji7)w)K&PwX$%uEZmL>8)WHyS7hlUOuDfw z{d}?1#TPxKF4_Q!YTt{p@G2(!C)-0!sxny^7re}Qg?|gDot1^hG2v6P@MjQ4N7$u> zLHdltRrGo!Eq!ZBvFhZiES`kR2;75TVp}8E8PDpNHQytT`Je{kA1_LBW}{SG|BwxH zT(x1|H(eR#P0%aPn3D)q7}`+QgWCv6&&VT)Kc=V^Q`GN&DAHCb8vH@g0$I`J9LYUi zOp#fW)JG1;Qj8H6xaCFeI1H*@YlKeUlKO`G514_W)eM}UrWp7DP09wk%X%ltdcV?0 zdLQF3q7ZKS5bH~ZB6CL#b@pKF=iUKc__3gBtiU>dcyER z;%%6nCE0%tFU47??m*9-iOY}F1+j`8Qe1upaAU%iZvjjG8ggGcqo)w&EcC;kdC9G{G;L9EgRq_QHr zfhBnQ0^no1I+$jz5#X~bi8^~al3BvD??~eb-VlcV#wOSI?x<_~izUEIl z&bf}gS$y|9+wfoYGCo1nt(>Gpbh%hH93kFp1K)*u#I_R^@bp_}yfnmTCJLVx;SzZe z`!p6q-5Z|Is^rxxrZT;G&>LOc5FM!+>$MY=v0n2*`2jC!AUvP}`$-@g!A33Z)3-h3 zxM{?6#Y(!W@2$R7y5dD_B68rQLK(FD>LzJ^3-yahNZdWR4;f))vAQ|Lb_9oj4!!esLjHcz zdWb6uvJvYV#dOwHwZG(#&wZwv^QxSteD#QTR-jz5k9ixpoE* zT`_=IlPVa%Zn>EMgG{PGB-u!aoszI7AXYidbx|#_X|2xQ4LMZJg&AQlt42z^eV0vE zjZ0l+e(3Qj7iVaRdfqSY)_nFJD@3IpPrAly z`toc^mWx9159=fYa(-p9t?yv^M@&>_w}i7ros>eX+a&+pttEB489Q->-4Op;^WHAj zMKiVvwqBYwO~$dod@41FJ!UAfe3h&luz@`_wS&vDTpvP_*7gPVdbL$`9f|Qq)nxz% zwy~9zR?TwxwydSv;?uUp*_md0jQugk5cw30DsD~;nEL?yX zj5k=IL!NTK089QC**7Fiz@Fo@~91y8g?B5LEOKHN8vEsQNDI#{=i6KfY~k0 zF4UD?9J^LxuIlmSy7gR0GJ6;#@cD1_c?qvSwajt(HIvWH{C7gw@6#aL-R_|3}1n2~EyS2psXaN!8? z3mt;6EWx#cJRd922gJmy8i4$>zntYyyTNSrt7faY%GR0ah8!oK)q-T~|B%eAl8pZ#naU*V zL(&jk99&Il?r6mU{vSl+AgVX{i;u3eerdcAp7K9OxGI)Ff!wl|>H8iM(Z#xI>W(HW z>MA}+zC;Jb&5|VZyrIhVSE@v}e-J&(L}yE)p4F79;2CL<=6{gf!X$f1k{sHHnfuu0 z%|_DegU|vd6jWWP!3g#o%%q+nTkc5`lX8%xnpSJH89P!iN#_sxS~AIN*I1vcuX|0a zB!Bs!(-D&F2r)<81#!IzoO13pb=TuYd;mT=Fl*GPC{FrNsiLOz&jkK{T?Wqfrt^FD zZwIRW5Ngt2;sxQ46J)!4kV{t%%fN@f*+Qc-;!hR`(F|6~uujNiseCzAD8nf^^Slf{ z$?%&D&t;Lfa>_{{r%)ZQ{utC38ZiizQy?I3~l-GCYx?ws89lst3u?RfYjFjFVxS3e5PQff+SLwuf>oy zayVXeo-9!Lcb}3vdeoF*vnNiQJ#!>}$4>lY+>G>*Q)l7dXJUA*^M54EVhxv!c6-`< zyS?{PyM33!v-C#rb3q}X@?5*U9m<_RT|ozsUcN-Gmkt~XstY=^81kTs9MlKJfUacQ z?UO+Ppc`3s`wq~jpx&THS@uEp7mLsUXgz2uC<^pzCIS}}3#!bp+pmK1K<=R91{elv z0s3trc3sf>1$O&lP#w?>7++|;>CL}!GDNgN-Eg}-30Mj$Zfmz|JHSBXRkXrp13J|V z^Qk#_5CzQ%w%b!ekq=62hdQkx3w~V-yL}UAPD{vvM994bxwN<2zeT+W$fZDELWtcS zgf^Iq2WxqwORpsf^7se}E>>`hf&~heD0ouAYYN_1P^!1Gk*77L1%FQGo@l8)PdP4G zXq3peLd^F~m7tJj3?bAR@p=0o!3? z(=#4e2ucQD3j7YM?pVeHZ-Uam-vYh^rGw|NEsw(XJ?Bf_z@>qii}zmHD98Y&;Q3%R z_%z^qP(G`GOP_huaK>da!0EUwD`Y%y#0-ur1)mITw}s=*f{y~;-p+A%!9M{GD&e@d zOa_<^^4N;Hz@;Syj`Kz$4~cCcU-0{Y7LXP^zB}hGfpp++0iS|`z;pNz#RC)!UJG=_ z3(`>VZorYH@DTW9AUVcyi7X$O21)_XaN= zE(v@xa0zHElL1}>O<^+Uv8QhO0j@zJAGj8880Iq``1M7O%LBg;So=qg+X~(d*c!AC zd=&5`WycSphN(R3V_#K`@ zQ^1!3&l>QPi$n$RC1@FV?iL~$v>JRAa2seH_? zPtY^Q1Nmp@8F)8fS5Ol8MBq-)Sn&IR^`0Zb!D|_UGQej5AA^>Ge*)CM!1!-KBJl<0 zG$@}50oVMAUV_gD9s(7DF9jyPL@${<7$YGfkq7(^^bmY0@YZWg8}JOrzlFQNrvX>Jbw|yBG8bJ zpA)PA7*U^aXTe7SyR;yj<4*9veV|U@8IBD_55T7ZeZvTs1YQe#(3)^lz&`dUrI8f?L3jdcxfW9|dHusvd$b1wIB(myc=*3C>DG&aBQLhZbu?5k#GwK zpf}(%fbmHf67Y#Y3n&+SDKKCNzU=`Y3UnMwxOL#&fU9xuuoZkha1)-cuQDF^3+OKR zTfn`^xWE9v4>%h)WiP;I7{K_CCfr*jw7?M{=iRUl*m4Yd20j${7swktqKw-F(t^(i zUIPV#zXfbE4n1b_z)wJJ!Dj%=KoQ_8fR{m?m^|<2kbKu?gO6)Oq@ixbjAadK^fo~I!s0!fOiABErAyq4@?2&gHKyR z@VXy~JxDwOevwPKgW&UlE_f||mQ?^AH4&}?d;!0y0Xhgi4LBWi0(=HA z6Lbo^ArH(-&{-t%ftx`U;P(NOza`uy@C@gIZh_ALcCx_j;G=-uKo7yQLuy~p6YzP! zQqT*QUxm<>H0IQDq@Z5GVG5=xIA6hK3a(Z# zU%?#;?o;rDf>&ki!HG)769p?3bnGr0R9it01$`9^QZQ7(2qAhF?-iY_B&R4iU%^}j zS1Y(x!F>uIRPdCrc^2ar>_iLe7w|*X+a3Fjn=)?HOgWRYK3~9p zM}&L>Kg}97h%YAAIvM=yntaM;!DT7Gr8!sNT;NvVU7#%pDhMrzD2OW17jSrY=nW4< ZZAsjcyd`Z*#+JM-`CF`EgZSp;{{SrlH5vc_ delta 19342 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 Q&ZM2GI}1YM`S#@h0dE921poj5 diff --git a/binaries/win64/zapret-winws/preset_russia.cmd b/binaries/win64/zapret-winws/preset_russia.cmd index 37bc355..9d0758d 100644 --- a/binaries/win64/zapret-winws/preset_russia.cmd +++ b/binaries/win64/zapret-winws/preset_russia.cmd @@ -1,3 +1,2 @@ start "zapret: http,https" "%~dp0winws.exe" --wf-tcp=80,443 --dpi-desync=fake,disorder2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig -timeout /t 1 start "zapret: quic" "%~dp0winws.exe" --wf-udp=443 --dpi-desync=fake --dpi-desync-repeats=11 \ No newline at end of file diff --git a/binaries/win64/zapret-winws/preset_russia_autohostlist.cmd b/binaries/win64/zapret-winws/preset_russia_autohostlist.cmd index 57024fd..1b9d455 100644 --- a/binaries/win64/zapret-winws/preset_russia_autohostlist.cmd +++ b/binaries/win64/zapret-winws/preset_russia_autohostlist.cmd @@ -1,3 +1,2 @@ start "zapret: http,https,autohostlist" "%~dp0winws.exe" --wf-tcp=80,443 --dpi-desync=fake,disorder2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig --hostlist-auto="%~dp0autohostlist.txt" -timeout /t 1 start "zapret: quic,autohostlist" "%~dp0winws.exe" --wf-udp=443 --dpi-desync=fake --dpi-desync-repeats=10 --hostlist-auto="%~dp0autohostlist.txt" \ No newline at end of file diff --git a/binaries/win64/zapret-winws/winws.exe b/binaries/win64/zapret-winws/winws.exe index 88b9446ffd60e5f034b1f86cd644e41049b6010b..a4466e63fc20b9eb9fa3d1ee300e3e80beabf68b 100644 GIT binary patch delta 19489 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 ZZAsjcyd`Z*#+JM-`CF`EgZSp;{{SrlH5vc_ delta 19342 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 Q&ZM2GI}1YM`S#@h0dE921poj5 diff --git a/nfq/darkmagic.c b/nfq/darkmagic.c index ea1f5f5..877f902 100644 --- a/nfq/darkmagic.c +++ b/nfq/darkmagic.c @@ -959,19 +959,29 @@ void tcp_rewrite_winsize(struct tcphdr *tcp, uint16_t winsize, uint8_t scale_fac static HANDLE w_filter = NULL; static OVERLAPPED ovl = { .hEvent = NULL }; -; static HANDLE windivert_init_filter(const char *filter, UINT64 flags) { LPTSTR errormessage = NULL; DWORD errorcode = 0; - HANDLE h; + HANDLE h, hMutex; + const char *mutex_name = "Global\\winws_windivert_mutex"; + + // windivert driver start in windivert.dll has race conditions + hMutex = CreateMutexA(NULL,TRUE,mutex_name); + if (hMutex && GetLastError()==ERROR_ALREADY_EXISTS) + WaitForSingleObject(hMutex,INFINITE); h = WinDivertOpen(filter, WINDIVERT_LAYER_NETWORK, 0, flags); - if (h != INVALID_HANDLE_VALUE) + + if (hMutex) { - return h; + ReleaseMutex(hMutex); + CloseHandle(hMutex); } + + if (h != INVALID_HANDLE_VALUE) return h; + errorcode = GetLastError(); FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorcode, MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), (LPTSTR)&errormessage, 0, NULL);