diff options
Diffstat (limited to 'internal/network/ip.go')
-rw-r--r-- | internal/network/ip.go | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/internal/network/ip.go b/internal/network/ip.go deleted file mode 100644 index ec1e984..0000000 --- a/internal/network/ip.go +++ /dev/null @@ -1,37 +0,0 @@ -package network - -import ( - "fmt" - "math/rand" - "net" - - "github.com/boozec/rahanna/internal/logger" -) - -// Connect a DNS to get the address -func GetOutboundIP() net.IP { - log, _ := logger.GetLogger() - conn, err := net.Dial("udp", "8.8.8.8:80") - if err != nil { - log.Sugar().Error("err", err) - } - defer conn.Close() - - localAddr := conn.LocalAddr().(*net.UDPAddr) - - return localAddr.IP -} - -// Returns a random available port on the node -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") -} |