v1.3.10-test
~绕过内核功能ipset模块检测修复 ~优化对低版本wget命令的支持 ~暂时屏蔽对dler.io的特殊处理 ~精简部分代码
This commit is contained in:
@@ -832,19 +832,20 @@ clashadv(){
|
||||
|
||||
elif [ "$num" = 5 ]; then
|
||||
echo -----------------------------------------------
|
||||
if ipset -v >/dev/null 2>&1;then
|
||||
if ! ipset -v >/dev/null 2>&1;then
|
||||
echo -e "\033[31m当前设备缺少ipset模块,无法启用绕过功能!!\033[0m"
|
||||
sleep 1
|
||||
elif [ "$dns_mod" = "fake-ip" ];then
|
||||
echo -e "\033[31m不支持fake-ip模式,请将DNS模式更换为Redir-host!!\033[0m"
|
||||
sleep 1
|
||||
clashcfg
|
||||
else
|
||||
if [ "$cn_ip_route" = "未开启" ]; then
|
||||
echo -e "\033[33m已开启CN_IP绕过内核功能!!\033[0m"
|
||||
echo -e "\033[32m已开启CN_IP绕过内核功能!!\033[0m"
|
||||
cn_ip_route=已开启
|
||||
sleep 1
|
||||
else
|
||||
echo -e "\033[32m已禁用CN_IP绕过内核功能!!\033[0m"
|
||||
echo -e "\033[33m已禁用CN_IP绕过内核功能!!\033[0m"
|
||||
cn_ip_route=未开启
|
||||
fi
|
||||
setconfig cn_ip_route $cn_ip_route
|
||||
@@ -900,9 +901,8 @@ EOF
|
||||
# - SRC-PORT,7777,DIRECT
|
||||
EOF
|
||||
echo -e "\033[32m已经启用自定义配置功能!\033[0m"
|
||||
echo -e "Shell下(部分旧设备可能不显示中文)可\n使用【\033[36mvi $clashdir/user.yaml\033[0m】编辑自定义设定文件;\n使用【\033[36mvi $clashdir/rules.yaml\033[0m】编辑自定义规则文件。"
|
||||
echo -e "Windows下请\n使用\033[33mwinscp软件\033[0m进入$clashdir目录后手动编辑!\033[0m"
|
||||
echo -e "其他设备请\n使用\033[32mscp命令\033[0m下载文件编辑后上传到$clashdir目录!\033[0m"
|
||||
echo -e "Shell下(\033[31m部分旧设备可能不显示中文\033[0m)可\n使用【\033[36mvi $clashdir/user.yaml\033[0m】编辑自定义设定文件;\n使用【\033[36mvi $clashdir/rules.yaml\033[0m】编辑自定义规则文件。"
|
||||
echo -e "如需自定义节点,可以在config.yaml文件中修改或者直接替换config.yaml文件!\033[0m"
|
||||
sleep 3
|
||||
clashadv
|
||||
|
||||
@@ -2,32 +2,8 @@
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
webget(){
|
||||
[ -n "$(pidof clash)" ] && export all_proxy="http://$authentication@127.0.0.1:$mix_port" #设置临时http代理
|
||||
#参数【$1】代表下载目录,【$2】代表在线地址
|
||||
#参数【$3】代表输出显示,【$4】不启用重定向
|
||||
#参数【$5】代表验证证书,【$6】使用clash文件头
|
||||
if curl --version > /dev/null 2>&1;then
|
||||
[ "$3" = "echooff" ] && progress='-s' || progress='-#'
|
||||
[ "$4" = "rediroff" ] && redirect='' || redirect='-L'
|
||||
[ "$5" = "skipceroff" ] && certificate='' || certificate='-k'
|
||||
[ -n "$6" ] && agent='-A "clash"'
|
||||
result=$(curl $agent -w %{http_code} --connect-timeout 3 $progress $redirect $certificate -o $1 $2)
|
||||
[ "$result" != "200" ] && export all_proxy="" && result=$(curl -w %{http_code} --connect-timeout 3 $progress $redirect $certificate -o $1 $2)
|
||||
else
|
||||
[ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress'
|
||||
[ "$3" = "echoon" ] && progress=''
|
||||
[ "$4" = "rediroff" ] && redirect='--max-redirect=0' || redirect=''
|
||||
[ "$5" = "skipceroff" ] && certificate='' || certificate='--no-check-certificate'
|
||||
[ -n "$6" ] && agent='--user-agent="clash"'
|
||||
wget -Y on $agent $progress $redirect $certificate --timeout=3 -O $1 $2
|
||||
if [ "$?" != "0" ];then
|
||||
wget $agent $progress $redirect $certificate --timeout=3 -O $1 $2
|
||||
[ "$?" = "0" ] && result="200"
|
||||
else
|
||||
result="200"
|
||||
fi
|
||||
fi
|
||||
export all_proxy=""
|
||||
$clashdir/start.sh webget $1 $2 $3 $4 $5 $6
|
||||
[ "$?" = "0" ] && result=200
|
||||
}
|
||||
#导入订阅、配置文件相关
|
||||
linkconfig(){
|
||||
@@ -777,7 +753,7 @@ if [ -z "$release_new" ];then
|
||||
[ -z "$release_new" ] && release_new=master
|
||||
update_url=$update_url@$release_new
|
||||
fi
|
||||
webget /tmp/clashversion $update_url/bin/version echooff
|
||||
webget /tmp/clashversion $update_url/bin/version echooff
|
||||
[ "$result" = "200" ] && source /tmp/clashversion || echo -e "\033[31m检查更新失败!请检查网络连接或切换安装源!\033[0m"
|
||||
[ -z "$release_new" ] && release_new=$versionsh
|
||||
rm -rf /tmp/clashversion
|
||||
|
||||
@@ -58,13 +58,13 @@ webget(){
|
||||
[ "$5" = "skipceroff" ] && certificate='' || certificate='-k'
|
||||
[ -n "$6" ] && agent='-A "clash"'
|
||||
result=$(curl $agent -w %{http_code} --connect-timeout 3 $progress $redirect $certificate -o $1 $2)
|
||||
[ "$result" != "200" ] && export all_proxy="" && result=$(curl -w %{http_code} --connect-timeout 3 $progress $redirect $certificate -o $1 $2)
|
||||
[ "$result" != "200" ] && export all_proxy="" && result=$(curl $agent -w %{http_code} --connect-timeout 3 $progress $redirect $certificate -o $1 $2)
|
||||
else
|
||||
if wget --version > /dev/null 2>&1;then
|
||||
[ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress'
|
||||
[ "$4" = "rediroff" ] && redirect='--max-redirect=0' || redirect=''
|
||||
[ "$5" = "skipceroff" ] && certificate='' || certificate='--no-check-certificate'
|
||||
timeout='--timeout=3'
|
||||
timeout='--timeout=3 -t 2'
|
||||
fi
|
||||
[ "$3" = "echoon" ] && progress=''
|
||||
[ "$3" = "echooff" ] && progress='-q'
|
||||
@@ -78,6 +78,7 @@ webget(){
|
||||
fi
|
||||
fi
|
||||
export all_proxy=""
|
||||
[ "$result" = "200" ] && return 0 || return 1
|
||||
}
|
||||
logger(){
|
||||
[ -n "$2" ] && echo -e "\033[$2m$1\033[0m"
|
||||
@@ -137,7 +138,7 @@ https://github.com/juewuy/ShellClash/raw/master/rules/ACL4SSR_Online_Full_Games.
|
||||
EOF`
|
||||
#如果传来的是Url链接则合成Https链接,否则直接使用Https链接
|
||||
if [ -z "$Https" ];then
|
||||
[ -n "$(echo $Url | grep -o 'https://dler')" ] && Server='api.dler.io'
|
||||
#[ -n "$(echo $Url | grep -o 'https://dler')" ] && Server='api.dler.io'
|
||||
Https="https://$Server/sub?target=clash&insert=true&new_name=true&scv=true&exclude=$exclude&include=$include&url=$Url&config=$Config"
|
||||
markhttp=1
|
||||
fi
|
||||
@@ -777,7 +778,7 @@ updateyaml)
|
||||
$0 restart
|
||||
;;
|
||||
webget)
|
||||
webget $2 $3 $4 $5 $6
|
||||
webget $2 $3 $4 $5 $6 $7
|
||||
;;
|
||||
web_save)
|
||||
getconfig
|
||||
|
||||
Reference in New Issue
Block a user