diff --git a/dnscrypt-proxy/config.go b/dnscrypt-proxy/config.go index 0218aad5..9a0cfb3a 100644 --- a/dnscrypt-proxy/config.go +++ b/dnscrypt-proxy/config.go @@ -211,7 +211,7 @@ func findConfigFile(configFile *string) (string, error) { return path.Join(pwd, *configFile), nil } -func ConfigLoad(proxy *Proxy, svcFlag *string) error { +func ConfigLoad(proxy *Proxy) error { version := flag.Bool("version", false, "print current proxy version") resolve := flag.String("resolve", "", "resolve a name using system libraries") list := flag.Bool("list", false, "print the list of available resolvers for the enabled filters") @@ -225,9 +225,6 @@ func ConfigLoad(proxy *Proxy, svcFlag *string) error { flag.Parse() - if *svcFlag == "stop" || *svcFlag == "uninstall" { - return nil - } if *version { fmt.Println(AppVersion) os.Exit(0) diff --git a/dnscrypt-proxy/main.go b/dnscrypt-proxy/main.go index 36fd3f65..1343eee9 100644 --- a/dnscrypt-proxy/main.go +++ b/dnscrypt-proxy/main.go @@ -56,9 +56,6 @@ func main() { } app.proxy = NewProxy() _ = ServiceManagerStartNotify() - if err := ConfigLoad(app.proxy, svcFlag); err != nil { - dlog.Fatal(err) - } if len(*svcFlag) != 0 { if svc == nil { dlog.Fatal("Built-in service installation is not supported on this platform") @@ -85,6 +82,9 @@ func main() { dlog.Fatal(err) } } else { + if err := ConfigLoad(app.proxy); err != nil { + dlog.Fatal(err) + } app.signalWatch() app.appMain() } @@ -93,10 +93,15 @@ func main() { } func (app *App) Start(service service.Service) error { - if err := app.proxy.InitPluginsGlobals(); err != nil { - dlog.Fatal(err) - } - go app.appMain() + go func() { + if err := ConfigLoad(app.proxy); err != nil { + dlog.Fatal(err) + } + if err := app.proxy.InitPluginsGlobals(); err != nil { + dlog.Fatal(err) + } + app.appMain() + }() return nil }