From d9003e50eb15b802491dd98246ce2a8a090693ee Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 19 Sep 2020 16:32:50 +0800 Subject: [PATCH] =?UTF-8?q?v1.0.0beta7=20~=E5=A4=A7=E5=B9=85=E5=BA=A6?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9B=B4=E6=96=B0=E6=9C=BA=E5=88=B6=20~?= =?UTF-8?q?=E9=87=8D=E5=86=99=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E5=85=A8=E9=9D=A2=E5=85=BC=E5=AE=B9debian=E5=8F=8Acentos=20~?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=BB=A5systemd=E6=96=B9=E5=BC=8F=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=8F=8A=E5=AE=88=E6=8A=A4=E8=BF=9B=E7=A8=8B=20~?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=89=E8=A3=85=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcdn=E6=9B=B4=E6=96=B0=E5=BB=B6=E8=BF=9F=20~?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=9C=BA?= =?UTF-8?q?=E5=88=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0=E7=A8=B3=E5=AE=9A=E6=80=A7?= =?UTF-8?q?=20~=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE=E6=9C=AC=E6=9C=BA?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/clashfm.tar.gz | Bin 16085 -> 16150 bytes bin/version | 2 +- scripts/clash.sh | 62 ++++++++++++++++++++++++++------------------- scripts/getdate.sh | 4 +-- scripts/start.sh | 37 ++++++++++++++------------- 5 files changed, 59 insertions(+), 46 deletions(-) diff --git a/bin/clashfm.tar.gz b/bin/clashfm.tar.gz index e0525b09bbbd76da9d5ca50d62cd84ce698cf433..bf49c84b28509f76b69247a2e4aa82853a5a8808 100644 GIT binary patch literal 16150 zcmV+xKk2|9iwFoE!DU|p0Ap-nb7(GfVR8WMU3qsD#}VgW?WbsuWEK(j*1-|w!cO9x zJixgSPhNIMXu}@L9tdK{6E*^I3I~X}3HWH2IF6qUCnUucn#eAZ%XtcMtcU_b|OaF}~x?}5N ziQYsk+8ghQM|t_K-sn0OUH1|`l~OrbTo-*QZM}k@J#XhT<-LJ7^iryr87^lE`96~+ z0zVuq>&3pjULGkF4}?LZ{dzeN*t3f`Wp7~j;bFb6l*tWe^}yRD6fG7C<-nVV^wcgC zF84+Baw=kiqQ6-v&Ezv#a7Ur!C|u$X!ziB|G`|LR>Ln9kAs-q{X0nx{Za>xuJK zCi4t~RYnO5c)ylRr;B>2)US#53U9LDo@i*x-gjf05=Z;P%YP4U>kPCJYJ()Aim7lq zvXR7=jbK}{QZA4r((}oES$&|G3bg6jlJ0ny&XmNm@oB+Y%2SiABS~BPBh}f~81!BQGD0MD~kE{SmWU z=3n8B9sCvghK~K2b?_G1UbcQcGuw{Ed&5!u7en90ux#MtqUTcOEX!s}Lund6eP775u;OULMQ2Pb79l^WdNCrU(e$>M>);bbnWJfjI0=1+n0C!^I{_agPFS!3dF z)sIisr%q5WXgmXrPcyYpjoH#*=>-&qh&5G9qWSKCM5RNbE@@awt%rd|sQIT$umJm>jP@ylp(2 z0Pg1dXilT@F}p%f4y6~SXRO!8^mP5fajJwy&}|KK+rmWfw26t34jQJ1=UZZWjwo|u z8kd-&L)9BI)Lb)6Yxj@UEru!w1h zR_0*QEGz05)PYB1n* zNmcRSrEI@g$xE`+#2`rjc{VQb{m-*gk}AK+?cBAi?;WY{IK&94B_YVoLPwG#2Uzgk z;UY8`>xggafTnpT(B>r4hhHyVo);2WaCJG8(*=Jph)w_9gq~{XE2OgBG_@P5 za4Y@?9q;mIN7;9@*F!%w9#5bbuZMnVjGuTtw5#^uui868^%03B)BWRi^~R~@B&Jb) ze$hBNV~uCPlxBZf*@r5HbY?Xk-PYBUtA2i`K7W2;ZXVM`Dh0{)%>2|&jaP4c{-0;p zIxJhJG&GRaBtWwgX)3J){nH>2X_{+VBTf^Qjk$})sdL7OF)onLeGEjHC@j=t9YTFXMcwn-OLPUx0?w{12-?i%}dbV}tY@JyS=X6?j z4dz5us<*O_E$mHL)sLr*`S&>`T(aJ2QmtxSB`KX;RXz3G7=KJ{3q4hzdSZ-?FHE1Q z&&?^gIpiEEEd@y!yqw#^Fc;cPxDp@`I464=>5@v{LL2vZL;H92e(rsudlMJ&HK7Ib`HvF zNgs`=XU5pQ`sw#-?>&vwC+{p?8C$&gyn6ngqqo!(ZoCCdiRPH1Ye!p9QMxWl<-)L6 zhZM=d?UiFUs*mnCPz8FcL&F;je8FI6b!a7+`5t<)O{iy;7G9{E6-d_`cfY8ArIMKO z3WqXf6Mq-a#;LCCw%gPoEZ`p+85toN;eiQ;oFump=)F0{B^d;nxwx@vT3~CFw`&(p zK+uA1V7eLOS2ex}v73_gs$|$|THCq>A5?DM9%)o5{U@dxLZt;(G5P00F&zd2H3cj| z{uH>7fxXo>)o86}*JriQri_VCa~Pe08iB z8)8DQ8{^WQ>6b-RZ0M=P$1jTr%%_?}L|xaM zqYoL`PQBci>d+6RvX!)Ml~EygvBl9-7)@BU_k<_QLWj{YgW(v9ZQPZ z4Ek}aI(|Vgj#{vX3A)T*G0xwzAgcOKE#Aw-dgas^$WfZ7RwW|ong=Y(>hqV3>o*ss zPuFH1kPOfQ+ylZw!=`A2eU1S&rk)xzmtbOWf_@Jb^Oc-38}Li>+x!u2W3^VhJqe!# zHLtL%ZMh6t3-mpVW5W9Sz=(SZ9n}VSyXe2^lE`se@txi$)~Vh$sf}K0C#P5 zra>3gC-0I5cP>?LRUh50UOcxjcLPpynAeM=CqRc4&A!}0(FgkC<3x-*EDcOY>H|=O zswER+@#HzI*_1_`I*#NuWIkdP%MrPN3*YbfdK}HU?GZ0|AvM2yhV(8~1An&FKqyH+ ze#)I>{0{A$bUhmjCiQJDtwtB^lMEzjphgK`g-a#?2)`|wMLVTEMJv- zSE$vRie9|NFPdy%t)*Th7k@=1e@XMRq`zFlmpfs$Dc(9P9+ky2?e{FsUg5;M^1OC; zCSb2y4`hZ1QhKp$?SP8kePUZp?3EUBIc#S04bPHQT7BfMkj|I5hu@MJm1!{4SLBJp0@GaI`?sQ27u2+r zCc2Z@Qm2Yb64UaPI2x{o#sb*i#rgQj>bX0nYf|00+sfMPg{j=9apTV77JxT?wM(sz zj>`HN%m%d+tp4OnEYZoiRG&Jw@bv!Tr)Tj+1t1wzZq)p1^pf~ffAEQM;!9fZt1uQX zU9C?|IT!TC#HS0hpKy=b^fZQuoMUKAcGtn<-VLJS!pwQ&i;4QBxgGHx)qfsaJUQW9 z{*&Lq_+r$!b*nb_f!GFj^h@%icRR-ThxOYJVQzqjVCukvsQ>dZq3`q|;0>`H5fXzz zoT9cSrkHnIi&y>uceFXwAwDr_93f~>t@_37>aB}wX0|QDc|j~~A);`$wu~Est%>hj z_F+iT9?I%KdoR~1k+gm=lCK~(DgM3nF|mv4(gQ*e*_wc%l&3F(`Cw|uO-14h8aC3( zij#}UNzBCd;`QxvPt2nR=@4vx395Tp2sHhvSxBwL8>996#~KK(h1q-D6?U21blxzD zRd-kN#>DCBlPAW7aSQVN*y8P3;&Bt;a8W13y+Ez(V^`zSP>C-9IkxY38z=)6b;Gv) z{QZTw^O~&X_$Bg|BxVb-8ADwO>dFKU$-WA+ECKrJ{3ldugj}eOi9$UEl6{T z*I3A@1)EDb?YQUhX=)emf z=bsthSDT$6Nd&E{Hs$DA!__#IRRt4vnaD!?ZRW?B>iFM`8Pi0aenb-Mr@MFWz*9wL zdA7ofMRxsq`_HXHV!ujQuF5*c++()DY$Ge$_~<11<1E&@c}uiOmtr~EbcU8CQNH7c z+Y#)EE)fbM;KLZhe*8sCNB-?;^~=lP5tQT$jte(xU)>RntYN66SDl;yggFIRsy=BbYhp}nQf97p#N!!jCdj|jd;`qvdh|xGwE>>xRErm!&c5xtJTp5#=W`aFr+4h%4)5+8$;hr$NzK7ae1>R?pa=z+!Z2?APZz6I7O>EjWwUfdtNS#~*?sBIe$x)L}OQG0Ys z^-{ZOuA;IWAE;$l$O?qBG4>EDxfN6za{$aKHw$#DEP%o|)HwjpxEW@?I*Y`+J2Ml; z#1qCCEtTHd!SE43g@fMl)VOf2_TVu=h*L++qd(=`a3npH8V+amWJ%`-Qq|Kw8qiuSlU)3-~b;YY4 zZMkH}hGu^QBSc;4p~uFbIEnfu zs!(%Ur|P>PvRkik7SmZBMOMpVvL@yU4IC7`y3a#JTqxr)O;BGNSM3fJ5#nF#sKl9h zZvWpsM{k`omu9HIX!QuW@gcrNBm{Qh2os=zO?!IoK!dOlb01%i`mngNr#@PSiv(VE zA^@gc?ZNEg)w@I_iG>IeTyBrqwSWWZX~&O1s(z3jtAB+e;|!b0GcVxVSh|2>Ey))t zS8Vq0u=pxn$m?FRW`)Bk4*#he#rCLDz#eT)daXuTTx|0Zxrrq1qTjB1ny-4ce$T-o z{&vb76B@(@L73v?P;;E)QhPfmaN8@iv~n9AJ>GVwy+`h&&1r*Nt-Wd2Z`sx)*D_p6 zkU|tPK=wNT<&vd83Ae6;X3kSe2wPcrb`5i``p=2_gK=`+EX+KB%V=SG6#f!p?hE*J zcq)L|Gu7i0&@eDl0nmix##mtmGZ#Vzi6z2mI`d?ukZ92BR!r5nqt}b0*C2{l*5##P z4>&zZ?k9w9)IPf^C{n-k8TZp&xMy5GA>twsQ(Zs#RrSM<;gznQx(I9?RA^=md$Q&h zl{J-fm@=ZkeX>jl=WFkwIr2AQa^Mik;_asmR@y-38wgUfyMV?iUd;+tOQsLD6s!gx zLT2#r07CQZY#_=LNo%`!X82&wK&dj!7baGD^^v=R%qu~q#cy}fYyqii29O5e&|#~v z@9v`Rj{Uz9xok9$rS0;r@Ho_a2(5JCOZkd|~DU;-*Z}W1uYW^9|_ruZ7Xb zLo6?G?s?T>*3bzwym;@ik|<@X2y{|eq*?qHQ4#w)kY@`|Pf;hFv27G0$Qg#Flx)Po zSl+D|lQ-ckfkPQV6vC_hW4JH}GQ-XwIKqT7lVEpCBpH#-Nw)NEi(LQ6!~h{h2a6j- zRdq498(KD_vb1+YL?x=pG~{(0?%Rkm#=KljMb znGHT#H44<#8a4`u75dR=zTi)F{E0D%of|oeAD3x zTCLkgl4|wi*D!n4^W=2GToI*i0yaY1+q8iyZ(!QQy;)SsQeU0>!E_j$-ITICyMc z_r_ZCR@|Gn)M_m=7p0$SwXEz`%*(rS9* z=FQeOvJ`{LNA6Uhu9iO)5S|?B`Cbf7kdhvn$xEz4Rvr_PSaK_m{R+C$A9_J3tqz1c zs?K(l!wbomoYWhs1lZC+Ut)L>wWhvu@s>I-+S)uP#%4J& z+^6`+%3pGdkD}`uo#NACYH%ur&nTJN`W$K70L4jRjido3)RW&)&{c93nJ@`Vqaj^- z)|NW2G8#2QCYobNDZ|oIQS^Bn&umy$WhBe2L?;Keu1?mIJl5KsI%m7CcHmW9;)mMW8Zu$cKf%+x}xFD@o+4b z2zN8h&d}#97{OLgq2x|$8?o9fMY5nosVuS~Yvttr0iMB@KN&J-UY^CQ-K5ZunYLAP z@4r$eVGYTHx0NEB=pQCh3A@Nkj<3eORffV%N^gRwJCm{}BC(~-$xIcMtaZpR zH%5U|L&)(QQ)@H-9DhU%TV2z_m84~pqp5axm6HS>r4s@;b-|fk(K9)eni!3$b>~Ea zG^+;XNpqeJrF2kKPll8uTo;EPRG3t^bIo+?6@(zVS#8W*uyCY^1RC#E` zxci`X?`C!4!ou_Gu&bP+ZRMC)P$N9S?LcZMlTQvH_LJWj&=OMI8FBX-@Gzz)jnjYU zo3-N~;OD}O8i62qp=}u}*S)A9`D9WFs|mzf)*szBJ~#~&>QndJ$#@WHNqIwB${OO{ zzqW2N@P0|TV1Xh8QBlbftUPm7TKbM|Wk_59MjTf$sAVgqVkDc{*J^p0Zq@44RQ|nWI7>k8^ z86$lyR#Q_G#s?2Ew0MRz^cEyq2YbSR_-2eYG!z)9O06#o09U?j>fxK9hX{qi9;fnbFr%{`n+i=!VR_!eOyi`Oo7YHO#f=+hR)q;)m^F?>2IEyb{VRgE&{ zVP35oxfboK27!0X2YtG-P%pvtfu>=1vRqSDBBWVF@OC84%BJ?=Q1>f)3z|MM{}PUkNlz zrolA?HEl8gA4MMr45IU|x6A?SiT-a5SWono9{zvl5WYhlB|xIyzghQ>QMCm^p@ z2O7ZW2|0x^tbX_a1xSQhv61&r)UN*x<0{AAK1@%RIR%8PvQN7ETQa|!%V+7k=jbvM zceWA#ncZO>;vzQl8)(SB=d?Uo`!XG;odVgSuffeKUBp=qkE9nEVy8+t3WIP+PaO~j z-yV70CLST%4P3Z;*RQv+?$ey__^ouBUF%>HJEFsdLe_l0w4U>Avziioa}Z7}gd~tO z_9rK&hIE{K)i?fFB{QuiHqo}Y7k3_8y63^E-L94)gDW5gfVER1Xm>L&#zCyM<8l+L zwds-}Cc+Z!!eZgHEXtmfV6?Y&wdMr*MZa#1yDBH`5pab)XFH1CG$a8?>2 z=2f}2c`H`NUfB+SeY3uqqXFxOd9>dsFI4+Bcw|H4huhJ>tN(Unvc4{-TH|wCK>rhU)MbJ+`YTikZ>j-8|YCFX!P zxZ}1l3IN?24uos-BZ;d*!F^FMp&&2lws3S_%JkMNM`snJ6P|LieL`|=Qgkr^LJf1@sD*1eA6NjMSEMRr~Q{(z`r2oZg(hFSelVi2(R=VFv z_0%Z5PJI7)j-O)W1=AH4QtkuyAvql)#A-Lrm;lB7%iM%JeGi%97v^tQk4-sp#!-3V zB^)fK)HfTpb|*RsYv#yszCWfE?zRdm$8^BwT~YKxDb-_Pu_S>f?r6lRXmhPMzQ0h|pVh9$JjP@AOktu@fw~U z^)Zc7jAG=Upp+kpkv%dP#J3}U284HzJ9%N>rU$7lJ-`x4@w|BqwtDk_Ep;z?~ z+T4dAR^MAfD?8ra{i0hj=k7~sWB}ysQDXJ#K6% zas#FWDMX%M?Iw@MD z{w_Z{GGI#gaxs}N4eCV%(Fg62IiYHUjb-yYZo60_WA@|-4~p09Xn6C@##l5OJ*v6u zu7S9uh^fhrciYW&fF0lZjENUq06W*<2 z2x9%~F+c%CIvs;S!~rad^Czzmou+Z85tAzVo6bN43`~rg#+=AVGG8uzTQRP{&zx8+ z_VRtDXq%drp3-&SeqQ2-h)yf?buZ`>g|zDJ?Ohk8&ys)fE*4!EOY|n9J>9XMXg4q4 z73*2YqU&D5r^2Q8y68)3>lOU8zh)lFDh*MzKrt1jM6Q8$_U55vZWvyiQmP2E0uQzq zh7T7r`-jSG!}d-V$H1{)!^-?EmNtbVoV#!DdUIgM&R=hT1DDkA+Wo_wyZg4p0|D~= zSuD1plOZ~xo%}jjC&Qbr9%m)xO!sEemU;aNaupp9v=%nZ@M$;3uN$*7CSUVa$;4yq z2Gky&3ACYFDm}pM;(<&aSmjf?{Sezl1H;K;GRJq^hLajDSN%) zq)g`1tl6r~u9eCbO1eZ0G#bM$iIoQ{(1uzb%gN-R`4z%*-6}u!v56Nccbm_DKIgm4 z`5%k-MB`nU|Gf0K^Z%uMtogqWoaLI~KQoU)1_JU{YwTkB5ySH0qEN{DOY3w>ZbK$$ zN3jBjHSY+Oi?JVW|3%lXT{~$b1I{s2z$r$08@J!q{_(svIg0c`zz}cYJ)>*K;LW3w z3A?0#@Ezm)tnqXn$4$5!@YxKN>vBSDSgzXz50OctB$es$Dnqx_V6B5xja01H)ud;! z&2};LlIJ^|J^mfz-uU7tH+g5r&Z7a**)8s(0yVYt>i0!G<3?5)HA2CfN&qKJZeLG= zw`Sp5hQEy!`4Uw$L&oD?E20TXuJSiu@7h@XvA| zmS_{aN{%fA(_=G~0-@jnLts5!HSO*L&e1MRe<~o*HU*@TvdPPi*nJmA*F5sL(mpxn z3``~*jH^F?j>rzH9%x=W^|U&9y7u{fzyR4v^r?;XD~(_W6NwnLHHSwxr_dNlLD42^h5q4mzO2K~Z#-8+P_g z3`ouGzsX!ZIHU1)G3#rF z9-6TjBXSkfNMUMG)F2&3A>E*a$-AZGwyqpU%_`u-Sx*_QN$EeFIj_c%gOt8Qz3>Tt z7vJY#OnYF+;vz1Q0_G!>h1qjZSu-)#=8p7C7eS%eel3%|jOzQix;=NoETfh?rOA_^mVIh=dFkApsL?v0zLs$PFG! zj7w8UwRWVrgSn!J2KCKP`EHo!JFO?vk9u5a;2#JKQGn`b8ou&`@Pf7Y1|m%pylET( z?$M>V+9hey;D;@q+;tLa9q9#WTBl2`BiA%d>vW4c|Kr!&wZC%r+qJ)x3+}9;{bu&> zWb431PHQsWF(LR5u5qoC*p^gz{wW;qfec*rBSYMoj>S%fybo|c1kweclrb#$)!FO5 zDPGI6J@pj(3naLO-HLoXT+on&ia65tAfs~i<7cpeL38y0imJt6Y8w-$1+;jM{U)cE zN)dR-@PA}?vGB)aKC+A7y6pv)6c&M9dpBt%P=Ee@?bahLlZP?h~83_gvvcXt8S^3ptUnAEY#tfkpw(cH7LTGpWjs5HKPk&!T(<}gwDeoz# z?B%bha((^^tW*#hQ~4z>D<19`6x=h-a}DW$Tf$ZytH=00Sjc zg|rTdf}(*o+rLBEFkgeN)1(K7-okpK#fN;}#*Gn;(_4g?i--7I>pwy-ZLy!h5N+tl zd?(h~X=!zWS`kYcx7y!BukE1HrN-DxP$4AFA|T_!%x6S(_sWlV(7a5p9iKJ$ax86g z_frT4Pb)K-h?som9(PnxQKcZVrL=uhAPv{x$kh1NlW0T@v*uvlU_7C+D&y z+>mLV{8AzhFmU6YJUK%;4;wCs(54lNe^=nxG7I;~E?&Jr5{{;p+2=-s>KV=|Qg(`* zv#D%XsbnTZ1;-u^!yj!+a5BQ--@&BQ-2N;=1Rin32-AsrI~mMb;WYa9sD-cNWFKMt z@6iv4nl9L}9L4hiFx4YqxLPAMl*FHSl!ET*`T?|uWSS5alm z1IDLCH;_wkcI5~?F@&xhgT%y35|=}t(G%5`1NOr;!eBq;=tg*7^1y49bWr9!X`c9` z`8vGWO1$}6+_4&`_x(ZYy}BZAwh(W=6enfr&~bQRYeQ|Dr$_=2}a~FgP&0|Ie<( zhm-=G(#zVgm_th6e zZ1}HNfdE5 zNiysE@^q6*tn@nX2Els0<6Xc#YW>)+dAHPohF3+20+2%8p_Ekz zrdmW5;zIXY#@WL3SJ(`;8J95flsg_Ttu_D)NuY6=>Y5!ew%Sos@RQi4xPsT#?7!nj zeMtS27$t3Nr9kKUm_mXrB3Z@>+4k_t(OA%#UeZyovCyC^64#l>hePhG{^K^zH&Tjx z0%r<4A|v)yIUb_)0Fv&BA2t%!-P(7LgEH9vs^0v%dh>W7HC*9^pvEdZxeW{DxSd`u zvLOF&AZY#A^TW^|_6G59GW6%YxcGvklWpExK!jv^lW8!MDu==wlf~S@@J6lEQV(`( z8h_rcwGJj(ObzvPHG;Icbx3A$pWyU1g45eNoLpwOiGUJ4SRo0mvFiuP+Pp&UCGl$d<4dV6(=-`79Q@_y}$}Y%(^>i$DbpzOk)XZ zY`CbK&AE#b)Wy%Pz;Cg5=QwVA=TMz!;VpH`6EmM<3t3==o8T0t=XZvTR(Ib>J2lHb zEekbI7$9|!`ORHA-lTNVT|CjGIQZcuxSE^M3u?5TB1J6EKSz#YA(t+kq+}tr9WsSp z$QFlMz%p-^t!4>+#qcu;*n&Z}pYv{zY2$>=~QXvCb z{r?)hFaD^WEAj-n_TIOFXdU*fT4Ik24?S;xdYZH@Z41x^{>ELT%Ke(3!~5q1bOMl~ zGK7!f1#s;GtdI_x0^$f;$>)f7Rojjj#Wn#QL#O?R`sf8KGx zOC=D}o?a@^*HyPhYeA{UT&ATI7=#C5U8rQ1Q<);zu z0D+KqJRH0MvV_E5qk=9#2b)5{Yg;@D0F68Y{+Uf~suO{U>NFEc!npDVHoRxlO5$pd zHy*UL!52UmnfbM$yNm*-;)-ptT8-{~9p(#H?rYq*Fs}^r-nYQ3frAZqEL;_(IyYYp z9DEU*72dhsJ`L-rB6+id=SIxa`O;ZC<}jQHw4`FY}9%wwHq>JyB3IPJ19GOEteN(>cVXu2jGnCH&7B!rL`P z)%RH&cbX5zho>WfXtNgM!-**Cpbq_iSQ_bljaHC}oac&B4TNwYAtNF{AXhkqcRU1$ zD&rwM>#aT*qOF~_2`I@4mq5l}&r$|bb;mp+QXN_fWWQ!168U2(vJqG0J4$bfZiz;? z5c4e8?qzt<{3kXfV)`<8F6%)=naV?)svhgGgs^B?&TjX3I9=6k0r~-pi>|7M$tAqV z6oY^*=B2VXiAOH!yMDciHx3aAxk*w|Tpds3qP4QP65f7zZ2fvlBpF-3-sIkI-11wh za?nGr=`{IBTfZJ8>vLNv5j;kHH;o8_`cS}d+a(-|FZQPy)J>ZbW_0m++RFd!TR(ma zxhI7u6xJOj(!u5ZlxdqLW5XN+m;g6xGgHRNQQCIHP8#hn61R#dasdD&p>P!5HBJrz z5lyH z=^e$wp~F8e6yM(Yiw)3sn;2&zWTXoMqD^d>+#H{xUal1Lm@2z|z5VCA7%?4B2fK|S z(cSNU?|AaYTRY#}zI$80h8qIi@PbE!?#E6h5mbc@MT6j!k}dOq=!3;xm#-oL9?IGg z{`-=d19}*Lrz_@t?in7X1)z~wPkc)p+1fY+5;F1TyO1P5C9C@8I(AZnxK2_-;)e)F za~Ujd{O5AnKUn~SmNrF<8|Ey%i{tPo;mst!Jo%ciIY4ygV&R|1t1}m9a0ISPTxlqP zv5;Fdic#p_B>stcTR)oGK)7)}t)4xJ73^C(I-OH``y0RF<*ewn3ovr-;owbm?2e;c zLW2B`DV0g^@%4)9E-**ME(TeNc99Z59+L#90~6?sa*k6rwY*G`7)oWTf4dvTVq?cgyV^L zxMy=XmPm+WI}IyE{%Gd$i|iWGv)S#Y*3BhLFbsk&)Zz_Lv)f3e^RV*LsCJN_4}zsQ z!$RNBJK3?>0_t;ue(N6Il4`OyEhka|=VR-${B zc!yiKa!@xJZ47}Nna$D7Q7iIduuu&BGBbjJ_~45^o6&ei@z4=@`h~QFOjIMg;+?8S z>1uyaj+4wk;fwl+=Y%34HQ`$Kh!w@UZ}9Wq_O7(&r63A_)?aZ`OCwrzQIwa6{evZz zkO)<;qP8|&5F+6Nv4jv2dn_S7NJs>+{~GJR@SJ(>EVuWzx3q{vMc>;yGiPSb%$zxM z&Y5%6b)Dbp{WZ@2Yi{=JLYDqt^ZD6@VnO`B&dTTi`+xltAMO9Sr}tMImr|X0!#^5^Y(o!dbr|pkM*>bXAAS+LOo7f0ERQWeup zcezn-wp(2R0XYCF1zYR^PsM(bpWrBWs@GmFm!6eR&zdtkT`0~<&z&p(^XY6MpPn-_ z4JN}&Y2gO1S+HX2I1<9lIVYZ@!<3OtJK1n!-I+Fo>;FAD`VUJ2r0>=>pL{rNOGR` zavs{pYiQ72sOu**;2_lT42p`jCl;$E?zV@HVcpim^Jcz(VDp!p*$lF2q#`=4yhe-~ zs}NDuehc98DnKr;lBvI{zVkQMvk0#BRJ7Gs^4VwXqvk*KKNTY9wJ_S(> z#7$Pa*{M!}@myK%JMmX*{16|szew$paEh?wQVpHQfGZ$H0@E)WzSKFERgC`-+<6}r z8F$`+%xoj9Y>Bj>^d@Xf`|a5yf^)5EX?*}sLk#ao>lE(%G|iRWVt5 z2DZBI4$z_PYhcq$u$;cHm`IIrzbNpwW=_c_E<{^Y7H~b^^p2!hcDM2)7u?h z^@5{xGT!oLz0>FdHR>p^v`k^lcZiHlDP??VexJuH0C)Q(dwtn4F$;uyxG;fMnz=~vH?^i2#|hlwZLnT#xK zBJEQV78xMjDT%5>(a`&Zy|qVgN{IdI5zWfcdUNM=)UWq++EU^Isqr8k1iJ#tC=%t8 z-qfi{)c`ym_)RLs3Xx6x^yV&FDQEGIzMz#Na2ieYGOQpEXskM&{trQNj&mf`5V#7; z32Rp_0cCI0cGh?Kk`BDIo=1>u*ONPhBM4u~T6WoK*(a1|)}0%i7={bLRH45{cj|&` zb!KA_iJbkqRx|wr7;G=cXwQwGQZ6q;k z<&Pgub8GqZ{{5#n7eN8BX^q5e%0}hQGb%4h)F`{9-L8SVhhEC<8ONwJbT2R%nr*?O zdV+k;N?R$TGanvVAhE`p#~#WSO|+lHf!dL=6uzoEGa~ydDVb&pJi9X5Rex+kE|q{m z)mRF)R`tUfJeE8;)uyEWD!|~o70azo zLjZ?_xLl`_Wh^D%tb=N|!0TNVyh$;ZDkKUAE70NTr;JD-n)Utrg%yA{PyQ*hDYl`9 zZLk4U?$jJuom$E3XvJU8EYcF)K?I!^k+|yHuFAe@rq(b$L)ushUnTEY^`JzpW(U*W z{#pw{6Wd%7F{eGhcm{EncOz?dF4W(1l+j|gnD(j%_aJT}29LP+Gp9WfJ@|~OwX5)`(s>xa=HBUS@JK~nQ%8ahJUw>LG;JB*v=}WYT<#{QTZ6`w>wy#_zLx`)mAmo zHI>FgI5!uSs@20(Z&X19)Sub`$nz@uk+Zh@AlO80w2|3WsqNR57`w}i;GzU%%><~4 z@gLAM_~4+wCz33x41{Fee*;6)gmOBpIDDbuUUFLl2PpWYD1c?He`d(_c5i>L8U zTULA$nZXlerzW%u%KY#mXd2^V^n>M+%-SOyV(+9u7Xx16YhX*JOL!&K}spVzbps-lSt9h1)NLl1*PFEA{8FReMUT@vf z4I9_3?q4AL(DeL+g5RgYz(oo( zql$>K{6J+~RONIr>5l&R)Onuh%KHF5ph{;l_|9mP0X(}^DBbh~KfK5H>(9TQeDe9h z4Sx=OfJ4H|{aW7e!0S+%-cmqm$BZi5^^AI}INnGQYu7DZw`Svpm8+L)IDnwwn)V1S z)r}aO>lKU?d(HO&aVj8&z$($IpbU*V0vQ~6q)Q^wDQm0?Ves$~`47;lU-zUAOZvbM zt0v;hcXrzHW$aFaz*shTb(;szy6oo~vAJ({qLZ`Kpt3kDE{mf;X7MMmS&Ttv4BVJ@ z431EOyzdd~oKIQ9&%bzdYSD|CBkv6%5wbEO*X5FSm>z0Vrxr6M2pGAuo zFI~HVZHUhoYK);lXiQH!xZ3t+IATp0gA?rjU^q#%!IlRbt8N0LEU%)V#LTq>&?3`) z$?EkZqR5dmVFYA)KzxR)c4_zUI1a&&2K>`YoJ4+Sr7CuO_5C~j_44%0mvawk#HLLP z!}4RRPz{QY`wKhWCQM08Fnq7y6y@)HyjedeEpc2%%PaJ@HA60<$&W^*y=N>LOl#Kb z?W8Vsr~E+V&iJKH z)5ee|V>g*PCga6}sIKf%WRgSv?b$oW0)+}DV|AO*mw1CaK6EnrkZ=o1MxSj6a120c zSXScRLe!SJnqUuFAR-qWiblXxna}|S%BJj|mLAUJ12$lv+o}R+HVImh(8v)b2_C5{ zm^UxMm!k5IMw!K#mfq{@) zD{EgstYE44q_HvUH%LKb4Lc|@5vY7W<<0TwG!k~ehh56EuvNcMFgD)a&lIoQRXV0G z2czDYs)mBXDv~YyHblhU88pvb!@1)We%!A73CEzrMTj<<4EwL8Sdk&(Oqh zE#ZzbW1yemV$=YMeyD`5)l0S>=>A@3b1%{Vh41LfQfu oxOXSKYteyB)fTQ|ib~|q+@bjY`TzO<`6oX=0NutgKma5G0B`MyQvd(} literal 16085 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 z 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 b4auLmQt|)u|MUOzZ+yN3;u{x!03rbZ`YKsI diff --git a/bin/version b/bin/version index e5cd893..c24c31f 100644 --- a/bin/version +++ b/bin/version @@ -1,2 +1,2 @@ GeoIP_v=20200917 -versionsh=1223 +versionsh=1.0.0beta7 diff --git a/scripts/clash.sh b/scripts/clash.sh index f112467..24f2227 100644 --- a/scripts/clash.sh +++ b/scripts/clash.sh @@ -5,8 +5,6 @@ getconfig(){ #系统类型 systype=$(cat /proc/version | grep -io openwrt) if [ -n "$systype" ];then - ps_type=ps - sh_type=sh host=$(ubus call network.interface.lan status | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}';) if [ -f /etc/rc.d/*clash ];then autostart=enable_rc @@ -14,8 +12,7 @@ if [ -n "$systype" ];then autostart=disable_rc fi else - ps_type='ps aux' - sh_type=bash + cron_user='root ' host=$(ip a|grep -w 'inet'|grep 'global'|grep -E '192.|10.'|sed 's/.*inet.//g'|sed 's/\/[0-9][0-9].*$//g') [ -z $host ] && host=127.0.0.1 if [ -n "$(systemctl list-unit-files clash.service | grep -o enable)" ];then @@ -109,14 +106,14 @@ clashstart(){ fi if [ -n "$PID" ];then echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - $sh_type $clashdir/start.sh stop + $clashdir/start.sh stop echo -e "\033[31mClash服务已停止!\033[0m" fi echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - $sh_type $clashdir/start.sh start + $clashdir/start.sh start sleep 1 - status=`$ps_type |grep -w 'clash'|grep -v grep|grep -v clash.sh` - if [ -z "$status" ];then + PID=$(pidof clash) + if [ -z "$PID" ];then echo -e "\033[31mclash启动失败!\033[0m" exit fi @@ -359,7 +356,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then echo -e "\033[33m切换模式后需要手动重启clash服务以生效!\033[0m" echo ----------------------------------------------- echo " 1 fake-ip模式: 响应速度更快" - echo " 但可能和部分软件有冲突" + echo " 不兼容部分软件" echo " 2 redir_host模式:使用稳定,兼容性好" echo " 不支持Tun模式" echo " 0 返回上级菜单" @@ -515,6 +512,7 @@ clashadv(){ [ -z "$modify_yaml" ] && modify_yaml=未开启 [ -z "$ipv6_support" ] && ipv6_support=未开启 [ -z "$start_old" ] && start_old=未开启 +[ -z "$local_proxy" ] && local_proxy=未开启 # echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[30;47m欢迎使用进阶模式菜单:\033[0m" @@ -522,8 +520,9 @@ echo -e "\033[33m如您不是很了解clash的运行机制,请勿更改!\033 echo -e "\033[32m修改配置后请手动重启clash服务!\033[0m" echo ----------------------------------------------- echo -e " 1 不修饰config.yaml: \033[36m$modify_yaml\033[0m ————用于使用自定义配置" -echo -e " 2 启用ipv6支持: \033[36m$ipv6_support\033[0m ————实验性且不兼容Fake_ip" +echo -e " 2 启用ipv6支持: \033[36m$ipv6_support\033[0m ————实验性且不兼容Fake_ip" echo -e " 3 使用保守方式启动: \033[36m$start_old\033[0m ————切换时会停止clash服务" +echo -e " 4 代理本机流量: \033[36m$local_proxy\033[0m ————配置本机代理环境变量" echo ----------------------------------------------- echo -e " 8 \033[31m重置\033[0m配置文件" echo -e " 9 \033[32m重启\033[0mclash服务" @@ -575,16 +574,36 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then echo -e "\033[33m改为使用保守方式启动clash服务!!\033[0m" echo -e "\033[36m此模式兼容性更好但无法禁用开机启动!!\033[0m" start_old=已开启 - $sh_type $clashdir/start.sh stop > /dev/null 2>&1 + $clashdir/start.sh stop > /dev/null 2>&1 sleep 2 else sed -i "1i\start_old=未开启" $ccfg echo -e "\033[32m改为使用默认方式启动clash服务!!\033[0m" start_old=未开启 - $sh_type $clashdir/start.sh stop > /dev/null 2>&1 + $clashdir/start.sh stop > /dev/null 2>&1 fi clashadv + elif [[ $num == 4 ]]; then + sed -i '/local_proxy*/'d $ccfg + echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + if [ "$local_proxy" = "未开启" ] > /dev/null 2>&1; then + sed -i "1i\local_proxy=已开启" $ccfg + local_proxy=已开启 + echo 'export http_proxy=http://127.0.0.1:7890' >> /etc/profile + echo 'export https_proxy=http://127.0.0.1:7890' >> /etc/profile + echo -e "\033[32m已经将代理参数写入环境变量~\033[0m" + echo -e "\033[36m如未生效,请重新登录或者重启设备!\033[0m" + sleep 1 + else + sed -i "1i\local_proxy=未开启" $ccfg + echo -e "\033[33m已经将代理参数从环境变量移除!!\033[0m" + local_proxy=未开启 + sed -i '/http*_proxy/'d /etc/profile + fi + source /etc/profile > /dev/null 2>&1 + clashadv + elif [[ $num == 8 ]]; then read -p "确认重置配置文件?(1/0) > " res if [ "$res" = "1" ];then @@ -768,7 +787,7 @@ clashcron(){ read -p "是否确认添加定时任务?(1/0) > " res if [ "$res" = '1' ]; then sed -i /$cronname/d $cronpath - echo "$min $hour * * $week $cronset >/dev/null 2>&1 #$week1的$hour点$min分$cronname" >> $cronpath + echo "$min $hour * * $week $cron_user$cronset >/dev/null 2>&1 #$week1的$hour点$min分$cronname" >> $cronpath echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[31m定时任务已添加!!!\033[0m" fi @@ -861,7 +880,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then clashcfg elif [[ $num == 3 ]]; then - $sh_type $clashdir/start.sh stop + $clashdir/start.sh stop echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[31mClash服务已停止!\033[0m" echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -881,10 +900,10 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then /etc/init.d/clash enable echo -e "\033[32m已设置Clash开机启动!\033[0m" elif [ "$autostart" = "enable_sys" ]; then - systemctl disable clash.service + systemctl disable clash.service > /dev/null 2>&1 echo -e "\033[33m已禁止Clash开机启动!\033[0m" elif [ "$autostart" = "disable_sys" ]; then - systemctl enable clash.service + systemctl enable clash.service > /dev/null 2>&1 echo -e "\033[32m已设置Clash开机启动!\033[0m" else echo -e "\033[32m当前系统不支持设置开启启动!\033[0m" @@ -923,7 +942,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then elif [[ $num == 0 ]]; then clashsh elif [[ $num == 1 ]]; then - $sh_type $clashdir/start.sh stop + $clashdir/start.sh stop echo ----------------------------------------------- $clashdir/clash -d $clashdir & { sleep 3 ; kill $! & } echo ----------------------------------------------- @@ -964,15 +983,6 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then echo -e "\033[31m连接超时!请重试或检查节点配置!\033[0m" fi clashsh - - elif [[ $num == 7 ]]; then - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - for PID in $($ps_type|awk '{print $1}');do - [ -f "/proc/$PID/status" ] && vmrss=$(cat /proc/$PID/status|grep -w VmRSS|awk '{print $2}') - [ -n "$vmrss" ] && echo $vmrss $(cat /proc/$PID/status|grep -w Name|awk '{print $2}') - done - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - exit; else echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[31m请输入正确的数字!\033[0m" diff --git a/scripts/getdate.sh b/scripts/getdate.sh index 62fb5a8..87f4040 100644 --- a/scripts/getdate.sh +++ b/scripts/getdate.sh @@ -109,7 +109,7 @@ if [ -n $Url ];then sed -i "6i\Url=\'$Url\'" $ccfg Https="" #获取在线yaml文件 - $sh_type $clashdir/start.sh getyaml + $clashdir/start.sh getyaml elif [ "$num" = '2' ]; then linkfilter linkset @@ -212,7 +212,7 @@ if [ -n $Https ];then sed -i '/Https=*/'d $ccfg sed -i "6i\Https=\'$Https\'" $ccfg #获取在线yaml文件 - $sh_type $clashdir/start.sh getyaml + $clashdir/start.sh getyaml fi clashlink fi diff --git a/scripts/start.sh b/scripts/start.sh index 82e0c2c..6393d76 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -214,7 +214,7 @@ mark_time(){ sed -i "1i\start_time=$start_time" $clashdir/mark } start_redir(){ - #修改iptables规则使流量进入clash + #流量过滤规则 iptables -t nat -N clash iptables -t nat -A clash -d 0.0.0.0/8 -j RETURN iptables -t nat -A clash -d 10.0.0.0/8 -j RETURN @@ -227,9 +227,10 @@ start_redir(){ for mac in $(cat $clashdir/mac); do iptables -t nat -A clash -m mac --mac-source $mac -j RETURN done - + #设置防火墙流量转发 iptables -t nat -A clash -p tcp $ports-j REDIRECT --to-ports 7892 iptables -t nat -A PREROUTING -p tcp -j clash + #设置ipv6转发 if [ "$ipv6_support" = "已开启" ];then ip6tables -t nat -N clash for mac in $(cat $clashdir/mac); do @@ -266,20 +267,22 @@ start_dns(){ done iptables -t nat -A clash_dns -p udp --dport 53 -j REDIRECT --to 1053 iptables -t nat -A PREROUTING -p udp -j clash_dns + #ipv6DNS - ip6tables -t nat -N clash_dns > /dev/null 2>&1 - for mac in $(cat $clashdir/mac); do - ip6tables -t nat -A clash_dns -m mac --mac-source $mac -j RETURN > /dev/null 2>&1 - done - ip6tables -t nat -A clash_dns -p udp --dport 53 -j REDIRECT --to 1053 > /dev/null 2>&1 - ip6tables -t nat -A PREROUTING -p udp -j clash_dns > /dev/null 2>&1 + if [ "$ipv6_support" = "已开启" ];then + ip6tables -t nat -N clash_dns > /dev/null 2>&1 + for mac in $(cat $clashdir/mac); do + ip6tables -t nat -A clash_dns -m mac --mac-source $mac -j RETURN > /dev/null 2>&1 + done + ip6tables -t nat -A clash_dns -p udp --dport 53 -j REDIRECT --to 1053 > /dev/null 2>&1 + ip6tables -t nat -A PREROUTING -p udp -j clash_dns > /dev/null 2>&1 + fi } daemon_old(){ #守护进程状态 - status=$(ps |grep -w 'clash'|grep -v grep|grep -v clash.sh) - [ -z $status ] && status=$(ps aux |grep -w 'clash'|grep -v grep|grep -v clash.sh) - if [ -z $status ];then - $clashdir/clash -d $clashdir> /dev/null & + PID=$(pidof clash) + if [ -z "$PID" ];then + $clashdir/clash -d $clashdir > /dev/null & mark_time fi } @@ -316,7 +319,7 @@ start) [ "$modify_yaml" != "已开启" ] && modify_yaml #使用不同方式启动clash服务 if [ "$start_old" = "已开启" ];then - $clashdir/clash -d $clashdir> /dev/null & + $clashdir/clash -d $clashdir >/dev/null 2>&1 & afstart elif [ -f /etc/rc.common ];then /etc/init.d/clash start @@ -327,14 +330,14 @@ start) stop) #删除守护 checkcron - sed -i /start.sh/d $cronpath + sed -i /start.sh/d $cronpath >/dev/null 2>&1 #多种方式结束进程 if [ -f /etc/rc.common ];then - /etc/init.d/clash stop &> /dev/null + /etc/init.d/clash stop >/dev/null 2>&1 else - systemctl stop clash.service &> /dev/null + systemctl stop clash.service >/dev/null 2>&1 fi - killall -9 clash &> /dev/null + killall -9 clash >/dev/null 2>&1 #清理iptables stop_iptables ;;