v0.9.6
~新增了是否使用本地dnsmasq作为dns服务器的选项开关 ~修复了部分情况下误报端口占用的bug ~找回了安装面板时检测并修复文件目录只读的代码 ~优化了导入节点链接时的提示
This commit is contained in:
Binary file not shown.
@@ -1,2 +1,2 @@
|
||||
GeoIP_v=20200817
|
||||
versionsh=0.9.5
|
||||
versionsh=0.9.6
|
||||
|
||||
@@ -14,7 +14,7 @@ fi
|
||||
ccfg=$clashdir/mark
|
||||
yaml=$clashdir/config.yaml
|
||||
#检查标识文件
|
||||
if [ ! -f "$ccfg" ]; then
|
||||
if [ ! -f $ccfg ]; then
|
||||
echo mark文件不存在,正在创建!
|
||||
cat >$ccfg<<EOF
|
||||
#标识clash运行状态的文件,不明勿动!
|
||||
@@ -22,9 +22,9 @@ EOF
|
||||
fi
|
||||
source $ccfg
|
||||
#检查mac地址记录
|
||||
[ ! -f "$clashdir/mac" ] && touch $clashdir/mac
|
||||
[ ! -f $clashdir/mac ] && touch $clashdir/mac
|
||||
#获取自启状态
|
||||
if [ -f /etc/rc.d/*clash ]; then
|
||||
if [ -f /etc/rc.d/*clash ];then
|
||||
auto="\033[32m已设置开机启动!\033[0m"
|
||||
auto1="\033[36m禁用\033[0mclash开机启动"
|
||||
else
|
||||
@@ -32,7 +32,7 @@ else
|
||||
auto1="\033[36m允许\033[0mclash开机启动"
|
||||
fi
|
||||
#获取运行模式
|
||||
if [ -z "$redir_mod" ]; then
|
||||
if [ -z "$redir_mod" ];then
|
||||
sed -i "2i\redir_mod=Redir模式" $ccfg
|
||||
redir_mod=Redir模式
|
||||
fi
|
||||
@@ -272,21 +272,12 @@ fi
|
||||
}
|
||||
clashadv(){
|
||||
#获取设置默认显示
|
||||
if [ -z "$skip_cert" ]; then
|
||||
skip_cert=已开启
|
||||
fi
|
||||
if [ -z "$common_ports" ]; then
|
||||
common_ports=未开启
|
||||
fi
|
||||
if [ -z "$dns_mod" ]; then
|
||||
dns_mod=redir_host
|
||||
fi
|
||||
if [ -z "$modify_yaml" ]; then
|
||||
modify_yaml=未开启
|
||||
fi
|
||||
if [ -z "$ipv6_support" ]; then
|
||||
ipv6_support=未开启
|
||||
fi
|
||||
[ -z "$skip_cert" ] && skip_cert=已开启
|
||||
[ -z "$common_ports" ] && common_ports=未开启
|
||||
[ -z "$dns_mod" ] && dns_mod=redir_host
|
||||
[ -z "$modify_yaml" ] && modify_yaml=未开启
|
||||
[ -z "$ipv6_support" ] && ipv6_support=未开启
|
||||
[ -z "$dns_over" ] && dns_over=未开启
|
||||
if [ -z "$(cat $clashdir/mac)" ]; then
|
||||
mac_return=未开启
|
||||
else
|
||||
@@ -304,6 +295,7 @@ echo -e " 4 只代理常用端口: \033[36m$common_ports\033[0m ———
|
||||
echo -e " 5 不修饰config.yaml: \033[36m$modify_yaml\033[0m ————用于使用自定义配置"
|
||||
echo -e " 6 启用ipv6支持: \033[36m$ipv6_support\033[0m ————实验性且不兼容Fake_ip"
|
||||
echo -e " 7 过滤局域网mac地址: \033[36m$mac_return\033[0m ————列表内设备不走代理"
|
||||
echo -e " 8 不使用本地DNS服务: \033[36m$dns_over\033[0m ————防止redir-host模式的dns污染"
|
||||
echo -e " 9 \033[32m重启\033[0mclash服务"
|
||||
echo -e " 0 返回上级菜单 \033[0m"
|
||||
read -p "请输入对应数字 > " num
|
||||
@@ -406,7 +398,6 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
||||
echo -e "\033[33m已设为开启跳过本地证书验证!!\033[0m"
|
||||
skip_cert=已开启
|
||||
else
|
||||
/etc/init.d/clash enable
|
||||
sed -i "1i\skip_cert=未开启" $ccfg
|
||||
echo -e "\033[33m已设为禁止跳过本地证书验证!!\033[0m"
|
||||
skip_cert=未开启
|
||||
@@ -421,7 +412,6 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
||||
echo -e "\033[33m已设为仅代理(22,53,587,465,995,993,143,80,443)等常用端口!!\033[0m"
|
||||
common_ports=已开启
|
||||
else
|
||||
/etc/init.d/clash enable
|
||||
sed -i "1i\common_ports=未开启" $ccfg
|
||||
echo -e "\033[33m已设为代理全部端口!!\033[0m"
|
||||
common_ports=未开启
|
||||
@@ -438,7 +428,6 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
||||
echo -e "\033[33m!!!必然会导致上不了网!!!\033[0m"
|
||||
modify_yaml=已开启
|
||||
else
|
||||
/etc/init.d/clash enable
|
||||
sed -i "1i\modify_yaml=未开启" $ccfg
|
||||
echo -e "\033[32m已设为使用脚本内置规则管理config.yaml配置文件!!\033[0m"
|
||||
modify_yaml=未开启
|
||||
@@ -454,7 +443,6 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
||||
echo -e "Clash对ipv6的支持并不友好,如不能使用请静等修复!"
|
||||
ipv6_support=已开启
|
||||
else
|
||||
/etc/init.d/clash enable
|
||||
sed -i "1i\ipv6_support=未开启" $ccfg
|
||||
echo -e "\033[32m已禁用对ipv6协议的支持!!\033[0m"
|
||||
ipv6_support=未开启
|
||||
@@ -524,16 +512,27 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
||||
clashadv
|
||||
fi
|
||||
|
||||
|
||||
elif [[ $num == 8 ]]; then
|
||||
sed -i '/dns_over*/'d $ccfg
|
||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
if [ "$dns_over" = "未开启" ] > /dev/null 2>&1; then
|
||||
sed -i "1i\dns_over=已开启" $ccfg
|
||||
echo -e "\033[33m已设置DNS为不走本地dnsmasq服务器!\033[0m"
|
||||
echo -e "可能会对浏览速度产生一定影响,介意勿用!"
|
||||
dns_over=已开启
|
||||
else
|
||||
/etc/init.d/clash enable
|
||||
sed -i "1i\dns_over=未开启" $ccfg
|
||||
echo -e "\033[32m已设置DNS通过本地dnsmasq服务器!\033[0m"
|
||||
echo -e "redir-host模式下部分网站可能会被运营商dns污染导致无法打开"
|
||||
dns_over=未开启
|
||||
fi
|
||||
clashadv
|
||||
|
||||
clashadv
|
||||
|
||||
elif [[ $num == 9 ]]; then
|
||||
if [ $status -gt 0 ];then
|
||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/etc/init.d/clash stop
|
||||
echo -e "\033[31mClash服务已停止!\033[0m"
|
||||
fi
|
||||
[ $status -gt 0 ] && /etc/init.d/clash stop
|
||||
clashstart
|
||||
clashsh
|
||||
else
|
||||
|
||||
@@ -16,23 +16,16 @@ cat >$ccfg<<EOF
|
||||
EOF
|
||||
#指定一些默认状态
|
||||
redir_mod=redir模式
|
||||
common_ports=未开启
|
||||
dns_mod=redir-host
|
||||
modify_yaml=未开启
|
||||
ipv6_support=未开启
|
||||
fi
|
||||
source $ccfg #加载配置文件
|
||||
#是否代理常用端口
|
||||
if [ "$common_ports" = "已开启" ];then
|
||||
ports='-m multiport --dports 22,53,587,465,995,993,143,80,443 '
|
||||
fi
|
||||
#DNS模式
|
||||
if [ "$common_ports" = "已开启" ];then
|
||||
ports='-m multiport --dports 22,53,587,465,995,993,143,80,443 '
|
||||
fi
|
||||
#检测系统端口占用
|
||||
for portx in 1053 7890 7892 9999 ;do
|
||||
[ -n "$(netstat -ntulp |grep $portx|grep -v clash)" ] && echo -e "检测到端口:\033[30;47m $portx \033[0m被占用!clash无法启动!" && exit;
|
||||
[ -n "$(netstat -ntulp |grep :$portx|grep -v clash)" ] && echo -e "检测到端口:\033[30;47m $portx \033[0m被以下进程占用!clash无法启动!" && echo $(netstat -ntulp |grep :$portx) && exit;
|
||||
done
|
||||
}
|
||||
modify_yaml(){
|
||||
@@ -50,8 +43,10 @@ fi
|
||||
external='external-controller: 0.0.0.0:9999'
|
||||
if [ "$dns_mod" = "fake-ip" ];then
|
||||
dns='dns: {enable: true, listen: 0.0.0.0:1053, fake-ip-range: 198.18.0.1/16, enhanced-mode: fake-ip, nameserver: [114.114.114.114, 127.0.0.1:53], fallback: [tcp://1.0.0.1, 8.8.4.4]}'
|
||||
elif [ "$dns_over" = "已开启" ];then
|
||||
dns='dns: {enable: true, ipv6: true, listen: 0.0.0.0:1053, enhanced-mode: redir-host, nameserver: [114.114.114.114, 223.5.5.5], fallback: [1.0.0.1, 8.8.4.4]}'
|
||||
else
|
||||
dns='dns: {enable: true, ipv6: true, listen: 0.0.0.0:1053, enhanced-mode: redir-host, nameserver: [114.114.114.114, 127.0.0.1:53], fallback: [1.0.0.1, 8.8.4.4]}'
|
||||
dns='dns: {enable: true, ipv6: true, listen: 0.0.0.0:1053, enhanced-mode: redir-host, nameserver: [114.114.114.114, 223.5.5.5, 127.0.0.1:53], fallback: [1.0.0.1, 8.8.4.4]}'
|
||||
fi
|
||||
if [ "$redir_mod" != "Redir模式" ];then
|
||||
tun='tun: {enable: true, stack: system}'
|
||||
@@ -80,7 +75,6 @@ exper='experimental: {ignore-resolve-fail: true, interface-name: en0}'
|
||||
sed -i "10,99s/sni: \S*/\1skip-cert-verify: true}/" $clashdir/config.yaml #跳过trojan本地证书验证
|
||||
sed -i '10,99s/}}/}, skip-cert-verify: true}/' $clashdir/config.yaml #跳过v2+ssl本地证书验证
|
||||
fi
|
||||
#sed -i '/rules:/a \ - DOMAIN-SUFFIX,clash.razord.top,🎯 全球直连' $clashdir/config.yaml
|
||||
}
|
||||
mark_time(){
|
||||
start_time=`date +%s`
|
||||
|
||||
@@ -125,13 +125,13 @@ do
|
||||
echo -e "\033[44m 遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e "支持批量导入\033[30;46m Http/Https/Clash \033[0m等格式的订阅链接"
|
||||
echo -e "支持批量导入\033[30;42m Vmess/SSR/SS/Trojan/Sock5 \033[0m等格式的节点链接"
|
||||
echo -e "\033[31m使用SSR节点请务必使用支持SSR的clash核心!\033[0m"
|
||||
echo -e "多个较短的链接可以用\033[30;47m | \033[0m分隔以一次性输入"
|
||||
echo -e "多个较长的链接请尽量分多次输入,可支持多达\033[30;47m 99 \033[0;36m次输入"
|
||||
echo -e "\033[32m直接输入回车以结束输入并开始导入链接!\033[0m"
|
||||
echo -e "以及\033[30;42m Vmess/SSR/SS/Trojan/Sock5 \033[0m等格式的节点链接"
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m 0 返回上级目录!\033[0m"
|
||||
echo -e "多个较短的链接可以用\033[30;47m | \033[0m号分隔以一次性输入"
|
||||
echo -e "多个较长的链接可分次输入,支持多达\033[30;47m 99 \033[0m次输入"
|
||||
echo -----------------------------------------------
|
||||
echo -e "回车 \033[32m完成输入\033[0m并开始导入链接!"
|
||||
echo -e " 0 \033[33m取消输入\033[0m并返回上级目录!"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入第"$i"个链接 > " url
|
||||
test=$(echo $url | grep "://")
|
||||
@@ -440,6 +440,10 @@ if [ "$res" = '1' ]; then
|
||||
getdb
|
||||
else
|
||||
echo -e "\033[33m下载成功,正在解压文件!\033[0m"
|
||||
if cat /proc/mounts | grep -q www ;then
|
||||
echo 检测到/www为只读,正在重新挂载!
|
||||
mount -o remount -rw /www
|
||||
fi
|
||||
mkdir -p /www/clash > /dev/null
|
||||
tar -zxvf '/tmp/clashdb.tar.gz' -C /www/clash > /dev/null
|
||||
[ $? -ne 0 ] && echo "文件解压失败!" && exit 1
|
||||
|
||||
Reference in New Issue
Block a user