Maint: split Go files in dns package

This commit is contained in:
Quentin McGaw (desktop)
2021-07-23 18:55:53 +00:00
parent d9ca0deb08
commit 9436f604ba
8 changed files with 322 additions and 267 deletions

36
internal/dns/plaintext.go Normal file
View File

@@ -0,0 +1,36 @@
package dns
import "github.com/qdm12/dns/pkg/nameserver"
func (l *looper) useUnencryptedDNS(fallback bool) {
settings := l.GetSettings()
// Try with user provided plaintext ip address
targetIP := settings.PlaintextAddress
if targetIP != nil {
if fallback {
l.logger.Info("falling back on plaintext DNS at address " + targetIP.String())
} else {
l.logger.Info("using plaintext DNS at address " + targetIP.String())
}
nameserver.UseDNSInternally(targetIP)
err := nameserver.UseDNSSystemWide(l.resolvConf, targetIP, settings.KeepNameserver)
if err != nil {
l.logger.Error(err.Error())
}
return
}
provider := settings.Unbound.Providers[0]
targetIP = provider.DoT().IPv4[0]
if fallback {
l.logger.Info("falling back on plaintext DNS at address " + targetIP.String())
} else {
l.logger.Info("using plaintext DNS at address " + targetIP.String())
}
nameserver.UseDNSInternally(targetIP)
err := nameserver.UseDNSSystemWide(l.resolvConf, targetIP, settings.KeepNameserver)
if err != nil {
l.logger.Error(err.Error())
}
}