mihomo 內核 · 規則分流參考站
Clash Verge官網 用戶端下載與設定參考
本站整理 mihomo 內核說明、訂閱匯入步驟與 規則分流寫法,五大平台用戶端與內核檔案的下載入口都集中在下載頁;初次使用依安裝、匯入訂閱、選擇模式、驗證連線四步走完即可。
設定抽屜
五個設定項,決定用戶端怎麼分流
mode、dns、tun、proxy-providers 與 external-controller 是設定檔中最常被改動的五個段落。左側切換可查看每一段解決什麼問題,右側是對應的 config.yaml 片段。
mode 決定內核拿到一條連線之後怎麼處理。rule 依規則表由上往下比對,命中哪一條就走該條對應的策略;global 把全部流量交給同一個出口,direct 相當於暫時關閉代理。日常維持 rule 即可,只有在判斷「是規則寫錯還是節點不通」時才切到 global 做對照。用戶端介面上的模式開關改的就是這一行,切回 rule 之後要確認策略組裡至少有一個可用節點,否則命中 PROXY 的連線會直接失敗。
mode: rule # rule / global / direct log-level: info ipv6: false
dns 段決定網域由誰解析、走哪條鏈路。enhanced-mode 設成 fake-ip 時,內核先回傳一個虛擬位址給應用程式,真實解析在代理鏈路裡完成,明文查詢不會出現在本機網路;設成 redir-host 則先解析再連線,相容性更好但更容易被中間設備看到。nameserver 填加密解析位址(DoH 或 DoT),fallback 用來接住被汙染的回應結果。改完這一段建議重新啟動內核,只重新載入設定有時不會重建解析快取。
dns: enable: true enhanced-mode: fake-ip nameserver: - https://223.5.5.5/dns-query fallback: - tls://1.1.1.1:853
tun 由內核建立一塊虛擬網卡,把系統層級的流量整體接管,不再依賴應用程式是否遵守系統代理設定。終端機指令、容器、遊戲用戶端這類不讀代理設定的程式,只有開啟 tun 之後才會走規則。開啟前先確認權限:Windows 需要以管理員身分執行,macOS 首次開啟會要求授權安裝網路元件。stack 選 gvisor 相容性最好,system 借用系統協定堆疊、吞吐量更高,但個別系統上會和防火牆衝突。不需要接管全域流量時保持關閉即可。
tun: enable: true stack: gvisor # gvisor / system / mixed auto-route: true dns-hijack: - any:53
proxy-providers 把訂閱連結從 proxies 裡拆出來,交給內核依固定間隔取得,多個策略組可以共用同一份節點集合,訂閱換位址時只改這一處。health-check 決定可用性偵測的位址與間隔,偵測失敗的節點在策略組裡會被暫時跳過;path 指定快取檔案位置,取得失敗時內核繼續用上一次的快取,不會因為一次網路抖動就把節點清空。interval 的單位是秒,設得太短會被訂閱服務限流,一般從 3600 起。
proxy-providers: sub-a: type: http url: "https://example.com/api/v1/client/subscribe?token=xxxx" interval: 3600 path: ./providers/sub-a.yaml health-check: enable: true url: https://www.gstatic.com/generate_204 interval: 300
external-controller 是內核對外開放的控制介面,用戶端介面、第三方面板與指令碼靠它讀取目前策略、切換節點、查看連線清單。GUI 用戶端啟動內核時會自動寫入這一行並產生隨機金鑰,手動部署內核時才需要自己指定。預設監聽 127.0.0.1:9090,只有本機能存取;要放到區域網路或伺服器上,必須同時設定 secret,否則同網段任何人都能改你的分流規則與節點選擇。
external-controller: 127.0.0.1:9090 secret: "your-password"
平台入口
依系統選擇用戶端
五個平台各自都有仍在更新的用戶端。下載頁依平台列出全部可選型號、系統需求與安裝說明,內核檔案則獨立成區。
開源生態
內核、用戶端與規則集的維護界線
同一份設定檔可以被不同用戶端驅動,因為真正解析它的是內核。釐清三層各自負責什麼,更換用戶端或內核時就不必把規則重寫一遍。
用戶端與內核是兩層
mihomo 負責解析設定、建立連線、執行規則;Clash Verge Rev、FlClash 這類用戶端負責介面、訂閱管理與內核行程的啟停。同一個內核可以被不同用戶端驅動,設定檔格式一致,更換用戶端時把 profile 匯出再匯入即可,規則與策略組不需要重寫。
分支關係與設定相容性
原版 Clash 內核已經停止維護,社群在其設定格式上持續開發,形成 Meta 與 mihomo 這條分支,新增 VLESS、Hysteria2、TUIC 等協定支援,以及 rule-providers、proxy-providers 這類設定能力。目前仍在更新的用戶端基本上都以 mihomo 為內核,設定檔裡能寫哪些欄位,以 mihomo 的文件為準。
規則集是獨立維護線
分流規則被拆成網域、IP、行程等類型的清單檔案,由不同專案分別維護,內核透過 rule-providers 視需要取得。這樣更新規則不需要改動設定檔,用戶端只要保留參照即可。挑選規則集時看更新頻率與分類粒度,比看項目總數更有意義。
更新機制分三層
用戶端的更新分三層:介面、內核、訂閱與規則集。多數用戶端把內核當作可更換元件,設定裡能指定版本或手動替換二進位檔;訂閱與規則集則依各自設定的間隔定時取得。出現連線異常時,先確認三層的設定與時間是否對得上,再去看具體錯誤訊息。
常見問題精選
入門前最常遇到的四個問題
這裡收錄最常被問到的四則,完整的分類問答在常見問題頁,術語解釋在術語手冊。
訂閱更新失敗先檢查什麼
先確認訂閱連結本身能在瀏覽器裡開啟並回傳內容,再回到用戶端看更新日誌與時間戳記。多數失敗是連結過期、網域被本機 DNS 攔下,或訂閱服務暫時限流;把連結重新匯入一次,通常能排除快取與舊設定的干擾。
用戶端顯示已連線但網頁打不開
依序查三個地方:dns 段是否啟用並指向加密解析、模式是否被切到 direct、連線日誌裡目標網域命中了哪條規則。三項都正常時,再換一個節點驗證是不是出口本身的問題。
rule 模式和 global 模式有什麼差別
rule 依規則表逐條比對,不同網域走不同出口;global 把全部流量交給同一個出口。模式只改變內核的處理方式,不影響節點本身,排解問題時切到 global 做對照最快。
自訂規則寫在設定檔的哪一段
寫在 rules 段,語法是「類型,比對內容,策略名稱」三個部分。規則多了可以拆成獨立的規則集檔案,用 rule-providers 引入,這樣更新規則不必改動主設定檔。
技術筆記
近期的排解與選型記錄
依問題類型整理的長文:平台入門、用戶端比較、停止更新後的移轉與憑證排解,每篇都給出可以照著做的步驟。
iOS 入門:從 App Store 取得用戶端與設定匯入完整步驟
整理 iOS 端從 App Store 搜尋、區域差異到訂閱連結匯入、視需要開啟的設定流程,並說明首次連線後如何確認規則分流是否生效。
閱讀全文 →用戶端停止更新之後:設定匯出、內核替換與替代方案
用戶端停止維護不等於設定作廢。先匯出 profile 與規則,再依平台選擇仍在更新的用戶端,或直接改用 mihomo 內核,並附上移轉前後的檢查清單。
閱讀全文 →主流 Clash 用戶端橫向比較:依平台與使用習慣選型
從內核版本、平台涵蓋、設定方式與更新節奏四個面向比較主流用戶端,並給出 Windows、macOS、行動裝置與桌面端的選型建議,避免裝完才發現不合用。
閱讀全文 →