From 33590c4066b561196512138b1a92cb46cb31c906 Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Tue, 27 May 2025 18:26:35 +0800 Subject: [PATCH] fix: destination should unmap before find interface --- component/dialer/dialer.go | 2 +- transport/hysteria/conns/faketcp/tcp_linux.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/component/dialer/dialer.go b/component/dialer/dialer.go index d7e7072a..4402f774 100644 --- a/component/dialer/dialer.go +++ b/component/dialer/dialer.go @@ -73,7 +73,7 @@ func ListenPacket(ctx context.Context, network, address string, rAddrPort netip. } if opt.interfaceName == "" { if finder := DefaultInterfaceFinder.Load(); finder != nil { - opt.interfaceName = finder.FindInterfaceName(rAddrPort.Addr()) + opt.interfaceName = finder.FindInterfaceName(rAddrPort.Addr().Unmap()) } } if rAddrPort.Addr().Unmap().IsLoopback() { diff --git a/transport/hysteria/conns/faketcp/tcp_linux.go b/transport/hysteria/conns/faketcp/tcp_linux.go index fb59cf98..0842b036 100644 --- a/transport/hysteria/conns/faketcp/tcp_linux.go +++ b/transport/hysteria/conns/faketcp/tcp_linux.go @@ -408,7 +408,7 @@ func Dial(network, address string) (*TCPConn, error) { ifaceName := dialer.DefaultInterface.Load() if ifaceName == "" { if finder := dialer.DefaultInterfaceFinder.Load(); finder != nil { - ifaceName = finder.FindInterfaceName(rAddrPort.Addr()) + ifaceName = finder.FindInterfaceName(rAddrPort.Addr().Unmap()) } } if len(ifaceName) > 0 {