34 lines
833 B
Go
34 lines
833 B
Go
package settings
|
|
|
|
import (
|
|
"dns_service/utils"
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
func GetSettings() (map[string]any, error) {
|
|
settings := make(map[string]any)
|
|
data, e := os.ReadFile(os.Getenv("DNSMASQ_CONFIG"))
|
|
if e != nil {
|
|
return settings, e
|
|
}
|
|
dnsmasqSettings := utils.DecodeSettings(string(data), "\n", "=")
|
|
if dnsmasqSettings["cache-size"] != "" {
|
|
cache_size, _ := strconv.ParseInt(dnsmasqSettings["cache-size"], 10, 64)
|
|
settings["cache_size"] = cache_size
|
|
}
|
|
data, e = os.ReadFile(dnsmasqSettings["resolv-file"])
|
|
if e != nil {
|
|
return settings, e
|
|
}
|
|
resolvSettings := utils.DecodeResolvs(string(data))
|
|
settings["resolv"] = resolvSettings
|
|
data, e = os.ReadFile(dnsmasqSettings["addn-hosts"])
|
|
if e != nil {
|
|
return settings, e
|
|
}
|
|
hosts := utils.DecodeHosts(string(data))
|
|
settings["hosts"] = hosts
|
|
return settings, nil
|
|
}
|