Clash 核心
負責讀取設定、建立代理連線、開放本機連接埠並執行規則比對的核心程式。圖形用戶端通常只是控制層,實際流量處理仍由核心完成。排查啟動失敗時,應分別查看用戶端介面日誌與核心執行日誌,避免將兩者視為同一個程序。
先依問題所在環節進入分類。遇到設定錯誤時查閱訂閱與設定;能連線但分流不符時查閱規則與策略群組;應用程式未被接管時查閱代理與通道或平台整合。
區分負責處理網路流量的核心、承載操作介面的用戶端,以及兩者共用的設定與資料目錄。
負責讀取設定、建立代理連線、開放本機連接埠並執行規則比對的核心程式。圖形用戶端通常只是控制層,實際流量處理仍由核心完成。排查啟動失敗時,應分別查看用戶端介面日誌與核心執行日誌,避免將兩者視為同一個程序。
Clash Meta 後續持續維護的代理核心專案,涵蓋規則分流、TUN、DNS 強化與多種協定能力。部分用戶端會在設定中將其標示為 Meta 核心或 mihomo 核心。用戶端版本號與 mihomo 版本號屬於兩套發布紀錄,比較功能時需要分別確認。
封裝代理核心並提供視覺化操作入口的桌面或行動應用程式,例如匯入訂閱、切換策略、檢視日誌與控制系統代理。不同用戶端即使使用相同核心,設定目錄、權限申請與系統整合方式也可能不同。更換用戶端前應先確認原有設定是否能直接匯入。
儲存 YAML 設定、規則集、GeoIP 資料、快取與日誌的本機目錄。圖形用戶端可能為每份設定建立獨立子目錄,也可能在更新時產生暫存檔。排錯時先從執行日誌確認實際載入路徑,再修改對應檔案,避免編輯未啟用的副本。
說明流量如何進入核心、如何連線至遠端節點,以及系統代理與 TUN 在接管範圍上的差異。
設定中用於建立遠端代理連線的一筆伺服器資料,通常包含位址、連接埠、協定與驗證參數。節點名稱只是顯示標籤,不能據此判斷線路品質或實際位置。節點無法使用時,應結合連線日誌區分 DNS 失敗、握手失敗、驗證錯誤與遠端逾時。
從用戶端向測試目標發出要求到收到結果所經歷的時間,通常以毫秒表示。延遲結果會受測試位址、網路壅塞、遠端負載與測試方式影響。低延遲不一定代表高頻寬,實際傳輸速度還取決於封包遺失、線路容量與目標網站回應。
將作業系統的 HTTP、HTTPS 或 SOCKS 代理設定指向 Clash 的本機監聽連接埠。瀏覽器與多數遵循系統網路設定的桌面應用程式會使用這條路徑,但自行實作網路堆疊的程式可能繞過它。系統代理已啟用而應用程式仍直連時,應先檢查應用程式本身的代理設定。
透過虛擬網路介面接收系統 IP 流量,再由核心判斷直連或代理。它通常能接管不讀取系統代理設定的應用程式,也會改變 DNS 與路由的排錯路徑。啟用時需要相應的系統權限,並應檢查虛擬網卡、路由表及其他網路工具是否衝突。
說明連線如何從比對條件進入策略群組,以及規則順序、外部規則集與地區資料如何影響結果。
依網域、IP、程序或規則集比對連線,再將連線交給指定的策略群組。多數設定會由上而下檢查規則,先比對到的項目先執行,因此較具體的規則通常應放在較寬泛的規則之前。出現分流錯誤時,應從日誌確認命中的規則類型與目標策略。
將多個節點或其他策略群組組織成一個邏輯出口,可採用手動選擇、自動測試、負載分配或故障轉移等方式。規則通常指向策略群組,使節點變更時不必逐條修改規則。巢狀策略群組過多會增加排錯層級,需要逐層確認最終出口。
依用途維護的一組網域、IP 網段或其他比對條件,可從本機檔案或遠端位址載入。規則集能讓主要設定保持精簡,也方便獨立更新。遠端下載失敗時,用戶端可能繼續使用快取版本,因此應同時核對更新時間、下載日誌與實際命中結果。
依 IP 位址所屬地區進行比對的資料與規則類型,常用於處理已解析為 IP 的連線。它不是即時定位服務,結果取決於本機資料庫內容。Clash GeoIP 更新後需要確認核心已讀取新檔案,過時資料可能使新分配的位址套用到錯誤策略。
DOMAIN-SUFFIX先處理具體網域範圍PROCESS-NAME再依應用程式程序補充分流GEOIP處理已解析的地區 IP 範圍MATCH承接前面未比對到的連線區分遠端訂閱、目前設定、YAML 文字格式與外部節點提供器,定位匯入與解析階段的問題。
由服務提供者發布並可定期更新的遠端設定來源。Clash 訂閱連結匯入成功,只代表用戶端已儲存位址;還需要完成網路要求、內容下載與設定解析,節點才會出現在介面中。訂閱失敗時應分別檢查回應狀態、回傳內容與解析日誌。
Clash 設定常用的文字序列化格式,透過縮排表達物件與清單層級。定位字元、縮排不一致、遺漏空格或特殊字元未正確引用,都可能造成解析失敗。手動編輯時應維持原有層級,每次只修改少量內容並重新執行設定檢查。
描述監聽連接埠、代理節點、策略群組、規則、DNS 與 TUN 參數的 YAML 文件。用戶端可以儲存多份設定,但執行時只會載入目前啟用的項目。修改後未生效時,應確認檔案已儲存、設定已重新載入,並檢查介面顯示的目前設定名稱。
從外部檔案或遠端位址載入一組代理節點的設定機制,可設定更新間隔、快取路徑與健康檢查。它讓節點來源與主要設定分離,適合組合多個來源。提供器載入失敗時,引用它的策略群組可能為空,應先查看提供器狀態,而不是只測試策略群組。
說明網域解析如何進入 Clash、Fake-IP 與 Redir-Host 的差異,以及 DNS 洩漏與分域解析的檢查方向。
連線流量已經經過代理,但網域查詢仍沿著系統預設解析路徑傳送的現象。它可能暴露造訪的網域,也可能造成解析結果與代理出口地區不一致。檢測時應結合瀏覽器測試、系統 DNS 設定、TUN 狀態與核心日誌判斷,單次網頁結果不足以定位原因。
核心先為網域回傳保留位址,再於連線階段將該位址映射回原始網域並執行規則比對的 DNS 強化方式。它有助於保留網域資訊,但部分區域網路裝置、遊戲或特殊應用程式可能不接受這種結果。遇到相容性問題時,可為特定網域設定排除範圍。
直接回傳真實解析結果的 DNS 強化方式,後續連線主要使用真實 IP。其網路表現更接近一般 DNS,但網域資訊可能在連線階段遺失,導致部分網域規則需要依賴嗅探或其他機制補充。切換模式後應清除舊 DNS 快取再測試。
依網域條件指定解析伺服器的設定項目,可將不同網域交給不同 DNS 路徑。它常用於分域解析、區域網路網域或特定規則集。設定時需要同時核對主要 nameserver、fallback 與比對條件,避免多個設定互相覆蓋而產生意外結果。
涵蓋背景服務、虛擬網卡、程序識別與繞過範圍,處理用戶端介面之外的作業系統網路行為。
以作業系統背景服務方式啟動核心或輔助元件的執行形態,即使關閉使用者介面,仍可繼續提供網路處理。服務可能使用獨立帳戶、權限與工作目錄。介面狀態與實際代理狀態不一致時,應檢查服務程序、啟動參數及其讀取的設定路徑。
TUN 模式建立或使用的邏輯網路介面,用來接收路由至 Clash 的 IP 流量。它會參與系統路由選擇,但不對應實體網路連接埠。介面建立失敗時應檢查管理員權限、驅動程式狀態、殘留路由,以及 VPN 或虛擬化軟體的網路元件。
依發起連線的程式名稱或可執行檔路徑選擇規則的比對方式,適合讓特定應用程式使用獨立策略。它依賴系統提供程序資訊,在容器、背景服務與部分行動平台上可能受到限制。規則未命中時,應確認日誌中識別到的實際程序名稱。
指定不交由系統代理處理的網域、位址或網段,常用於區域網路裝置、開發位址與系統內部服務。範圍過窄可能影響本機資源存取,過寬則會讓原本應經過代理的要求直接連線。修改後應分別驗證區域網路位址與外部目標。