From a2fced324ed751bcc5536897c945a9c8439821dc Mon Sep 17 00:00:00 2001 From: juewuy Date: Thu, 17 Sep 2020 14:50:29 +0800 Subject: [PATCH] =?UTF-8?q?v1.0.0beta6=20~=E4=BC=98=E5=8C=96=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E8=84=9A=E6=9C=AC=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E5=A4=8Dbug=20~=E4=BC=98=E5=8C=96=E7=89=88=E6=9C=AC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/clashfm.tar.gz | Bin 15460 -> 15707 bytes install.sh | 14 +++++++------- scripts/clash.sh | 42 +++++++++++++++++++++++++++--------------- scripts/getdate.sh | 28 ++++++++++++---------------- scripts/start.sh | 27 ++++++++++++++------------- 5 files changed, 60 insertions(+), 51 deletions(-) diff --git a/bin/clashfm.tar.gz b/bin/clashfm.tar.gz index 2f5bd575470c9d76b5b514f0d512758cd77ac221..7dd70013f42d92bb707b604bf337d78a703bedbd 100644 GIT binary patch literal 15707 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 a{QZ~D75_i}AODYk>-Y*&mF>C!9svL*cP6?3 diff --git a/install.sh b/install.sh index 82b66a1..e4091be 100644 --- a/install.sh +++ b/install.sh @@ -6,15 +6,15 @@ echo "** 欢迎使用 **" echo "** ShellClash **" echo "** by Juewuy **" echo "***********************************************" -url="https://cdn.jsdelivr.net/gh/juewuy/ShellClash@latest" -result=$(curl -w %{http_code} -skLo /tmp/clashversion $url/bin/version) -[ "$result" != "200" ] && echo "无法连接到服务器!" && exit 1 -source /tmp/clashversion -echo -e "~~~~版本:\033[32m$versionsh\033[0m" +url="https://cdn.jsdelivr.net/gh/juewuy/ShellClash" +release_new=$(curl -kfsSL --resolve api.github.com:443:140.82.113.5 "https://api.github.com/repos/juewuy/ShellClash/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g') +[ -z "$release_new" ] && release_new=$(curl -kfsSL $url/bin/version | grep "versionsh" | awk -F "=" '{print $2}') +[ -z "$release_new" ] && echo "无法连接服务器!" && exit +echo -e "最新版本:\033[32m$release_new\033[0m" echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m" echo -e "\033[37m支持各种基于openwrt的路由器设备" -echo -e "\033[33m有限支持debian、centos等Linux系统\033[0m" +echo -e "\033[33m有限兼容debian、centos等Linux系统\033[0m" echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[32m 1 在默认目录(/etc)安装ShellClash" echo -e "\033[33m 2 手动设置安装目录(不明勿用!)" @@ -45,7 +45,7 @@ fi echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo 开始从服务器获取安装文件! echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -tarurl=$url/bin/clashfm.tar.gz +tarurl=$url@release_new/bin/clashfm.tar.gz if command -v curl &> /dev/null; then result=$(curl -w %{http_code} -kLo /tmp/clashfm.tar.gz $tarurl) else $result diff --git a/scripts/clash.sh b/scripts/clash.sh index 8597410..3deabeb 100644 --- a/scripts/clash.sh +++ b/scripts/clash.sh @@ -620,11 +620,18 @@ fi exit; } update(){ +if [ -z "$release_new" ];then + echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + echo -e "\033[33m正在检查更新!\033[0m" + release_new=$(curl -kfsSL --resolve api.github.com:443:140.82.113.5 "https://api.github.com/repos/juewuy/ShellClash/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g') + [ -z "$release_new" ] && release_new=$(curl -kfsSL $update_url/bin/version | grep "versionsh" | awk -F "=" '{print $2}') + [ -z "$release_new" ] && echo "检查更新失败!" +fi +[ "$update_url" = "https://cdn.jsdelivr.net/gh/juewuy/ShellClash" ] && update_url=$update_url@$release_new echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[30;47m欢迎使用更新功能:\033[0m" -echo -e "感谢:\033[32mClash \033[0m作者\033[36m Dreamacro\033[0m 项目地址:\033[32mhttps://github.com/Dreamacro/clash\033[0m" -echo -e "感谢:\033[32malecthw大神提供的GeoIP数据库\033[0m 项目地址:\033[32mhttps://github.com/alecthw/mmdb_china_ip_list\033[0m" -echo -e "感谢:\033[32m更多的帮助过我的人!\033[0m" +[ -n "$release_new" ] && echo -e "当前ShellClash版本:\033[33m $versionsh_l \033[0m" +[ -n "$release_new" ] && echo -e "最新ShellClash版本:\033[32m $release_new \033[0m" echo ----------------------------------------------- echo -e " 1 更新\033[36m管理脚本\033[0m" echo -e " 2 切换\033[33mclash核心\033[0m" @@ -632,7 +639,8 @@ echo -e " 3 更新\033[32mGeoIP数据库\033[0m" echo -e " 4 安装本地\033[35mDashboard\033[0m面板" echo -e " 5 生成本地PAC文件(需先安装本地面板)" echo ----------------------------------------------- -echo -e " 8 切换\033[36m安装源\033[0m地址" +echo -e " 7 切换\033[36m安装源\033[0m地址" +echo -e " 8 鸣谢" echo -e " 9 \033[31m卸载\033[34mClash for Miwfi\033[0m" echo -e " 0 返回上级菜单" echo ----------------------------------------------- @@ -662,11 +670,18 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then source $clashdir/getdate.sh catpac update - - elif [[ $num == 8 ]]; then + + elif [[ $num == 7 ]]; then source $clashdir/getdate.sh setserver + elif [[ $num == 8 ]]; then + echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + echo -e "感谢:\033[32mClash \033[0m作者\033[36m Dreamacro\033[0m 项目地址:\033[32mhttps://github.com/Dreamacro/clash\033[0m" + echo -e "感谢:\033[32malecthw大神提供的GeoIP数据库\033[0m 项目地址:\033[32mhttps://github.com/alecthw/mmdb_china_ip_list\033[0m" + echo -e "感谢:\033[32m更多的帮助过我的人!\033[0m" + update + elif [[ $num == 9 ]]; then read -p "确认卸载clash?(警告:该操作不可逆!)[1/0] " res if [ "$res" = '1' ]; then @@ -765,13 +780,10 @@ clashcron(){ clashcron } checkcron(){ - if [ -d /etc/crontabs/ ]; then - cronpath="/etc/crontabs/root" - elif [ -d /var/spool/cron/ ]; then - cronpath="/var/spool/cron/root" - elif [ -d /var/spool/cron/crontabs/ ]; then - cronpath="/var/spool/cron/crontabs/root" - else + [ -d /etc/crontabs/ ]&&cronpath="/etc/crontabs/root" + [ -d /var/spool/cron/ ]&&cronpath="/var/spool/cron/root" + [ -d /var/spool/cron/crontabs/ ]&&cronpath="/var/spool/cron/crontabs/root" + if [ -z $cronpath ];then echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo "找不到定时任务文件,无法添加定时任务!" clashsh @@ -784,8 +796,8 @@ echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[30;47m欢迎使用定时任务功能:\033[0m" echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m" echo ----------------------------------------------- -echo -e "\033[33m当前已经添加的定时任务有:\033[36m" -crontab -l | egrep -o '#.*' +echo -e "\033[33m已添加的定时任务:\033[36m" +cat $cronpath | egrep -o ' #.*' echo -e "\033[0m"----------------------------------------------- echo -e " 1 设置\033[33m定时重启\033[0mclash服务" echo -e " 2 设置\033[31m定时停止\033[0mclash服务" diff --git a/scripts/getdate.sh b/scripts/getdate.sh index d32c4a5..2691abc 100644 --- a/scripts/getdate.sh +++ b/scripts/getdate.sh @@ -378,14 +378,9 @@ else fi } getsh(){ -echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -echo -e "\033[33m正在检查更新!\033[0m" -result=$(curl -w %{http_code} -skLo /tmp/clashversion $update_url/bin/version) -[ "$result" != "200" ] && echo "检查更新失败!" && exit 1 -source /tmp/clashversion echo ----------------------------------------------- echo -e "当前脚本版本为:\033[33m $versionsh_l \033[0m" -echo -e "最新脚本版本为:\033[32m $versionsh \033[0m" +echo -e "最新脚本版本为:\033[32m $release_new \033[0m" echo ----------------------------------------------- read -p "是否更新脚本?[1/0] > " res if [ "$res" = '1' ]; then @@ -393,7 +388,7 @@ if [ "$res" = '1' ]; then echo 正在获取更新文件 result=$(curl -w %{http_code} -kLo /tmp/clashfm.tar.gz $update_url/bin/clashfm.tar.gz) else $result - wget-ssl -q --no-check-certificate --tries=1 --timeout=10 -O /tmp/clashfm.tar.gz $tarurl + wget-ssl -q --no-check-certificate --tries=1 --timeout=10 -O /tmp/clashfm.tar.gz $update_url/bin/clashfm.tar.gz [ $? -eq 0 ] && result="200" fi [ "$result" != "200" ] && echo "文件下载失败!" && exit 1 @@ -418,7 +413,7 @@ if [ "$res" = '1' ]; then echo ----------------------------------------------- exit; else -clashsh +update fi } getcore(){ @@ -522,6 +517,7 @@ fi getgeo(){ echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[33m正在检查更新!\033[0m" +echo $update_url result=$(curl -w %{http_code} -skLo /tmp/clashversion $update_url/bin/version) [ "$result" != "200" ] && echo "检查更新失败!" && exit 1 source /tmp/clashversion @@ -656,9 +652,9 @@ echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[30;47m您可以在此处切换在线更新时使用的资源地址\033[0m" echo -e "当前源:\033[4;32m$update_url\033[0m" echo ----------------------------------------------- -echo -e " 1 CDN源(可能有一定的同步延迟)" -echo -e " 2 Github源(不稳定,不推荐)" -echo -e " 3 Github源+clash代理(需开启clash服务,推荐)" +echo -e " 1 Github源(使用host指定IP)" +echo -e " 2 CDN源(版本同步较慢)" +echo -e " 3 Github源+clash代理(需开启clash服务)" echo -e " 4 自定义输入(请务必确保路径正确)" echo -e " 0 返回上级菜单" read -p "请输入对应数字 > " num @@ -667,13 +663,11 @@ if [ -z $num ]; then echo -e "\033[31m请输入正确的数字!\033[0m" update elif [[ $num == 1 ]]; then - update_url="https://cdn.jsdelivr.net/gh/juewuy/ShellClash@latest" -elif [[ $num == 9 ]]; then - update_url="https://juewuy.xyz/clash" + update_url='--resolve raw.githubusercontent.com:443:199.232.68.133 https://raw.githubusercontent.com/juewuy/ShellClash/master' elif [[ $num == 2 ]]; then - update_url="https://raw.githubusercontent.com/juewuy/ShellClash/master" + update_url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash' elif [[ $num == 3 ]]; then - update_url="-x 127.0.0.1:7890 https://raw.githubusercontent.com/juewuy/ShellClash/master" + update_url='-x 127.0.0.1:7890 https://raw.githubusercontent.com/juewuy/ShellClash/master' elif [[ $num == 4 ]]; then echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ read -p "请输入个人源路径 > " update_url @@ -682,6 +676,8 @@ elif [[ $num == 4 ]]; then echo -e "\033[31m取消输入,返回上级菜单\033[0m" update fi +elif [[ $num == 9 ]]; then + update_url='https://juewuy.xyz/clash' else echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ echo -e "\033[31m请输入正确的数字!\033[0m" diff --git a/scripts/start.sh b/scripts/start.sh index c1f2d7b..80c1c75 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -77,8 +77,8 @@ exper='experimental: {ignore-resolve-fail: true, interface-name: en0}' } mark_time(){ start_time=`date +%s` - sed -i '/start_time*/'d $ccfg - sed -i "3i\start_time=$start_time" $ccfg + sed -i '/start_time*/'d $clashdir/mark + sed -i "3i\start_time=$start_time" $clashdir/mark } start_redir(){ #修改iptables规则使流量进入clash @@ -144,19 +144,20 @@ start_dns(){ daemon_old(){ #守护进程状态 status=$(ps |grep -w 'clash'|grep -v grep|grep -v clash.sh) - [ -z $status ] && $clashdir/clash -d $clashdir && mark_time + if [ -z $status ];then + $clashdir/clash -d $clashdir> /dev/null & + mark_time + fi } checkcron(){ -if [ -d /etc/crontabs/ ]; then - cronpath="/etc/crontabs/root" -elif [ -d /var/spool/cron/ ]; then - cronpath="/var/spool/cron/root" -elif [ -d /var/spool/cron/crontabs/ ]; then - cronpath="/var/spool/cron/crontabs/root" -else - echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - echo "找不到定时任务文件,无法添加定时任务!" -fi + [ -d /etc/crontabs/ ]&&cronpath="/etc/crontabs/root" + [ -d /var/spool/cron/ ]&&cronpath="/var/spool/cron/root" + [ -d /var/spool/cron/crontabs/ ]&&cronpath="/var/spool/cron/crontabs/root" + if [ -z $cronpath ];then + echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + echo "找不到定时任务文件,无法添加定时任务!" + clashsh + fi } start_old(){ #读取配置文件