[client] Replace iOS DNS IsPrivate heuristic with route manager check (#5694)

This commit is contained in:
Viktor Liu
2026-03-26 18:11:05 +08:00
committed by GitHub
parent a8b9570700
commit 145d82f322
5 changed files with 35 additions and 3 deletions

View File

@@ -499,6 +499,17 @@ func (e *Engine) Start(netbirdConfig *mgmProto.NetbirdConfig, mgmtURL *url.URL)
e.routeManager.SetRouteChangeListener(e.mobileDep.NetworkChangeListener)
e.dnsServer.SetRouteChecker(func(ip netip.Addr) bool {
for _, routes := range e.routeManager.GetClientRoutes() {
for _, r := range routes {
if r.Network.Contains(ip) {
return true
}
}
}
return false
})
if err = e.wgInterfaceCreate(); err != nil {
log.Errorf("failed creating tunnel interface %s: [%s]", e.config.WgIfaceName, err.Error())
e.close()