v1.0.0beta14fix2
~修复部分ssr节点不可用的bug ~mac过滤功能增加移除单个设备以及添加全部设备功能
This commit is contained in:
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
clash_v=1.2.0
|
clash_v=1.2.0
|
||||||
clashpre_v=2020.10.09
|
clashpre_v=2020.10.09
|
||||||
GeoIP_v=20201010
|
GeoIP_v=20201010
|
||||||
versionsh=1.0.0beta14fix1
|
versionsh=1.0.0beta14fix2
|
||||||
|
|||||||
161
scripts/clash.sh
161
scripts/clash.sh
@@ -348,6 +348,105 @@ else
|
|||||||
exit;
|
exit;
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
macfilter(){
|
||||||
|
add_mac(){
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[32m"
|
||||||
|
cat /tmp/dhcp.leases | awk '{print " "NR" "$3,$2,$4}'
|
||||||
|
echo -e "\033[0m 0-----------------------------------------------"
|
||||||
|
echo -e " 0 或回车 结束添加"
|
||||||
|
read -p "请输入需要添加的设备的对应序号 > " num
|
||||||
|
if [ -z "$num" ]||[ "$num" -le 0 ]; then
|
||||||
|
macfilter
|
||||||
|
elif [ $num -le $(cat /tmp/dhcp.leases | awk 'END{print NR}') ]; then
|
||||||
|
macadd=$(cat /tmp/dhcp.leases | awk '{print $2}' | sed -n "$num"p)
|
||||||
|
if [ -z "$(cat $clashdir/mac | grep -E "$macadd")" ];then
|
||||||
|
echo $macadd >> $clashdir/mac
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo 已添加的mac地址:
|
||||||
|
cat $clashdir/mac
|
||||||
|
else
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m输入有误,请重新输入!\033[0m"
|
||||||
|
fi
|
||||||
|
add_mac
|
||||||
|
}
|
||||||
|
del_mac(){
|
||||||
|
echo -----------------------------------------------
|
||||||
|
if [ -z "$(cat $clashdir/mac)" ];then
|
||||||
|
echo -e "\033[31m列表中没有需要移除的设备!\033[0m"
|
||||||
|
macfilter
|
||||||
|
fi
|
||||||
|
echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[0m"
|
||||||
|
i=1
|
||||||
|
for mac in $(cat $clashdir/mac); do
|
||||||
|
echo -e " $i \033[32m$(cat /tmp/dhcp.leases | awk '{print $3,$2,$4}' | grep $mac)\033[0m"
|
||||||
|
i=$(expr $i + 1)
|
||||||
|
done
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[0m 0 或回车 结束删除"
|
||||||
|
read -p "请输入需要移除的设备的对应序号 > " num
|
||||||
|
if [ -z "$num" ]||[ "$num" -le 0 ]; then
|
||||||
|
macfilter
|
||||||
|
elif [ $num -le $(cat $clashdir/mac | wc -l) ];then
|
||||||
|
sed -i "${num}d" $clashdir/mac
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[32m对应设备已移除!\033[0m"
|
||||||
|
else
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m输入有误,请重新输入!\033[0m"
|
||||||
|
fi
|
||||||
|
del_mac
|
||||||
|
}
|
||||||
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
echo -e "\033[30;47m请在此添加或移除设备\033[0m"
|
||||||
|
if [ -n "$(cat $clashdir/mac)" ]; then
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "当前已过滤设备为:\033[36m"
|
||||||
|
echo -e "\033[33m 设备IP 设备mac地址 设备名称\033[0m"
|
||||||
|
for mac in $(cat $clashdir/mac); do
|
||||||
|
cat /tmp/dhcp.leases | awk '{print $3,$2,$4}' | grep $mac
|
||||||
|
done
|
||||||
|
echo -----------------------------------------------
|
||||||
|
fi
|
||||||
|
echo -e " 1 \033[31m清空整个列表\033[0m"
|
||||||
|
echo -e " 2 \033[32m添加指定设备\033[0m"
|
||||||
|
echo -e " 3 \033[33m移除指定设备\033[0m"
|
||||||
|
echo -e " 4 \033[32m添加全部设备\033[0m(请搭配移除指定设备使用)"
|
||||||
|
echo -e " 0 返回上级菜单"
|
||||||
|
read -p "请输入对应数字 > " num
|
||||||
|
if [ -z "$num" ]; then
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
|
clashcfg
|
||||||
|
elif [[ $num == 0 ]]; then
|
||||||
|
clashcfg
|
||||||
|
elif [[ $num == 1 ]]; then
|
||||||
|
:>$clashdir/mac
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m设备列表已清空!\033[0m"
|
||||||
|
macfilter
|
||||||
|
elif [[ $num == 2 ]]; then
|
||||||
|
add_mac
|
||||||
|
elif [[ $num == 3 ]]; then
|
||||||
|
del_mac
|
||||||
|
elif [[ $num == 4 ]]; then
|
||||||
|
echo -----------------------------------------------
|
||||||
|
cat /tmp/dhcp.leases | awk '{print $2}' > $clashdir/mac
|
||||||
|
echo -e "\033[32m已经将所有设备全部添加进过滤列表!\033[0m"
|
||||||
|
echo -e "\033[33m请搭配【移除指定设备】功能使用!\033[0m"
|
||||||
|
sleep 1
|
||||||
|
macfilter
|
||||||
|
else
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
|
macfilter
|
||||||
|
fi
|
||||||
|
}
|
||||||
clashcfg(){
|
clashcfg(){
|
||||||
#获取设置默认显示
|
#获取设置默认显示
|
||||||
[ -z "$skip_cert" ] && skip_cert=已开启
|
[ -z "$skip_cert" ] && skip_cert=已开启
|
||||||
@@ -509,67 +608,7 @@ if [[ $num -le 9 ]] > /dev/null 2>&1; then
|
|||||||
clashcfg
|
clashcfg
|
||||||
|
|
||||||
elif [[ $num == 5 ]]; then
|
elif [[ $num == 5 ]]; then
|
||||||
|
macfilter
|
||||||
add_mac(){
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[32m"
|
|
||||||
cat /tmp/dhcp.leases | awk '{print " "NR" "$3,$2,$4}'
|
|
||||||
echo -e "\033[0m 0 或回车 结束添加"
|
|
||||||
read -p "请输入对应序号 > " num
|
|
||||||
if [ -z "$num" ]; then
|
|
||||||
clashcfg
|
|
||||||
elif [ $num -le 0 ]; then
|
|
||||||
clashcfg
|
|
||||||
elif [ $num -le $(cat /tmp/dhcp.leases | awk 'END{print NR}') ]; then
|
|
||||||
macadd=$(cat /tmp/dhcp.leases | awk '{print $2}' | sed -n "$num"p)
|
|
||||||
if [ -z "$(cat $clashdir/mac | grep -E "$macadd")" ];then
|
|
||||||
echo $macadd >> $clashdir/mac
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo 已添加的mac地址:
|
|
||||||
cat $clashdir/mac
|
|
||||||
else
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo -----------------------------------------------
|
|
||||||
echo -e "\033[31m输入有误,请重新输入!\033[0m"
|
|
||||||
fi
|
|
||||||
add_mac
|
|
||||||
}
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[33m请在此添加或移除设备\033[0m"
|
|
||||||
if [ -n "$(cat $clashdir/mac)" ]; then
|
|
||||||
echo -e "当前已过滤设备为:\033[36m"
|
|
||||||
for mac in $(cat $clashdir/mac); do
|
|
||||||
cat /tmp/dhcp.leases | awk '{print $3,$2,$4}' | grep $mac
|
|
||||||
done
|
|
||||||
echo -e "\033[0m-----------------------------------------------"
|
|
||||||
fi
|
|
||||||
echo -e " 1 \033[31m清空列表\033[0m"
|
|
||||||
echo -e " 2 \033[32m添加设备\033[0m"
|
|
||||||
echo -e " 0 返回上级菜单"
|
|
||||||
read -p "请输入对应数字 > " num
|
|
||||||
if [ -z "$num" ]; then
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
|
||||||
clashcfg
|
|
||||||
elif [[ $num == 0 ]]; then
|
|
||||||
clashcfg
|
|
||||||
elif [[ $num == 1 ]]; then
|
|
||||||
:>$clashdir/mac
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[31m设备列表已清空!\033[0m"
|
|
||||||
sleep 1
|
|
||||||
clashcfg
|
|
||||||
elif [[ $num == 2 ]]; then
|
|
||||||
add_mac
|
|
||||||
|
|
||||||
else
|
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[31m请输入正确的数字!\033[0m"
|
|
||||||
clashcfg
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [[ $num == 6 ]]; then
|
elif [[ $num == 6 ]]; then
|
||||||
sed -i '/dns_over*/'d $ccfg
|
sed -i '/dns_over*/'d $ccfg
|
||||||
|
|||||||
Reference in New Issue
Block a user