diff options
Diffstat (limited to 'network/ip.go')
-rw-r--r-- | network/ip.go | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/network/ip.go b/network/ip.go deleted file mode 100644 index 0c6451e..0000000 --- a/network/ip.go +++ /dev/null @@ -1,33 +0,0 @@ -package network - -import ( - "fmt" - "log/slog" - "math/rand" - "net" -) - -func GetOutboundIP() net.IP { - conn, err := net.Dial("udp", "8.8.8.8:80") - if err != nil { - slog.Error("err", err) - } - defer conn.Close() - - localAddr := conn.LocalAddr().(*net.UDPAddr) - - return localAddr.IP -} - -func GetRandomAvailablePort() (int, error) { - for i := 0; i < 100; i += 1 { - port := rand.Intn(65535-1024) + 1024 - addr := fmt.Sprintf(":%d", port) - ln, err := net.Listen("tcp", addr) - if err == nil { - defer ln.Close() - return port, nil - } - } - return 0, fmt.Errorf("failed to find an available port after multiple attempts") -} |