diff --git a/src/network/stun.rs b/src/network/stun.rs index 251454e..6a93339 100644 --- a/src/network/stun.rs +++ b/src/network/stun.rs @@ -50,10 +50,17 @@ pub async fn stun_probe_family(stun_addr: &str, family: IpFamily) -> Result {} + Err(e) if family == IpFamily::V6 && matches!( + e.kind(), + std::io::ErrorKind::NetworkUnreachable + | std::io::ErrorKind::HostUnreachable + | std::io::ErrorKind::Unsupported + | std::io::ErrorKind::NetworkDown + ) => return Ok(None), + Err(e) => return Err(ProxyError::Proxy(format!("STUN connect failed: {e}"))), + } } else { return Ok(None); }