This commit is contained in:
Pascal Fischer
2023-10-23 18:31:40 +02:00
parent c4c59ed3a7
commit de46393a7c
15 changed files with 170 additions and 193 deletions
+24 -1
View File
@@ -1,5 +1,12 @@
package dns
import (
"strconv"
"strings"
log "github.com/sirupsen/logrus"
)
type iosHostManager struct {
dnsManager IosDnsManager
config HostDNSConfig
@@ -12,7 +19,23 @@ func newHostManager(wgInterface WGIface, dnsManager IosDnsManager) (hostManager,
}
func (a iosHostManager) applyDNSConfig(config HostDNSConfig) error {
a.dnsManager.applyDns("bla")
var configAsString []string
configAsString = append(configAsString, config.serverIP)
configAsString = append(configAsString, strconv.Itoa(config.serverPort))
configAsString = append(configAsString, strconv.FormatBool(config.routeAll))
var domainConfigAsString []string
for _, domain := range config.domains {
var domainAsString []string
domainAsString = append(domainAsString, strconv.FormatBool(domain.disabled))
domainAsString = append(domainAsString, domain.domain)
domainAsString = append(domainAsString, strconv.FormatBool(domain.matchOnly))
domainConfigAsString = append(domainConfigAsString, strings.Join(domainAsString, "|"))
}
domainConfig := strings.Join(domainConfigAsString, ";")
configAsString = append(configAsString, domainConfig)
outputString := strings.Join(configAsString, ",")
log.Debug("applyDNSConfig: " + outputString)
a.dnsManager.ApplyDns(outputString)
return nil
}
+1 -1
View File
@@ -21,7 +21,7 @@ type ReadyListener interface {
// IosDnsManager is a dns manager interface for iosß
type IosDnsManager interface {
applyDns(string)
ApplyDns(string)
}
// Server is a dns server interface
+1
View File
@@ -217,6 +217,7 @@ func (e *Engine) Start() error {
log.Debugf("Initial routes contain %d routes", len(routes))
e.routeManager = routemanager.NewManager(e.ctx, e.config.WgPrivateKey.PublicKey().String(), e.wgInterface, e.statusRecorder, routes)
e.mobileDep.RouteListener.SetInterfaceIP(wgAddr)
e.routeManager.SetRouteChangeListener(e.mobileDep.RouteListener)
switch runtime.GOOS {