From 7cb1f7e2c268c16a16955546cbac0b98a726b79c Mon Sep 17 00:00:00 2001 From: Owen Date: Tue, 9 Dec 2025 17:10:38 -0500 Subject: [PATCH] Working on ipv6 stuff --- util/util.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/util/util.go b/util/util.go index 66f718b..58221c4 100644 --- a/util/util.go +++ b/util/util.go @@ -33,6 +33,19 @@ func ResolveDomain(domain string) (string, error) { port = "" } + // Check if host is already an IP address (IPv4 or IPv6) + // For IPv6, the host from SplitHostPort will already have brackets stripped + // but if there was no port, we need to handle bracketed IPv6 addresses + cleanHost := strings.TrimPrefix(strings.TrimSuffix(host, "]"), "[") + if ip := net.ParseIP(cleanHost); ip != nil { + // It's already an IP address, no need to resolve + ipAddr := ip.String() + if port != "" { + return net.JoinHostPort(ipAddr, port), nil + } + return ipAddr, nil + } + // Lookup IP addresses ips, err := net.LookupIP(host) if err != nil {