Add option to only compare MAC for alerting
This commit is contained in:
parent
d67af210da
commit
7ca8feeec9
3 changed files with 25 additions and 10 deletions
|
|
@ -6,12 +6,24 @@ import (
|
|||
)
|
||||
|
||||
func host_in_db(host Host, dbHosts []Host) bool { // Check if host is already in DB
|
||||
for _, oneHost := range dbHosts {
|
||||
if host.Ip == oneHost.Ip && host.Mac == oneHost.Mac && host.Hw == oneHost.Hw {
|
||||
oneHost.Date = host.Date
|
||||
oneHost.Now = 1
|
||||
db_update(oneHost)
|
||||
return true
|
||||
|
||||
if AppConfig.OnlyCompareMac {
|
||||
for _, oneHost := range dbHosts {
|
||||
if host.Mac == oneHost.Mac {
|
||||
oneHost.Date = host.Date
|
||||
oneHost.Now = 1
|
||||
db_update(oneHost)
|
||||
return true
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for _, oneHost := range dbHosts {
|
||||
if host.Ip == oneHost.Ip && host.Mac == oneHost.Mac && host.Hw == oneHost.Hw {
|
||||
oneHost.Date = host.Date
|
||||
oneHost.Now = 1
|
||||
db_update(oneHost)
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
|
|
@ -27,4 +39,4 @@ func hosts_compare(foundHosts []Host, dbHosts []Host) {
|
|||
db_insert(oneHost)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,10 +14,11 @@ func get_config() (config Conf) {
|
|||
viper.SetDefault("TIMEOUT", "60")
|
||||
viper.SetDefault("SHOUTRRR_URL", "")
|
||||
viper.SetDefault("THEME", "solar")
|
||||
viper.SetDefault("ONLY_COMPARE_MAC", false)
|
||||
|
||||
viper.SetConfigFile(configPath)
|
||||
viper.SetConfigFile(configPath)
|
||||
viper.SetConfigType("env")
|
||||
viper.ReadInConfig()
|
||||
viper.ReadInConfig()
|
||||
|
||||
viper.AutomaticEnv() // Get ENVIRONMENT variables
|
||||
|
||||
|
|
@ -28,6 +29,7 @@ func get_config() (config Conf) {
|
|||
config.Timeout = viper.GetInt("TIMEOUT")
|
||||
config.ShoutUrl = viper.Get("SHOUTRRR_URL").(string)
|
||||
config.Theme = viper.Get("THEME").(string)
|
||||
config.OnlyCompareMac = viper.GetBool("ONLY_COMPARE_MAC")
|
||||
|
||||
return config
|
||||
}
|
||||
|
|
@ -37,4 +39,4 @@ func write_config() {
|
|||
viper.SetConfigType("env")
|
||||
viper.Set("THEME", AppConfig.Theme)
|
||||
viper.WriteConfig()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ type Conf struct {
|
|||
Timeout int
|
||||
ShoutUrl string
|
||||
Theme string
|
||||
OnlyCompareMac bool
|
||||
}
|
||||
|
||||
var AppConfig Conf
|
||||
|
|
|
|||
Loading…
Reference in a new issue