feat: implement secondary DNS fallback for connectivity tests (#354)

* feat: implement secondary DNS fallback for connectivity tests

* refactor: optimize address retrieval in connectivity test
This commit is contained in:
Illustar0 2025-05-28 22:07:12 +08:00 committed by GitHub
parent 8895d23082
commit b879df8e9b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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