From 3f2f4347314a49adf1a4475ebd4c443765a07cca Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 3 Dec 2025 13:23:52 +0800 Subject: [PATCH] =?UTF-8?q?~=E4=BC=98=E5=8C=96singbox=E5=86=85=E6=A0=B8dns?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=8A=A0=E5=AF=86dns=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/start.sh | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/scripts/start.sh b/scripts/start.sh index e6e7362..7b2406a 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -640,10 +640,16 @@ EOF EOF fi #生成dns.json - dns_direct=$(echo $dns_nameserver | awk -F ',' '{print $1}') - dns_proxy=$(echo $dns_fallback | awk -F ',' '{print $1}') - [ -z "$dns_direct" ] && dns_direct='223.5.5.5' - [ -z "$dns_proxy" ] && dns_proxy='1.0.0.1' + [ -z "$dns_nameserver" ] && dns_nameserver='223.5.5.5' + [ -z "$dns_fallback" ] && dns_fallback='1.0.0.1' + dns_direct_1st=$(echo $dns_nameserver | awk -F ',' '{print $1}') + dns_direct=$(echo $dns_direct_1st | sed 's|.*://||' | sed 's|/.*||') + dns_direct_type=$(echo "$dns_direct_1st" | awk -F '://' '{print $1}') + [ "$dns_direct_type" = "$dns_direct" ] && dns_direct_type="udp" + dns_proxy_1st=$(echo $dns_fallback | awk -F ',' '{print $1}') + dns_proxy=$(echo $dns_proxy_1st | sed 's|.*://||' | sed 's|/.*||') + dns_proxy_type=$(echo "$dns_proxy_1st" | awk -F '://' '{print $1}') + [ "$dns_proxy_type" = "$dns_proxy" ] && dns_proxy_type="udp" [ "$ipv6_dns" = "已开启" ] && strategy='prefer_ipv4' || strategy='ipv4_only' [ "$dns_mod" = "redir_host" ] && { global_dns=dns_proxy @@ -666,10 +672,9 @@ EOF [ -n "$fake_ip_filter_domain" ] && fake_ip_filter_domain="{ \"domain\": [$fake_ip_filter_domain], \"server\": \"dns_direct\" }," [ -n "$fake_ip_filter_suffix" ] && fake_ip_filter_suffix="{ \"domain_suffix\": [$fake_ip_filter_suffix], \"server\": \"dns_direct\" }," [ -n "$fake_ip_filter_regex" ] && fake_ip_filter_regex="{ \"domain_regex\": [$fake_ip_filter_regex], \"server\": \"dns_direct\" }," - if [ -z "$(echo "$core_v" | grep -E '(^1\.(8|[89]\d*|\d{2,})\.\d+$)|(^(2|[2-9]\d*|\d{2,})\.([0-9]\d*|\d{2,})\.\d+$)')" ]; then - direct_dns="{ \"rule_set\": [\"geosite-cn\"], \"server\": \"dns_direct\" }," - #生成add_rule_set.json - [ -z "$(cat "$CRASHDIR"/jsons/*.json | grep -Ei '"tag" *: *"geosite-cn"')" ] && cat >"$TMPDIR"/jsons/add_rule_set.json <"$TMPDIR"/jsons/add_rule_set.json <"$TMPDIR"/jsons/dns.json <