From a464d60f122fb755d8be3efc3f60b212b84cfcd4 Mon Sep 17 00:00:00 2001 From: Razvan Dimescu Date: Wed, 1 Apr 2026 14:14:38 +0300 Subject: [PATCH] fix: use Quad9 IP (9.9.9.9) for DoH fallback, not hostname DoH to dns.quad9.net requires DNS to resolve the hostname, which creates a chicken-and-egg loop when numa IS the system resolver (e.g. after numa install on Windows). Using the IP directly avoids the bootstrap dependency. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 2cdf4d9..a74af38 100644 --- a/src/main.rs +++ b/src/main.rs @@ -126,7 +126,7 @@ async fn main() -> numa::Result<()> { .use_rustls_tls() .build() .unwrap_or_default(); - let url = "https://dns.quad9.net/dns-query".to_string(); + let url = "https://9.9.9.9/dns-query".to_string(); let label = url.clone(); ( numa::config::UpstreamMode::Forward, @@ -152,7 +152,7 @@ async fn main() -> numa::Result<()> { .or_else(numa::system_dns::detect_dhcp_dns) .unwrap_or_else(|| { info!("could not detect system DNS, falling back to Quad9 DoH"); - "https://dns.quad9.net/dns-query".to_string() + "https://9.9.9.9/dns-query".to_string() }) } else { config.upstream.address.clone()