From a23b66f7213b855f362e64201c71d10c3455eabb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Sat, 17 Jan 2026 18:16:51 +0800 Subject: [PATCH] Skip strict routing on Windows versions below 10 --- tun_windows.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tun_windows.go b/tun_windows.go index 60c43e3..54e7395 100644 --- a/tun_windows.go +++ b/tun_windows.go @@ -184,6 +184,13 @@ func (t *NativeTun) Start() error { return err } if t.options.StrictRoute { + major, _, _ := windows.RtlGetNtVersionNumbers() + if major < 10 { + if t.options.Logger != nil { + t.options.Logger.Warn("strict routing is not supported on Windows versions below 10") + } + return nil + } var engine uintptr session := &winsys.FWPM_SESSION0{Flags: winsys.FWPM_SESSION_FLAG_DYNAMIC} err := winsys.FwpmEngineOpen0(nil, winsys.RPC_C_AUTHN_DEFAULT, nil, session, unsafe.Pointer(&engine))