fix: udp dial support ip4p

This commit is contained in:
metre.ye 2024-07-09 12:04:25 +08:00
parent 0e228765fc
commit 52e952b76e
2 changed files with 9 additions and 0 deletions

View File

@ -11,6 +11,7 @@ import (
"strconv"
"sync"
"github.com/metacubex/mihomo/component/dialer"
"github.com/metacubex/mihomo/component/resolver"
C "github.com/metacubex/mihomo/constant"
"github.com/metacubex/mihomo/transport/socks5"
@ -108,6 +109,10 @@ func resolveUDPAddrWithPrefer(ctx context.Context, network, address string, pref
}
}
if ip.Is6() && dialer.IP4PEnable {
ip, port = dialer.LookupIP4P(ip, port)
}
if !ip.IsValid() && fallback.IsValid() {
ip = fallback
}

View File

@ -408,3 +408,7 @@ func lookupIP4P(addr netip.Addr, port string) (netip.Addr, string) {
}
return addr, port
}
func LookupIP4P(addr netip.Addr, port string) (netip.Addr, string) {
return lookupIP4P(addr, port)
}