From e156c70eff1704d9f6f12198d0d92d110ed02d54 Mon Sep 17 00:00:00 2001 From: David Gwilliam Date: Sun, 21 Jun 2026 22:00:27 -0700 Subject: [PATCH] fix: useful Docker bind address output in serve When binding to 0.0.0.0 (--host 0.0.0.0), print "localhost" and "" URLs instead of the raw 0.0.0.0 address. Also handles nil TCPAddr.IP to avoid the ":::" garbled display in Docker. --- serve.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/serve.go b/serve.go index ac2fbbb..21c88ad 100644 --- a/serve.go +++ b/serve.go @@ -65,12 +65,22 @@ func cmdServe(args []string) { } realPort := listener.Addr().(*net.TCPAddr).Port - realHost := listener.Addr().(*net.TCPAddr).IP.String() + realHost := "0.0.0.0" + if ip := listener.Addr().(*net.TCPAddr).IP; ip != nil { + realHost = ip.String() + } fmt.Printf("\n AKAI Utils Server\n") fmt.Printf(" =================\n\n") - fmt.Printf(" Local: http://%s:%d\n", realHost, realPort) - fmt.Printf(" API: http://%s:%d/api/\n", realHost, realPort) + if realHost == "0.0.0.0" || realHost == "::" || realHost == "" || realHost == "" { + fmt.Printf(" Local: http://localhost:%d\n", realPort) + if realHost == "0.0.0.0" { + fmt.Printf(" Network: http://:%d\n", realPort) + } + } else { + fmt.Printf(" Local: http://%s:%d\n", realHost, realPort) + } + fmt.Printf(" API: http://localhost:%d/api/\n", realPort) fmt.Printf(" Quit: Ctrl+C\n\n") if openBrowser {