diff --git a/scripts/getdate.sh b/scripts/getdate.sh index 7a26629..8af8d0f 100644 --- a/scripts/getdate.sh +++ b/scripts/getdate.sh @@ -646,29 +646,30 @@ getcrt(){ fi } setcrt(){ - crtdir='/etc/ssl/certs/ca-certificates.crt' - echo ----------------------------------------------- - echo -e "\033[36m安装/更新本地根证书文件(ca-certificates.crt)\033[0m" - echo -e "\033[33m用于解决证书校验错误,x509报错等问题\033[0m" - echo -e "\033[31m无上述问题的设备无需使用本功能!\033[0m" - [ -f "$crtdir" ] && echo -e "\033[32m当前设备已经安装根证书文件了!\033[0m" - echo ----------------------------------------------- - read -p "确认安装?(1/0) > " res + openssldir=$(openssl version -a 2>&1 | grep OPENSSLDIR | awk -F "\"" '{print $2}') + if [ -n "$openssldir" ];then + crtdir="$openssldir/certs/ca-certificates.crt" + echo ----------------------------------------------- + echo -e "\033[36m安装/更新本地根证书文件(ca-certificates.crt)\033[0m" + echo -e "\033[33m用于解决证书校验错误,x509报错等问题\033[0m" + echo -e "\033[31m无上述问题的设备无需使用本功能!\033[0m" + [ -f "$crtdir" ] && echo -e "\033[32m当前设备已经安装根证书文件了!\033[0m" + echo ----------------------------------------------- + read -p "确认安装?(1/0) > " res - if [ -z "$res" ];then - errornum - elif [ "$res" = '0' ]; then - i= - elif [ "$res" = '1' ]; then - if [ -d /etc/ssl/certs ];then + if [ -z "$res" ];then + errornum + elif [ "$res" = '0' ]; then + i= + elif [ "$res" = '1' ]; then getcrt else - echo ----------------------------------------------- - echo -e "\033[33m设备可能未安装openssl或者证书文件目录不是/etc/ssl/certs,无法安装!\033[0m" - sleep 1 + errornum fi else - errornum + echo ----------------------------------------------- + echo -e "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" + sleep 1 fi } setserver(){ diff --git a/scripts/start.sh b/scripts/start.sh index c224e45..e5aed2b 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -185,6 +185,14 @@ EOF` echo ----------------------------------------------- exit 1 fi + #检测是否存在高级版规则 + if [ "$clashcore" = "clash" -a -n "$(cat $yamlnew | grep -E '^script:|proxy-providers|rule-providers')" ];then + echo ----------------------------------------------- + logger "检测到高级版核心专属规则!将改为使用premium核心启动!" 33 + rm -rf $bindir/clash + setconfig clashcore clashpre + echo ----------------------------------------------- + fi #使用核心内置test功能检测 if [ -x $bindir/clash ];then $bindir/clash -t -d $bindir -f $yamlnew >/dev/null