From 7da573f1873ec9a4b13a31cd04e7c0f940d309de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Fri, 31 Jul 2026 10:59:25 +0800 Subject: [PATCH] direct: Fix routing loop to exact TUN address on darwin --- protocol/direct/outbound.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/protocol/direct/outbound.go b/protocol/direct/outbound.go index b4e7eba0..e483339a 100644 --- a/protocol/direct/outbound.go +++ b/protocol/direct/outbound.go @@ -108,7 +108,10 @@ func (h *Outbound) fetchMyAddresses() { func (h *Outbound) isMyLoopbackAddress(addresses ...netip.Addr) bool { for _, prefix := range h.myAddresses.Load() { for _, address := range addresses { - if prefix.Addr() != address && prefix.Contains(address) { + if !C.IsDarwin && prefix.Addr() == address { + continue + } + if prefix.Contains(address) { return true } }