v1.0.0beta15.1
~新增自定义http/sock5代理认证功能 ~新增支持安装内置yacd面板 ~增加自定义DNS配置功能 ~修复fake-ip模式下偶尔会出现大量回环流量的bug ~修复部分设备无法正常显示局域网连接ip/mac的bug ~同步最新版本Geoip数据库文件
This commit is contained in:
BIN
bin/Country.mmdb
BIN
bin/Country.mmdb
Binary file not shown.
Binary file not shown.
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=20201021
|
||||||
versionsh=1.0.0beta15
|
versionsh=1.0.0beta15.1
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ setport(){
|
|||||||
if [ "$res" = "1" ];then
|
if [ "$res" = "1" ];then
|
||||||
$clashdir/start.sh stop
|
$clashdir/start.sh stop
|
||||||
else
|
else
|
||||||
clashsh
|
clashadv
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
@@ -217,6 +217,14 @@ setport(){
|
|||||||
}
|
}
|
||||||
setdns(){
|
setdns(){
|
||||||
source $ccfg
|
source $ccfg
|
||||||
|
if [ "$dns_no" = "true" ];then
|
||||||
|
read -p "检测到内置DNS已被禁用,是否启用内置DNS?(1/0) > " res
|
||||||
|
if [ "$res" = "1" ];then
|
||||||
|
sed -i "/dns_no*/"d $ccfg
|
||||||
|
else
|
||||||
|
clashadv
|
||||||
|
fi
|
||||||
|
fi
|
||||||
[ -z "$dns_nameserver" ] && dns_nameserver='114.114.114.114, 223.5.5.5'
|
[ -z "$dns_nameserver" ] && dns_nameserver='114.114.114.114, 223.5.5.5'
|
||||||
[ -z "$dns_fallback" ] && dns_fallback='1.0.0.1, 8.8.4.4'
|
[ -z "$dns_fallback" ] && dns_fallback='1.0.0.1, 8.8.4.4'
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
@@ -228,6 +236,7 @@ setdns(){
|
|||||||
echo -e " 1 修改基础DNS"
|
echo -e " 1 修改基础DNS"
|
||||||
echo -e " 2 修改fallback_DNS"
|
echo -e " 2 修改fallback_DNS"
|
||||||
echo -e " 3 重置DNS配置"
|
echo -e " 3 重置DNS配置"
|
||||||
|
echo -e " 4 禁用内置DNS(慎用)"
|
||||||
echo -e " 0 返回上级菜单"
|
echo -e " 0 返回上级菜单"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
@@ -257,6 +266,13 @@ setdns(){
|
|||||||
sed -i "/dns_nameserver*/"d $ccfg
|
sed -i "/dns_nameserver*/"d $ccfg
|
||||||
sed -i "/dns_fallback*/"d $ccfg
|
sed -i "/dns_fallback*/"d $ccfg
|
||||||
echo -e "\033[33mDNS配置已重置!!!\033[0m"
|
echo -e "\033[33mDNS配置已重置!!!\033[0m"
|
||||||
|
elif [[ $num == 4 ]]; then
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m仅限搭配其他DNS服务(比如dnsmasq、smartDNS)时使用!\033[0m"
|
||||||
|
sed -i "/dns_no*/"d $ccfg
|
||||||
|
sed -i "1i\dns_no=true" $ccfg
|
||||||
|
echo -e "\033[33m已禁用内置DNS!!!\033[0m"
|
||||||
|
clashadv
|
||||||
else
|
else
|
||||||
clashadv
|
clashadv
|
||||||
fi
|
fi
|
||||||
@@ -744,7 +760,7 @@ 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 ————配置本机代理环境变量"
|
||||||
echo -e " 5 手动指定clash运行端口及秘钥"
|
echo -e " 5 手动指定clash运行端口及秘钥"
|
||||||
echo -e " 6 手动配置内置DNS设置"
|
echo -e " 6 手动配置内置DNS服务"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e " 8 \033[31m重置\033[0m配置文件"
|
echo -e " 8 \033[31m重置\033[0m配置文件"
|
||||||
echo -e " 9 \033[32m重启\033[0mclash服务"
|
echo -e " 9 \033[32m重启\033[0mclash服务"
|
||||||
|
|||||||
@@ -458,12 +458,41 @@ 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}';)
|
#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 -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e "\033[32m打开管理面板的速度更快且更稳定"
|
echo -e "请选择面板\033[33m安装类型:\033[0m"
|
||||||
echo -e "\033[33m需要占用约500kb的本地空间\033[0m"
|
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo -e " 1 在$clashdir/ui目录安装(推荐!)\033[33m安装后需重启clash服务!!!\033[0m"
|
echo -e " 1 安装\033[32m官方面板\033[0m(约500kb)"
|
||||||
echo " 2 在/www/clash目录安装(依赖路由器自带的Nginx服务,可能安装失败!)"
|
echo -e " 2 安装\033[32mYacd面板\033[0m(约1.1mb)"
|
||||||
|
echo -e " 3 卸载\033[33m本地面板\033[0m"
|
||||||
|
echo " 0 返回上级菜单"
|
||||||
|
read -p "请输入对应数字 > " num
|
||||||
|
|
||||||
|
if [ -z "$num" ];then
|
||||||
|
update
|
||||||
|
elif [ "$num" = '1' ]; then
|
||||||
|
db_type=clashdb
|
||||||
|
elif [ "$num" = '2' ]; then
|
||||||
|
db_type=yacd
|
||||||
|
elif [ "$num" = '3' ]; then
|
||||||
|
read -p "确认卸载本地面板?(1/0) > " res
|
||||||
|
if [ "$res" = 1 ];then
|
||||||
|
rm -rf /www/clash
|
||||||
|
rm -rf $clashdir/ui
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "\033[31m面板已经卸载!\033[0m"
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
update
|
||||||
|
else
|
||||||
|
echo -e "\033[31m请输入正确的数字!\033[0m"
|
||||||
|
update
|
||||||
|
fi
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e "请选择面板\033[33m安装目录:\033[0m"
|
||||||
|
echo -----------------------------------------------
|
||||||
|
echo -e " 1 在$clashdir/ui目录安装(推荐!安装后会自动重启clash服务!)"
|
||||||
|
echo -e " 2 在/www/clash目录安装(依赖Openwrt的Nginx服务,可能失败!)"
|
||||||
echo -----------------------------------------------
|
echo -----------------------------------------------
|
||||||
echo " 0 返回上级菜单"
|
echo " 0 返回上级菜单"
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
@@ -472,7 +501,7 @@ 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访问面板(需重启clash服务!)"
|
hostdir=":$db_port/ui\033[0;36m访问面板"
|
||||||
elif [ "$num" = '2' ]; then
|
elif [ "$num" = '2' ]; then
|
||||||
dbdir=/www/clash
|
dbdir=/www/clash
|
||||||
hostdir='/clash\033[0;36m访问面板'
|
hostdir='/clash\033[0;36m访问面板'
|
||||||
@@ -481,9 +510,9 @@ else
|
|||||||
fi
|
fi
|
||||||
#下载及安装
|
#下载及安装
|
||||||
if [ -d /www/clash -o -d $clashdir/ui ];then
|
if [ -d /www/clash -o -d $clashdir/ui ];then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo -----------------------------------------------
|
||||||
echo -e "\033[31m检测到您已经安装过本地面板了!\033[0m"
|
echo -e "\033[31m检测到您已经安装过本地面板了!\033[0m"
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo -----------------------------------------------
|
||||||
read -p "是否覆盖安装?[1/0] > " res
|
read -p "是否覆盖安装?[1/0] > " res
|
||||||
if [ -z "$res" ]; then
|
if [ -z "$res" ]; then
|
||||||
update
|
update
|
||||||
@@ -494,28 +523,34 @@ fi
|
|||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
dblink="$update_url/bin/clashdb.tar.gz"
|
dblink="${update_url}/bin/${db_type}.tar.gz"
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo -----------------------------------------------
|
||||||
echo 正在连接服务器获取安装文件…………
|
echo 正在连接服务器获取安装文件…………
|
||||||
result=$(curl -w %{http_code} -kLo /tmp/clashdb.tar.gz $dblink)
|
result=$(curl -w %{http_code} -kLo /tmp/clashdb.tar.gz $dblink)
|
||||||
if [ "$result" != "200" ];then
|
if [ "$result" != "200" ];then
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo -----------------------------------------------
|
||||||
echo -e "\033[31m文件下载失败!\033[0m"
|
echo -e "\033[31m文件下载失败!\033[0m"
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
echo -----------------------------------------------
|
||||||
getdb
|
getdb
|
||||||
else
|
else
|
||||||
echo -e "\033[33m下载成功,正在解压文件!\033[0m"
|
echo -e "\033[33m下载成功,正在解压文件!\033[0m"
|
||||||
mkdir -p $dbdir > /dev/null
|
mkdir -p $dbdir > /dev/null
|
||||||
tar -zxvf '/tmp/clashdb.tar.gz' -C $dbdir > /dev/null
|
tar -zxvf "/tmp/clashdb.tar.gz" -C $dbdir > /dev/null
|
||||||
[ $? -ne 0 ] && echo "文件解压失败!" && exit 1
|
[ $? -ne 0 ] && echo "文件解压失败!" && exit 1
|
||||||
#修改默认host和端口
|
#修改默认host和端口
|
||||||
sed -i "s/127.0.0.1/${host}/g" $dbdir/js/*.js
|
if [ "$db_type" = "clashdb" ];then
|
||||||
sed -i "s/9090/${db_port}/g" $dbdir/js/*.js
|
sed -i "s/127.0.0.1/${host}/g" $dbdir/js/*.js
|
||||||
#
|
sed -i "s/9090/${db_port}/g" $dbdir/js/*.js
|
||||||
|
else
|
||||||
|
sed -i "s/127.0.0.1/${host}/g" $dbdir/app*.js
|
||||||
|
sed -i "s/7892/${db_port}/g" $dbdir/app*.js
|
||||||
|
fi
|
||||||
|
[ "$dbdir" != "/www/clash" ] && $clashdir/start.sh restart
|
||||||
|
echo -----------------------------------------------
|
||||||
echo -e "\033[32m面板安装成功!\033[0m"
|
echo -e "\033[32m面板安装成功!\033[0m"
|
||||||
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
echo -e "\033[36m请使用\033[32;4mhttp://$host$hostdir\033[0m"
|
echo -e "\033[36m请使用\033[32;4mhttp://$host$hostdir\033[0m"
|
||||||
rm -rf /tmp/clashdb.tar.gz
|
rm -rf /tmp/clashdb.tar.gz
|
||||||
|
sleep 1
|
||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -583,7 +618,7 @@ elif [[ $num == 4 ]]; then
|
|||||||
update
|
update
|
||||||
fi
|
fi
|
||||||
elif [[ $num == 9 ]]; then
|
elif [[ $num == 9 ]]; then
|
||||||
update_url='http://127.0.0.1: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"
|
||||||
|
|||||||
@@ -279,8 +279,8 @@ start_dns(){
|
|||||||
ip6tables -t nat -A clashv6_dns -p udp --dport 53 -j REDIRECT --to $dns_port > /dev/null 2>&1
|
ip6tables -t nat -A clashv6_dns -p udp --dport 53 -j REDIRECT --to $dns_port > /dev/null 2>&1
|
||||||
ip6tables -t nat -A PREROUTING -p udp -j clashv6_dns > /dev/null 2>&1
|
ip6tables -t nat -A PREROUTING -p udp -j clashv6_dns > /dev/null 2>&1
|
||||||
else
|
else
|
||||||
ip6tables -I INPUT -p tcp --dport 53 -j REJECT
|
ip6tables -I INPUT -p tcp --dport 53 -j REJECT
|
||||||
ip6tables -I INPUT -p udp --dport 53 -j REJECT
|
ip6tables -I INPUT -p udp --dport 53 -j REJECT
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
daemon(){
|
daemon(){
|
||||||
@@ -336,7 +336,7 @@ afstart(){
|
|||||||
getconfig
|
getconfig
|
||||||
#修改iptables规则使流量进入clash
|
#修改iptables规则使流量进入clash
|
||||||
stop_iptables
|
stop_iptables
|
||||||
[ "$redir_mod" != "纯净模式" ] && start_dns
|
[ "$redir_mod" != "纯净模式" ] && [ "$dns_no" != "true" ] && start_dns
|
||||||
[ "$redir_mod" != "纯净模式" ] && [ "$redir_mod" != "Tun模式" ] && start_redir
|
[ "$redir_mod" != "纯净模式" ] && [ "$redir_mod" != "Tun模式" ] && start_redir
|
||||||
#标记启动时间
|
#标记启动时间
|
||||||
mark_time
|
mark_time
|
||||||
|
|||||||
Reference in New Issue
Block a user