From 91cb3a48f82710504d689c58aabe71fc48857f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Z=C3=BCrcher?= Date: Tue, 3 Feb 2026 09:18:55 +0100 Subject: [PATCH] fix active ip for all os --- handlers/infos.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/handlers/infos.go b/handlers/infos.go index 3b28a4f..5f60e07 100644 --- a/handlers/infos.go +++ b/handlers/infos.go @@ -20,15 +20,24 @@ func GetLocalIP() string { } func getActiveIP() string { - conn, err := net.Dial("udp", "8.8.8.8:80") + addrs, err := net.InterfaceAddrs() if err != nil { return "" } - defer conn.Close() - addr := conn.LocalAddr() - if udpAddr, ok := addr.(*net.UDPAddr); ok { - return udpAddr.IP.String() + for _, address := range addrs { + if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { + + if ipnet.IP.To4() != nil { + ipStr := ipnet.IP.String() + + if ipnet.IP.IsLinkLocalUnicast() { + continue + } + + return ipStr + } + } } return "" }