From 4079d1525faf425d16e9b4b8951bf3f509a40ac4 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 14 Oct 2020 17:22:13 +0800 Subject: [PATCH] =?UTF-8?q?v1.0.0beta15=20~=E6=96=B0=E5=A2=9E=E5=AF=B9?= =?UTF-8?q?=E4=BD=BF=E7=94=A8mips-softfloat=E6=A0=B8=E5=BF=83=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=9A=84=E9=80=82=E9=85=8D=20~=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E6=8C=87=E5=AE=9A=E6=A0=B8=E5=BF=83=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E7=9A=84=E8=8F=9C=E5=8D=95=20~=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E6=8C=89=E7=85=A7=E5=85=B3=E9=94=AE=E5=AD=97=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95=E7=AD=9B=E9=80=89=E8=8A=82=E7=82=B9=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=20~=E6=96=B0=E5=A2=9E=E4=BA=86=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=EF=BC=9A-h=EF=BC=8C=E6=B5=8B=E8=AF=95=EF=BC=9A-t?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E8=BF=90=E8=A1=8C=E5=8F=82=E6=95=B0=20~?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=8A=82=E7=82=B9=E4=BF=9D=E5=AD=98=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E7=8E=B0=E5=9C=A8=E6=AF=8F10=E5=88=86?= =?UTF-8?q?=E9=92=9F=E6=A3=80=E6=B5=8B=E4=B8=80=E6=AC=A1=EF=BC=8C=E4=BB=85?= =?UTF-8?q?=E5=9C=A8=E6=A3=80=E6=B5=8B=E5=88=B0=E6=96=87=E4=BB=B6=E5=8F=98?= =?UTF-8?q?=E5=8A=A8=E5=90=8E=E6=96=B9=E8=BF=9B=E8=A1=8C=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=20~=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86ssr=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E4=B8=8D=E5=8F=AF=E7=94=A8=E7=9A=84bug=20~mac=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E5=8A=9F=E8=83=BD=E5=A2=9E=E5=8A=A0=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E5=8D=95=E4=B8=AA=E8=AE=BE=E5=A4=87=E4=BB=A5=E5=8F=8A=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=85=A8=E9=83=A8=E8=AE=BE=E5=A4=87=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20~=E4=BF=AE=E5=A4=8D=E8=AE=BE=E7=BD=AE=E6=9C=AC=E6=9C=BA?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E6=97=B6=E7=9B=B4=E6=8E=A5=E8=B7=B3=E5=87=BA?= =?UTF-8?q?=E7=9A=84bug=20~=E4=BC=98=E5=8C=96=E5=AE=89=E8=A3=85=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=EF=BC=8C=E5=A2=9E=E5=8A=A0root=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=20~=E4=BC=98=E5=8C=96ipv6dns=E6=8B=A6?= =?UTF-8?q?=E6=88=AA=E6=96=B9=E5=BC=8F=20~=E5=9B=9E=E6=BB=9A=E5=AF=B9?= =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E8=AE=A1=E7=AE=97=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/clashfm.tar.gz | Bin 18830 -> 19521 bytes bin/version | 2 +- install.sh | 6 +-- install_cdn.sh | 10 ++--- scripts/clash.sh | 57 ++++++++++++++++++------ scripts/getdate.sh | 106 ++++++++++++++++++++++++++++++++------------- scripts/start.sh | 4 +- 7 files changed, 132 insertions(+), 53 deletions(-) diff --git a/bin/clashfm.tar.gz b/bin/clashfm.tar.gz index 14afc83388cd2f24d7f4bea8560c2f3ff071f1ba..c2c8c425826ca5e9372db6a7e6b42c1d2cd2d8cf 100644 GIT binary patch literal 19521 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�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 literal 18830 zcmV(zK<2+6iwFqDR)${!0Ap-nb7(GfVR8WM8fkOeM6_S6U$LkLCqR7W0D`$0ju{w+ zaC}HQRFUOG)Uu2uQwlAU0HJA1nm`K_NJ$F;%2B7B4LRx`LnJ$&_zS$%leDYIcAH>2 z41;KkwfnB!efLT(N#L6eC|&ti!r- zC<%Ksp;&@2I)a*VKzQy*Mai40Rw*gM^Co~Ax^4-NzNW|{0Bq$`iY2F9Qur_FD-bru z0H4v#5U@!HlK?Lj-Jimr0Iv*X_?w z32KpylD;BwN$8bB6Xd|KHK~+^*d(>;cu#e_Y7!YNllYEA1^YCLlB^_4QklTsTL5vC zOc+XqjEPdAU?`?JCi+8t`lBQPOgfo3YAOYiFjL9fDSR@Onh1u*QZ6s|pXBXvcWP3R z3Z$=0GQC0!cI0&;#wl}=93Z#dMqD{E*`Z__{>unORoL$=&e10(d8lk4KWSMN^PW^nE|ilmn+2t$zG@^vxYWdC>Sgz=QX`W}sq`?lXyEYC z@vZgWnpaosYw!5vU1Kk(hDY3gg*}3Q%aW#$c#i=~DXHZ{aIS!n7JGXss3K45L{wg@ z=!V7c#u&*lQ6%@>haSFS=tUL6f-Dy&@&QCjlZ->c5lJg?W2jk4Itn6xIpr*Um1?f6 z+w&he7mhbq-o;gb{I^hf;*=se;LDTPk3cT9W__V~@x8{$-<+xG#;5Nf;-4GuZLQ8Z z=T6(F>h{S?e{M`CKuV+|n0nQa6@2lTYm$s7(yU#vH$P;I*&<}zJWH?2li>+rzr8W# zEUq<=e`hbOG(KCkXMXl=1b4=eld`U9dO0u@oG!yw_Y~D~Apiq)at|bNyUQWbD+VYr zscPvM6P2SdTb^M<%A@A z-)$LYjs#hD6bC4`mj`D-AoxS20a4ufm-JFWBzYp*SAT+SgbidYD3QE4md@oyb2$wF znzd_<&DvJ|yj`1hE?u-Y=HY1F`Lre?e8xu@)Bt*GbH82(eeEUi0={qaU-LtE-JSMf3~g#9GdByT^MZ;h85M0XJJw3wjalt5;yQ2$PJzQ7tnKaxQ;q zFJ3}Qe{Re&dH>uv!4CKZ?b(r${6Sf=2z9=4ic(Bra1A1#3v^UEe2668s2C83Nj!UJ z9OC6cAr{`GkAK_#u+IAmG*C;`lt9%9*ft%2MfDt{F^b%At9h`GLH70nL_s=20qA?` zuEG9v+8y1G!w^jj5~p({MQ|1-Jxc@-*UHj7MG44P4LWuV#C+VoG7oFK^(lMy-CIW*-+XW|aFDqB%(Q;G=q#SN-tN1hs~tlIUraVNt00PFZk4)`#3nmnu+X1`wDR_si^>wg@ z?U^}x*<&{VXz3fwvZ{Qps8h~SmrkiN%-M4qmBjC#u5S4Si+C5a3aS9 zFEs?W1=S}d8NVO&)$_i{pASGmxjf*v? zios>tQyaXjpCj2PwLL!kBQP)V<;^<%Md!`Sr9netgbeo&%|I zlW$Z~Xo=9w7v8LDiJ&z1aN@L;1``=%MzfSJzPD!}4nS7?S>w_vOl>g!fMlSfC}k(H z&=7-)A{BT0C%31>0{S?9GNa;b-qRBX5pi!=**LQc_Q@q+kAIjDOs_B*KE@&-l4P63 z7bM)~?9Fr{lIAqbj3JhD9ywgnytlnL1t$(UjXk~ST>gRs6;>)~&o{{$)sXzex5{urTvrrDN8&ZF_j(<6<~-nSQih!OyUZj0XU zp`#OS*6Q0I*IG~*Z%bgH1p#~I-NuD!jsTYQE%DQ&SwCxk_W9Q8$;R3@7$yK9>Y448 z-|e-t)ZtzJ*wu-0RTDUG46l4?xyQqedXcEpMHxccj1Fs*P$@`0PtzIZC(#Y~iXd=4 zC5o7hBC_-EjGBw0;>lkRvA+f4_zmC<@OaS!i)w^>Y^Vx=!Mqj@vCzW1Se$F;V#jbg z?~&NElSQY%94)-XAa%fU-%l5cx}51cg` z^dD0T$mNfz_aPQ;t$zh&S2z|FGa6kD9_Ahl8SLVSZ0YrVFSbVm%0VTs9w*@9kHKnE~vSdym%tbi8d z^p>ORK{i}7<05u+3+$B*urGcpyh>MOdgp^-F4XY(`|`Gpw9%D39ID$e#CIpHZ!LvH z56>(qpnn-57H!e8coEtQvb$BekZ2P2@{i45_>_^7qD3q&ja9p-NO&rsM?p)u_Qm$O z87#>7E_M|zA}A>HiGkDWSI2_sd?xUC+!)ugwiix=G3>mYWQpNpk4AdkK2QDz6QOsiwP)z64x44ML*(C^vfpYMGgCy9N`Z@db(sj0Fhy?c=Cr*J` zV9k$6-p2mzQ)`_l-e8^>P7}M`9nI*p;lwKU9M-mjjsFp0q z8n{$0O0Rzx^zgf!&h!R$K@T&4&h!QuJ(?+xONa7q%AAB>EfQ%u+->!5pG<=h*vs&P zPb{$2{`Z+9VdP`a{0RJmD)iuC89Kk@UK01VC-9>tkq>B<|G~6zbg?`KS+bpn)<|D2A1&jPq3mMuO2445WK%ay!w6$n}E$Vv?)w*c_rOl@M>9a zf{*p=h%X#tSWph5LhUH-BN~-v8pRS$Q@OdRt}8Fz_iB=iq0DWbNQJ^nFap23)-C}p zS(}IZIzk9^_`vf%@eIKSUxN=oL!T;rQ7zO$iv;eKmnX_ZuAQm!ORiexJEJ7)g# zDv^j!KMViFb9d4&t@@88glIpDq<6U_%ABuqoY{}St28&iCXMwo&iN&*BE^<1R=jIL z2sjE{8~nf;2seiH$|KG4qen;m-}E*z&Fg1yaO^scLb`zQo=&^<=+lpQ8}{_G#}d6e zh=K~_JL0pC*^VV($n8axJuxfL!QqyHbV8r(1|POQ3e(6=40Tm;ue~Y!c9=s4h`lK$ zLxczs97v#i;H6v$lsCi>V^tRz^Ja=d@LJ(D4^P$c78YkiR*U`xrP-q}9WI3-+Q6l7 z=j&FK!1ogFMQ1@N{cVrYNnfsWgFO3j^Wvqg)yo(z(cBu}tZ#p^%r=%^K-g}I>ObJG zkdKRkYHr8~nXB^+D^3ZAF39Nzq3RtO{5}+V=G}7b zX|07fv}Z5C=6CXjcsw`V8}9T%ZkkS=-_9GY_#1$DtRRLlx@d7(4Ht~-2Ty=I!s+S1 z!pf;-qm_3lIdS{Pz!#dEP~D(|1NFhx<7VvqV65EUCy*{(>iostb?rC}MA7H`h1nO1 zs0kf`Kp=z!5=ek}j3^7NfMp?638B!J8W6pUj_93`W#L~SPWcPY_}DYo>#<3)rU-#( zYfrs%=FXklOc@rdK$S1Y0l8IJ$GdD?VmSPvbS*nF5gePuBF2e#cmWlVLkfOr`N&j|5mSgz@yq%@`A$K~LsyjZ6b8B=e-sTG9+G_K;m16jX?AY! zRbf}GOf78;#o>p|-FQRD zk&svnB1QJ5x0t=J=9M>aZ}FCToZ6UNN3a`ItG&KcyM2DxV4I=k5<=P^h(LDNPb}un zuyEgwxn10lX5a+Gy9w*McTMQsxp}h}f~-9?eQ6=kuDtcs&qq|_^ z)$#=w`4zt2uH7gm3=cEnENZt7G@o9cAG=5%s~qU};sFfZz5j?) z{&lEYzAD15n92 z@FK{Lt1F&xTYgTCwP?kPWq2xhmbDjE zY{K%T^B4Ptq{l90UU5V60yF()X8GZ5H>pz;#VnymHdruJ6NfYpm1XnhBijw;#c^oI zbN2`i)blJ;yYvZ>0RRe0s{6{>8})a0btfIKS0p5i6qLik=s2RGkzqrP?UN+?&Lp`r zsk<_6!+li28xvTHxa)-PV;tIKFmi(49b+bp)NwE}49099kpYDTWjo+uNv#Adj`vN| zLT8l7*aTB%&;eGZJRRXIh7dN{@58`OOeC=3jP>y9FjeO zMLG4jiH6hiqNh?AR%}u~Vi` z8;fMJV`t1ze{y3dP0o#-K5^{i$vNcksy{z2wbD_V+lOMufh^l56gXyD)LI!zJOUv9 zBn4h)!j>xwT&CLL5~#9Mgi6q4r!WcXw+s>9;~*P=;?(SO+o7Q?s|(xo9V+f>=Sw=D zuR%bly)QK$^;1ZyRvtk#tCowfVY-8_AwQ|KqXQ>vhfD5B--hY6q(^K+l9y1a2T3@` zuVYpoKhtK+tXn}?HZ<#I@ftWyds7~2oj?RQAd0+s5b)|xuWE`QK3vJeXCJs1k81M; zqI4R^-uZFi$IoN5Au1$+*b2=VA!wR7Yoqw5E!gV6e(fN-qtpm-0bz~JJD*|>NDSr= zI6((fKyV>4vP2m?V6e|?CcZCHRYp71(Bqc zrS;FzqMNrO<#Qg1DEI933yUYF_^+}8!yBP_;^`k9yR-9v8aO2kf09MI!MB(CPM zKWq$4*Pd}e8pdP`#Qtv}c2LSRnwn+bKw88!e-hg}@0^ZTB=RFiL3RVG|{2IE}GiOP6;)eee#KlkNj`+~Bmw zkJ`NuYzL-g+yilLBFrVgx*W9)TUk4{WVM#T#hmZ0PF8l244>BZJo*St5j(ogPJyEv zXbm-xwzx&D@`4n&BuVXz4eW~2;}E4ZTupeJ;gZR$`O#J_<4?{zm<%o5Tx+!)Skk0^L&*d;YhN8yI;fn<;xe@gMIAuumUjhK7k%Pdo@LDTiH&B z>cAOE1RbL!MxG%SwU@X=WhRrP7BiXrL>()RryCqcqr53{%hSKjq@*-ei5&g2LkauQ zN_fY2aj)__4CenR7%ADor*ha#9LF7+a)FbVkYhKLmqGwzg!)j<@yB#Ng^hoa%E#ob zht?83V$^UkZS8gQ38IV3l(yW=A3bx))$s9!L1H(-MV>Kx3jvh zXZ(hq9UFJ9Q6Dmz2{ro6Ns}jzpPn5*X;N*VTb-8Sl5o#8}hxY0dkot(hqDIx6tXD*%b{5=Xblh@Tsm@ zg$ZN%kAr_ksu)!9i7i3Nxsu|HKO;p7o0i1S(h)6qA4T)GuQP|SINpl$na-MHdt+I2 zD$>Lg!5f%6LBl2$wOY>q_6$FYzyuZ&z48kSF|KLyGh_MQ*({RZ1!p$-jK0PBT|d?9 zaSVat=vsPeGd3KYpuEnJZ8=URpoZkce%Dx4zRila2_YLnQ^HS9v`++Bn)YdBi{{Wn zXVLH%GfdNXp0~B^mB$-f&On)apB1KT(K-128cf+6)^9OOAnO_bEBLm+O;EPUx}%4^ zeA5hZDFCsL%2|Jm^oZ*U>BySpdyQ9jBZ@HkJ^o0J>`Dkh#x7QK?Ms z!U>Flz%_Oqj3$sxaepS2?pixWx@xD{PD6-gN5K`0?5&+VwJ?7MT%VUBuN@TyuT$n) z8XOuajAaL51tJqRHiVAUTb%y{cvP=ktiJuNy#Jj!jh_p1rgyWuJi}RVzr;ggX(k;* z(6yPRA7`tl-v$~>moE6D#=-7_k+0Sn_e$$a%AkQ|BQcfn%y*f-@*R_3=G5O#PsU5L z>|~|fIa=7&aCx0i$dI2Cn8iX?rPb`0dJb=zRI}vD46EU#<$`IaBpq5#nv1s&KC$!h z=bjHNN1|gs_8lrs+wVa{T)A49AywnRFJ3|2!tWF;eTGZ7%)(kt*;6IDWLD@mAAQY{XKHVvVW-u9&$Q(;O?Lk#jLIkjx>qYKn zOOz7RtA6zmA}kkrfN7f8sn>RAPUz%w5%$iUUu-Ge9LN}Q#PKn zZ!Dhq0Q2h3z2kgGd4S=7Oxowa0SV{#!|AiW&XDK|8+Xx;e|C3R4kIV-@$#;sWwq|| z%0#!*G_zapB+zj-1N~!%MqnF)g_v?N5iPVNtet&*`QuY$g*~Uml*)Chc|m`c+Q`E} zcNGx`T8eZtm(9+t$UVfXa&|XpT^zD}kW+GZm=!0AV{Pd zF*(iXnkF%&DQ|eqE>F#js!79y@S5F$*aqY%s{X0^Kp0J5Wdz?RtUG5BS(pDtZxM@! zNNXXb(q<`jHuw9C=JAdveZLi;A1vqXua?%4_|xeGwZcW!U@O!@hBVO?)C5;w<4uHj z!@SNg8sS1U(;kGiqSFYt?Eu(+tMQtOs~@)GOV}q4CoL&het&0lv}qs8r6b5^&CA zxfEI{6BreDmE65`h*MVjrXjR;)^ExTmm0Ka zEpe4VVA)i|E@JnL-lBu$A${}*dzI!26o{Tn$t^>G98tE1NBs8xc8-AtXN!>bS^7oHy)#W;O# zhuYVgDhq*6nBTcKXHhK7V#2f@4N#m%Ktuv_23-Gm`ORZcd+{8kg28(lvZl|^REvkz z%hzDUOjSDX#s~$jqP3ats%PdAl@X$25V*y!4lSNhAs9OmkQ>T8X-jZTI=RY%xk=G6 z;$DhJ5F?1X6T@;Ctcc{{-oAi%zYEvDs2#fGiSEPlTubmfr)T5VyL!6Xh_&zptK=Y7 zDx-E@M;W*wo3C`FGut{|87e~6xb(+qDC#`XBH4fw8j|oC$#Ut^Z0+?UM&TY+*znH6 zI`2-Q7e=XGg~f_sYA}z7P6_fokb0$5dSx`9oY>peeAp$goafBmp_@4xQDvl|U_>kz zCiI1{GwU686C}@{4rHItxqC!Jn%Ttmz<7(h14GFDjExO#sjUxMy7VQ8K#&5M>`-v< zr3fZ?W#WBX$(k`^0&4wOV1xVi?Qun;e1Kp8yz@dLaF6XiA1pYoEp4ho#=i^U5 z_0VGvVlCqY&3B;9U9e4#yd`_{Y)B)6h#2B)sQ&2oL^8T6k6a>sM|WyG5kbb%I@tF5 zv87Q8j&mMLGLh9eX+a0KMg)dZac16p10-2lNx{V>7Mz2gY-+NZfirx-SgcWOkyQ9jgrI%kY>;IChBo%u9&d!~vn)s>R)6cL6|JZ^6^4 zmwgPXfsx&vgVHm@a$GX(H|^v z(CT178UB!#42lD<-ifFCBCO5aQDBM*sy7c`t&Qgx?*#DVRBd+8JL?J>#tW zuVd!{0~@1on;LB?7jZ(@25|*`_U;ntjn`VDZ8q)dEVtZTA7V{ebIT3-q_Exl`uet{ z_*wZko$gI-7-g&qBA{p{JD4?VSG@QH`+$FrxO z+#!vOx6AMMKeUs1TRmpQWC0z%`=H~qH(+_4_S)ic>b|%z;nOBy+0a7v5}<~1)tNKZ zt8+FW$y%Sh4CVFWH%H?!`|Y4)?gk5E05Ud|cOKea$JuhWC~t_yvwO$^q3 ztS$e4Hq*!PFS?NjS2+FeN%duVB>nGBcX#*o^z_-~(|!Nb|Bd)4`oBxMth9*jrSbjc z!Yd;aV(a!c@v!Zc9gj;*EEQ-GITznJ;~DC)c~CGq6M6X7@+4I6vLh^)j@`HYk?tp- z+zACAiY~r219P?NiL2E=uiLImGqn@nEFC`u{Ugg~obro5&o5q_M#L=Oj9UJZT|UUS zYq(Oy`PUrFb$cP!E!U&ry$Qi&7A?#0n^zCtUcE50{M9-9K(sm*?X6QZ7;s;#_N%l@ z<1i76z#eV$6eMg!4MWmZ6lak;V~ZEg;m(0YkQNAfP5m;R^1SVU=CgVR5&z!B@Td~$ zSnceI>bn=55?_9dCOsuGvFc}Yi(gEu5(xAQ*Sf;E*#6k<55OyKR2A!rAy!!JqjwkP zP9uur@_UD5N!H<5G;#YJWS+B5;~ZKV8`j5ZD7AQ$Z>apD#5$s7-%_Ql6^O8md0B4a z+5&T8c38$2xp=uc{TCzF6tm^san~SGZ$H-}QNOji3j_LnKT)w*1|p^VM!s0z=*YAX ze!-tSj28U;lWU53Q#KW(_wA;qf@VM91D}C3W7=IMqf=% z3@gGZOxVehe7UrHGCMvl5l{rvsW!g9H#xpnQAZhR1b|SbP*Q}@ezbRJD7gy;UYm3u z_iT=BobsaK-@`p?-@=^luuaSo!P}VcHqAzs5zx7j)pX|f4UJCb@+xGB`qeK(hY`AU zv+Q^$^%V1=!oPO;y^B~b-uyI9cO$aN(y=#=Nu{Q46Kj>4PI!;tnwqw0(22s6gsEKp zeSo(*GP!FAyjB9`F|OamL8tH9S2G|0Gc6dfXK?bv6Le{Q9yT|s9>!cIjsN^F3^)m! z3I28ieC^Ejg{#d+<%N{va{yJ1=&o8ud3p{ALC0ope;6D47j|?}cZmimowNK6YNwtU z7tK5lClqNhi@>J`9oAkw>-JVsdoYm*po&8KQF4X(R=ekRl{;TkG6%9j#taiL=j}kk z>5}Uh;dFY+`Q`@c8p9AgT^@BcGL7f@j^?c3&c=-LjzK$W&<2=ZT0BDxuLeIgy}P?8 z`=JU%-~{a&+%hzf*NYipPCs$ z4NcSib-K(tu0ANVPPbV{OHbkL^yoS_c_ONoO_zzPWkXU?sj2;Mu7cgxfs4D>$@XKH z$RD;(33+-&YUaN~WZ8HDmsWd6Wat}+Nd3K*!cpgFQSUiCMjw&82{#%;+9!4dMR0RX9g=-%3M~rJ^EP&$0 z-})0auRKNQokW_3sU)H#w9PjsOlG_G&iUo{ra99A1F1M|*GcdgPH>iXPddF{u+qOi z>Ny8jg!+&01jJmn9wUZp5@V#?D z3~X&5XzNTQU=Jfi3;E{Sq2CdI5`zyr73YXMf@tUd`t1X^;m<&Sr)4Psml;QxN?=xA zy8aP3ISd~70GKH8VE`_-@!%NfZ;t{T;B^k%n(5VmC=V|FFbmrx2yciB2^c6jRLbSC z$51pLb95z)D|-v5zoGMVc?>T%AB)K|+mhq$8q)J2OAZ|5ONS5^FhyGnx2N0Mc+5Fa zCp}ON!GYp|K|hJ7te}i(BX;9Y%L9P>1B;xi0tV$UUd8hj;)7qHQhm4l@wR0bHh}(< zhSWt5laMQoG89_`5k~8i- zyFrtr)f?S9cE2Q|LWg=D8ttxB?AX&-%=?p2`w9iZ6qw8g0~FXq5UOVwRx_rA6N2cN z*54rLgL$wZ>;sQQD-y+4S20Ls9C_j+l0TQ&+u}gnL+$NH+F8G_gJHFk?UM3~wz&OT z6G;2lTB*NQX0ROnkIgzgi6707jD~3sk;Uc0}Mx>C)Gs`(~*qHas zaVh(aHnQ}SAI3=yAo0F!YL(W>YZnLW=jy5&!WM2tLbFA@LaW__q+(dfWm;!J-hF*Yk z*|%p{Bm#Pw5FOi%aK*B(t@nars=Ke^(wZ)&VR?i*fen#EusbhdfA4q4PIbnIcc9RCf*h1l& zp0B3UuY6hDV<2D};ReU9WoRe?D=Pnc&1(UjTu^vhP6WQAt^R=bs%qV6x1RcS3jvCI zc(AbL9}Sic9}certc2xzYSPKdt+G#if2)Ra>nm1BRo5Rlo5!qmAg@9xn+uO1%wcxB z!ZcIR5gR=T%Bn^3?pN&g>tN?wD@)43^`A0vW0?lN)?;JjQV1L! zb8O7Ao{Sj2N=mI`<_U^79E6#4$}BWssowgR=E#60BgT0^2*-~0`uDZtf6$-Thf2dy zo{7%Nf&(rc48g!I!uVWX1QhePaOGFr!a8(}3qJ4!(=UTbm401k>+%$37? zAxtT`2DTE9k!!(Y==G2sx@ldS8X!+n6t+cki(8sj5}I+k*;n#kDk+4mu4RC7#rrD8 zm-$mP^`jp;2lN)v;aijL!0JRb{k5OJfU<)LLkP}hh?s~4_s$X#U7E>i)DI&aH!duz z=MQ6WaN}1y_j~Q!;rP(_q$C?)7$;>!CODT$nQfvh67t_*Lj8F0zK$1OO5ks{TpZ8d60@G)}VLj!uA>9i)QMWKQ zTypB}86FR8vu_P;X3Ik(z1_+7g9Z}Y>UCyYV>kWd^wXJteFb08J5HiJFZ@0z8 z)flW|VZ1^}4hN)x$ycNKj!J2GVi-(^4Ddy$dbwmxfRAQi4ev)uK^Z|Z9zv0ewHZ~H zNob7(MP9oh;cfxJ$Gv#0a~IW3hYm3h7v;61-y#pt((ED9EO69pgF85yOz2jcrzP+f z^0WBOFL0NI1R(VrKgzfnjP{Nvj+yfzOI6)kz4#FrQ;4GA=zvt45IPphQM6zev91D;5l%WQyZP{%x>cG>FMoM>>FXJ`YT^oNivm`}_KqUn^qu>S)9ez3 zpll4GLEv?v&;Sz#{df3!@(yl-vWDVv5dde~3xm&sz;uOxDH}i%I?5K$+QbH^)58W` zk{0S})kTa%n`WLX`4g8w@Z9aN31Ua9B3#XwQ8G&fovXEx4bNeNV3Do;dwN#?XKIDW z_N_F_yjv!_aQfsWLR#r8TfcIJl#5z#1}a9@=;{n^PcGMfJBbYplvu{Z2BYfNYp-z( z461ritmShsu%<(Zr(rlmXLst;m!?kvZ6w65&L08V;b1sac4VXXuM-M+DrP(aI1sR* ziSp>}Lk!jz1Z<7tpr^;90QD_^_?nb70||$K0s&3!#pCcI$b2fe(hfbm+y*w zrnc74&%4`{IIwlcg!&k_8ZS^i$Q1YZM$P22>*@f=gCn5xiJ67D8AdZV1Y(VisR}oh z0B!*nbBpCxg4q)aV~0clmZR=qb6oXc>zL>MkbuDfQlUG7fW&-vQOVYJ zqOw5In%N`k3e~I_C{wHSk~c!0)+yDvc^VU}o4&f@wm>TC6~~Xp#((%UetWRJG&wd= z-k+4I-h6pv&6l`P2&PYw2l`JJ{j@2PxSw3R5py*w^PduTld^emCoS_0ye3)ZW78N> zZU--oF^LS{I!j;Em=Gf4PeSbpg>2`cw6!23CHp3La@S-y3LEc|Xb=>*V0i?v58c44GJ#lwiBt{3lMKc8~ zs7B7oC`$zslfp(I26|jU-g*}*b+Z9GN%PU2N|FwCM@!=H)gJIVw8q+3<%avqssxQjW|-n+3O)axeY6EkAIiPU6euCXD# zXd#(&JgZp7t+StC%*g?DdK~RZ4%__NDpq%cF4Sd0d~t4KNMEY-z|e=XN5YMJ!_n9= z^F@N$$`e>I7_tNVp$9$`9&^8YniW!}#caaQ-#$E*m1IadV1y!;XbAs{ny4qYB%qfWk-4oGfnUk3#)+;!S8s@lBKAl3S{f`y>~)iz<|Un0WvEd|-q-KQBk|-!3feK$VcW`EFaW4c^()diPd<8a_9XRBv9GSs%63}0y%U2yGLG~KW; zyZ5?wa&)*T`a-f|cUU}gveBSg6AZK$UxC**z=o#V8=ilAGlSoafpit(3llFO&F0I6 z6>%b|?fwg6j!Vc*?PeYAGmaV@f0`PRdkJzQjawDkearN?0>oS%2S6AQ^YvX^9DW4q zJ?f>Yt%7QtbQTQas|SDm_8E4L%@?SQ0|5F$pG_E|;`FBT#nKTBiaPz^)h{6`9{l(e z+%hR?aUnXtFY7hX%X{7Q1sAS~JU@SjEhl84_oxL7%x9ItcB#Xc!$3^^Y@2QV}BnS9Ze63s+&$@ z&F-}Jnoif-&(Ooq0E4~W!CK$$iy2%gm5P=8%1WkCEM&^dnS8OR?rDt7l)X)QfXnKT z{jjv_L40uSkZL2U7M4+Ov@^GH49N>2*{y9GyN$Lus>P<4Yge&YcdBjDe%g=Q`}UZ_ zt)QR3{T7pfqgM_)-7xdGU8kPF4$AZ_0-4gDFY%|qwj1cty^c=MU9_BA&IJd;o1Jd@ zN`K$q^xc!bOE7X~Nn;s(TZ5~Jb`YYQ67M1;e9v3_>PcVbpUU!5*ij1wml1oHWLPbV zt9Y!*k$kL5385#yxS2>P-WVQY-02Cr!Ih; z6HL{paVga!fqUc0UHF8cyaXcGqFw-PCfOMf+oFc^@&Gn?s&<hdFu#sYc za}n3o2p_9U%PYAMhJ-Pom=MAh6uCA`px~*xf{#H^6C`}B=5q*%GfQnUMOB#n2+^IY zvKy^VjzkqCGWNBb-f?7D83y1;H)OI?D5MsPsm0}`RH?j}T3HeQi>Z96m|D)IAf-7j zPyIxH$ti~o0Ua;$a;uWixilPniEC^x@;pXuK~#|W#5HouQ@u5aXOc{sejAg!$+OSC z=&IF3)N$h>9vh>s8ciRK5$BA+d28YV$u-QP>C4kBc)Yk4xU^M&DXe8Fxsfr2?`l`I zfxKB;>#R3#Yu5Wvb@?Y#!j-^WyHfP+l~9hKTsh}8HZWywzq&Q(om?TJF@H@-t6==K zwI=MI{X0*%lu_;3@_T)|s3CW#`AsjkTrTCjmE7{OS6?nK7NF8D^*AfoX z{rZVu#^x9~BvTzj(ytBl4kE=MmOINJ9PYpgE6iNKIT} z;8U-@$1kBr#n27kyx2I2Qs@i@5+F%{?U|4OMUmCK+@hU~wJ@)kAJVtp~wn6Z3 zpT0+Qre!cKQQ&NaK`CjeL{Wq0#s3=$2Zq97+fU43*zlMjz8ael!y|-zCHB@l3N&7X zO6>r^-r0;lOxKw?qDEOAPs{0s(vz6OpCpMnL)SbaoRTM?g^~_&UPolKAulfUXPM;$ zQqEkab3821!_^_bA~`JmlJMXS&)B+|_L()W0@z%HQ-T{;)*9Z0ah?aJ0E-;qjqSVF z$cnf#jWk77N*j&H`UnS7@(Z0v#Z<>69^>-Fa=K_~_Bje!C6U4H7^wkoMA=^+`g{?8 zqxoY!f=BEj6s-Qcc?>Vkm0h#VDOnuT6ci6L7R$xLkGzNeE;o+aZ|NiH1 zp289%yjDDcGn$W-Hk57RMOmXukAEPiV`LT?Ba_6L;t8LcR9HEnoi>}xc2uUv5jK6* z`@g>Q0q3tA0I?k}kBps*yPd&q1f0Xv6>_PQB)h6!SQ_g{ zJ`Zg?4tPl@v+kt*RF^49G2RzpU(+8BsT1hQ_JXIm(213}rlaV`FM$}qQDd7Ba0M{# zpI}g6K@sm?d=&3d3Cp|{f$MUN%q_k!?wdMtw*%J6oKxV3M7*h6ON`?}hm#`Ap`-cg zipPurqphTj5|cnWI;b@137%`vC^`x>UFh;LhAhfhFUQ5{NEO1Ma4NR z(5EtJrNxC-JX4XWKHO8__y99Wx%`^dp9Cz^sxFMyI{RsStvF&E=>ne!2Oxe|9BiPG z(&}tgUHpQ#-o0k4;s|#IZsJBuuN|YK6#!LN{0`8=p;RPs(}QT>BEBp3^KB2VF2iqW zp`z$^S}nniavAwkQ5t94a!u)=2Yz+n<9(>cMoTE=uZzdvRyd*i0}ueeD$YI4wup<( zN~X|<(4kZuIxxCdR@#PT-R~8Z--Ytmm4Eyls8zfcp!}^i?xKY@1L;lAZ-wZUabOx! z3=lQjIiQ(^cATBWJ&JK`f!c3+w>Q(iu|L4es*7J%l{js~G`-y2pzo18p0w7dzdpOufx#5p{GQY-hLAX@xIC1o@2A zOl8piI{G1k8%L1!OtUcv5DjM+U!faA5Pjxi3e`zQO5RQ?*hxh@sbnWD+DT1AnLF;#*vzM1 zzbnGe)-ypp>&CmC&IV4FzzizZfzw?k}BlK9BF3YU(oxZo@5BI~4 zzZDKZD*-UQ&AwER*Zab~Dl>;Kpek1AdQm)w>KG;x+vE-nj9d7T}vj$NZe{kYlt^@Xz>5j^J*#5*!~I*s4y&4&Icaz$k@5x(itKmNGSy_8v6!x2zi9oc z>#n_Y?cx9(YDe^{T7oGCb;v2J`3DW1zlKHU7&usm z2BaVPGfi|5rjCqmb#h|dFgfVz(JFDnWZ-D~>Q(F4pSOOYaAPpQ;x3wd-USz2boI3{ z`8Y^8HPrwqk0qx$24ibeo^X&51sgR1n$;r}dc%>RSC3qq8^-52POm6w09Yvt{PNKK zzkTvGa^Z;lmnYvA<}y#eMCMLb8r7A8Zz^w^NfcUmyDsXXvm}!3|y*{2{<3PA!MbRcK8` zEr?l~Ja8r&9Bd*DW(g)5-cY2q<*!dXf>#XMV#2TxUb0l@@&R@Cn;W&Bx7XwvMEeI} zrbo*f`qbd*esB+HhDLno!b_awc`)hibp5-fHnrlM--H^bi*Q?1P~4l8Ko`)8IejhM zgIB~6fM1vJaEc;4PX_lRm0GuAI8X@`Pf#m)`?rhLJ9$siaqq!oJsmMh&+^Z%uC1Qs zpLynjv)lFCn6&=AuHi7;y(I~SS`yC3uW7cRSnhO_Zp4>IQmFC7`*vqv{7H$|VrTF6 zvV13uvdu&QGEFB*h;s}VDYcNOps27@`Sb;kux#L&CRw4msadr-;K4LMB#8gy%`8fs;8#|#L0dVKk))`X9@AutL zL)*j*?BT1U$c8T8ucIOhlskN}FyQvi9rC*Gt!D)_+Y&ZU(##u(f+6Z+5V>pX)oRie zI!-s~+!GAWJO-y-k{(=6_OwC{gJ}VnG0rB&TZqLAEa6Fb%tlCLjirs(FKcXY5K~87hV#%6tl}9TSUejeOX& zPBfO1+|XLmo_H-$y*vBsr%&f|BDUpoZ`$Qri%I-yg30yoSyH@Bxr}oD^X95qGx}p@ z$n?+=S5$w2Rfzi@)-6ylMf4wunHbX%(|b_lMrNZuaRv*D+bkQW1VRJEecMkyqYVoVI%tR&&;6=31 zr$3{OmYEBXnpr#Z=(t23XAG!XJ_&A@2>Vg+5q?GKXPuQ`;>-+^V|&-^-cX`I5C=f8 zcYpc*Tii;fb3(!m<-c+G=I*I6@Yr7-0kG5S{!wd-+m54#R zs8t&!R(#WR!{i+sBhO|cI&*I*R2v1=;aF~)K6?l=Wnsep;i!p@iy6JBhhefz{xLst z>?v#X?4c5LwxN03Ffk1rqly`meHQVC4?cL3qu}7X=YM_uO%{uH$LRwQ(=NsC5&}kg z#Lh-z#@qc?%R^dvh468WfCLCuq1oLK`vb(m`}bqWM;XhcoMq5fyd~iT9}Jve1GJ#h z0z=8@Ga!si;q`0`ICE&3*9!o|DIsC_mC0IGG4q-O5J0M`3u>1a#DW76`KD?)S#gtd z1uH1raQ^eIxS}TAlU3&wD%Z}0Iv507Fdbm4Y&1 |grep :$portx)" ];then echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "检测到端口【$portx】被以下进程占用!clash可能无法正常启动!\033[33m" echo $(netstat -ntulp | grep :$portx | head -n 1) @@ -239,15 +239,17 @@ if [ -z "$server_link" ]; then server_link=1 fi echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echo -e "\033[30;47m 欢迎使用订阅功能!\033[0m" +echo -e "\033[30;47m 欢迎使用导入配置文件功能!\033[0m" echo ----------------------------------------------- -echo -e " 1 在线导入\033[36m订阅\033[0m配置文件" -echo -e " 2 在线导入clash配置文件" -echo -e " 3 添加/修改\033[32m节点过滤\033[0m关键字 \033[47;30m$exclude\033[0m" -echo -e " 4 选取\033[33mclash配置规则\033[0m模版" -echo -e " 5 选择在线生成服务器" -echo -e " 6 \033[36m还原\033[0m配置文件" -echo -e " 7 \033[32m手动更新\033[0m订阅" +echo -e " 1 在线导入\033[36m订阅\033[0m并生成Clash配置文件" +echo -e " 2 在线导入\033[33mClash\033[0m配置文件" +echo -e " 3 设置\033[31m节点过滤\033[0m关键字 \033[47;30m$exclude\033[0m" +echo -e " 4 设置\033[32m节点筛选\033[0m关键字 \033[47;30m$include\033[0m" +echo -e " 5 选取\033[33mClash配置规则\033[0m在线模版" +echo -e " 6 选择在线生成服务器-subconverter" +echo -e " 7 \033[36m还原\033[0m之前的配置文件" +echo -e " 8 \033[33m手动更新\033[0m配置文件" +echo -e " 9 设置\033[36m自动更新\033[0m配置文件" echo ----------------------------------------------- echo -e " 0 返回上级菜单" read -p "请输入对应数字 > " num @@ -294,15 +296,20 @@ elif [[ $num == 3 ]];then elif [[ $num == 4 ]];then source $clashdir/getdate.sh - linkconfig + linkfilter2 clashlink elif [[ $num == 5 ]];then source $clashdir/getdate.sh - linkserver + linkconfig clashlink elif [[ $num == 6 ]];then + source $clashdir/getdate.sh + linkserver + clashlink + +elif [[ $num == 7 ]];then yamlbak=$yaml.bak if [ ! -f "$yaml".bak ];then echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -322,7 +329,7 @@ elif [[ $num == 6 ]];then fi clashsh -elif [[ $num == 7 ]];then +elif [[ $num == 8 ]];then if [ -z "$Url" -a -z "$Https" ];then echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[31m没有找到你的订阅链接!请先输入链接!\033[0m" @@ -341,6 +348,10 @@ elif [[ $num == 7 ]];then fi clashlink fi + +elif [[ $num == 9 ]];then + clashcron + elif [[ $num == 0 ]];then clashsh else @@ -1155,4 +1166,24 @@ else fi exit 1 } -clashsh \ No newline at end of file + +[ -z "$1" ] && clashsh + +case "$1" in + -h) + echo ----------------------------------------- + echo "欢迎使用ShellClash" + echo ----------------------------------------- + echo " -t 测试模式" + echo " -h 帮助列表" + echo ----------------------------------------- + echo "在线求助:t.me/clashfm" + echo "官方博客:juewuy.github.io" + echo "发布页面:github.com/juewuy/ShellClash" + echo ----------------------------------------- + ;; + -t) + shtype=sh && [ -n "$(ls -l /bin/sh|grep -o dash)" ] && shtype=bash + $shtype -x $clashdir/clash.sh + ;; +esac diff --git a/scripts/getdate.sh b/scripts/getdate.sh index 8d709891b..527b21b33 100644 --- a/scripts/getdate.sh +++ b/scripts/getdate.sh @@ -68,7 +68,7 @@ echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m" echo -e "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m" echo ----------------------------------------------- -echo -e "\033[36m匹配关键字的节点会在导入时被屏蔽\033[0m" +echo -e "\033[33m匹配关键字的节点会在导入时被【屏蔽】!!!\033[0m" echo -e "多个关键字可以用\033[30;47m | \033[0m号分隔" echo -e "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" echo ----------------------------------------------- @@ -87,6 +87,31 @@ sed -i '/exclude=*/'d $ccfg sed -i "1i\exclude=\'$exclude\'" $ccfg linkset } +linkfilter2(){ +[ -z "$include" ] && include="未设置" +echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m" +echo -e "\033[33m当前筛选关键字:\033[47;30m$include\033[0m" +echo ----------------------------------------------- +echo -e "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" +echo -e "多个关键字可以用\033[30;47m | \033[0m号分隔" +echo -e "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" +echo ----------------------------------------------- +echo -e " 000 \033[31m删除\033[0m关键字" +echo -e " 回车 取消输入并返回上级菜单" +echo ----------------------------------------------- +read -p "请输入关键字 > " include +if [ -z "$include" ]; then + linkset +elif [ "$include" = '000' ]; then + echo ----------------------------------------------- + include='' + echo -e "\033[31m 已删除节点匹配关键字!!!\033[0m" +fi +sed -i '/include=*/'d $ccfg +sed -i "1i\include=\'$include\'" $ccfg +linkset +} linkset(){ if [ -n "$Url" ];then [ -z "$skip_cert" ] && skip_cert=已开启 @@ -94,11 +119,12 @@ if [ -n "$Url" ];then echo -e "\033[47;30m请检查输入的链接是否正确:\033[0m" echo -e "\033[32;4m$Url\033[0m" echo ----------------------------------------------- - echo -e " 1 \033[32m生成配置文件(原文件将被备份)\033[0m" - echo -e " 2 \033[36m添加/修改节点过滤关键字 \033[47;30m$exclude\033[0m" - echo -e " 3 \033[33m选取配置规则模版\033[0m" - echo -e " 4 \033[0m选取在线生成服务器\033[0m" - echo -e " 5 \033[0m跳过本地证书验证: \033[36m$skip_cert\033[0m ————自建tls节点务必开启" + echo -e " 1 \033[36m生成配置文件\033[0m(原文件将被备份)" + echo -e " 2 设置\033[31m节点过滤\033[0m关键字 \033[47;30m$exclude\033[0m" + echo -e " 3 设置\033[32m节点筛选\033[0m关键字 \033[47;30m$include\033[0m" + echo -e " 4 选取在线\033[33m配置规则模版\033[0m" + echo -e " 5 \033[0m选取在线生成服务器\033[0m" + echo -e " 6 \033[0m跳过本地证书验证: \033[36m$skip_cert\033[0m ————自建tls节点务必开启" echo ----------------------------------------------- echo -e " 0 \033[31m取消导入\033[0m并返回上级菜单" echo ----------------------------------------------- @@ -121,12 +147,15 @@ if [ -n "$Url" ];then linkfilter linkset elif [ "$num" = '3' ]; then - linkconfig + linkfilter2 linkset elif [ "$num" = '4' ]; then - linkserver + linkconfig linkset elif [ "$num" = '5' ]; then + linkserver + linkset + elif [ "$num" = '6' ]; then sed -i '/skip_cert*/'d $ccfg echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if [ "$skip_cert" = "未开启" ] > /dev/null 2>&1; then @@ -295,39 +324,45 @@ if [ "$res" = '1' ]; then fi } getcore(){ -#source $ccfg #获取核心及版本信息 -if [ ! -f $clashdir/clash ]; then - clashcore=没有安装核心! - clashv='' -fi -clashcore_n=$clashcore +[ ! -f $clashdir/clash ] && clashcore="未安装核心" #获取设备处理器架构 -cputype=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]') -[ -n "$(echo $cputype | grep -E "linux.*armv.*")" ] && cpucore="armv5" -[ -n "$(echo $cputype | grep -E "linux.*armv7.*")" ] && [ -n "$(cat /proc/cpuinfo | grep vfp)" ] && cpucore="armv7" -[ -n "$(echo $cputype | grep -E "linux.*aarch64.*|linux.*armv8.*")" ] && cpucore="armv8" -[ -n "$(echo $cputype | grep -E "linux.*x86.*")" ] && cpucore="386" -[ -n "$(echo $cputype | grep -E "linux.*x86_64.*")" ] && cpucore="amd64" -if [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ];then - cpucore="mipsle-softfloat" - [ -n "$(uname -a | grep -E "M2100")" ] && cpucore="mipsle-hardfloat" -fi + getcputype(){ + cputype=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]') + [ -n "$(echo $cputype | grep -E "linux.*armv.*")" ] && cpucore="armv5" + [ -n "$(echo $cputype | grep -E "linux.*armv7.*")" ] && [ -n "$(cat /proc/cpuinfo | grep vfp)" ] && cpucore="armv7" + [ -n "$(echo $cputype | grep -E "linux.*aarch64.*|linux.*armv8.*")" ] && cpucore="armv8" + [ -n "$(echo $cputype | grep -E "linux.*86.*")" ] && cpucore="386" + [ -n "$(echo $cputype | grep -E "linux.*86_64.*")" ] && cpucore="amd64" + if [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ];then + mipstype=$(echo -n I | hexdump -o | awk '{ print substr($2,6,1); exit}') #通过判断大小端判断mips或mipsle + if [ "$mipstype" = "1" ];then + cpucore="mipsle-softfloat" + #[ -n "$(uname -a | grep -E "M2100")" ] && cpucore="mipsle-hardfloat" + else + cpucore="mips-softfloat" + fi + fi + } ### echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +[ -z "$cpucore" ] && getcputype echo -e "当前clash核心:\033[47;30m $clashcore \033[46;30m$clashv\033[0m" -echo -e "\033[32m请选择需要下载的核心版本!\033[0m" +echo -e "当前系统处理器架构:\033[32m $cpucore \033[0m" +echo -e "\033[33m请选择需要下载的核心版本!\033[0m" echo ----------------------------------------------- echo "1 clash: 稳定,内存占用小,推荐!" echo "(官方正式版) 不支持Tun模式、混合模式" echo echo "2 clashpre: 支持Tun模式、混合模式" echo "(高级预览版) 内存占用更高" +echo +echo "3 手动指定处理器架构" echo ----------------------------------------------- echo 0 返回上级菜单 read -p "请输入对应数字 > " num if [ -z "$num" ]; then - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + echo ----------------------------------------------- echo -e "\033[31m请输入正确的数字!\033[0m" update elif [[ $num == 0 ]]; then @@ -339,10 +374,23 @@ read -p "请输入对应数字 > " num clashcore=clashpre version=$clashpre_v elif [[ $num == 3 ]]; then - clashcore=clashr - version='已停止更新' + cpucore_list="armv5 armv7 armv8 386 amd64 mipsle-softfloat mipsle-hardfloat mips-softfloat" + echo ----------------------------------------------- + echo -e "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" + echo -e "当前可供在线下载的处理器架构为:" + echo -e "\033[32m$cpucore_list\033[0m" + echo -e "如果您的CPU架构未在以上列表中,请运行【uname -a】命令,并复制好返回信息" + echo -e "之后前往 t.me/clashfm 群提交或 github.com/juewuy/ShellClash 提交issue" + echo ----------------------------------------------- + read -p "请手动输入处理器架构 > " cpucore + if [ -z "$(echo $cpucore_list |grep "$cpucore")" ];then + echo -e "\033[31m请输入正确的处理器架构!\033[0m" + sleep 1 + cpucore="" + fi + getcore else - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + echo ----------------------------------------------- echo -e "\033[31m请输入正确的数字!\033[0m" update fi diff --git a/scripts/start.sh b/scripts/start.sh index 9ff914721..84acdc1fc 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -51,7 +51,7 @@ EOF` #如果传来的是Url链接则合成Https链接,否则直接使用Https链接 if [ -z "$Https" ];then #echo $Url - Https="https://$Server/sub?target=clash&insert=true&new_name=true&scv=true&exclude=$exclude&url=$Url&config=$Config" + Https="https://$Server/sub?target=clash&insert=true&new_name=true&scv=true&exclude=$exclude&include=$include&url=$Url&config=$Config" markhttp=1 fi # @@ -339,7 +339,7 @@ afstart(){ #启用面板配置自动保存 web_save_auto #后台还原面板配置 - web_restore & + [ -f $clashdir/web_save ] && web_restore & } case "$1" in