From b879df8e9bc4549a69f6b3eed783de9dc1bb2663 Mon Sep 17 00:00:00 2001 From: Illustar0 Date: Wed, 28 May 2025 22:07:12 +0800 Subject: [PATCH] feat: implement secondary DNS fallback for connectivity tests (#354) * feat: implement secondary DNS fallback for connectivity tests * refactor: optimize address retrieval in connectivity test --- initrd-network.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/initrd-network.sh b/initrd-network.sh index d6c0e20..70c5b4b 100644 --- a/initrd-network.sh +++ b/initrd-network.sh @@ -240,11 +240,11 @@ test_connect() { test_internet() { for i in $(seq 5); do echo "Testing Internet Connection. Test $i... " - if is_need_test_ipv4 && test_connect "$(get_first_ipv4_addr | remove_netmask)" "$ipv4_dns1" >/dev/null 2>&1; then + if is_need_test_ipv4 && { local current_ipv4_addr; current_ipv4_addr="$(get_first_ipv4_addr | remove_netmask)"; test_connect "$current_ipv4_addr" "$ipv4_dns1" >/dev/null 2>&1 || test_connect "$current_ipv4_addr" "$ipv4_dns2" >/dev/null 2>&1; }; then echo "IPv4 has internet." ipv4_has_internet=true fi - if is_need_test_ipv6 && test_connect "$(get_first_ipv6_addr | remove_netmask)" "$ipv6_dns1" >/dev/null 2>&1; then + if is_need_test_ipv6 && { local current_ipv6_addr; current_ipv6_addr="$(get_first_ipv6_addr | remove_netmask)"; test_connect "$current_ipv6_addr" "$ipv6_dns1" >/dev/null 2>&1 || test_connect "$current_ipv6_addr" "$ipv6_dns2" >/dev/null 2>&1; }; then echo "IPv6 has internet." ipv6_has_internet=true fi