diff options
| author | James Tucker <james@tailscale.com> | 2025-02-25 15:56:45 -0800 |
|---|---|---|
| committer | James Tucker <james@tailscale.com> | 2025-02-25 15:56:45 -0800 |
| commit | d7e9724c5da3c7582cc570059b47d760a9d4702c (patch) | |
| tree | fd364bc709e10abfb6e88ca477852b6b6b124b11 | |
| parent | 820bdb870a414d9a5d2131f80649d0fa98a74819 (diff) | |
| download | tailscale-raggi/stunc2.tar.xz tailscale-raggi/stunc2.zip | |
cmd/stunc: improve CLI interface for diagnosticsraggi/stunc2
Write to stdout by default, not stderr.
Add quiet flag to only output on error.
Add a host:port prefix to output.
Updates tailscale/corp#26778
Signed-off-by: James Tucker <james@tailscale.com>
| -rw-r--r-- | cmd/stunc/stunc.go | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/cmd/stunc/stunc.go b/cmd/stunc/stunc.go index c4b2eedd3..182c621ab 100644 --- a/cmd/stunc/stunc.go +++ b/cmd/stunc/stunc.go @@ -17,11 +17,13 @@ import ( func main() { log.SetFlags(0) + log.SetOutput(os.Stdout) // CLI tool, write to stdout. var host string port := "3478" var readTimeout time.Duration flag.DurationVar(&readTimeout, "timeout", 3*time.Second, "response wait timeout") + quiet := flag.Bool("quiet", false, "only print errors") flag.Parse() @@ -44,8 +46,9 @@ func main() { if err != nil { log.Fatalf("invalid port: %v", err) } - - uaddr, err := net.ResolveUDPAddr("udp", net.JoinHostPort(host, port)) + hostPort := net.JoinHostPort(host, port) + log.SetPrefix(hostPort + ": ") + uaddr, err := net.ResolveUDPAddr("udp", hostPort) if err != nil { log.Fatal(err) } @@ -80,7 +83,9 @@ func main() { log.Fatalf("txid mismatch: got %v, want %v", tid, txID) } - log.Printf("sent addr: %v", uaddr) - log.Printf("from addr: %v", raddr) - log.Printf("stun addr: %v", saddr) + if !*quiet { + log.Printf("sent addr: %v", uaddr) + log.Printf("from addr: %v", raddr) + log.Printf("stun addr: %v", saddr) + } } |
