Fix override address

This commit is contained in:
世界 2025-02-02 23:17:31 +08:00
parent 4eed46ac59
commit 9db2d58545
No known key found for this signature in database
GPG key ID: CD109927C34A63C4
3 changed files with 25 additions and 1 deletions

View file

@ -159,6 +159,12 @@ func (m *ConnectionManager) NewPacketConnection(ctx context.Context, this N.Dial
if natConn, loaded := common.Cast[bufio.NATPacketConn](conn); loaded {
natConn.UpdateDestination(destinationAddress)
}
} else if metadata.RouteOriginalDestination.IsValid() && metadata.RouteOriginalDestination != metadata.Destination {
if metadata.UDPDisableDomainUnmapping {
remotePacketConn = bufio.NewUnidirectionalNATPacketConn(bufio.NewPacketConn(remotePacketConn), metadata.Destination, metadata.RouteOriginalDestination)
} else {
remotePacketConn = bufio.NewNATPacketConn(bufio.NewPacketConn(remotePacketConn), metadata.Destination, metadata.RouteOriginalDestination)
}
}
var udpTimeout time.Duration
if metadata.UDPTimeout > 0 {