feat(优化逻辑): 优化逻辑
/ build (push) Successful in 5m40s

This commit is contained in:
2026-01-22 22:42:16 +08:00
parent f7e5b9e930
commit be6cd187bb
2 changed files with 17 additions and 3 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ probe -ip 6
probe -s5 127.0.0.1:54321
# 使用自定义服务器STUN协议
probe -s1 stun.miwifi.com:3478
probe -s1 stun.voipia.net:3478
```
# 授权协议
+16 -2
View File
@@ -256,11 +256,25 @@ func DetectNAT(conn net.PacketConn, primarySTUN, secondarySTUN, network string,
}
}
}
respF1, _, _ := performTest(conn, primarySTUN, network, timeout, true, true)
respF1, addrF1, _ := performTest(conn, primarySTUN, network, timeout, true, true)
if respF1 != nil {
if dst, err := resolveAddr(conn, primarySTUN, network); err == nil {
if sAddr, ok := dst.(*net.UDPAddr); ok && addrF1 != nil && sAddr.IP.Equal(addrF1.IP) {
respF1 = nil
}
}
}
if respF1 != nil {
res.Filtering = FilteringEndpointIndependent
} else {
respF2, _, _ := performTest(conn, primarySTUN, network, timeout, false, true)
respF2, addrF2, _ := performTest(conn, primarySTUN, network, timeout, false, true)
if respF2 != nil {
if dst, err := resolveAddr(conn, primarySTUN, network); err == nil {
if sAddr, ok := dst.(*net.UDPAddr); ok && addrF2 != nil && sAddr.Port == addrF2.Port {
respF2 = nil
}
}
}
if respF2 != nil {
res.Filtering = FilteringAddressDependent
} else {