diff --git a/client/internal/engine.go b/client/internal/engine.go index 2c08b1415..9b277602b 100644 --- a/client/internal/engine.go +++ b/client/internal/engine.go @@ -199,7 +199,7 @@ func (e *Engine) Start() error { } } - if e.dnsServer == nil { + if e.dnsServer == nil && runtime.GOOS == "android" { // todo fix custom address dnsServer, err := dns.NewDefaultServer(e.ctx, e.wgInterface, e.config.CustomDNSAddress, dnsCfg) if err != nil { @@ -259,6 +259,16 @@ func (e *Engine) Start() error { e.acl = acl } + if e.dnsServer == nil && runtime.GOOS != "android" { + // todo fix custom address + dnsServer, err := dns.NewDefaultServer(e.ctx, e.wgInterface, e.config.CustomDNSAddress, dnsCfg) + if err != nil { + e.close() + return err + } + e.dnsServer = dnsServer + } + e.receiveSignalEvents() e.receiveManagementEvents()