core: mihomo
mihomo 核心
mihomo 是原 Clash.Meta 專案採用的核心名稱,負責代理協定連線、DNS 處理與規則比對;圖形介面只是操作這些功能的入口。不同用戶端可能搭載不同版本的核心,因此介面更新不代表核心也已更新。遇到欄位無法識別或協定不支援時,應查看實際核心版本與啟動記錄,而不是只看應用程式名稱。
# glossary
先釐清概念,再修改設定。依設定所在層級查閱 24 個術語,了解流量如何進入 mihomo、如何比對規則,以及訂閱更新會變更哪些內容。
想跟著步驟操作,可參閱入門指南;想依作業系統查詢,請參閱全平台安裝與設定文件。本文介紹通用概念,個別欄位的支援情況仍須以實際使用的核心與用戶端為準。
# 第 01 類 · core-clients
介面提供操作入口,核心負責處理連線。先確認目前執行的元件,再判斷應在哪裡修改設定。
core: mihomo
mihomo 是原 Clash.Meta 專案採用的核心名稱,負責代理協定連線、DNS 處理與規則比對;圖形介面只是操作這些功能的入口。不同用戶端可能搭載不同版本的核心,因此介面更新不代表核心也已更新。遇到欄位無法識別或協定不支援時,應查看實際核心版本與啟動記錄,而不是只看應用程式名稱。
GUI / profile / settings
用戶端是提供匯入訂閱、選擇節點、查看連線與設定網路接管功能的應用程式,可能內建核心,也可能管理獨立的核心程序。系統代理開關、開機啟動等設定通常儲存在用戶端本機,不一定包含於訂閱檔案中。改用其他用戶端時,即使匯入相同訂閱,這些本機選項也不會自動遷移,須重新檢查權限與接管狀態。
external-controller
外部控制器是核心提供給介面或控制面板使用的管理介面,可用來讀取連線、查看記錄及切換策略組選項。它與應用程式傳送代理請求的連接埠用途不同;將瀏覽器代理指向控制器連接埠,無法提供正常的代理服務。一般應限制為本機存取並設定驗證;若確實需要遠端管理,也須另外規劃存取限制,切勿直接公開至網際網路。
mixed-port
混合連接埠設定可在同一個監聽入口接受 HTTP 代理與 SOCKS 代理連線,應用程式可依自身支援的方式連線。常見設定為 mixed-port: 7890,但實際連接埠應以目前用戶端設定為準,不要直接照抄。連接埠存在不代表流量已接管;還須確認應用程式是否使用該連接埠,以及監聽位址、區域網路存取權限與防火牆是否允許連線。
# 第 02 類 · proxy-protocols
協定決定用戶端如何連線至伺服器。節點標籤相同,不代表驗證、傳輸與安全參數可以互換。
proxies
節點是一組描述代理出口的連線參數,通常包含伺服器位址、連接埠、協定與驗證資訊,也可能包含 TLS、傳輸方式及 UDP 支援設定。節點名稱只是方便辨識的標籤,不能單憑名稱判斷實際出口位置或可用性。選好節點後仍須連線至目標服務進行驗證;同一伺服器上的不同節點,也可能因連接埠或傳輸設定不同而有不同表現。
type: ss
Shadowsocks 透過雙方約定的加密方式與憑證建立代理連線,設定中通常以 type: ss 表示。用戶端與伺服器端的加密方式、密碼及相關外掛參數必須一致;只有伺服器位址正確仍無法建立連線。不同核心支援的加密方式與外掛可能有所差異,匯入失敗時應先核對這些欄位,而非只切換規則模式嘗試修復。
type: vmess
VMess 是使用使用者識別碼等參數進行驗證的代理協定,可搭配 WebSocket 等傳輸方式,並依伺服器端要求啟用 TLS。節點的驗證、傳輸路徑、主機名稱與 TLS 參數須整體一致。連線異常時也應確認裝置時間是否正確;單純更換 DNS 通常無法解決驗證或傳輸欄位不一致的問題。
type: vless
VLESS 是輕量的代理驗證與資料封裝協定,常搭配 TLS 或 REALITY 等安全機制使用;不能只憑協定名稱認定連線已加密。設定中的使用者識別碼、傳輸方式、伺服器名稱及安全層參數都須與伺服器端相符。匯入後若核心提示欄位不支援,應先確認核心功能與設定格式,不要任意刪除安全參數,勉強讓設定載入。
type: trojan
Trojan 通常透過 TLS 連線傳輸代理流量,並使用密碼驗證,設定中也可能包含額外的傳輸參數。伺服器連線位址與 TLS 使用的伺服器名稱是不同概念;位址可連通,不代表憑證驗證一定會通過。遇到憑證錯誤時,先確認主機名稱、裝置時間與伺服器端憑證狀態,不應將略過憑證驗證當成一般排查方式。
# 第 03 類 · rules-routing
規則負責比對目標,策略組提供出口。查看連線記錄時,應一併確認命中的規則與最後使用的節點。
mode: rule / global / direct
規則模式依設定中的規則決定出口;全域模式使用全域策略;直連模式通常不經過遠端代理出口,但仍可能受核心 DNS 等設定影響。這些模式只決定已進入核心的流量如何處理,不負責將所有應用程式的流量送入核心。日常使用通常從規則模式開始;暫時切換至全域模式,可協助區分規則問題與節點問題,但不能取代流量接管檢查。
proxy-groups
策略組會將多個節點或其他策略組合成可供規則引用的出口。規則指向組名後,最終節點由策略組類型與目前狀態決定。select 適合手動選擇;url-test 依探測結果自動選擇;fallback 通常依序選擇可用項目。使用自動策略組不代表每個網站都會走最快路線,探測目標與實際瀏覽目標仍可能不同。
rules / MATCH
一般 rules 清單會由上往下檢查,命中第一條規則後便採用相應策略,同一連線不會再由後續規則重新選擇出口。過於寬泛的規則若排得太前面,可能遮蔽後續較精確的規則,因此自訂規則的位置與內容同樣重要。MATCH 通常放在清單末尾作為兜底;修改後應重新建立連線,再查看命中記錄,已建立的長連線不一定會立即更換出口。
GEOIP / GEOSITE
GeoIP 依據 IP 資料庫分類位址,GeoSite 則依據網域清單分類網站,兩者比對的對象與使用的資料不同。使用 IP 規則時可能須先解析網域,實際行為也會受規則參數與核心設定影響;網域分類與 IP 歸屬並非同一回事。資料庫更新可能延遲,遇到分流錯誤時應確認實際目標與命中規則,再以更精確的規則修正。
rule-providers / RULE-SET
規則提供者透過 rule-providers 管理外部規則集合,再由 RULE-SET 在主要規則清單中引用,方便分別維護不同服務的規則。規則集合的行為類型、檔案格式與內容必須相符;成功下載不代表一定能正確載入。若某項服務突然分流異常,應一併檢查規則集更新時間、載入記錄與引用位置,不要只確認節點是否連線。
# 第 04 類 · dns-network
解析路徑、流量入口與連線出口是三件不同的事。開啟功能後,仍須檢查路由與應用程式本身的網路行為。
DNS query path
DNS 洩漏是指網域查詢繞過預期的解析路徑,送往非預期的解析服務;描述的是查詢送往何處,而非單純網頁能否開啟。系統 DNS、瀏覽器安全 DNS 與應用程式內建解析都可能影響結果,啟用 TUN 也不能取代逐項驗證。排查時應參考查詢記錄、核心 DNS 記錄與接管範圍,不要只憑測試頁顯示的解析服務名稱下結論。
enhanced-mode: fake-ip
Fake-IP 模式會回傳虛擬位址給應用程式,核心則儲存虛擬位址與網域的對應關係;連線進入核心後,再依網域進行分流與後續連線。看到虛擬位址不代表 DNS 設定錯誤,也不能將它當成目標伺服器的真實位址來測試連線。部分區域網路或驗證位址的應用程式可能需要個別處理;應先找出特定網域,再考慮局部排除,避免直接擴大例外範圍。
tun: enable
TUN 透過虛擬網路介面接收 IP 封包,可接管部分不遵循系統代理設定的應用程式,通常需要管理員權限或系統 VPN 授權。實際接管範圍仍取決於路由、排除項目、DNS 與用戶端實作;開關顯示已啟用,不代表所有流量都已接管。啟用後應分別驗證目標應用程式、區域網路存取與 DNS;若發生衝突,先檢查其他 VPN 與虛擬網卡軟體。
system proxy → local listener
系統代理會將作業系統的代理設定指向用戶端本機的監聽位址與連接埠,遵循這些設定的應用程式才會將請求交給核心。部分遊戲、命令列工具或使用自訂網路堆疊的應用程式可能忽略系統代理,因此瀏覽器能連線,不代表其他應用程式也已接管。關閉或解除安裝用戶端後若網路異常,應確認系統中是否仍留有代理位址;初次連線可先依照系統代理設定步驟進行驗證。
nameserver / DoH / DoT
DNS 上游是用戶端傳送網域查詢時使用的解析服務,可採用傳統 DNS、DNS over HTTPS 或 DNS over TLS 等傳輸方式。查詢傳輸是否加密,與查詢是透過直連或代理出口送出是兩回事;選用 DoH 不代表解析流量會自動經過代理。若上游使用網域名稱,也涉及首次解析,應一併檢查核心的解析設定與依賴關係,避免無法完成初始解析而形成循環。
# 第 05 類 · subscription-config
先確認訂閱提供哪些內容,再決定要在哪裡修改。更新節點、更新規則與升級用戶端是不同操作。
subscription / profile
訂閱是透過連結分發及更新節點或完整設定的方式,不是一種代理協定,也不代表所有用戶端都能直接辨識相同內容。有些連結提供完整的 Clash YAML,有些只包含節點清單或其他格式;匯入前應確認服務提供者標示的適用類型。訂閱連結可能含有存取憑證,切勿公開貼在截圖、記錄或線上轉換工具中;操作方式請參閱匯入訂閱連結。
config.yaml
YAML 是以縮排表示層級的文字格式,Clash 設定透過它整理節點、策略組、規則與 DNS 等項目,縮排應使用空格而非定位字元。編輯時須維持同層級欄位對齊,含特殊字元的值應加上正確引號,新增清單項目也須放在正確層級。語法可解析不代表目前核心支援所有欄位;儲存後仍應檢查載入記錄與實際生效的設定。
proxy-providers / use
代理提供者透過 proxy-providers 管理外部節點集合,再由策略組透過 use 引用,方便將節點來源與本機規則分開維護。它與完整訂閱設定不同;單獨取得節點集合,不代表已備妥可用的策略組、規則與 DNS 設定。新增提供者後,應檢查取得狀態、內容格式與策略組引用;即使檔案下載成功,節點仍可能未出現在目標策略組中。
delay / test URL / timeout
延遲測試通常會測量用戶端經由特定節點連線至指定探測位址所需的時間,結果會受探測目標、伺服器負載與目前網路路徑影響。數值較低不代表下載頻寬較高;顯示逾時也可能只是探測位址無法連線,不表示所有服務都無法使用。選擇節點時,應將測試結果與實際目標的連線情況一併考量,再查看連線面板是否使用預期出口;詳情請參閱節點延遲測試與驗證。
update / override / merge
訂閱更新會重新取得遠端內容;設定覆寫通常會在載入時合併或修改部分欄位,兩者分別用於更新內容與自訂本機設定。直接編輯下載後的訂閱檔案,修改可能在下次更新時被覆蓋;使用覆寫功能時,也須確認它是附加清單、合併物件還是完整取代。不同用戶端的合併順序不盡相同,更新前應保留本機修改紀錄,更新後再確認最終規則與策略組引用是否仍有效。