v1.0.0beta15.2
~新增自定义http/sock5代理认证功能 ~新增支持安装内置yacd面板 ~增加自定义DNS配置功能 ~优化安装脚本 ~修复部分设备无法正常显示局域网连接ip/mac的bug ~修复iptables报错的bug ~同步最新版本Geoip数据库文件
This commit is contained in:
BIN
bin/yacd.tar.gz
Normal file
BIN
bin/yacd.tar.gz
Normal file
Binary file not shown.
130
scripts/clash.sh
130
scripts/clash.sh
@@ -16,10 +16,13 @@ fi
|
|||||||
ccfg=$clashdir/mark
|
ccfg=$clashdir/mark
|
||||||
yaml=$clashdir/config.yaml
|
yaml=$clashdir/config.yaml
|
||||||
#检查/读取标识文件
|
#检查/读取标识文件
|
||||||
[ ! -f $ccfg ]&& echo '#标识clash运行状态的文件,不明勿动!' >> $ccfg
|
[ ! -f $ccfg ] && echo '#标识clash运行状态的文件,不明勿动!' > $ccfg
|
||||||
source $ccfg
|
source $ccfg
|
||||||
#检查mac地址记录
|
#检查mac地址记录
|
||||||
[ ! -f $clashdir/mac ] && touch $clashdir/mac
|
[ ! -f $clashdir/mac ] && touch $clashdir/mac
|
||||||
|
#dashboard目录位置
|
||||||
|
[ -d /www/clash ] && dbdir=/www/clash && hostdir=/clash
|
||||||
|
[ -d $clashdir/ui ] && dbdir=$clashdir/ui && hostdir=":$db_port/ui"
|
||||||
#开机自启相关
|
#开机自启相关
|
||||||
if [ -f /etc/rc.common ];then
|
if [ -f /etc/rc.common ];then
|
||||||
if [ -n "$(find /etc/rc.d -name '*clash')" ];then
|
if [ -n "$(find /etc/rc.d -name '*clash')" ];then
|
||||||
@@ -86,22 +89,6 @@ if [ -n "$PID" ];then
|
|||||||
fi
|
fi
|
||||||
echo -e "TG群:\033[36;4mhttps://t.me/clashfm\033[0m"
|
echo -e "TG群:\033[36;4mhttps://t.me/clashfm\033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
#检查clash核心
|
|
||||||
if [ ! -f $clashdir/clash ];then
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[31m没有找到核心文件,请先下载clash核心!\033[0m"
|
|
||||||
checkupdate
|
|
||||||
source $clashdir/getdate.sh
|
|
||||||
getcore
|
|
||||||
fi
|
|
||||||
#检查GeoIP数据库
|
|
||||||
if [ ! -f $clashdir/Country.mmdb ];then
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[31m没有找到GeoIP数据库文件,请下载数据库文件!\033[0m"
|
|
||||||
checkupdate
|
|
||||||
source $clashdir/getdate.sh
|
|
||||||
getgeo
|
|
||||||
fi
|
|
||||||
#检查定时任务配置文件
|
#检查定时任务配置文件
|
||||||
if [ -z "$cronpath" ];then
|
if [ -z "$cronpath" ];then
|
||||||
[ -d /etc/crontabs/ ] && cronpath="/etc/crontabs/root"
|
[ -d /etc/crontabs/ ] && cronpath="/etc/crontabs/root"
|
||||||
@@ -110,14 +97,19 @@ if [ -z "$cronpath" ];then
|
|||||||
[ -d /etc/storage/cron/crontabs ] && cronpath="/etc/storage/cron/crontabs/admin"
|
[ -d /etc/storage/cron/crontabs ] && cronpath="/etc/storage/cron/crontabs/admin"
|
||||||
[ -n "$cronpath" ] && sed -i "1i\cronpath=\'$cronpath\'" $ccfg
|
[ -n "$cronpath" ] && sed -i "1i\cronpath=\'$cronpath\'" $ccfg
|
||||||
fi
|
fi
|
||||||
|
#检查新手引导
|
||||||
|
if [ -z "$userguide" ];then
|
||||||
|
read -p "检测到首次运行,是否启动新手引导?(1/0) > " res
|
||||||
|
echo -----------------------------------------------
|
||||||
|
sed -i "1i\userguide=1" $ccfg
|
||||||
|
[ "$res" = 1 ] && source $clashdir/getdate.sh && userguide
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
start_over(){
|
start_over(){
|
||||||
[ $? -eq 1 ] && exit
|
[ $? -eq 1 ] && exit
|
||||||
echo -e "\033[32mclash服务已启动!\033[0m"
|
echo -e "\033[32mclash服务已启动!\033[0m"
|
||||||
if [ -d /www/clash ];then
|
if [ -n "$dbdir" ];then
|
||||||
echo -e "请使用\033[30;47m http://$host/clash \033[0m管理内置规则"
|
echo -e "请使用\033[30;47m http://$host$dbdir \033[0m管理内置规则"
|
||||||
elif [ -d $clashdir/ui ];then
|
|
||||||
echo -e "请使用\033[30;47m http://$host:$db_port/ui \033[0m管理内置规则"
|
|
||||||
else
|
else
|
||||||
echo -e "可使用\033[30;47m http://clash.razord.top \033[0m管理内置规则"
|
echo -e "可使用\033[30;47m http://clash.razord.top \033[0m管理内置规则"
|
||||||
echo -e "Host地址:\033[36m $host \033[0m 端口:\033[36m $db_port \033[0m"
|
echo -e "Host地址:\033[36m $host \033[0m 端口:\033[36m $db_port \033[0m"
|
||||||
@@ -293,6 +285,21 @@ checkport(){
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
clashstart(){
|
clashstart(){
|
||||||
|
#检查clash核心
|
||||||
|
if [ ! -f $clashdir/clash ];then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m没有找到核心文件,请先下载clash核心!\033[0m"
|
||||||
|
checkupdate
|
||||||
|
source $clashdir/getdate.sh && getcore
|
||||||
|
fi
|
||||||
|
#检查GeoIP数据库
|
||||||
|
if [ ! -f $clashdir/Country.mmdb ];then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m没有找到GeoIP数据库文件,请下载数据库文件!\033[0m"
|
||||||
|
checkupdate
|
||||||
|
source $clashdir/getdate.sh && getgeo
|
||||||
|
fi
|
||||||
|
#检查yaml配置文件
|
||||||
if [ ! -f "$yaml" ];then
|
if [ ! -f "$yaml" ];then
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[31m没有找到配置文件,请先导入配置文件!\033[0m"
|
echo -e "\033[31m没有找到配置文件,请先导入配置文件!\033[0m"
|
||||||
@@ -631,7 +638,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
|||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
read -p "是否配置自动代理PAC文件(1/0) > " res
|
read -p "是否配置自动代理PAC文件(1/0) > " res
|
||||||
if [ "$res" = 1 ]; then
|
if [ "$res" = 1 ]; then
|
||||||
source $clashdir/getdate.sh && catpac
|
source $clashdir/getdate.sh && setpac
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
@@ -758,7 +765,7 @@ echo -----------------------------------------------
|
|||||||
echo -e " 1 使用自定义配置: \033[36m$modify_yaml\033[0m ————不使用内置规则修饰config.yaml"
|
echo -e " 1 使用自定义配置: \033[36m$modify_yaml\033[0m ————不使用内置规则修饰config.yaml"
|
||||||
echo -e " 2 启用ipv6支持: \033[36m$ipv6_support\033[0m ————实验性功能,可能不稳定"
|
echo -e " 2 启用ipv6支持: \033[36m$ipv6_support\033[0m ————实验性功能,可能不稳定"
|
||||||
echo -e " 3 使用保守方式启动: \033[36m$start_old\033[0m ————切换时会停止clash服务"
|
echo -e " 3 使用保守方式启动: \033[36m$start_old\033[0m ————切换时会停止clash服务"
|
||||||
echo -e " 4 代理本机流量: \033[36m$local_proxy\033[0m ————配置本机代理环境变量"
|
echo -e " 4 代理本机流量: \033[36m$local_proxy\033[0m ————使用环境变量或者PAC配置本机代理"
|
||||||
echo -e " 5 手动指定clash运行端口及秘钥"
|
echo -e " 5 手动指定clash运行端口及秘钥"
|
||||||
echo -e " 6 手动配置内置DNS服务"
|
echo -e " 6 手动配置内置DNS服务"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
@@ -828,14 +835,14 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
|||||||
if [ "$local_proxy" = "未开启" ] > /dev/null 2>&1; then
|
if [ "$local_proxy" = "未开启" ] > /dev/null 2>&1; then
|
||||||
sed -i "1i\local_proxy=已开启" $ccfg
|
sed -i "1i\local_proxy=已开启" $ccfg
|
||||||
local_proxy=已开启
|
local_proxy=已开启
|
||||||
$clashdir/start.sh set_proxy $mix_port
|
$clashdir/start.sh set_proxy $mix_port $dbdir
|
||||||
echo -e "\033[32m已经将代理参数写入环境变量~\033[0m"
|
echo -e "\033[32m已经成功配置本机代理~\033[0m"
|
||||||
echo -e "\033[36m如未生效,请重新启动终端或重新连接SSH!\033[0m"
|
echo -e "\033[36m如未生效,请重新启动终端或重新连接SSH!\033[0m"
|
||||||
else
|
else
|
||||||
sed -i "1i\local_proxy=未开启" $ccfg
|
sed -i "1i\local_proxy=未开启" $ccfg
|
||||||
local_proxy=未开启
|
local_proxy=未开启
|
||||||
$clashdir/start.sh unset_proxy
|
$clashdir/start.sh unset_proxy
|
||||||
echo -e "\033[33m已经将代理参数从环境变量移除!!\033[0m"
|
echo -e "\033[33m已经停用本机代理规则!!\033[0m"
|
||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
clashadv
|
clashadv
|
||||||
@@ -924,7 +931,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
|||||||
|
|
||||||
elif [[ $num == 5 ]]; then
|
elif [[ $num == 5 ]]; then
|
||||||
source $clashdir/getdate.sh
|
source $clashdir/getdate.sh
|
||||||
catpac
|
setpac
|
||||||
update
|
update
|
||||||
|
|
||||||
elif [[ $num == 7 ]]; then
|
elif [[ $num == 7 ]]; then
|
||||||
@@ -1177,74 +1184,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
|||||||
clashadv
|
clashadv
|
||||||
|
|
||||||
elif [[ $num == 8 ]]; then
|
elif [[ $num == 8 ]]; then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
source $clashdir/getdate.sh && testcommand
|
||||||
echo -e "\033[30;47m这里是测试命令菜单\033[0m"
|
|
||||||
echo -e "\033[33m如遇问题尽量运行相应命令后截图发群\033[0m"
|
|
||||||
echo -e "磁盘占用/所在目录:"
|
|
||||||
du -h $clashdir
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo " 1 查看clash运行时的报错信息"
|
|
||||||
echo " 2 查看系统DNS端口(:53)占用 "
|
|
||||||
echo " 3 测试ssl加密(aes-128-gcm)跑分"
|
|
||||||
echo " 4 查看iptables端口转发详情"
|
|
||||||
echo " 5 查看config.yaml前40行"
|
|
||||||
echo " 6 测试代理服务器连通性(google.tw)"
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo " 0 返回上级目录!"
|
|
||||||
read -p "请输入对应数字 > " num
|
|
||||||
if [ -z "$num" ]; then
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
|
||||||
clashsh
|
|
||||||
elif [[ $num == 0 ]]; then
|
|
||||||
clashsh
|
|
||||||
elif [[ $num == 1 ]]; then
|
|
||||||
$clashdir/start.sh stop
|
|
||||||
echo -----------------------------------------------
|
|
||||||
$clashdir/clash -t -d $clashdir
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo -e "\033[31m如有报错请截图后到TG群询问!!!\033[0m"
|
|
||||||
exit;
|
|
||||||
elif [[ $num == 2 ]]; then
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
netstat -ntulp |grep 53
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口"
|
|
||||||
exit;
|
|
||||||
elif [[ $num == 3 ]]; then
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
openssl speed -multi 4 -evp aes-128-gcm
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
exit;
|
|
||||||
elif [[ $num == 4 ]]; then
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
iptables -t nat -L PREROUTING --line-numbers
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
iptables -t nat -L clash --line-numbers
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
iptables -t nat -L clash_dns --line-numbers
|
|
||||||
exit;
|
|
||||||
elif [[ $num == 5 ]]; then
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
sed -n '1,40p' $yaml
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
exit;
|
|
||||||
elif [[ $num == 6 ]]; then
|
|
||||||
echo 注意:测试结果不保证一定准确!
|
|
||||||
delay=`curl -kx ${authentication}@127.0.0.1:$mix_port -o /dev/null -s -w '%{time_starttransfer}' 'https://google.tw' & { sleep 3 ; kill $! & }` > /dev/null 2>&1
|
|
||||||
delay=`echo |awk "{print $delay*1000}"` > /dev/null 2>&1
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
if [ `echo ${#delay}` -gt 1 ];then
|
|
||||||
echo -e "\033[32m连接成功!响应时间为:"$delay" ms\033[0m"
|
|
||||||
else
|
|
||||||
echo -e "\033[31m连接超时!请重试或检查节点配置!\033[0m"
|
|
||||||
fi
|
|
||||||
clashsh
|
|
||||||
else
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
|
||||||
clashsh
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [[ $num == 9 ]]; then
|
elif [[ $num == 9 ]]; then
|
||||||
update
|
update
|
||||||
|
|||||||
@@ -2,118 +2,118 @@
|
|||||||
# Copyright (C) Juewuy
|
# Copyright (C) Juewuy
|
||||||
|
|
||||||
linkconfig(){
|
linkconfig(){
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||||
echo 当前使用规则为:$rule_link
|
echo 当前使用规则为:$rule_link
|
||||||
echo 1 ACL4SSR通用版无去广告(推荐)
|
echo 1 ACL4SSR通用版无去广告(推荐)
|
||||||
echo 2 ACL4SSR精简全能版(推荐)
|
echo 2 ACL4SSR精简全能版(推荐)
|
||||||
echo 3 ACL4SSR通用版+去广告加强
|
echo 3 ACL4SSR通用版+去广告加强
|
||||||
echo 4 ACL4SSR精简版+去广告加强
|
echo 4 ACL4SSR精简版+去广告加强
|
||||||
echo 5 ACL4SSR重度全分组+奈飞分流
|
echo 5 ACL4SSR重度全分组+奈飞分流
|
||||||
echo 6 ACL4SSR重度全分组+去广告加强
|
echo 6 ACL4SSR重度全分组+去广告加强
|
||||||
echo 7 洞主规则精简版(推荐)
|
echo 7 洞主规则精简版(推荐)
|
||||||
echo 8 洞主规则重度完整版
|
echo 8 洞主规则重度完整版
|
||||||
echo 9 神机规则高级版
|
echo 9 神机规则高级版
|
||||||
echo 10 神机规则-回国专用
|
echo 10 神机规则-回国专用
|
||||||
echo 11 李哥规则-墙洞专用
|
echo 11 李哥规则-墙洞专用
|
||||||
echo 12 基础规则-仅Geoip CN+Final
|
echo 12 基础规则-仅Geoip CN+Final
|
||||||
echo 13 网易云解锁-仅规则分组
|
echo 13 网易云解锁-仅规则分组
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo 0 返回上级菜单
|
echo 0 返回上级菜单
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
if [ -z "$num" ] || [[ $num -gt 13 ]];then
|
if [ -z "$num" ] || [[ $num -gt 13 ]];then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
elif [[ "$num" = "0" ]];then
|
elif [[ "$num" = "0" ]];then
|
||||||
echo
|
echo
|
||||||
elif [[ $num -le 13 ]];then
|
elif [[ $num -le 13 ]];then
|
||||||
#将对应标记值写入mark
|
#将对应标记值写入mark
|
||||||
sed -i '/rule_link*/'d $ccfg
|
sed -i '/rule_link*/'d $ccfg
|
||||||
sed -i "4i\rule_link="$num"" $ccfg
|
sed -i "4i\rule_link="$num"" $ccfg
|
||||||
rule_link=$num
|
rule_link=$num
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[32m设置成功!返回上级菜单\033[0m"
|
echo -e "\033[32m设置成功!返回上级菜单\033[0m"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
linkserver(){
|
linkserver(){
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||||
echo -e "\033[36m 感谢 https://github.com/tindy2013/subconverter \033[0m"
|
echo -e "\033[36m 感谢 https://github.com/tindy2013/subconverter \033[0m"
|
||||||
echo 当前使用后端为:$server_link
|
echo 当前使用后端为:$server_link
|
||||||
echo 1 subcon.dlj.tf
|
echo 1 subcon.dlj.tf
|
||||||
echo 2 subconverter.herokuapp.com
|
echo 2 subconverter.herokuapp.com
|
||||||
echo 3 subcon.py6.pw
|
echo 3 subcon.py6.pw
|
||||||
echo 4 api.dler.io
|
echo 4 api.dler.io
|
||||||
echo 5 api.wcc.best
|
echo 5 api.wcc.best
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo 0 返回上级菜单
|
echo 0 返回上级菜单
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
if [ -z "$num" ] || [[ $num -gt 5 ]];then
|
if [ -z "$num" ] || [[ $num -gt 5 ]];then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
elif [[ "$num" = 0 ]];then
|
elif [[ "$num" = 0 ]];then
|
||||||
echo
|
echo
|
||||||
elif [[ $num -le 5 ]];then
|
elif [[ $num -le 5 ]];then
|
||||||
#将对应标记值写入mark
|
#将对应标记值写入mark
|
||||||
sed -i '/server_link*/'d $ccfg
|
sed -i '/server_link*/'d $ccfg
|
||||||
sed -i "4i\server_link="$num"" $ccfg
|
sed -i "4i\server_link="$num"" $ccfg
|
||||||
server_link=$num
|
server_link=$num
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[32m设置成功!返回上级菜单\033[0m"
|
echo -e "\033[32m设置成功!返回上级菜单\033[0m"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
linkfilter(){
|
linkfilter(){
|
||||||
[ -z "$exclude" ] && exclude="未设置"
|
[ -z "$exclude" ] && exclude="未设置"
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||||
echo -e "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m"
|
echo -e "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[33m匹配关键字的节点会在导入时被【屏蔽】!!!\033[0m"
|
echo -e "\033[33m匹配关键字的节点会在导入时被【屏蔽】!!!\033[0m"
|
||||||
echo -e "多个关键字可以用\033[30;47m | \033[0m号分隔"
|
echo -e "多个关键字可以用\033[30;47m | \033[0m号分隔"
|
||||||
echo -e "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代"
|
echo -e "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e " 000 \033[31m删除\033[0m关键字"
|
echo -e " 000 \033[31m删除\033[0m关键字"
|
||||||
echo -e " 回车 取消输入并返回上级菜单"
|
echo -e " 回车 取消输入并返回上级菜单"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
read -p "请输入关键字 > " exclude
|
read -p "请输入关键字 > " exclude
|
||||||
if [ -z "$exclude" ]; then
|
if [ -z "$exclude" ]; then
|
||||||
linkset
|
linkset
|
||||||
elif [ "$exclude" = '000' ]; then
|
elif [ "$exclude" = '000' ]; then
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
exclude=''
|
exclude=''
|
||||||
echo -e "\033[31m 已删除节点过滤关键字!!!\033[0m"
|
echo -e "\033[31m 已删除节点过滤关键字!!!\033[0m"
|
||||||
fi
|
fi
|
||||||
sed -i '/exclude=*/'d $ccfg
|
sed -i '/exclude=*/'d $ccfg
|
||||||
sed -i "1i\exclude=\'$exclude\'" $ccfg
|
sed -i "1i\exclude=\'$exclude\'" $ccfg
|
||||||
linkset
|
linkset
|
||||||
}
|
}
|
||||||
linkfilter2(){
|
linkfilter2(){
|
||||||
[ -z "$include" ] && include="未设置"
|
[ -z "$include" ] && include="未设置"
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||||
echo -e "\033[33m当前筛选关键字:\033[47;30m$include\033[0m"
|
echo -e "\033[33m当前筛选关键字:\033[47;30m$include\033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m"
|
echo -e "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m"
|
||||||
echo -e "多个关键字可以用\033[30;47m | \033[0m号分隔"
|
echo -e "多个关键字可以用\033[30;47m | \033[0m号分隔"
|
||||||
echo -e "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代"
|
echo -e "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e " 000 \033[31m删除\033[0m关键字"
|
echo -e " 000 \033[31m删除\033[0m关键字"
|
||||||
echo -e " 回车 取消输入并返回上级菜单"
|
echo -e " 回车 取消输入并返回上级菜单"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
read -p "请输入关键字 > " include
|
read -p "请输入关键字 > " include
|
||||||
if [ -z "$include" ]; then
|
if [ -z "$include" ]; then
|
||||||
linkset
|
linkset
|
||||||
elif [ "$include" = '000' ]; then
|
elif [ "$include" = '000' ]; then
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
include=''
|
include=''
|
||||||
echo -e "\033[31m 已删除节点匹配关键字!!!\033[0m"
|
echo -e "\033[31m 已删除节点匹配关键字!!!\033[0m"
|
||||||
fi
|
fi
|
||||||
sed -i '/include=*/'d $ccfg
|
sed -i '/include=*/'d $ccfg
|
||||||
sed -i "1i\include=\'$include\'" $ccfg
|
sed -i "1i\include=\'$include\'" $ccfg
|
||||||
linkset
|
linkset
|
||||||
}
|
}
|
||||||
linkset(){
|
linkset(){
|
||||||
if [ -n "$Url" ];then
|
if [ -n "$Url" ];then
|
||||||
[ -z "$skip_cert" ] && skip_cert=已开启
|
[ -z "$skip_cert" ] && skip_cert=已开启
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[47;30m请检查输入的链接是否正确:\033[0m"
|
echo -e "\033[47;30m请检查输入的链接是否正确:\033[0m"
|
||||||
@@ -174,13 +174,13 @@ if [ -n "$Url" ];then
|
|||||||
linkset
|
linkset
|
||||||
fi
|
fi
|
||||||
clashlink
|
clashlink
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
getlink(){
|
getlink(){
|
||||||
#设置输入循环
|
#设置输入循环
|
||||||
i=1
|
i=1
|
||||||
while [ $i -le 99 ]
|
while [ $i -le 99 ]
|
||||||
do
|
do
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[44m 遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
echo -e "\033[44m 遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||||
echo -e "\033[31m本功能依赖第三方网站在线服务实现,脚本本身不提供任何代理服务!\033[0m"
|
echo -e "\033[31m本功能依赖第三方网站在线服务实现,脚本本身不提供任何代理服务!\033[0m"
|
||||||
@@ -215,25 +215,25 @@ do
|
|||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的订阅链接!!!\033[0m"
|
echo -e "\033[31m请输入正确的订阅链接!!!\033[0m"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
####
|
####
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo 输入太多啦,可能会导致订阅失败!
|
echo 输入太多啦,可能会导致订阅失败!
|
||||||
echo "多个较短的链接请尽量用“|”分隔以一次性输入!"
|
echo "多个较短的链接请尽量用“|”分隔以一次性输入!"
|
||||||
clashlink
|
clashlink
|
||||||
}
|
}
|
||||||
getlink2(){
|
getlink2(){
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[33m仅限导入完整clash配置文件链接!!!\033[0m"
|
echo -e "\033[33m仅限导入完整clash配置文件链接!!!\033[0m"
|
||||||
echo -e "可以使用\033[32m https://acl4ssr.netlify.app \033[0m在线生成配置文件"
|
echo -e "可以使用\033[32m https://acl4ssr.netlify.app \033[0m在线生成配置文件"
|
||||||
echo -e "\033[36m导入后如无法运行,请使用【导入订阅】功能"
|
echo -e "\033[36m导入后如无法运行,请使用【导入订阅】功能"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[33m0 返回上级菜单\033[0m"
|
echo -e "\033[33m0 返回上级菜单\033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
read -p "请输入完整链接 > " Https
|
read -p "请输入完整链接 > " Https
|
||||||
test=$(echo $Https | grep -iE "http.*://" )
|
test=$(echo $Https | grep -iE "http.*://" )
|
||||||
Https=`echo ${Https/\ \(*\)/''}` #删除恶心的超链接内容
|
Https=`echo ${Https/\ \(*\)/''}` #删除恶心的超链接内容
|
||||||
if [ -n "$Https" -a -n "$test" ];then
|
if [ -n "$Https" -a -n "$test" ];then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e 请检查输入的链接是否正确:
|
echo -e 请检查输入的链接是否正确:
|
||||||
echo -e "\033[4m$Https\033[0m"
|
echo -e "\033[4m$Https\033[0m"
|
||||||
@@ -248,14 +248,14 @@ if [ -n "$Https" -a -n "$test" ];then
|
|||||||
start_over
|
start_over
|
||||||
exit;
|
exit;
|
||||||
fi
|
fi
|
||||||
elif [[ $Https == 0 ]];then
|
elif [[ $Https == 0 ]];then
|
||||||
clashlink
|
clashlink
|
||||||
else
|
else
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的配置文件链接地址!!!\033[0m"
|
echo -e "\033[31m请输入正确的配置文件链接地址!!!\033[0m"
|
||||||
echo -e "\033[33m链接地址必须是http或者https开头的形式\033[0m"
|
echo -e "\033[33m链接地址必须是http或者https开头的形式\033[0m"
|
||||||
clashlink
|
clashlink
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
gettar(){
|
gettar(){
|
||||||
result=$(curl -w %{http_code} -kLo /tmp/clashfm.tar.gz $tarurl)
|
result=$(curl -w %{http_code} -kLo /tmp/clashfm.tar.gz $tarurl)
|
||||||
@@ -305,12 +305,12 @@ gettar(){
|
|||||||
rm -rf $clashdir/clash.service
|
rm -rf $clashdir/clash.service
|
||||||
}
|
}
|
||||||
getsh(){
|
getsh(){
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "当前脚本版本为:\033[33m $versionsh_l \033[0m"
|
echo -e "当前脚本版本为:\033[33m $versionsh_l \033[0m"
|
||||||
echo -e "最新脚本版本为:\033[32m $release_new \033[0m"
|
echo -e "最新脚本版本为:\033[32m $release_new \033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
read -p "是否更新脚本?[1/0] > " res
|
read -p "是否更新脚本?[1/0] > " res
|
||||||
if [ "$res" = '1' ]; then
|
if [ "$res" = '1' ]; then
|
||||||
tarurl=$update_url/bin/clashfm.tar.gz
|
tarurl=$update_url/bin/clashfm.tar.gz
|
||||||
#下载更新
|
#下载更新
|
||||||
gettar
|
gettar
|
||||||
@@ -321,12 +321,12 @@ if [ "$res" = '1' ]; then
|
|||||||
exit;
|
exit;
|
||||||
else
|
else
|
||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
getcore(){
|
getcore(){
|
||||||
#获取核心及版本信息
|
#获取核心及版本信息
|
||||||
[ ! -f $clashdir/clash ] && clashcore="未安装核心"
|
[ ! -f $clashdir/clash ] && clashcore="未安装核心"
|
||||||
#获取设备处理器架构
|
#获取设备处理器架构
|
||||||
getcputype(){
|
getcputype(){
|
||||||
cputype=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]')
|
cputype=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]')
|
||||||
[ -n "$(echo $cputype | grep -E "linux.*armv.*")" ] && cpucore="armv5"
|
[ -n "$(echo $cputype | grep -E "linux.*armv.*")" ] && cpucore="armv5"
|
||||||
@@ -344,23 +344,23 @@ getcore(){
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
###
|
###
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
[ -z "$cpucore" ] && getcputype
|
[ -z "$cpucore" ] && getcputype
|
||||||
echo -e "当前clash核心:\033[47;30m $clashcore \033[46;30m$clashv\033[0m"
|
echo -e "当前clash核心:\033[47;30m $clashcore \033[46;30m$clashv\033[0m"
|
||||||
echo -e "当前系统处理器架构:\033[32m $cpucore \033[0m"
|
echo -e "当前系统处理器架构:\033[32m $cpucore \033[0m"
|
||||||
echo -e "\033[33m请选择需要下载的核心版本!\033[0m"
|
echo -e "\033[33m请选择需要下载的核心版本!\033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo "1 clash: 稳定,内存占用小,推荐!"
|
echo "1 clash: 稳定,内存占用小,推荐!"
|
||||||
echo "(官方正式版) 不支持Tun模式、混合模式"
|
echo "(官方正式版) 不支持Tun模式、混合模式"
|
||||||
echo
|
echo
|
||||||
echo "2 clashpre: 支持Tun模式、混合模式"
|
echo "2 clashpre: 支持Tun模式、混合模式"
|
||||||
echo "(高级预览版) 内存占用更高"
|
echo "(高级预览版) 内存占用更高"
|
||||||
echo
|
echo
|
||||||
echo "3 手动指定处理器架构"
|
echo "3 手动指定处理器架构"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo 0 返回上级菜单
|
echo 0 返回上级菜单
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
if [ -z "$num" ]; then
|
if [ -z "$num" ]; then
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
@@ -394,25 +394,25 @@ read -p "请输入对应数字 > " num
|
|||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
#生成链接
|
#生成链接
|
||||||
corelink="$update_url/bin/$clashcore/clash-linux-$cpucore"
|
corelink="$update_url/bin/$clashcore/clash-linux-$cpucore"
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo 正在连接服务器获取clash核心文件…………链接地址为:
|
echo 正在连接服务器获取clash核心文件…………链接地址为:
|
||||||
echo -e "\033[4;32m$corelink\033[0m"
|
echo -e "\033[4;32m$corelink\033[0m"
|
||||||
echo 如无法正常下载可以手动复制到浏览器下载核心文件!
|
echo 如无法正常下载可以手动复制到浏览器下载核心文件!
|
||||||
echo -e "\033[36m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
echo -e "\033[36m~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
||||||
echo -e "| |"
|
echo -e "| |"
|
||||||
echo -e "| 需要一点时间,请耐心等待! |"
|
echo -e "| 需要一点时间,请耐心等待! |"
|
||||||
echo -e "| \033[0m如长时间没有数据请用ctrl+c退出 |"
|
echo -e "| \033[0m如长时间没有数据请用ctrl+c退出 |"
|
||||||
echo -e "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\033[0m"
|
echo -e "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\033[0m"
|
||||||
#获取在线clash核心文件
|
#获取在线clash核心文件
|
||||||
result=$(curl -w %{http_code} -kLo /tmp/clash.new $corelink)
|
result=$(curl -w %{http_code} -kLo /tmp/clash.new $corelink)
|
||||||
if [ "$result" != "200" ];then
|
if [ "$result" != "200" ];then
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[31m核心文件下载失败!\033[0m"
|
echo -e "\033[31m核心文件下载失败!\033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
getcore
|
getcore
|
||||||
else
|
else
|
||||||
echo -e "\033[32m$clashcore核心下载成功,正在替换!\033[0m"
|
echo -e "\033[32m$clashcore核心下载成功,正在替换!\033[0m"
|
||||||
mv /tmp/clash.new $clashdir/clash
|
mv /tmp/clash.new $clashdir/clash
|
||||||
chmod 777 $clashdir/clash #授予权限
|
chmod 777 $clashdir/clash #授予权限
|
||||||
@@ -422,17 +422,16 @@ else
|
|||||||
sed -i "1i\clashv=$version" $ccfg
|
sed -i "1i\clashv=$version" $ccfg
|
||||||
rm -rf /tmp/clashversion
|
rm -rf /tmp/clashversion
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[32m$clashcore核心替换成功,请手动启动clash服务!\033[0m"
|
echo -e "\033[32m$clashcore核心安装成功!\033[0m"
|
||||||
clashsh
|
fi
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
getgeo(){
|
getgeo(){
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "当前GeoIP版本为:\033[33m $Geo_v \033[0m"
|
echo -e "当前GeoIP版本为:\033[33m $Geo_v \033[0m"
|
||||||
echo -e "最新GeoIP版本为:\033[32m $GeoIP_v \033[0m"
|
echo -e "最新GeoIP版本为:\033[32m $GeoIP_v \033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
read -p "是否更新数据库文件?[1/0] > " res
|
read -p "是否更新数据库文件?[1/0] > " res
|
||||||
if [ "$res" = '1' ]; then
|
if [ "$res" = '1' ]; then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo 正在从服务器获取数据库文件…………
|
echo 正在从服务器获取数据库文件…………
|
||||||
result=$(curl -w %{http_code} -kLo /tmp/Country.mmdb $update_url/bin/Country.mmdb)
|
result=$(curl -w %{http_code} -kLo /tmp/Country.mmdb $update_url/bin/Country.mmdb)
|
||||||
@@ -448,33 +447,31 @@ if [ "$res" = '1' ]; then
|
|||||||
sed -i '/Geo_v=*/'d $ccfg
|
sed -i '/Geo_v=*/'d $ccfg
|
||||||
sed -i "1i\Geo_v=$GeoIP_v" $ccfg
|
sed -i "1i\Geo_v=$GeoIP_v" $ccfg
|
||||||
rm -rf /tmp/clashversion
|
rm -rf /tmp/clashversion
|
||||||
|
fi
|
||||||
|
else
|
||||||
clashsh
|
clashsh
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
clashsh
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
getdb(){
|
getdb(){
|
||||||
#host=$(ubus call network.interface.lan status | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}';)
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo -e "\033[36m安装本地版dashboard管理面板\033[0m"
|
||||||
echo -e "\033[36m安装本地版dashboard管理面板\033[0m"
|
echo -e "\033[32m打开管理面板的速度更快且更稳定\033[0m"
|
||||||
echo -e "\033[32m打开管理面板的速度更快且更稳定\033[0m"
|
echo -----------------------------------------------
|
||||||
echo -----------------------------------------------
|
echo -e "请选择面板\033[33m安装类型:\033[0m"
|
||||||
echo -e "请选择面板\033[33m安装类型:\033[0m"
|
echo -----------------------------------------------
|
||||||
echo -----------------------------------------------
|
echo -e " 1 安装\033[32m官方面板\033[0m(约500kb)"
|
||||||
echo -e " 1 安装\033[32m官方面板\033[0m(约500kb)"
|
echo -e " 2 安装\033[32mYacd面板\033[0m(约1.1mb)"
|
||||||
echo -e " 2 安装\033[32mYacd面板\033[0m(约1.1mb)"
|
echo -e " 3 卸载\033[33m本地面板\033[0m"
|
||||||
echo -e " 3 卸载\033[33m本地面板\033[0m"
|
echo " 0 返回上级菜单"
|
||||||
echo " 0 返回上级菜单"
|
read -p "请输入对应数字 > " num
|
||||||
read -p "请输入对应数字 > " num
|
|
||||||
|
|
||||||
if [ -z "$num" ];then
|
if [ -z "$num" ];then
|
||||||
update
|
update
|
||||||
elif [ "$num" = '1' ]; then
|
elif [ "$num" = '1' ]; then
|
||||||
db_type=clashdb
|
db_type=clashdb
|
||||||
elif [ "$num" = '2' ]; then
|
elif [ "$num" = '2' ]; then
|
||||||
db_type=yacd
|
db_type=yacd
|
||||||
elif [ "$num" = '3' ]; then
|
elif [ "$num" = '3' ]; then
|
||||||
read -p "确认卸载本地面板?(1/0) > " res
|
read -p "确认卸载本地面板?(1/0) > " res
|
||||||
if [ "$res" = 1 ];then
|
if [ "$res" = 1 ];then
|
||||||
rm -rf /www/clash
|
rm -rf /www/clash
|
||||||
@@ -484,30 +481,30 @@ elif [ "$num" = '3' ]; then
|
|||||||
sleep 1
|
sleep 1
|
||||||
fi
|
fi
|
||||||
update
|
update
|
||||||
else
|
else
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "请选择面板\033[33m安装目录:\033[0m"
|
echo -e "请选择面板\033[33m安装目录:\033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e " 1 在$clashdir/ui目录安装(推荐!安装后会自动重启clash服务!)"
|
echo -e " 1 在$clashdir/ui目录安装(推荐!安装后会自动重启clash服务!)"
|
||||||
echo -e " 2 在/www/clash目录安装(依赖Openwrt的Nginx服务,可能失败!)"
|
echo -e " 2 在/www/clash目录安装(依赖Openwrt的Nginx服务,可能失败!)"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo " 0 返回上级菜单"
|
echo " 0 返回上级菜单"
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
|
|
||||||
if [ -z "$num" ];then
|
if [ -z "$num" ];then
|
||||||
update
|
update
|
||||||
elif [ "$num" = '1' ]; then
|
elif [ "$num" = '1' ]; then
|
||||||
dbdir=$clashdir/ui
|
dbdir=$clashdir/ui
|
||||||
hostdir=":$db_port/ui\033[0;36m访问面板"
|
hostdir=":$db_port/ui"
|
||||||
elif [ "$num" = '2' ]; then
|
elif [ "$num" = '2' ]; then
|
||||||
dbdir=/www/clash
|
dbdir=/www/clash
|
||||||
hostdir='/clash\033[0;36m访问面板'
|
hostdir='/clash'
|
||||||
else
|
else
|
||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
#下载及安装
|
#下载及安装
|
||||||
if [ -d /www/clash -o -d $clashdir/ui ];then
|
if [ -d /www/clash -o -d $clashdir/ui ];then
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
@@ -546,44 +543,57 @@ fi
|
|||||||
sed -i "s/7892/${db_port}/g" $dbdir/app*.js
|
sed -i "s/7892/${db_port}/g" $dbdir/app*.js
|
||||||
fi
|
fi
|
||||||
[ "$dbdir" != "/www/clash" ] && $clashdir/start.sh restart
|
[ "$dbdir" != "/www/clash" ] && $clashdir/start.sh restart
|
||||||
|
#写入配置文件
|
||||||
|
sed -i '/dbdir*/'d $ccfg
|
||||||
|
sed -i "1i\dbdir=\'$hostdir\'" $ccfg
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[32m面板安装成功!\033[0m"
|
echo -e "\033[32m面板安装成功!\033[0m"
|
||||||
echo -e "\033[36m请使用\033[32;4mhttp://$host$hostdir\033[0m"
|
echo -e "\033[36m请使用\033[32;4mhttp://$host$hostdir\033[0;36m访问面板\033[0m"
|
||||||
rm -rf /tmp/clashdb.tar.gz
|
rm -rf /tmp/clashdb.tar.gz
|
||||||
sleep 1
|
sleep 1
|
||||||
update
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
update
|
|
||||||
}
|
}
|
||||||
catpac(){
|
catpac(){
|
||||||
#检测目录
|
cat > $dbdir/pac <<EOF
|
||||||
[ ! -d /www/clash -a ! -d $clashdir/ui ]&&echo 未检测到本地Dashboard面板,请先安装面板!&&sleep 1&&getdb
|
|
||||||
#host=$(ubus call network.interface.lan status | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}';)
|
|
||||||
[ -d /www/clash ]&&dir="/www/clash"&&pac=http://$host/clash/pac
|
|
||||||
[ -d $clashdir/ui ]&&dir="$clashdir/ui"&&pac=http://$host:$db_port/ui/pac
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[30;47m生成用于设备WIFI或浏览器的自动PAC代理文件\033[0m"
|
|
||||||
echo -e "\033[33m非纯净模式不推荐使用此功能\033[0m"
|
|
||||||
[ -f $dir/pac ]&&echo -e "PAC地址:\033[32m$pac\033[0m"
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo -e " 1 生成PAC文件"
|
|
||||||
echo -e " 2 清除PAC文件"
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo -e " 0 返回上级菜单"
|
|
||||||
read -p "请输入对应数字 > " num
|
|
||||||
if [ "$num" = '1' ]; then
|
|
||||||
cat > $dir/pac <<EOF
|
|
||||||
function FindProxyForURL(url, host) {
|
function FindProxyForURL(url, host) {
|
||||||
return "PROXY $authentication@$host:$mix_port; DIRECT;"
|
if (
|
||||||
|
isInNet(host, "0.0.0.0", "255.0.0.0")||
|
||||||
|
isInNet(host, "10.0.0.0", "255.0.0.0")||
|
||||||
|
isInNet(host, "127.0.0.0", "255.0.0.0")||
|
||||||
|
isInNet(host, "224.0.0.0", "224.0.0.0")||
|
||||||
|
isInNet(host, "240.0.0.0", "240.0.0.0")||
|
||||||
|
isInNet(host, "172.16.0.0", "255.240.0.0")||
|
||||||
|
isInNet(host, "192.168.0.0", "255.255.0.0")||
|
||||||
|
isInNet(host, "169.254.0.0", "255.255.0.0")
|
||||||
|
)
|
||||||
|
return "DIRECT";
|
||||||
|
else
|
||||||
|
return "PROXY $host:$mix_port; DIRECT;"
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
}
|
||||||
|
setpac(){
|
||||||
|
#检测目录
|
||||||
|
[ -n "$authentication" ] && echo 检测到已经设置http代理密码,pac不支持加密代理,请先取消加密! && sleep 1 && clashadv
|
||||||
|
[ ! -d /www/clash -a ! -d $clashdir/ui ] && echo 未检测到本地Dashboard面板,请先安装面板! && sleep 1 && getdb
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[30;47m生成用于设备WIFI或浏览器的自动PAC代理文件\033[0m"
|
||||||
|
echo -e "\033[33m适用于纯净模式或本机代理配置\033[0m"
|
||||||
|
[ -f $dbdir/pac ] && echo -e "PAC地址:\033[32mhttp://$host$dbdir/pac\033[0m"
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e " 1 生成PAC文件"
|
||||||
|
echo -e " 2 清除PAC文件"
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e " 0 返回上级菜单"
|
||||||
|
read -p "请输入对应数字 > " num
|
||||||
|
if [ "$num" = '1' ]; then
|
||||||
|
catpac
|
||||||
echo -e "\033[33mPAC文件已生成!\033[0m"
|
echo -e "\033[33mPAC文件已生成!\033[0m"
|
||||||
echo -e "PAC地址:\033[32m$pac\033[0m"
|
echo -e "PAC地址:\033[32mhttp://$host$dbdir/pac\033[0m"
|
||||||
echo "使用教程:https://baike.baidu.com/item/PAC/16292100"
|
echo "使用教程:https://baike.baidu.com/item/PAC/16292100"
|
||||||
sleep 2
|
sleep 2
|
||||||
elif [[ $num == 2 ]]; then
|
elif [[ $num == 2 ]]; then
|
||||||
rm -rf $dir/pac
|
rm -rf $dbdir/pac
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[33mPAC文件已清除!\033[0m"
|
echo -e "\033[33mPAC文件已清除!\033[0m"
|
||||||
sleep 1
|
sleep 1
|
||||||
@@ -591,27 +601,27 @@ EOF
|
|||||||
}
|
}
|
||||||
setserver(){
|
setserver(){
|
||||||
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[30;47m您可以在此处切换在线更新时使用的资源地址\033[0m"
|
echo -e "\033[30;47m您可以在此处切换在线更新时使用的资源地址\033[0m"
|
||||||
echo -e "当前源:\033[4;32m$update_url\033[0m"
|
echo -e "当前源:\033[4;32m$update_url\033[0m"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e " 1 Github源(直连美国服务器)"
|
echo -e " 1 Github源(直连美国服务器)"
|
||||||
echo -e " 2 Jsdelivr-CDN源(仅同步最新release版本)"
|
echo -e " 2 Jsdelivr-CDN源(仅同步最新release版本)"
|
||||||
echo -e " 3 Github源+clash代理(需开启clash服务)"
|
echo -e " 3 Github源+clash代理(需开启clash服务)"
|
||||||
echo -e " 4 自定义输入(请务必确保路径正确)"
|
echo -e " 4 自定义输入(请务必确保路径正确)"
|
||||||
echo -e " 0 返回上级菜单"
|
echo -e " 0 返回上级菜单"
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
if [ -z "$num" ]; then
|
if [ -z "$num" ]; then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
update
|
update
|
||||||
elif [[ $num == 1 ]]; then
|
elif [[ $num == 1 ]]; then
|
||||||
update_url='--resolve raw.githubusercontent.com:443:199.232.68.133 https://raw.githubusercontent.com/juewuy/ShellClash/master'
|
update_url='--resolve raw.githubusercontent.com:443:199.232.68.133 https://raw.githubusercontent.com/juewuy/ShellClash/master'
|
||||||
elif [[ $num == 2 ]]; then
|
elif [[ $num == 2 ]]; then
|
||||||
update_url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash'
|
update_url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash'
|
||||||
elif [[ $num == 3 ]]; then
|
elif [[ $num == 3 ]]; then
|
||||||
update_url='-x '$authentication'@127.0.0.1:'$mix_port' https://raw.githubusercontent.com/juewuy/ShellClash/master'
|
update_url='-x '$authentication'@127.0.0.1:'$mix_port' https://raw.githubusercontent.com/juewuy/ShellClash/master'
|
||||||
elif [[ $num == 4 ]]; then
|
elif [[ $num == 4 ]]; then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
read -p "请输入个人源路径 > " update_url
|
read -p "请输入个人源路径 > " update_url
|
||||||
if [ -z "$update_url" ];then
|
if [ -z "$update_url" ];then
|
||||||
@@ -619,18 +629,100 @@ elif [[ $num == 4 ]]; then
|
|||||||
echo -e "\033[31m取消输入,返回上级菜单\033[0m"
|
echo -e "\033[31m取消输入,返回上级菜单\033[0m"
|
||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
elif [[ $num == 9 ]]; then
|
elif [[ $num == 9 ]]; then
|
||||||
update_url='http://192.168.31.30:8080/clash-for-Miwifi'
|
update_url='http://192.168.31.30:8080/clash-for-Miwifi'
|
||||||
else
|
else
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
#写入mark文件
|
#写入mark文件
|
||||||
sed -i '/update_url*/'d $ccfg
|
sed -i '/update_url*/'d $ccfg
|
||||||
sed -i "1i\update_url=\'$update_url\'" $ccfg
|
sed -i "1i\update_url=\'$update_url\'" $ccfg
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
echo -e "\033[32m源地址更新成功!\033[0m"
|
echo -e "\033[32m源地址更新成功!\033[0m"
|
||||||
release_new=""
|
release_new=""
|
||||||
update
|
update
|
||||||
|
}
|
||||||
|
userguide(){
|
||||||
|
echo 欢迎使用ShellClash新手引导!
|
||||||
|
checkupdate
|
||||||
|
getcore
|
||||||
|
getgeo
|
||||||
|
getdb
|
||||||
|
catpac
|
||||||
|
clashlink
|
||||||
|
}
|
||||||
|
testcommand(){
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[30;47m这里是测试命令菜单\033[0m"
|
||||||
|
echo -e "\033[33m如遇问题尽量运行相应命令后截图发群\033[0m"
|
||||||
|
echo -e "磁盘占用/所在目录:"
|
||||||
|
du -h $clashdir
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo " 1 查看clash运行时的报错信息"
|
||||||
|
echo " 2 查看系统DNS端口(:53)占用 "
|
||||||
|
echo " 3 测试ssl加密(aes-128-gcm)跑分"
|
||||||
|
echo " 4 查看iptables端口转发详情"
|
||||||
|
echo " 5 查看config.yaml前40行"
|
||||||
|
echo " 6 测试代理服务器连通性(google.tw)"
|
||||||
|
echo " 7 重新进入新手引导"
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo " 0 返回上级目录!"
|
||||||
|
read -p "请输入对应数字 > " num
|
||||||
|
if [ -z "$num" ]; then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
|
clashsh
|
||||||
|
elif [[ $num == 0 ]]; then
|
||||||
|
clashsh
|
||||||
|
elif [[ $num == 1 ]]; then
|
||||||
|
$clashdir/start.sh stop
|
||||||
|
echo -----------------------------------------------
|
||||||
|
$clashdir/clash -t -d $clashdir
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m如有报错请截图后到TG群询问!!!\033[0m"
|
||||||
|
exit;
|
||||||
|
elif [[ $num == 2 ]]; then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
netstat -ntulp |grep 53
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口"
|
||||||
|
exit;
|
||||||
|
elif [[ $num == 3 ]]; then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
openssl speed -multi 4 -evp aes-128-gcm
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
exit;
|
||||||
|
elif [[ $num == 4 ]]; then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
iptables -t nat -L PREROUTING --line-numbers
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
iptables -t nat -L clash --line-numbers
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
iptables -t nat -L clash_dns --line-numbers
|
||||||
|
exit;
|
||||||
|
elif [[ $num == 5 ]]; then
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
sed -n '1,40p' $yaml
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
exit;
|
||||||
|
elif [[ $num == 6 ]]; then
|
||||||
|
echo 注意:测试结果不保证一定准确!
|
||||||
|
delay=`curl -kx ${authentication}@127.0.0.1:$mix_port -o /dev/null -s -w '%{time_starttransfer}' 'https://google.tw' & { sleep 3 ; kill $! & }` > /dev/null 2>&1
|
||||||
|
delay=`echo |awk "{print $delay*1000}"` > /dev/null 2>&1
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
if [ `echo ${#delay}` -gt 1 ];then
|
||||||
|
echo -e "\033[32m连接成功!响应时间为:"$delay" ms\033[0m"
|
||||||
|
else
|
||||||
|
echo -e "\033[31m连接超时!请重试或检查节点配置!\033[0m"
|
||||||
|
fi
|
||||||
|
clashsh
|
||||||
|
elif [[ $num == 7 ]]; then
|
||||||
|
userguide
|
||||||
|
else
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
|
clashsh
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
@@ -341,7 +341,7 @@ afstart(){
|
|||||||
#标记启动时间
|
#标记启动时间
|
||||||
mark_time
|
mark_time
|
||||||
#设置本机代理
|
#设置本机代理
|
||||||
[ "$local_proxy" = "已开启" ] && $0 set_proxy $mix_port
|
[ "$local_proxy" = "已开启" ] && $0 set_proxy $mix_port $dbdir
|
||||||
#启用面板配置自动保存
|
#启用面板配置自动保存
|
||||||
web_save_auto
|
web_save_auto
|
||||||
#后台还原面板配置
|
#后台还原面板配置
|
||||||
@@ -406,12 +406,32 @@ web_save)
|
|||||||
web_save
|
web_save
|
||||||
;;
|
;;
|
||||||
set_proxy)
|
set_proxy)
|
||||||
|
#GNOME配置
|
||||||
|
if gsettings --version >/dev/null 2>&1 ;then
|
||||||
|
gsettings set org.gnome.system.proxy autoconfig-url "http://127.0.0.1${3}/pac"
|
||||||
|
gsettings set org.gnome.system.proxy mode "auto"
|
||||||
|
#KDE配置
|
||||||
|
elif kwriteconfig5 -h >/dev/null 2>&1 ;then
|
||||||
|
kwriteconfig5 --file kioslaverc --group "Proxy Settings" --key "ProxyType" 2
|
||||||
|
kwriteconfig5 --file kioslaverc --group "Proxy Settings" --key "Proxy Config Script" "http://127.0.0.1${3}/pac"
|
||||||
|
#环境变量方式
|
||||||
|
else
|
||||||
echo 'export all_proxy=http://127.0.0.1:'"$2" >> /etc/profile
|
echo 'export all_proxy=http://127.0.0.1:'"$2" >> /etc/profile
|
||||||
echo 'export ALL_PROXY=$all_proxy' >> /etc/profile
|
echo 'export ALL_PROXY=$all_proxy' >> /etc/profile
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
unset_proxy)
|
unset_proxy)
|
||||||
|
#GNOME配置
|
||||||
|
if gsettings --version >/dev/null 2>&1 ;then
|
||||||
|
gsettings set org.gnome.system.proxy mode "none"
|
||||||
|
#KDE配置
|
||||||
|
elif kwriteconfig5 -h >/dev/null 2>&1 ;then
|
||||||
|
kwriteconfig5 --file kioslaverc --group "Proxy Settings" --key "ProxyType" 0
|
||||||
|
#环境变量方式
|
||||||
|
else
|
||||||
sed -i '/all_proxy/'d /etc/profile
|
sed -i '/all_proxy/'d /etc/profile
|
||||||
sed -i '/ALL_PROXY/'d /etc/profile
|
sed -i '/ALL_PROXY/'d /etc/profile
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user