From 910f236696c19b7f52d6bd7fe090f949fa50987c Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Wed, 11 Sep 2024 09:52:21 +0800 Subject: [PATCH] fix: UpdateMonitor should start when AutoDetectInterface enabled --- listener/sing_tun/server.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/listener/sing_tun/server.go b/listener/sing_tun/server.go index e843eae82..15d30a178 100644 --- a/listener/sing_tun/server.go +++ b/listener/sing_tun/server.go @@ -132,7 +132,7 @@ func New(options LC.Tun, tunnel C.Tunnel, additions ...inbound.Addition) (l *Lis if options.GSOMaxSize == 0 { options.GSOMaxSize = 65536 } - if !supportRedirect || !options.AutoRoute { + if !supportRedirect { options.AutoRedirect = false } tunName := options.Device @@ -266,7 +266,7 @@ func New(options LC.Tun, tunnel C.Tunnel, additions ...inbound.Addition) (l *Lis var networkUpdateMonitor tun.NetworkUpdateMonitor var defaultInterfaceMonitor tun.DefaultInterfaceMonitor - if options.AutoRoute { // don't start NetworkUpdateMonitor because netlink banned by google on Android14+ + if options.AutoRoute || options.AutoDetectInterface { // don't start NetworkUpdateMonitor because netlink banned by google on Android14+ networkUpdateMonitor, err = tun.NewNetworkUpdateMonitor(log.SingLogger) if err != nil { err = E.Cause(err, "create NetworkUpdateMonitor")