diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 9e12a31e..faaee9c8 100644 Binary files a/ShellCrash.tar.gz and b/ShellCrash.tar.gz differ diff --git a/bin/clashfm.tar.gz b/bin/clashfm.tar.gz index 9e12a31e..faaee9c8 100644 Binary files a/bin/clashfm.tar.gz and b/bin/clashfm.tar.gz differ diff --git a/bin/version b/bin/version index bde8e31b..cd767696 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.3pre2 +versionsh=1.9.3pre3 GeoIP_v=20251205 diff --git a/install.sh b/install.sh index 066a876d..5da82c47 100644 --- a/install.sh +++ b/install.sh @@ -14,7 +14,11 @@ dir_avail() { df $2 $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 -E 'Ava|可用' | awk '{print $2}' } ckcmd() { #检查命令 - command -v sh >/dev/null 2>&1 && command -v "$1" || type "$1" + if command -v sh >/dev/null 2>&1;then + command -v "$1" >/dev/null 2>&1 + else + type "$1" >/dev/null 2>&1 + fi } webget() { #参数【$1】代表下载目录,【$2】代表在线地址 @@ -59,7 +63,7 @@ set_alias() { *) my_alias=$res ;; esac cmd=$(ckcmd "$my_alias" | grep 'menu.sh') - ckcmd "$my_alias" >/dev/null 2>&1 && [ -z "$cmd" ] && { + ckcmd "$my_alias" && [ -z "$cmd" ] && { $echo "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m" sleep 1 set_alias diff --git a/rules/clash_providers/clash_providers.list b/rules/clash_providers/clash_providers.list index 8be52ad6..02aaf87b 100644 --- a/rules/clash_providers/clash_providers.list +++ b/rules/clash_providers/clash_providers.list @@ -4,9 +4,3 @@ DustinWin-ruleset标准规则 DustinWin_RS_Lite_NoAds.yaml DustinWin-ruleset标准规则+去广告 DustinWin_RS_Lite.yaml DustinWin-ruleset全分组规则 DustinWin_RS_Full_NoAds.yaml DustinWin-ruleset全分组规则+去广告 DustinWin_RS_Full.yaml -ShellCrash-geosite极简规则 ShellCrash_Geo_Nano.yaml -DustinWin-geosite轻量规则 DustinWin_Geo_Light.yaml -DustinWin-geosite标准规则 DustinWin_Geo_Lite_NoAds.yaml -DustinWin-geosite标准规则+去广告 DustinWin_Geo_Lite.yaml -DustinWin-geosite全分组规则 DustinWin_Geo_Full_NoAds.yaml -DustinWin-geosite全分组规则+去广告 DustinWin_Geo_Full.yaml diff --git a/scripts/init.sh b/scripts/init.sh index 1245d3fc..d7117d95 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -1,8 +1,6 @@ #!/bin/sh # Copyright (C) Juewuy -version=1.9.3pre2 - setdir() { dir_avail() { df $2 $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 -E 'Ava|可用' | awk '{print $2}' @@ -252,8 +250,7 @@ grep -q 'firewall_mod' "$CRASHDIR/configs/ShellClash.cfg" 2>/dev/null || { #设置环境变量 [ -w /opt/etc/profile ] && profile=/opt/etc/profile [ -w /jffs/configs/profile.add ] && profile=/jffs/configs/profile.add -[ -w ~/.bashrc ] && profile=~/.bashrc -[ -w /etc/profile ] && profile=/etc/profile +[ -z "$profile" ] && profile=/etc/profile set_profile() { [ -z "$my_alias" ] && my_alias=crash sed -i "/ShellCrash\/menu.sh/"d "$profile" @@ -264,8 +261,9 @@ set_profile() { } if [ -n "$profile" ]; then set_profile "$profile" - #适配zsh环境变量 + #适配zsh、bash环境变量 zsh --version >/dev/null 2>&1 && [ -z "$(cat ~/.zshrc 2>/dev/null | grep CRASHDIR)" ] && set_profile '~/.zshrc' 2>/dev/null + bash --version >/dev/null 2>&1 && [ -z "$(cat ~/.bashrc 2>/dev/null | grep CRASHDIR)" ] && set_profile '~/.bashrc' 2>/dev/null setconfig my_alias "$my_alias" else echo -e "\033[33m无法写入环境变量!请检查安装权限!\033[0m" @@ -379,4 +377,4 @@ sed -i "s/redir_mod=Nft混合/redir_mod=Tproxy模式/g" $configpath sed -i "s/redir_mod=Tproxy混合/redir_mod=Tproxy模式/g" $configpath sed -i "s/redir_mod=纯净模式/firewall_area=4/g" $configpath -echo -e "\033[32m脚本初始化完成,请输入\033[30;47m crash \033[0;33m命令开始使用!\033[0m" +echo -e "\033[32m脚本初始化完成,请输入\033[30;47m $my_alias \033[0;33m命令开始使用!\033[0m" diff --git a/scripts/menu.sh b/scripts/menu.sh index 5248794d..4e03d412 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -37,7 +37,7 @@ ckstatus() { else . ${CRASHDIR}/init.sh >/dev/null 2>&1 fi - versionsh=$(cat ${CRASHDIR}/init.sh | grep -E ^version= | head -n 1 | sed 's/version=//') + versionsh=$(cat "$CRASHDIR"/version) [ -n "$versionsh" ] && versionsh_l=$versionsh #服务器缺省地址 [ -z "$mix_port" ] && mix_port=7890 @@ -2003,16 +2003,18 @@ uninstall() { echo -e "\033[31m环境变量配置有误,请尝试手动移除安装目录!\033[0m" sleep 1 fi - #移除其他内容 - [ -w ~/.bashrc ] && profile=~/.bashrc - [ -w /etc/profile ] && profile=/etc/profile - sed -i "/alias $my_alias=*/"d $profile - sed -i '/alias crash=*/'d $profile - sed -i '/export CRASHDIR=*/'d $profile - sed -i '/export crashdir=*/'d $profile + #移除其他内容 + sed -i "/alias $my_alias=*/"d /etc/profile 2>/dev/null + sed -i '/alias crash=*/'d /etc/profile 2>/dev/null + sed -i '/export CRASHDIR=*/'d /etc/profile 2>/dev/null + sed -i '/export crashdir=*/'d /etc/profile 2>/dev/null [ -w ~/.zshrc ] && { sed -i "/alias $my_alias=*/"d ~/.zshrc sed -i '/export CRASHDIR=*/'d ~/.zshrc + } + [ -w ~/.bashrc ] && { + sed -i "/alias $my_alias=*/"d ~/.bashrc + sed -i '/export CRASHDIR=*/'d ~/.bashrc } sed -i '/all_proxy/'d $profile sed -i '/ALL_PROXY/'d $profile diff --git a/version b/version index 9a1af48e..7192a088 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.3pre2 +1.9.3pre3