mirror of
https://github.com/Mahdi-zarei/nekoray.git
synced 2025-12-26 03:11:21 +08:00
Priorotize IPv4 DNS for windows underlying dns
This commit is contained in:
parent
c77ac7cd00
commit
0d52604e72
@ -73,7 +73,8 @@ func getFirstDNS(luid winipcfg.LUID) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getNameServersForInterface(luid winipcfg.LUID) ([]string, error) {
|
func getNameServersForInterface(luid winipcfg.LUID) ([]string, error) {
|
||||||
nameservers := make([]string, 0, 4)
|
nameserversV4 := make([]string, 0, 4)
|
||||||
|
nameserversV6 := make([]string, 0, 4)
|
||||||
nsAddrs, err := luid.DNS()
|
nsAddrs, err := luid.DNS()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -84,16 +85,25 @@ func getNameServersForInterface(luid winipcfg.LUID) ([]string, error) {
|
|||||||
isSystemDNSAltered = true
|
isSystemDNSAltered = true
|
||||||
}
|
}
|
||||||
if server.IsValid() && server.String() != setMarkAddr && server.String() != dhcpMarkAddr {
|
if server.IsValid() && server.String() != setMarkAddr && server.String() != dhcpMarkAddr {
|
||||||
nameservers = append(nameservers, server.String())
|
if server.Is4() {
|
||||||
|
nameserversV4 = append(nameserversV4, server.String())
|
||||||
|
} else {
|
||||||
|
nameserversV6 = append(nameserversV6, server.String())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if isSystemDNSAltered && len(nameservers) > 0 && nameservers[0] == "127.0.0.1" {
|
if isSystemDNSAltered && len(nameserversV4) > 0 && nameserversV4[0] == "127.0.0.1" {
|
||||||
nameservers = nameservers[1:]
|
nameserversV4 = nameserversV4[1:]
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(nameservers) == 0 {
|
if len(nameserversV4) > 0 {
|
||||||
log.Println("getNameServersForInterface: no nameservers found")
|
return nameserversV4, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return nameservers, nil
|
if len(nameserversV6) > 0 {
|
||||||
|
return nameserversV6, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("getNameServersForInterface: no nameservers found")
|
||||||
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user