Selaa lähdekoodia

Add -identifier command line option

Closes #21
Ask Bjørn Hansen 12 vuotta sitten
vanhempi
commit
95353eb053
3 muutettua tiedostoa jossa 14 lisäystä ja 3 poistoa
  1. 6 0
      geodns.go
  2. 5 3
      monitor.go
  3. 3 0
      util.go

+ 6 - 0
geodns.go

@@ -32,6 +32,7 @@ import (
 var VERSION string = "2.2.3"
 var gitVersion string
 var serverId string
+var serverIP string
 
 var timeStarted = time.Now()
 var qCounter = expvar.NewInt("qCounter")
@@ -39,6 +40,7 @@ var qCounter = expvar.NewInt("qCounter")
 var (
 	flagconfig      = flag.String("config", "./dns/", "directory of zone files")
 	flagcheckconfig = flag.Bool("checkconfig", false, "check configuration and exit")
+	flagidentifier  = flag.String("identifier", "", "identifier (hostname, pop name or similar)")
 	flaginter       = flag.String("interface", "*", "set the listener address")
 	flagport        = flag.String("port", "53", "default port number")
 	flaghttp        = flag.String("http", ":8053", "http listen address (:8053)")
@@ -60,6 +62,10 @@ func init() {
 func main() {
 	flag.Parse()
 
+	if len(*flagidentifier) > 0 {
+		serverId = *flagidentifier
+	}
+
 	configFileName := filepath.Clean(*flagconfig + "/geodns.conf")
 
 	if *flagcheckconfig {

+ 5 - 3
monitor.go

@@ -107,13 +107,15 @@ func wsHandler(ws *websocket.Conn) {
 }
 
 func initialStatus() string {
-	status := map[string]string{"v": VERSION, "id": serverId}
+	status := map[string]string{"v": VERSION, "id": serverId, "ip": serverIP}
 	hostname, err := os.Hostname()
 	if err == nil {
 		status["h"] = hostname
-		status["up"] = strconv.Itoa(int(time.Since(timeStarted).Seconds()))
-		status["started"] = strconv.Itoa(int(timeStarted.Unix()))
 	}
+
+	status["up"] = strconv.Itoa(int(time.Since(timeStarted).Seconds()))
+	status["started"] = strconv.Itoa(int(timeStarted.Unix()))
+
 	message, err := json.Marshal(status)
 	return string(message)
 }

+ 3 - 0
util.go

@@ -43,6 +43,9 @@ func getInterfaces() []string {
 		if len(serverId) == 0 {
 			serverId = ip
 		}
+		if len(serverIP) == 0 {
+			serverIP = ip
+		}
 		inter = append(inter, host)
 
 	}