什麼情境適合用 PROCESS-NAME?
若您的目標是「同一台電腦上,不同程式走不同出口」,而域名規則又太寬或太碎(例如某遊戲同時連到大量 CDN、或下載器域名隨版本變動),PROCESS-NAME 可以把決策點收斂到誰發起了連線。典型情境包括:只讓 chrome.exe/msedge.exe 對外走代理,本機同步盤與視訊會議維持直連;或某開發工具、遊戲反作弊環境忽略系統代理,改由 TUN 接管後再用進程規則精準指定策略組。
請注意:PROCESS-NAME 不是「萬用替身」,若程式沒有經過 Mihomo 能看見的出站路徑(例如未開 TUN、或流量根本沒進核心),規則永遠不會命中。它與「全域/規則模式」的關係是:mode: rule 決定是否走規則表;進程類型規則只是規則表中的一列,與 DOMAIN、GEOSITE 等並列,仍遵守由上而下第一筆命中的順序。
1前置:TUN、find-process-mode 與規則模式
在 Mihomo 官方文件中,行程比對由根層級的 find-process-mode 控制,可選 strict(預設,由核心判斷是否啟用)、always(強制比對所有行程)或 off(完全不比對,路由器場景常用)。要讓 PROCESS-NAME 在桌面作業系統上穩定有資料可用,實務上多會搭配已啟用的 TUN,讓應用程式流量進入核心可掛勾的路徑;僅依賴「瀏覽器手動指向本機 HTTP 埠」時,有些連線根本不會帶上可供比對的行程資訊。
建議先完成圖形客戶端或設定檔中的 TUN 開啟與開機自啟流程,再回來寫進程規則。Windows 讀者可從 Clash Verge Rev TUN 模式完整開啟教程 對照;若您仍卡在系統代理寫入,亦可參考 Windows 安裝與訂閱匯入 與 UWP 與 Loopback 相關排查。macOS 讀者若遇鑰匙圈或 Helper 權限問題,可先讀 macOS 系統代理逐步排查,再啟用 TUN 疊加進程規則。
提醒:TUN 會改寫路由與 DNS 走向,與其他 VPN、企業安全客戶端並存時請留意優先順序;調整期間建議保留一條不中斷的管理路徑(例如本機直連路由器後台),避免把自己鎖在錯誤路由之外。
2PROCESS-NAME 語法與規則順序
在 rules: 區段中,每一列都是「條件 → 策略組或內建動作」。PROCESS-NAME 的基本形狀為:PROCESS-NAME,<行程名稱>,<POLICY>,其中 <POLICY> 必須對應您設定檔裡存在的 proxy-groups 名稱(或 DIRECT/REJECT 等內建值)。Mihomo 另支援 PROCESS-NAME-WILDCARD、PROCESS-NAME-REGEX,以及以完整路徑匹配的 PROCESS-PATH 與 PROCESS-PATH-WILDCARD、PROCESS-PATH-REGEX,可在「同名執行檔多份」時縮小範圍。
規則由上而下只命中第一筆。實務上常把「最精確、最想例外處理」的列放在前面:例如先寫進程規則,再放寬鬆的 GEOSITE/GEOIP,最後才是 MATCH。若您把一條很寬的域名規則放在 PROCESS-NAME 之前,且該連線已先被域名規則吃掉,後面的進程規則就不會再被評估。
3Windows:執行檔名與大小寫
在 Windows 上,多數情境請以工作管理員或資源監視器中看到的「名稱」欄為準,通常會是帶副檔名的執行檔,例如 chrome.exe、firefox.exe、Telegram.exe。撰寫規則時請注意:副檔名與大小寫是否與實際行程一致,錯一個字元就不會命中。若同一台機器上有多個瀏覽器或不同通道的同名程式,可改用 PROCESS-PATH 指到完整安裝路徑,降低誤判。
下載器、遊戲啟動器常會再拉子行程更新或反作弊模組;若日誌顯示命中的是另一個 .exe,規則也要對應調整,而不是只寫主程式。遇到怎麼改域名規則都不像預期時,請在客戶端連線日誌中搜尋 Process( 或類似欄位,確認核心實際辨識到的名稱後再寫入 YAML。
4macOS:行程名稱與 .app 的對照
macOS 上顯示給使用者的 App 名稱(例如「音樂」)與實際行程名稱未必相同。建議以「活動監視器」中的程序名稱欄,或終端機的 ps 輸出為準;部分應用會以單一 Unix 可執行檔名稱出現,例如瀏覽器相關行程。若規則怎麼寫都不命中,優先核對:是否已啟用 TUN、該 App 的流量是否確實經過 Mihomo、以及名稱是否含空白或大小寫差異。
與 Windows 類似,當多個版本或測試通道並存時,PROCESS-PATH 指向 /Applications/... 底下具體二進位,通常比單靠名稱更穩。regex 與萬用字元型規則威力強,但也更容易誤傷;建議先在 info 或 debug 日誌級別下驗證命中,再收斂到正式環境。
5可複製的設定骨架(示意)
下列片段僅為結構示意:請將 PROXY_BROWSER、PROXY_GAME 等替換成您自己的策略組名稱,並與既有 proxies/proxy-groups 對齊。註解一律使用英文,避免部分解析器對非 ASCII 註解相容性不一。
# Snippet — merge into your full config; replace policy group names
mode: rule
log-level: info
find-process-mode: strict
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
# dns / proxies / proxy-groups — keep your existing blocks
rules:
# High-priority: per-process exceptions (examples)
- PROCESS-NAME,chrome.exe,PROXY_BROWSER
- PROCESS-NAME,msedge.exe,PROXY_BROWSER
- PROCESS-NAME,firefox.exe,PROXY_BROWSER
- PROCESS-PATH,C:\Program Files\Company\GameLauncher\Game.exe,PROXY_GAME
# Your usual domain / GEOIP / rulesets ...
- GEOIP,private,DIRECT,no-resolve
- MATCH,PROXY_DEFAULT
若您懷疑 strict 下仍常出現「找不到行程」的除錯訊息,可在充分理解效能與相容性的前提下,改試 find-process-mode: always 做對照實驗;路由器或僅做埠轉發的裝置則應維持 off。Linux 桌面若自行跑 Mihomo 服務,亦可能遇到 systemd 與行程查詢相關議題,可延伸閱讀 Linux Mihomo TUN 與 systemd 教學 與上游 Issue 討論。
與 DNS、FakeIP 的關係
進程規則決定的是連線要送到哪個策略組;若 DNS 解析與 FakeIP 映射仍與規則不一致,仍可能出現「規則顯示命中代理,但實際連線行為怪異」的現象。建議將進程規則與 Meta 核心 DNS 防洩漏指南 一併閱讀,確認 dns.enable、enhanced-mode 與 tun.dns-hijack 是否與您的分流目標一致;一次只調整「進程規則」或「DNS」其中一類,較容易從日誌收斂問題。
排查:規則沒命中時怎麼辦?
先看日誌與命中列
將 log-level 暫時調到 debug(除錯完記得改回),觀察每一條 TCP 連線是否帶有行程資訊、以及最終命中哪一條規則。若日誌中完全沒有行程欄位,回到第一節檢查 TUN 與 find-process-mode,而不是急著堆更多 PROCESS-NAME。
再查規則順序與策略組名稱
圖形介面顯示的「節點選擇」中文名,與 YAML 內英文策略組名不一致時,最常見症狀是規則載入失敗或默默落到 MATCH。請以設定檔中的實際字串為準,必要時全文搜尋 proxy-groups: 區塊核對拼字。
最後才調整 tun.stack 與防火牆
若僅特定 UDP 或 P2P 行為異常,可再嘗試 gvisor 或 mixed 堆疊;同時確認本機防火牆或其他安全軟體未攔截 TUN 介面。此類調整與 TUN 教學 中的注意事項高度重疊。
小結:進程分流的穩定度=「流量有進核心」×「名稱/路徑寫對」×「規則順序合理」×「DNS 與策略一致」。四項都成立時,PROCESS-NAME 才會變成長期可維護的工具,而不是一組難以解釋的魔法列。
開源資訊與安裝包取得方式
Mihomo 上游以開源形式維護,若您需要查閱授權條款、原始碼或提交議題,GitHub 仍是合適的資訊來源。日常安裝或更新圖形客戶端,建議優先使用 本站 Clash 下載頁,並搭配 設定說明文件 理解模式與名詞;將「取得安裝包」與「閱讀開源倉庫」分開,可避免讀者誤以為必須自行從 Release 頁拼裝環境。
結語
PROCESS-NAME 把「誰在連線」變成可讀的規則語言,補足了純域名分流難以覆蓋的縫隙:在 Windows 與 macOS 上,只要記住TUN 與 find-process-mode 是地基,再處理好執行檔名/路徑與規則順序,就能穩定做到「瀏覽器走代理、其餘直連」或「鎖定單一頑固程式」這類高意圖需求。相較於只靠全域切換,這種寫法長期維護成本通常更低,也更符合實際桌面工作流。
若您已能跑通域名規則與策略組,下一步把進程列補在正確深度,並用日誌驗收,就能把 Clash Meta 的表達力用滿。相較於零散工具鏈,同一套 Mihomo 規則表可與本站 TUN、DNS、WSL2 等文章銜接成完整知識鏈。