System Proxy 的本質是在系統裡登記一條「建議」:請各程式把流量發到 127.0.0.1:7890。瀏覽器等守規矩的程式會照做,但「建議」畢竟不是強制——總有程式不理它。
四類典型「不服管」的程式
- 命令列工具(curl、git、pip、go 等):完全無視 Windows 代理設定。解決:設定環境變數或工具級代理。
- UWP / 商店應用:被系統禁止連線本機回送位址。解決:UWP Loopback 工具解除限制。
- 自帶網路棧的軟體(部分遊戲、辦公用戶端、聊天軟體):直接建立 TCP 連線,不查代理設定。軟體內若有代理選項,手動填
127.0.0.1:7890(SOCKS5 或 HTTP 均可);沒有選項就只能靠 TUN。 - 系統服務與驅動級元件(Windows 更新、時間同步等):執行在服務上下文,不使用使用者代理設定。同樣屬於 TUN 的領域。
通用解法:TUN 模式
以上所有情況,TUN 模式都能解決——它在網路層接管流量,不依賴程式配合。開啟 TUN 後用 Connections 頁面的 Process 列確認目標程式的連線確實進來了。
反向問題:不想讓某軟體走代理
TUN 開啟後所有程式都進代理,個別程式(雲端硬碟、遊戲國服)想讓它直連:
rules:
- PROCESS-NAME,BaiduNetdisk.exe,DIRECT
- PROCESS-NAME,game.exe,DIRECT
還有一種可能:軟體走了別的代理
裝過多個代理工具的電腦上,某軟體可能設定了指向另一個的代理。檢查軟體自身的網路設定,以及系統代理是否被其他工具改寫(General 頁面 System Proxy 開關狀態異常跳動是典型訊號)。
判斷利器:Connections 頁面看不到某程式的任何連線 = 它的流量沒進 Clash(而不是規則問題)。先解決「進不進來」,再談「怎麼分流」。