diff --git a/app/main.go b/app/main.go index 01f569cd7..7e8e3c3b3 100644 --- a/app/main.go +++ b/app/main.go @@ -2,6 +2,7 @@ package main import ( "flag" + "fmt" "log" "math/rand" "net/http" @@ -20,11 +21,17 @@ var version = "dev" func main() { var ( - window = flag.Duration("window", 15*time.Second, "window") - listen = flag.String("http.address", ":"+strconv.Itoa(xfer.AppPort), "webserver listen address") + window = flag.Duration("window", 15*time.Second, "window") + listen = flag.String("http.address", ":"+strconv.Itoa(xfer.AppPort), "webserver listen address") + printVersion = flag.Bool("version", false, "print version number and exit") ) flag.Parse() + if *printVersion { + fmt.Println(version) + return + } + rand.Seed(time.Now().UnixNano()) id := strconv.FormatInt(rand.Int63(), 16) log.Printf("app starting, version %s, ID %s", version, id) diff --git a/probe/main.go b/probe/main.go index 499badfa3..d636b386a 100644 --- a/probe/main.go +++ b/probe/main.go @@ -45,9 +45,15 @@ func main() { captureInterfaces = flag.String("capture.interfaces", interfaces(), "packet capture on these interfaces") captureOn = flag.Duration("capture.on", 1*time.Second, "packet capture duty cycle 'on'") captureOff = flag.Duration("capture.off", 5*time.Second, "packet capture duty cycle 'off'") + printVersion = flag.Bool("version", false, "print version number and exit") ) flag.Parse() + if *printVersion { + fmt.Println(version) + return + } + var ( hostName = hostname() hostID = hostName // TODO: we should sanitize the hostname