From cd8a8856184ec6939dd0fbbb95856ce723456b96 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 10 Oct 2020 17:02:53 +0800 Subject: [PATCH] =?UTF-8?q?v1.0.0beta14=20~=E6=96=B0=E5=A2=9E=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E9=9D=A2=E6=9D=BF=E9=85=8D=E7=BD=AE=E5=8A=9F=E8=83=BD?= =?UTF-8?q?(=E6=AF=8F=E5=B0=8F=E6=97=B6/=E6=89=8B=E5=8A=A8=E5=81=9C?= =?UTF-8?q?=E6=AD=A2=E6=9C=8D=E5=8A=A1=E6=97=B6=E8=87=AA=E5=8A=A8=E4=BF=9D?= =?UTF-8?q?=E5=AD=98)=20~=E5=90=8C=E6=AD=A5=E6=9C=80=E6=96=B01.2.0?= =?UTF-8?q?=E7=89=88=E6=9C=ACclash=E6=A0=B8=E5=BF=83=E4=BB=A5=E5=8F=8Apre?= =?UTF-8?q?=E7=89=88=E6=A0=B8=E5=BF=83=20~=E5=90=8C=E6=AD=A5=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E7=89=88GeoIP=E6=95=B0=E6=8D=AE=E5=BA=93=20~=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AF=BC=E5=85=A5=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E8=A7=84=E5=88=99=EF=BC=8C=E7=8E=B0=E5=9C=A8?= =?UTF-8?q?=E4=BC=9A=E8=87=AA=E5=8A=A8=E5=B0=9D=E8=AF=95=E6=9C=80=E5=A4=9A?= =?UTF-8?q?5=E6=AC=A1=20~=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=BD=BF=E7=94=A8syst?= =?UTF-8?q?emd=E6=97=A0=E6=B3=95=E6=AD=A3=E5=B8=B8=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E8=BF=9B=E7=A8=8B=E7=9A=84bug=20~=E4=BF=AE=E5=A4=8D=E4=BA=86?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=9C=AA=E7=BB=8F=E8=BD=AC=E6=8D=A2=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E6=97=B6=E6=8A=A5=E9=94=99=E7=9A=84?= =?UTF-8?q?bug=20~=E5=B1=8F=E8=94=BD=E4=BA=86=E9=83=A8=E5=88=86=E5=B7=B2?= =?UTF-8?q?=E7=BB=8F=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=E7=9A=84sub?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=20~=E4=BF=AE=E6=94=B9=E4=BA=86=E6=9C=AC=E6=9C=BA=E4=BB=A3?= =?UTF-8?q?=E7=90=86=E5=AE=9E=E7=8E=B0=E6=96=B9=E5=BC=8F=EF=BC=8C=E7=8E=B0?= =?UTF-8?q?=E5=9C=A8=E4=BC=9A=E9=9A=8F=E7=9D=80clash=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=81=9C=E6=AD=A2=E8=80=8C=E5=8F=96=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/clashfm.tar.gz | Bin 17905 -> 18492 bytes bin/version | 2 +- scripts/clash.sh | 8 +++--- scripts/getdate.sh | 2 +- scripts/start.sh | 67 +++++++++++++++++++++++++++++++++++++++------ 5 files changed, 65 insertions(+), 14 deletions(-) diff --git a/bin/clashfm.tar.gz b/bin/clashfm.tar.gz index 5635162e76f9dfe3d113ba395c4ae4d27d5eeb6e..33209328bd6324bb23f91b6e7ea45806a134d923 100644 GIT binary patch delta 18258 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 delta 17671 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 GJ^=s^OIx1+ diff --git a/bin/version b/bin/version index 861fce1..feece85 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ clash_v=1.2.0 clashpre_v=2020.10.09 -versionsh=1.0.0beta14 GeoIP_v=20201010 +versionsh=1.0.0beta14 diff --git a/scripts/clash.sh b/scripts/clash.sh index a224409..b0095b9 100644 --- a/scripts/clash.sh +++ b/scripts/clash.sh @@ -122,8 +122,8 @@ start_over(){ echo -e "可使用\033[30;47m http://clash.razord.top \033[0m管理内置规则" echo -e "Host地址:\033[36m $host \033[0m 端口:\033[36m $db_port \033[0m" echo -e "也可前往更新菜单安装本地Dashboard面板,连接更稳定!\033[0m" - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fi + echo ----------------------------------------------- } setport(){ inputport(){ @@ -206,16 +206,16 @@ checkport(){ } clashstart(){ if [ ! -f "$yaml" ];then - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + echo ----------------------------------------------- echo -e "\033[31m没有找到配置文件,请先导入配置文件!\033[0m" clashlink fi if [ -n "$PID" ];then - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + echo ----------------------------------------------- $clashdir/start.sh stop echo -e "\033[31mClash服务已停止!\033[0m" fi - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + echo ----------------------------------------------- $clashdir/start.sh start sleep 1 PID=$(pidof clash) diff --git a/scripts/getdate.sh b/scripts/getdate.sh index 4ee9f06..c15d351 100644 --- a/scripts/getdate.sh +++ b/scripts/getdate.sh @@ -154,7 +154,7 @@ while [ $i -le 99 ] do echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[44m 遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m" - echo -e "\033[31m本功能依赖第三方网站在线服务实现,脚本本身不提供任何代理服务!033[0m" + echo -e "\033[31m本功能依赖第三方网站在线服务实现,脚本本身不提供任何代理服务!\033[0m" echo ----------------------------------------------- echo -e "支持批量导入订阅文件的在线链接" echo ----------------------------------------------- diff --git a/scripts/start.sh b/scripts/start.sh index 7d718e1..e9251a1 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -77,16 +77,19 @@ if [ "$result" != "200" ];then echo -e "\033[31m请尝试使用【导入节点/链接】功能!\033[0m" echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ exit 1 - else - read -p "是否更换后端地址后重试?[1/0] > " res - if [ "$res" = '1' ]; then + if [ "$retry" -ge 5 ];then + echo -e "\033[32m无法获取配置文件,请检查链接格式以及网络连接状态!\033[0m" + exit 1 + else + retry=$(($retry + 1)) + echo -e "\033[32m尝试使用其他服务器获取配置!\033[0m" + echo -e "\033[33m正在尝试第$retry次/共5次!\033[0m" sed -i '/server_link=*/'d $ccfg - if [[ $server_link -ge 5 ]]; then + if [ "$server_link" -ge 5 ]; then server_link=0 fi server_link=$(($server_link + 1)) - echo $server_link sed -i "1i\server_link=$server_link" $ccfg Https="" getyaml @@ -158,7 +161,7 @@ external="external-controller: 0.0.0.0:$db_port" exper='experimental: {ignore-resolve-fail: true, interface-name: en0}' #dns配置 if [ "$dns_mod" = "fake-ip" ];then - dns='dns: {enable: true, listen: 0.0.0.0:'$dns_port', use-hosts: true, fake-ip-range: 198.18.0.1/16, enhanced-mode: fake-ip, fake-ip-filter: ["*.lan", "time.windows.com", "time.nist.gov", "time.apple.com", "time.asia.apple.com", "*.ntp.org.cn", "*.openwrt.pool.ntp.org", "time1.cloud.tencent.com", "time.ustc.edu.cn", "pool.ntp.org", "ntp.ubuntu.com", "ntp.aliyun.com", "ntp1.aliyun.com", "ntp2.aliyun.com", "ntp3.aliyun.com", "ntp4.aliyun.com", "ntp5.aliyun.com", "ntp6.aliyun.com", "ntp7.aliyun.com", "time1.aliyun.com", "time2.aliyun.com", "time3.aliyun.com", "time4.aliyun.com", "time5.aliyun.com", "time6.aliyun.com", "time7.aliyun.com", "*.time.edu.cn", "time1.apple.com", "time2.apple.com", "time3.apple.com", "time4.apple.com", "time5.apple.com", "time6.apple.com", "time7.apple.com", "time1.google.com", "time2.google.com", "time3.google.com", "time4.google.com", "music.163.com", "*.music.163.com", "*.126.net", "musicapi.taihe.com", "music.taihe.com", "songsearch.kugou.com", "trackercdn.kugou.com", "*.kuwo.cn", "api-jooxtt.sanook.com", "api.joox.com", "joox.com", "y.qq.com", "*.y.qq.com", "streamoc.music.tc.qq.com", "mobileoc.music.tc.qq.com", "isure.stream.qqmusic.qq.com", "dl.stream.qqmusic.qq.com", "aqqmusic.tc.qq.com", "amobile.music.tc.qq.com", "*.xiami.com", "*.music.migu.cn", "music.migu.cn", "*.msftconnecttest.com", "*.msftncsi.com", "localhost.ptlogin2.qq.com", "*.*.*.srv.nintendo.net", "*.*.stun.playstation.net", "xbox.*.*.microsoft.com", "*.*.xboxlive.com", "proxy.golang.org"], nameserver: [114.114.114.114, 127.0.0.1:53], fallback: [tcp://1.0.0.1, 8.8.4.4], fallback-filter: {geoip: true}}' + dns='dns: {enable: true, listen: 0.0.0.0:'$dns_port', use-hosts: true, fake-ip-range: 198.18.0.1/16, enhanced-mode: fake-ip, fake-ip-filter: ["*.lan", "time.windows.com", "time.nist.gov", "time.apple.com", "time.asia.apple.com", "*.ntp.org.cn", "*.openwrt.pool.ntp.org", "time1.cloud.tencent.com", "time.ustc.edu.cn", "pool.ntp.org", "ntp.ubuntu.com", "ntp.aliyun.com", "ntp1.aliyun.com", "ntp2.aliyun.com", "ntp3.aliyun.com", "ntp4.aliyun.com", "ntp5.aliyun.com", "ntp6.aliyun.com", "ntp7.aliyun.com", "time1.aliyun.com", "time2.aliyun.com", "time3.aliyun.com", "time4.aliyun.com", "time5.aliyun.com", "time6.aliyun.com", "time7.aliyun.com", "*.time.edu.cn", "time1.apple.com", "time2.apple.com", "time3.apple.com", "time4.apple.com", "time5.apple.com", "time6.apple.com", "time7.apple.com", "time1.google.com", "time2.google.com", "time3.google.com", "time4.google.com", "music.163.com", "*.music.163.com", "*.126.net", "musicapi.taihe.com", "music.taihe.com", "songsearch.kugou.com", "trackercdn.kugou.com", "*.kuwo.cn", "api-jooxtt.sanook.com", "api.joox.com", "joox.com", "y.qq.com", "*.y.qq.com", "streamoc.music.tc.qq.com", "mobileoc.music.tc.qq.com", "isure.stream.qqmusic.qq.com", "dl.stream.qqmusic.qq.com", "aqqmusic.tc.qq.com", "amobile.music.tc.qq.com", "*.xiami.com", "*.music.migu.cn", "music.migu.cn", "*.msftconnecttest.com", "*.msftncsi.com", "localhost.ptlogin2.qq.com", "*.*.*.srv.nintendo.net", "*.*.stun.playstation.net", "xbox.*.*.microsoft.com", "*.*.xboxlive.com", "proxy.golang.org"], nameserver: [114.114.114.114, 223.5.5.5, 127.0.0.1:53], fallback: [tcp://1.0.0.1, 8.8.4.4], fallback-filter: {geoip: true}}' elif [ "$dns_over" = "已开启" ];then dns='dns: {enable: true, ipv6: true, listen: 0.0.0.0:'$dns_port', use-hosts: true, enhanced-mode: redir-host, nameserver: [114.114.114.114, 223.5.5.5], fallback: [1.0.0.1, 8.8.4.4], fallback-filter: {geoip: true}}' else @@ -292,6 +295,39 @@ unset_proxy(){ sed -i '/http*_proxy/'d /etc/profile sed -i '/HTTP*_PROXY/'d /etc/profile } +web_save(){ + #使用curl获取面板节点设置 + curl -s -H "Authorization: Bearer ${secret}" -H "Content-Type:application/json" http://localhost:${db_port}/proxies | awk -F "{" '{for(i=1;i<=NF;i++) print $i}' | grep -E '^"all".*"Selector"' | grep -oE '"name".*"now".*",' | sed 's/"name"://g' | sed 's/"now"://g'| sed 's/"//g' > $clashdir/web_save +} +web_restore(){ + #设置循环检测clash面板端口 + i=1 + while [ $i -lt 10 ] + do + sleep 1 + [ -n "$(curl -s http://localhost:${db_port})" ] && i=10 + done + #发送数据 + num=$(cat $clashdir/web_save | wc -l) + for i in `seq $num`; + do + group_name=$(awk -F ',' 'NR=="'${i}'" {print $1}' $clashdir/web_save | sed 's/ /%20/g') + now_name=$(awk -F ',' 'NR=="'${i}'" {print $2}' $clashdir/web_save) + curl -sS -X PUT -H "Authorization: Bearer ${secret}" -H "Content-Type:application/json" http://localhost:${db_port}/proxies/"${group_name}" -d "{\"name\":\"${now_name}\"}" >/dev/null + done + exit 0 +} +web_save_auto(){ + if [ -n "$cronpath" ];then + if [ -z "$(cat $cronpath | grep '保存节点配置')" ];then + echo '* */1 * * * test -n "$(pidof clash)" && /etc/init.d/clash web_save #每小时保存节点配置' >> $cronpath + chmod 600 $cronpath + fi + else + echo 找不到定时任务配置文件,无法添加守护进程! + echo 请进入定时任务菜单手动指定系统定时任务文件路径!!! + fi +} afstart(){ #读取配置文件 getconfig @@ -303,7 +339,10 @@ afstart(){ mark_time #设置本机代理 [ "$local_proxy" = "已开启" ] && set_proxy - + #启用面板配置自动保存 + web_save_auto + #后台还原面板配置 + web_restore & } case "$1" in @@ -319,6 +358,7 @@ start) #使用不同方式启动clash服务 if [ "$start_old" = "已开启" ];then $clashdir/clash -d $clashdir >/dev/null 2>&1 & + sleep 1 daemon afstart elif [ -f /etc/rc.common ];then @@ -330,8 +370,11 @@ start) stop) #读取配置文件 getconfig - #删除守护进程 + #保存面板配置 + web_save + #删除守护进程&面板配置自动保存 sed -i /clash保守模式守护进程/d $cronpath >/dev/null 2>&1 + sed -i /面板配置自动保存/d $cronpath >/dev/null 2>&1 #多种方式结束进程 if [ -f /etc/rc.common ];then /etc/init.d/clash stop >/dev/null 2>&1 @@ -355,6 +398,14 @@ getyaml) daemon) daemon ;; +web_save) + getconfig + web_save + ;; +web_restore) + getconfig + web_restore + ;; esac exit 0