PROCESS-NAME 規則:按程式名而不是域名分流
有些程式連的是一堆隨機 IP,域名規則完全抓不住,這時候直接按程序名匹配最省事:
rules:
- PROCESS-NAME,Telegram.exe,Proxy
- PROCESS-NAME,steam.exe,DIRECT
- PROCESS-NAME,curl.exe,Proxy
寫法要點
- Windows 上要帶
.exe字尾,匹配時不區分大小寫,但建議照抄工作管理員「詳細資訊」標籤頁裡顯示的名字; - 它只匹配檔名,不匹配路徑。兩個同名程式區分不開,需要區分時改用
PROCESS-PATH寫完整路徑; - 順序規則照舊——放在
GEOIP和MATCH之前才有機會命中。
為什麼有時候不生效
程序匹配依賴核心去查這條連線屬於哪個程序。直接由程式自己發起的連線沒問題;但如果流量經過了中轉,核心看到的發起方就變成中轉程式本身了。常見的失配場景有三類:WSL2 和虛擬機器裡的程式(發起方是虛擬網絡卡)、部分 UWP 應用(走系統代理服務)、以及被別的代理軟體二次轉發的流量。
不確定程序名怎麼辦
去 Connections 頁面,找一條這個程式產生的連線,看 Process 那一列——核心認到的名字就是它,照抄進規則最穩。這個辦法也能順便確認「到底是不是這個程式在發流量」,有時候你以為是瀏覽器,實際是它的某個輔助程序。