diff --git a/Dockerfile b/Dockerfile index 09b2d77..2789fc5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,4 +34,4 @@ COPY scripts/extract_wavs.sh /usr/local/bin/ WORKDIR /data EXPOSE 8080 ENTRYPOINT ["fetch"] -CMD ["serve", "-p", "8080"] +CMD ["serve", "-p", "8080", "--host", "0.0.0.0"] diff --git a/main.go b/main.go index 1b79be7..81a7df7 100644 --- a/main.go +++ b/main.go @@ -116,6 +116,7 @@ Pipeline flags: Serve flags: -p, --port 0 HTTP port (0 = auto-assign) + --host 127.0.0.1 HTTP bind address (use 0.0.0.0 for Docker) --no-browser don't open browser automatically`) } @@ -596,6 +597,9 @@ func truncate(s string, n int) string { if len(s) <= n { return s } + if n < 3 { + return s[:n] + } return s[:n-3] + "..." } diff --git a/serve.go b/serve.go index 56c06b4..ac2fbbb 100644 --- a/serve.go +++ b/serve.go @@ -24,6 +24,7 @@ var webUI embed.FS func cmdServe(args []string) { port := 0 + host := "127.0.0.1" openBrowser := true for i := 0; i < len(args); i++ { @@ -33,6 +34,11 @@ func cmdServe(args []string) { port, _ = strconv.Atoi(args[i+1]) i++ } + case "--host": + if i+1 < len(args) { + host = args[i+1] + i++ + } case "--no-browser": openBrowser = false } @@ -52,18 +58,19 @@ func cmdServe(args []string) { mux.HandleFunc("/api/extract", handleAPIExtract) mux.HandleFunc("/api/progress", handleProgress) - addr := fmt.Sprintf("127.0.0.1:%d", port) + addr := fmt.Sprintf("%s:%d", host, port) listener, err := net.Listen("tcp", addr) if err != nil { fatal("listen: %v", err) } realPort := listener.Addr().(*net.TCPAddr).Port + realHost := listener.Addr().(*net.TCPAddr).IP.String() fmt.Printf("\n AKAI Utils Server\n") fmt.Printf(" =================\n\n") - fmt.Printf(" Local: http://localhost:%d\n", realPort) - fmt.Printf(" API: http://localhost:%d/api/\n", realPort) + fmt.Printf(" Local: http://%s:%d\n", realHost, realPort) + fmt.Printf(" API: http://%s:%d/api/\n", realHost, realPort) fmt.Printf(" Quit: Ctrl+C\n\n") if openBrowser { diff --git a/third_party/akaiutil/commoninclude.h b/third_party/akaiutil/commoninclude.h index f0ad174..1665e49 100755 --- a/third_party/akaiutil/commoninclude.h +++ b/third_party/akaiutil/commoninclude.h @@ -185,8 +185,10 @@ extern int optopt; #define LSEEK64 lseek64 #endif +#ifdef _VISUALCPP extern void bcopy(const void *src,void *dst,size_t len); extern void bzero(void *b,size_t len); +#endif