refactor: 优化UDP远程目标获取

This commit is contained in:
Skyxim
2022-05-26 23:41:09 +08:00
parent 527a602eba
commit 72fb153fe0
3 changed files with 21 additions and 12 deletions

View File

@ -288,14 +288,12 @@ func handleUDPConn(packet *inbound.PacketAdapter) {
}
pCtx.InjectPacketConn(rawPc)
actualProxy := proxy.Unwrap(metadata)
if actualProxy != nil {
if dst, _, err := net.SplitHostPort(actualProxy.Addr()); err == nil {
metadata.RemoteDst = dst
} else {
if addrError, ok := err.(*net.AddrError); ok && strings.Contains(addrError.Err, "missing port") {
metadata.RemoteDst = actualProxy.Addr()
}
addr := rawPc.RemoteDestination()
if dst, _, err := net.SplitHostPort(addr); err == nil {
metadata.RemoteDst = dst
} else {
if addrError, ok := err.(*net.AddrError); ok && strings.Contains(addrError.Err, "missing port") {
metadata.RemoteDst = addr
}
}