mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-10 23:41:22 +00:00
~1.9.3pre3打包
~修复安装脚本报错 ~优化初始化脚本的环境变量注入逻辑 ~优化version读取
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -2004,15 +2004,17 @@ uninstall() {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user