From 3ee6aebe6222f3130966457bf9bfd0efc394a94f Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 16 Mar 2022 16:30:07 +0800 Subject: [PATCH] =?UTF-8?q?v1.5.5=20~=E5=85=A8=E9=9D=A2=E9=80=82=E9=85=8Da?= =?UTF-8?q?x6s=E7=AD=89=E5=B0=8F=E7=B1=B3=E9=95=9C=E5=83=8F=E5=8C=96?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E8=AE=BE=E5=A4=87=20=20=20=C2=B7=E6=94=AF?= =?UTF-8?q?=E6=8C=81procd=E5=AE=88=E6=8A=A4=E8=BF=9B=E7=A8=8B=20=20=20?= =?UTF-8?q?=C2=B7=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AE=E5=BC=80=E6=9C=BA?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=20=20=20=C2=B7=E6=94=AF=E6=8C=81=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=BC=80=E5=90=AFSSH=E5=8F=8A=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E8=BF=98=E5=8E=9FSSH=E7=A7=98=E9=92=A5=20~=E9=87=8D=E5=81=9A?= =?UTF-8?q?=E5=B0=8F=E7=B1=B3SSH=E5=B7=A5=E5=85=B7=EF=BC=8C=E7=8E=B0?= =?UTF-8?q?=E5=9C=A8=E6=94=AF=E6=8C=81=E5=90=84=E7=B1=BB=E5=B0=8F=E7=B1=B3?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=E8=AE=BE=E5=A4=87=E8=BD=AF=E4=BB=B6=E5=9B=BA?= =?UTF-8?q?=E5=8C=96SSH(=E5=BE=85=E6=B5=8B=E8=AF=95)=20~=E9=87=8D=E5=86=99?= =?UTF-8?q?=E8=87=AA=E5=90=AF=E9=80=BB=E8=BE=91=EF=BC=8C=E7=8E=B0=E5=9C=A8?= =?UTF-8?q?=E6=94=AF=E6=8C=81Padavan=E3=80=81=E6=A2=85=E6=9E=97=E5=BC=80?= =?UTF-8?q?=E5=85=B3=E5=BC=80=E6=9C=BA=E5=90=AF=E5=8A=A8=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20~=E5=90=8C=E6=AD=A5=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=96=87=E4=BB=B6=20~=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=ACDashboard=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 39 ++++++++++++++++++++++++--------------- scripts/start.sh | 2 +- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/install.sh b/install.sh index 5930bb7..f72b9c2 100644 --- a/install.sh +++ b/install.sh @@ -12,6 +12,10 @@ echo "***********************************************" dir_avail(){ df -h $1 |awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' |grep Ava |awk '{print $2}' } +setconfig(){ + configpath=$clashdir/mark + [ -n "$(grep ${1} $configpath)" ] && sed -i "s#${1}=.*#${1}=${2}#g" $configpath || echo "${1}=${2}" >> $configpath +} [ -f "/etc/storage/started_script.sh" ] && systype=Padavan && initdir='/etc/storage/started_script.sh' [ -d "/jffs/scripts" ] && systype=asusrouter && initdir='/jffs/scripts/net-start' [ -f "/jffs/.asusrouter" ] && systype=asusrouter && initdir='/jffs/.asusrouter' @@ -89,8 +93,8 @@ gettar(){ #判断系统类型写入不同的启动文件 if [ -f /etc/rc.common ];then #设为init.d方式启动 - mv $clashdir/clashservice /etc/init.d/clash - chmod 777 /etc/init.d/clash + cp -f $clashdir/clashservice /etc/init.d/clash + chmod 755 /etc/init.d/clash else [ -w /etc/systemd/system ] && sysdir=/etc/systemd/system [ -w /usr/lib/systemd/system ] && sysdir=/usr/lib/systemd/system @@ -101,19 +105,16 @@ gettar(){ systemctl daemon-reload else #设为保守模式启动 - sed -i '/start_old=*/'d $clashdir/mark - echo start_old=已开启 >> $clashdir/mark + setconfig start_old 已开启 fi fi #修饰文件及版本号 shtype=sh && [ -n "$(ls -l /bin/sh|grep -oE 'dash|show|bash')" ] && shtype=bash sed -i "s|/bin/sh|/bin/$shtype|" $clashdir/start.sh - chmod 777 $clashdir/start.sh - sed -i '/versionsh_l=*/'d $clashdir/mark - echo versionsh_l=$release_new >> $clashdir/mark + chmod 755 $clashdir/start.sh + setconfig versionsh_l $release_new #设置更新地址 - sed -i '/update_url=*/'d $clashdir/mark - echo update_url=$url >> $clashdir/mark + [ -n "$url" ] && setconfig update_url $url #设置环境变量 [ -w /opt/etc/profile ] && profile=/opt/etc/profile [ -w /jffs/configs/profile.add ] && profile=/jffs/configs/profile.add @@ -129,17 +130,25 @@ gettar(){ exit 1 fi #华硕/Padavan额外设置 - [ -n "$initdir" ] && sed -i '/ShellClash初始化/'d $initdir && touch $initdir && echo "$clashdir/start.sh init #ShellClash初始化脚本" >> $initdir + [ -n "$initdir" ] && { + sed -i '/ShellClash初始化/'d $initdir && touch $initdir && echo "$clashdir/start.sh init #ShellClash初始化脚本" >> $initdir + setconfig initdir $initdir + } #小米镜像化OpenWrt额外设置 if [ "$systype" = "mi_snapshot" ];then - echo "*/1 * * * * test -z \"\$(pidof clash)\" && $clashdir/start.sh init #ShellClash初始化及守护进程" >> /data/etc/crontabs/root - sed -i '/start_old=*/'d $clashdir/mark - echo start_old=已开启 >> $clashdir/mark - rm -rf /etc/init.d/clash + chmod 755 $clashdir/misnap_init.sh + uci set firewall.ShellClash=include + uci set firewall.ShellClash.type='script' + uci set firewall.ShellClash.path='/data/clash/misnap_init.sh' + uci set firewall.ShellClash.enabled='1' + uci commit firewall + setconfig systype $systype + else + rm -rf $clashdir/misnap_init.sh + rm -rf $clashdir/clashservice fi #删除临时文件 rm -rf /tmp/clashfm.tar.gz - rm -rf $clashdir/clashservice rm -rf $clashdir/clash.service } #下载及安装 diff --git a/scripts/start.sh b/scripts/start.sh index e31417f..5d5ab80 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -894,7 +894,7 @@ init) fi echo "alias clash=\"$clashdir/clash.sh\"" >> $profile echo "export clashdir=\"$clashdir\"" >> $profile - [ -f $clashdir/.dis_startup ] || $0 start + [ -f $clashdir/.dis_startup ] && cronset "clash保守模式守护进程" || $0 start ;; getyaml) getconfig