Feature: sync missing resolver logic from premium, but still net.IP on opensource

This commit is contained in:
Dreamacro
2022-08-13 13:07:35 +08:00
parent 5940f62794
commit 3946d771e5
5 changed files with 129 additions and 43 deletions

View File

@ -180,11 +180,13 @@ func handleUDPConn(packet *inbound.PacketAdapter) {
// local resolve UDP dns
if !metadata.Resolved() {
ip, err := resolver.ResolveIP(metadata.Host)
ips, err := resolver.LookupIP(context.Background(), metadata.Host)
if err != nil {
return
} else if len(ips) == 0 {
return
}
metadata.DstIP = ip
metadata.DstIP = ips[0]
}
key := packet.LocalAddr().String()