66eval ` dbus export ss`
77source /koolshare/scripts/base.sh
88alias echo_date=' echo 【$(TZ=UTC-8 date -R +%Y年%m月%d日\ %X)】:'
9- socksopen_b=` netstat -nlp| grep -w 23456| grep -E " local|v2ray|xray|trojan-go|naive" `
9+ socksopen_b=` netstat -nlp| grep -w 23456| grep -E " local|v2ray|xray|trojan-go|naive|hysteria " `
1010if [ -n " $socksopen_b " ] && [ " $ss_basic_online_links_goss " == " 1" ]; then
1111 echo_date " 代理有开启,将使用代理网络..."
1212 alias curlxx=' curl --connect-timeout 8 --socks5-hostname 127.0.0.1:23456 '
@@ -18,9 +18,9 @@ start_update(){
1818 url_main=" https://raw.githubusercontent.com/qxzg/Actions/master/fancyss_rules"
1919 url_back=" "
2020 # version dectet
21- version_gfwlist1=$( cat /koolshare/ss/rules/version | sed -n 1p | sed ' s/ /\n/g ' | sed -n 1p )
22- version_chnroute1=$( cat /koolshare/ss/rules/version | sed -n 2p | sed ' s/ /\n/g ' | sed -n 1p )
23- version_cdn1=$( cat /koolshare/ss/rules/version | sed -n 4p | sed ' s/ /\n/g ' | sed -n 1p )
21+ version_gfwlist1=$( sed -n 1p /koolshare/ss/rules/version | awk ' {print $1} ' )
22+ version_chnroute1=$( sed -n 2p /koolshare/ss/rules/version | awk ' {print $1} ' )
23+ version_cdn1=$( sed -n 4p /koolshare/ss/rules/version | awk ' {print $1} ' )
2424
2525 echo ==================================================================================================
2626 echo_date 开始更新shadowsocks规则,请等待...
@@ -30,37 +30,39 @@ start_update(){
3030 echo_date 检测到在线版本文件,继续...
3131 else
3232 echo_date 没有检测到在线版本,可能是访问github有问题,去大陆白名单模式试试吧!
33- rm -rf /tmp/ss_version
33+ rm -f /tmp/ss_version
3434 exit
3535 fi
3636
3737 online_content=$( cat /tmp/ss_version)
3838 if [ -z " $online_content " ]; then
39- rm -rf /tmp/ss_version
39+ rm -f /tmp/ss_version
4040 fi
4141
42- git_line1=$( cat /tmp/ss_version | sed -n 1p)
43- git_line2=$( cat /tmp/ss_version | sed -n 2p)
44- git_line4=$( cat /tmp/ss_version | sed -n 4p)
42+ git_line1=$( sed -n 1p /tmp/ss_version )
43+ git_line2=$( sed -n 2p /tmp/ss_version )
44+ git_line4=$( sed -n 4p /tmp/ss_version )
4545
46- version_gfwlist2=$( echo $git_line1 | sed ' s/ /\n/g ' | sed -n 1p )
47- version_chnroute2=$( echo $git_line2 | sed ' s/ /\n/g ' | sed -n 1p )
48- version_cdn2=$( echo $git_line4 | sed ' s/ /\n/g ' | sed -n 1p )
49-
50- md5sum_gfwlist2=$( echo $git_line1 | sed ' s/ /\n/g ' | tail -n 2 | head -n 1 )
51- md5sum_chnroute2=$( echo $git_line2 | sed ' s/ /\n/g ' | tail -n 2 | head -n 1 )
52- md5sum_cdn2=$( echo $git_line4 | sed ' s/ /\n/g ' | tail -n 2 | head -n 1 )
46+ version_gfwlist2=$( echo " $git_line1 " | awk ' {print $1} ' )
47+ version_chnroute2=$( echo " $git_line2 " | awk ' {print $1} ' )
48+ version_cdn2=$( echo " $git_line4 " | awk ' {print $1} ' )
49+
50+ md5sum_gfwlist2=$( echo " $git_line1 " | awk ' {print $(NF-1)} ' )
51+ md5sum_chnroute2=$( echo " $git_line2 " | awk ' {print $(NF-1)} ' )
52+ md5sum_cdn2=$( echo " $git_line4 " | awk ' {print $(NF-1)} ' )
5353
54+ EMPTY_MD5=" d41d8cd98f00b204e9800998ecf8427e"
55+
5456 # update gfwlist
5557 if [ " $ss_basic_gfwlist_update " == " 1" ]; then
5658 echo_date " --------------------------------------------------------------------"
5759 if [ ! -z " $version_gfwlist2 " ]; then
58- if [ " $version_gfwlist1 " != " $version_gfwlist2 " ]; then
60+ if [ " $md5sum_gfwlist2 " = " $EMPTY_MD5 " ] || [ " $ version_gfwlist1" != " $version_gfwlist2 " ]; then
5961 echo_date 检测到新版本gfwlist,开始更新...
6062 echo_date 下载gfwlist到临时文件...
6163 # wget --no-check-certificate --timeout=8 -qO - "$url_main"/gfwlist.conf > /tmp/gfwlist.conf
6264 curlxx " $url_main " /gfwlist.conf > /tmp/gfwlist.conf
63- md5sum_gfwlist1=$( md5sum /tmp/gfwlist.conf | sed ' s/ /\n/g ' | sed -n 1p )
65+ md5sum_gfwlist1=$( md5sum /tmp/gfwlist.conf | awk ' {print $1} ' )
6466 if [ " $md5sum_gfwlist1 " x = " $md5sum_gfwlist2 " x ]; then
6567 echo_date 下载完成,校验通过,将临时文件覆盖到原始gfwlist文件
6668 mv /tmp/gfwlist.conf /koolshare/ss/rules/gfwlist.conf
@@ -85,19 +87,15 @@ start_update(){
8587 if [ " $ss_basic_chnroute_update " == " 1" ]; then
8688 echo_date " --------------------------------------------------------------------"
8789 if [ ! -z " $version_chnroute2 " ]; then
88- if [ " $version_chnroute1 " != " $version_chnroute2 " ]; then
90+ if [ " $md5sum_chnroute2 " = " $EMPTY_MD5 " ] || [ " $ version_chnroute1" != " $version_chnroute2 " ]; then
8991 echo_date 检测到新版本chnroute,开始更新...
9092 echo_date 下载chnroute到临时文件...
9193 # wget --no-check-certificate --timeout=8 -qO - "$url_main"/chnroute.txt > /tmp/chnroute.txt
9294 curlxx " $url_main " /chnroute.txt > /tmp/chnroute.txt
93- # # 下载 clouidflare的 IP段清单
94- # curlxx https://www.cloudflare.com/ips-v4 >/tmp/cf_ips-v4.txt
9595
96- md5sum_chnroute1=$( md5sum /tmp/chnroute.txt | sed ' s/ /\n/g ' | sed -n 1p )
96+ md5sum_chnroute1=$( md5sum /tmp/chnroute.txt | awk ' {print $1} ' )
9797 if [ " $md5sum_chnroute1 " x = " $md5sum_chnroute2 " x ]; then
9898 echo_date 下载完成,校验通过,将临时文件覆盖到原始chnroute文件
99- # # 将Cloudflare的IP段合并到大陆白名单中,方便筛查优选IP而套用CDN
100- # cat /tmp/chnroute.txt /tmp/cf_ips-v4.txt > /koolshare/ss/rules/chnroute.txt
10199 mv /tmp/chnroute.txt /koolshare/ss/rules/chnroute.txt
102100 sed -i " 2s/.*/$git_line2 /" /koolshare/ss/rules/version
103101 reboot=" 1"
@@ -119,12 +117,12 @@ start_update(){
119117 if [ " $ss_basic_cdn_update " == " 1" ]; then
120118 echo_date " --------------------------------------------------------------------"
121119 if [ ! -z " $version_cdn2 " ]; then
122- if [ " $version_cdn1 " != " $version_cdn2 " ]; then
120+ if [ " $md5sum_cdn2 " = " $EMPTY_MD5 " ] || [ " $ version_cdn1" != " $version_cdn2 " ]; then
123121 echo_date 检测到新版本cdn名单,开始更新...
124122 echo_date 下载cdn名单到临时文件...
125123 # wget --no-check-certificate --timeout=8 -qO - "$url_main"/cdn.txt > /tmp/cdn.txt
126124 curlxx " $url_main " /cdn.txt > /tmp/cdn.txt
127- md5sum_cdn1=$( md5sum /tmp/cdn.txt | sed ' s/ /\n/g ' | sed -n 1p )
125+ md5sum_cdn1=$( md5sum /tmp/cdn.txt | awk ' {print $1} ' )
128126 if [ " $md5sum_cdn1 " x = " $md5sum_cdn2 " x ]; then
129127 echo_date 下载完成,校验通过,将临时文件覆盖到原始cdn名单文件
130128 mv /tmp/cdn.txt /koolshare/ss/rules/cdn.txt
@@ -147,17 +145,17 @@ start_update(){
147145 rm -rf /tmp/gfwlist.conf*
148146 rm -rf /tmp/chnroute.txt*
149147 rm -rf /tmp/cdn.txt*
150- rm -rf /tmp/ss_version
148+ rm -f /tmp/ss_version
151149
152150 echo_date Shadowsocks更新进程运行完毕!
153151 # write number
154- nvram set update_ipset=" $( cat /koolshare/ss/rules/version | sed -n 1p | sed ' s/#/\n/g ' | sed -n 1p ) "
155- nvram set update_chnroute=" $( cat /koolshare/ss/rules/version | sed -n 2p | sed ' s/#/\n/g ' | sed -n 1p ) "
156- nvram set update_cdn=" $( cat /koolshare/ss/rules/version | sed -n 4p | sed ' s/#/\n/g ' | sed -n 1p ) "
152+ nvram set update_ipset=" $( awk ' NR==1{print $1} ' /koolshare/ss/rules/version) "
153+ nvram set update_chnroute=" $( awk ' NR==2{print $1} ' /koolshare/ss/rules/version) "
154+ nvram set update_cdn=" $( awk ' NR==4{print $1} ' /koolshare/ss/rules/version) "
157155
158- nvram set ipset_numbers=$( cat /koolshare/ss/rules/gfwlist.conf | grep -c ipset )
159- nvram set chnroute_numbers=$( cat /koolshare/ss/rules/chnroute.txt | grep -c . )
160- nvram set cdn_numbers=$( cat /koolshare/ss/rules/cdn.txt | grep -c . )
156+ nvram set ipset_numbers=$( grep -c ipset /koolshare/ss/rules/gfwlist.conf)
157+ nvram set chnroute_numbers=$( grep -c . /koolshare/ss/rules/chnroute.txt)
158+ nvram set cdn_numbers=$( grep -c . /koolshare/ss/rules/cdn.txt)
161159 # ======================================================================
162160 if [ " $reboot " == " 1" ]; then
163161 echo_date 自动重启shadowsocks,以应用新的规则文件!请稍后!
0 commit comments