diff --git a/src/compare.go b/src/compare.go index 9b1a614..0f4eb4c 100644 --- a/src/compare.go +++ b/src/compare.go @@ -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) } } -} \ No newline at end of file +} diff --git a/src/getconfig.go b/src/getconfig.go index cb80354..365473f 100644 --- a/src/getconfig.go +++ b/src/getconfig.go @@ -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() -} \ No newline at end of file +} diff --git a/src/main.go b/src/main.go index 8441584..efe445c 100644 --- a/src/main.go +++ b/src/main.go @@ -23,6 +23,7 @@ type Conf struct { Timeout int ShoutUrl string Theme string + OnlyCompareMac bool } var AppConfig Conf