有時你想按「是哪個程式」而不是「造訪哪個網站」來分流:讓 Telegram 永遠走代理、讓下載工具永遠直連。PROCESS-NAME 規則就是幹這個的。
寫法
rules:
- PROCESS-NAME,Telegram.exe,節點選擇
- PROCESS-NAME,qbittorrent.exe,DIRECT
- PROCESS-NAME,steam.exe,DIRECT
- PROCESS-NAME,WeChat.exe,DIRECT
處理程序名要寫執行檔全名(含 .exe),大小寫不敏感。不確定處理程序名時,在工作管理員 → 詳細資訊裡檢視,或在 TUN 模式下直接看 Connections 頁面的 Process 列。
關鍵前提:流量裡得「帶著」處理程序資訊
Clash 是透過查詢系統連線表把連線關聯到處理程序的,這在不同接入方式下可靠性不同:
- TUN 模式:可靠。流量在網路層被接管,核心能穩定查到每條連線的歸屬處理程序。想用處理程序規則,建議直接開 TUN。
- 系統代理:不完全可靠。連線來自本機回送,多數情況也能查到,但部分程式(多處理程序架構、服務型處理程序)會關聯失敗,此時處理程序規則不命中,流量落到後續規則。
實用場景
- BT 下載強制直連:避免 P2P 流量進代理(多數服務商明令禁止且浪費流量):
PROCESS-NAME,qbittorrent.exe,DIRECT。 - 指定程式走特定地區:配合專用代理組,如
PROCESS-NAME,game.exe,日本節點。 - 國產軟體全家桶直連:省流量、防風控。
注意事項
- 處理程序規則應放在域名規則之前才能優先生效(想讓它優先的話)。
- 瀏覽器是單一處理程序名,無法用處理程序規則區分「瀏覽器裡的不同網站」——那仍是域名規則的領域。
- UWP 應用的處理程序名可能是通用宿主名,識別效果不佳。
驗證:TUN 模式下開啟 Connections 頁面,Process 列直接顯示處理程序名,命中情況一目瞭然。