Merge branch 'master' into dev

# Conflicts:
#	scripts/menu.sh
This commit is contained in:
juewuy
2025-12-22 20:45:15 +08:00
8 changed files with 18 additions and 26 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,20 +250,18 @@ 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"
sed -i "/ShellCrash\/menu.sh/"d "$1"
echo "alias ${my_alias}=\"$shtype $CRASHDIR/menu.sh\"" >>"$1" #设置快捷命令环境变量
sed -i '/export CRASHDIR=*/'d "$1"
echo "export CRASHDIR=\"$CRASHDIR\"" >>"$1" #设置路径环境变量
. "$1" >/dev/null 2>&1
}
if [ -n "$profile" ]; then
set_profile "$profile"
#适配zsh环境变量
zsh --version >/dev/null 2>&1 && [ -z "$(cat ~/.zshrc 2>/dev/null | grep CRASHDIR)" ] && set_profile '~/.zshrc' 2>/dev/null
zsh --version >/dev/null 2>&1 && [ -z "$(cat $HOME/.zshrc 2>/dev/null | grep CRASHDIR)" ] && set_profile '$HOME/.zshrc'
setconfig my_alias "$my_alias"
else
echo -e "\033[33m无法写入环境变量请检查安装权限\033[0m"
@@ -379,4 +375,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"

View File

@@ -51,7 +51,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
@@ -265,13 +265,11 @@ 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

View File

@@ -1 +1 @@
1.9.3pre2
1.9.3pre3