v1.7.10c
~修复小米设备开启自启失败的问题 ~修复本机代理nftables增强模式部分情况下无法代理docker流量的问题 ~修复本机代理iptables提示重复添加的问题
This commit is contained in:
@@ -729,7 +729,7 @@ clashlink(){
|
||||
}
|
||||
#下载更新相关
|
||||
gettar(){
|
||||
$clashdir/start.sh webget $tmpdir/clashfm.tar.gz $tarurl
|
||||
$clashdir/start.sh webget $TMPDIR/clashfm.tar.gz $tarurl
|
||||
if [ "$?" != "0" ];then
|
||||
echo -e "\033[33m文件下载失败!\033[0m"
|
||||
error_down
|
||||
@@ -739,9 +739,9 @@ gettar(){
|
||||
echo -----------------------------------------------
|
||||
echo 开始解压文件!
|
||||
mkdir -p $clashdir > /dev/null
|
||||
tar -zxvf "$tmpdir/clashfm.tar.gz" -C $clashdir/
|
||||
tar -zxvf "$TMPDIR/clashfm.tar.gz" -C $clashdir/
|
||||
if [ $? -ne 0 ];then
|
||||
rm -rf $tmpdir/clashfm.tar.gz
|
||||
rm -rf $TMPDIR/clashfm.tar.gz
|
||||
echo -e "\033[33m文件解压失败!\033[0m"
|
||||
error_down
|
||||
else
|
||||
@@ -810,21 +810,21 @@ getcore(){
|
||||
#获取在线clash核心文件
|
||||
echo -----------------------------------------------
|
||||
echo 正在在线获取clash核心文件……
|
||||
$clashdir/start.sh webget $tmpdir/clash.new $corelink
|
||||
$clashdir/start.sh webget $TMPDIR/clash.new $corelink
|
||||
if [ "$?" = "1" ];then
|
||||
echo -e "\033[31m核心文件下载失败!\033[0m"
|
||||
rm -rf $tmpdir/clash.new
|
||||
rm -rf $TMPDIR/clash.new
|
||||
[ -z "$custcorelink" ] && error_down
|
||||
else
|
||||
chmod +x $tmpdir/clash.new
|
||||
clashv=$($tmpdir/clash.new -v 2>/dev/null | sed 's/ linux.*//;s/.* //')
|
||||
chmod +x $TMPDIR/clash.new
|
||||
clashv=$($TMPDIR/clash.new -v 2>/dev/null | sed 's/ linux.*//;s/.* //')
|
||||
if [ -z "$clashv" ];then
|
||||
echo -e "\033[31m核心文件下载成功但校验失败!请尝试手动指定CPU版本\033[0m"
|
||||
rm -rf $tmpdir/clash.new
|
||||
rm -rf $TMPDIR/clash.new
|
||||
setcpucore
|
||||
else
|
||||
echo -e "\033[32m$clashcore核心下载成功!\033[0m"
|
||||
mv -f $tmpdir/clash.new $bindir/clash
|
||||
mv -f $TMPDIR/clash.new $bindir/clash
|
||||
chmod +x $bindir/clash
|
||||
setconfig clashcore $clashcore
|
||||
setconfig clashv $version
|
||||
@@ -930,13 +930,13 @@ setcore(){
|
||||
getgeo(){
|
||||
echo -----------------------------------------------
|
||||
echo 正在从服务器获取数据库文件…………
|
||||
$clashdir/start.sh webget $tmpdir/$geoname $update_url/bin/geodata/$geotype
|
||||
$clashdir/start.sh webget $TMPDIR/$geoname $update_url/bin/geodata/$geotype
|
||||
if [ "$?" = "1" ];then
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m文件下载失败!\033[0m"
|
||||
error_down
|
||||
else
|
||||
mv -f $tmpdir/$geoname $bindir/$geoname
|
||||
mv -f $TMPDIR/$geoname $bindir/$geoname
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32mGeoIP/CN_IP数据库文件下载成功!\033[0m"
|
||||
Geo_v=$GeoIP_v
|
||||
@@ -1014,7 +1014,7 @@ getdb(){
|
||||
dblink="${update_url}/bin/dashboard/${db_type}.tar.gz"
|
||||
echo -----------------------------------------------
|
||||
echo 正在连接服务器获取安装文件…………
|
||||
$clashdir/start.sh webget $tmpdir/clashdb.tar.gz $dblink
|
||||
$clashdir/start.sh webget $TMPDIR/clashdb.tar.gz $dblink
|
||||
if [ "$?" = "1" ];then
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m文件下载失败!\033[0m"
|
||||
@@ -1024,10 +1024,10 @@ getdb(){
|
||||
else
|
||||
echo -e "\033[33m下载成功,正在解压文件!\033[0m"
|
||||
mkdir -p $dbdir > /dev/null
|
||||
tar -zxvf "$tmpdir/clashdb.tar.gz" -C $dbdir > /dev/null
|
||||
tar -zxvf "$TMPDIR/clashdb.tar.gz" -C $dbdir > /dev/null
|
||||
if [ $? -ne 0 ];then
|
||||
tar -zxvf "$tmpdir/clashdb.tar.gz" --no-same-permissions -C $dbdir > /dev/null
|
||||
[ $? -ne 0 ] && echo "文件解压失败!" && rm -rf $tmpdir/clashfm.tar.gz && exit 1
|
||||
tar -zxvf "$TMPDIR/clashdb.tar.gz" --no-same-permissions -C $dbdir > /dev/null
|
||||
[ $? -ne 0 ] && echo "文件解压失败!" && rm -rf $TMPDIR/clashfm.tar.gz && exit 1
|
||||
fi
|
||||
#修改默认host和端口
|
||||
if [ "$db_type" = "clashdb" -o "$db_type" = "meta_db" ];then
|
||||
@@ -1041,7 +1041,7 @@ getdb(){
|
||||
setconfig hostdir \'$hostdir\'
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32m面板安装成功!\033[0m"
|
||||
rm -rf $tmpdir/clashdb.tar.gz
|
||||
rm -rf $TMPDIR/clashdb.tar.gz
|
||||
sleep 1
|
||||
fi
|
||||
}
|
||||
@@ -1121,20 +1121,20 @@ getcrt(){
|
||||
crtlink="${update_url}/bin/fix/ca-certificates.crt"
|
||||
echo -----------------------------------------------
|
||||
echo 正在连接服务器获取安装文件…………
|
||||
$clashdir/start.sh webget $tmpdir/ca-certificates.crt $crtlink
|
||||
$clashdir/start.sh webget $TMPDIR/ca-certificates.crt $crtlink
|
||||
if [ "$?" = "1" ];then
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m文件下载失败!\033[0m"
|
||||
error_down
|
||||
else
|
||||
echo -----------------------------------------------
|
||||
mv -f $tmpdir/ca-certificates.crt $crtdir
|
||||
$clashdir/start.sh webget $tmpdir/ssl_test https://baidu.com echooff rediron skipceroff
|
||||
mv -f $TMPDIR/ca-certificates.crt $crtdir
|
||||
$clashdir/start.sh webget $TMPDIR/ssl_test https://baidu.com echooff rediron skipceroff
|
||||
if [ "$?" = "1" ];then
|
||||
export CURL_CA_BUNDLE=$crtdir
|
||||
echo "export CURL_CA_BUNDLE=$crtdir" >> /etc/profile
|
||||
fi
|
||||
rm -rf $tmpdir/ssl_test
|
||||
rm -rf $TMPDIR/ssl_test
|
||||
echo -e "\033[32m证书安装成功!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
@@ -1212,15 +1212,15 @@ setserver(){
|
||||
b)
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m如无法连接,请务必先启用clash服务!!!\033[0m"
|
||||
$clashdir/start.sh webget $tmpdir/clashrelease https://raw.githubusercontent.com/juewuy/ShellClash/master/bin/release_version echooff rediroff 2>$tmpdir/clashrelease
|
||||
$clashdir/start.sh webget $TMPDIR/clashrelease https://raw.githubusercontent.com/juewuy/ShellClash/master/bin/release_version echooff rediroff 2>$TMPDIR/clashrelease
|
||||
echo -e "\033[31m请选择想要回退至的release版本:\033[0m"
|
||||
cat $tmpdir/clashrelease | awk '{print " "NR" "$1}'
|
||||
cat $TMPDIR/clashrelease | awk '{print " "NR" "$1}'
|
||||
echo -e " 0 返回上级菜单"
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ -z "$num" -o "$num" = 0 ]; then
|
||||
setserver
|
||||
elif [ $num -le $(cat $tmpdir/clashrelease 2>/dev/null | awk 'END{print NR}') ]; then
|
||||
release_version=$(cat $tmpdir/clashrelease | awk '{print $1}' | sed -n "$num"p)
|
||||
elif [ $num -le $(cat $TMPDIR/clashrelease 2>/dev/null | awk 'END{print NR}') ]; then
|
||||
release_version=$(cat $TMPDIR/clashrelease | awk '{print $1}' | sed -n "$num"p)
|
||||
update_url="https://raw.githubusercontent.com/juewuy/ShellClash/$release_version"
|
||||
saveserver
|
||||
unset release_url
|
||||
@@ -1228,7 +1228,7 @@ setserver(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m输入有误,请重新输入!\033[0m"
|
||||
fi
|
||||
rm -rf $tmpdir/clashrelease
|
||||
rm -rf $TMPDIR/clashrelease
|
||||
;;
|
||||
*)
|
||||
errornum
|
||||
@@ -1240,25 +1240,25 @@ checkupdate(){
|
||||
if [ -z "$release_new" ];then
|
||||
if [ -n "$release_url" ];then
|
||||
[ -n "$(echo $release_url|grep 'jsdelivr')" ] && check_url=$release_url@master || check_url=$release_url/master
|
||||
$clashdir/start.sh webget $tmpdir/clashversion $check_url/bin/release_version echoon rediroff 2>$tmpdir/clashversion
|
||||
release_new=$(cat $tmpdir/clashversion | head -1)
|
||||
$clashdir/start.sh webget $TMPDIR/clashversion $check_url/bin/release_version echoon rediroff 2>$TMPDIR/clashversion
|
||||
release_new=$(cat $TMPDIR/clashversion | head -1)
|
||||
[ -n "$(echo $release_url|grep 'jsdelivr')" ] && update_url=$release_url@$release_new || update_url=$release_url/$release_new
|
||||
setconfig update_url \'$update_url\'
|
||||
release_type=正式版
|
||||
else
|
||||
release_type=测试版
|
||||
fi
|
||||
$clashdir/start.sh webget $tmpdir/clashversion $update_url/bin/version echooff
|
||||
[ "$?" = "0" ] && release_new=$(cat $tmpdir/clashversion | grep -oE 'versionsh=.*' | awk -F'=' '{ print $2 }')
|
||||
$clashdir/start.sh webget $TMPDIR/clashversion $update_url/bin/version echooff
|
||||
[ "$?" = "0" ] && release_new=$(cat $TMPDIR/clashversion | grep -oE 'versionsh=.*' | awk -F'=' '{ print $2 }')
|
||||
if [ -n "$release_new" ];then
|
||||
source $tmpdir/clashversion 2>/dev/null
|
||||
source $TMPDIR/clashversion 2>/dev/null
|
||||
else
|
||||
echo -e "\033[31m检查更新失败!请切换其他安装源!\033[0m"
|
||||
echo -e "\033[36m如全部安装源都无法使用,请先运行clash服务后再使用更新功能!\033[0m"
|
||||
sleep 1
|
||||
setserver
|
||||
fi
|
||||
rm -rf $tmpdir/clashversion
|
||||
rm -rf $TMPDIR/clashversion
|
||||
fi
|
||||
}
|
||||
update(){
|
||||
@@ -1438,14 +1438,14 @@ userguide(){
|
||||
[ "$res" = 1 ] && checkupdate && getcrt
|
||||
fi
|
||||
#设置加密DNS
|
||||
$clashdir/start.sh webget $tmpdir/ssl_test https://doh.pub echooff rediron
|
||||
$clashdir/start.sh webget $TMPDIR/ssl_test https://doh.pub echooff rediron
|
||||
if [ "$?" = "0" ];then
|
||||
dns_nameserver='https://223.5.5.5/dns-query, https://doh.pub/dns-query, tls://dns.rubyfish.cn:853'
|
||||
dns_fallback='https://1.0.0.1/dns-query, https://8.8.4.4/dns-query, https://doh.opendns.com/dns-query'
|
||||
setconfig dns_nameserver \'"$dns_nameserver"\'
|
||||
setconfig dns_fallback \'"$dns_fallback"\'
|
||||
fi
|
||||
rm -rf $tmpdir/ssl_test
|
||||
rm -rf $TMPDIR/ssl_test
|
||||
#开启公网访问
|
||||
sethost(){
|
||||
read -p "请输入你的公网IP地址 > " host
|
||||
@@ -1526,7 +1526,7 @@ testcommand(){
|
||||
echo -----------------------------------------------
|
||||
if $clashdir/clash -v &>/dev/null;then
|
||||
clash -s modify_yaml &>/dev/null
|
||||
$clashdir/clash -t -d $clashdir -f $tmpdir/config.yaml
|
||||
$clashdir/clash -t -d $clashdir -f $TMPDIR/config.yaml
|
||||
[ "$?" = 0 ] && testover=32m测试通过!|| testover=31m出现错误!请截图后到TG群询问!!!
|
||||
echo -e "\033[$testover\033[0m"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user