diff --git a/listener/sing/sing.go b/listener/sing/sing.go index 08d43425..db578a81 100644 --- a/listener/sing/sing.go +++ b/listener/sing/sing.go @@ -213,10 +213,8 @@ func (h *ListenerHandler) NewPacket(ctx context.Context, key netip.AddrPort, buf rAddr: metadata.Source.UDPAddr(), buff: buffer, } - if conn, ok := common.Cast[localAddr](writer); ok { - cPacket.rAddr = conn.LocalAddr() - } else { - cPacket.rAddr = metadata.Source.UDPAddr() // tun does not have real inAddr + if conn, ok := common.Cast[localAddr](writer); ok { // tun does not have real inAddr + cPacket.lAddr = conn.LocalAddr() } h.handlePacket(ctx, cPacket, metadata.Source, metadata.Destination) }