核心與用戶端
這組術語用於區分轉送引擎、圖形介面與作業系統接管方式。排障時先確認問題發生在用戶端介面、核心程序,還是系統網路層。
- Clash
-
Clash 是以規則比對、策略分流與本機代理為核心的網路代理工具生態。日常語境中的 Clash 可能指早期核心、相容設定格式,也可能泛指採用相關核心的圖形用戶端。
閱讀文件時應先確認討論對象:用戶端負責介面與系統整合,核心負責連線、解析與轉送。兩者的版本、支援欄位與更新節奏可能不同。
- mihomo
-
mihomo 是由 Clash Meta 演進而來的代理核心。它讀取設定檔,處理代理協定、規則比對、DNS、TUN 接管與控制介面等底層功能。
Clash Verge Rev、FlClash 等圖形用戶端可以呼叫或管理 mihomo,但用戶端名稱不等於核心名稱。確認欄位是否可用時,應同時檢查用戶端整合的核心與設定語法。
- 圖形用戶端
-
圖形用戶端為核心提供設定匯入、策略切換、日誌檢視、系統代理控制與更新管理介面。它通常也負責申請系統權限、儲存使用者偏好並啟動核心程序。
介面顯示連線成功,只表示相關開關或程序已進入預期狀態。實際流量是否經過代理,還要結合系統代理、TUN 路由、規則命中與日誌判斷。
- 系統代理
-
系統代理是作業系統向應用程式公布 HTTP、HTTPS 或 SOCKS 代理位址的機制。瀏覽器與多數遵循系統網路設定的桌面程式會讀取該位址,再將請求送至 Clash 的本機監聽連接埠。
部分遊戲、命令列工具與自行實作網路堆疊的應用程式可能忽略系統代理。此類流量通常需要另行設定代理環境變數,或使用 TUN 模式接管。
- TUN 模式
-
TUN 模式透過虛擬網路介面接收作業系統交給它的 IP 流量,再由核心依據規則決定直連、代理或拒絕。它比系統代理涵蓋更廣,也能處理部分不讀取代理設定的程式。
啟用 TUN 通常需要管理員權限、VPN 權限或相應的系統擴充功能。路由衝突、其他 VPN、虛擬機網卡與防火牆策略都可能影響接管結果。
代理協定
節點條目描述連線至遠端服務所需的參數。協定名稱、傳輸方式與探測延遲分別反映不同面向,不能只根據其中一項判斷可用性。
- 節點
-
節點是設定中用來描述一個遠端代理入口的物件,通常包含伺服器位址、連接埠、協定、驗證參數與傳輸選項。策略組透過節點名稱引用這些物件。
節點名稱主要用於識別,名稱中的地區或倍率資訊由設定提供者定義。是否可用應結合實際連線、目標網站存取與持續穩定性判斷。
- 代理協定
-
代理協定規定用戶端與遠端服務如何建立連線、驗證身分及封裝流量。不同協定對 TLS、傳輸層、UDP、外掛參數及伺服器端實作有不同要求。
設定中的協定欄位必須與伺服器端設定一致。僅修改協定名稱無法完成格式轉換,欄位缺失或參數不符通常會導致握手失敗。
- 延遲
-
延遲通常是指從用戶端送出探測請求到收到回應所經歷的時間,單位為毫秒。用戶端的延遲測試會存取指定 URL,因此結果也受測試位址、DNS 與當時網路路徑影響。
較低延遲不等於更高下載速度,也無法反映長時間封包遺失與頻寬波動。選擇節點時應將延遲作為初步篩選條件,再結合目標服務的實際表現。
- UDP 轉送
-
UDP 轉送表示代理鏈路能處理 UDP 資料報,常見於即時通訊、部分遊戲、QUIC 與 DNS 查詢。它不會建立與 TCP 相同的可靠位元組串流,因此逾時與工作階段管理方式不同。
實際支援情況由核心、代理協定、節點伺服器端與策略組共同決定。節點欄位宣告支援 UDP,不代表鏈路上的所有環節都已正確啟用。
- 多路複用
-
多路複用是在較少的底層連線上承載多個邏輯請求的機制。其目標通常是減少重複握手與建立連線的成本,而不是直接提高線路頻寬。
在封包遺失明顯或伺服器端實作不相容的網路中,多路複用也可能讓多個請求相互影響。是否啟用應依據協定文件與實際測試決定。
策略組與規則
規則決定請求交由誰處理,策略組決定可選擇哪些出口。閱讀規則清單時要保留原有順序,因為先命中的規則通常會終止後續比對。
- 策略組
-
策略組是一組節點、子策略組或內建動作的集合。常見類型包括手動選擇、自動測速、故障切換與負載分配,具體可用類型由核心決定。
規則通常指向策略組名稱,使出口選擇與規則條件彼此分離。如此一來,無須修改規則即可切換節點或更換選擇邏輯。
- 規則分流
-
規則分流依據網域、IP、連接埠、程序或規則集合等條件,將請求交給指定策略組。它讓不同目標採用不同出口,而不是把所有流量固定送往同一節點。
規則通常依宣告順序由上而下比對,較寬泛的條件若放得太前,會遮蔽後續的精確規則。排查分流結果時,應先在連線紀錄中確認實際命中的規則。
- DIRECT
-
DIRECT 表示請求直接透過本機網路連線至目標位址,不交給遠端代理節點。它適合本地網路資源,或明確需要使用目前網路出口的目標。
直連不代表繞過 Clash 的所有處理。請求仍可能經過核心的 DNS、規則判斷或 TUN 路由,最後以本機網路作為出口。
- REJECT
-
REJECT 表示拒絕符合條件的連線或請求。它常用於阻擋指定網域、IP 位址或規則集合中的流量。
被拒絕的應用程式可能表現為連線立即失敗、等待逾時或資源無法載入,具體行為取決於核心回應方式與應用程式的網路實作。排查誤攔截時應檢查規則順序及規則集內容。
- GeoIP
-
GeoIP 使用資料庫將 IP 位址歸入國家或地區代碼,再據此執行規則比對。它適合依網路位址歸屬進行粗略分流。
資料庫記錄會隨位址分配而變動,且內容傳遞網路可能在不同位置回傳不同 IP。GeoIP 結果不應理解為伺服器的精確實體位置。
- MATCH
-
MATCH 是規則清單中的最終兜底條件,用來接收先前都未命中的請求。它通常放在規則區末端,並指向通用策略組或 DIRECT。
如果 MATCH 位於清單前段,後續規則將難以取得比對機會。檢查異常分流時,應確認兜底規則的位置與目標策略。
DNS 與解析
DNS 設定決定網域如何取得位址,也會影響網域規則能否保留足夠資訊。解析路徑與代理路徑是相互關聯、但不能混為一談的兩個階段。
- DNS
-
DNS 是將網域轉換為 IP 位址或其他資源記錄的分散式系統。Clash 核心可以監聽本機 DNS 請求,再依設定將查詢送至不同上游解析器。
DNS 成功只表示取得了解析結果,不代表目標連線一定可用。連線還需經過規則比對、路由選擇、代理握手與目標服務回應。
- Fake-IP
-
Fake-IP 模式會先為網域回傳一段保留位址,並在核心內部記錄該位址與網域之間的映射。應用程式連線至這個保留位址時,核心可還原原始網域,繼續執行規則比對與遠端解析。
這種方式有利於保留網域資訊,但少數依賴真實區域網路位址或進行特殊 DNS 驗證的應用程式,可能需要加入過濾範圍。調整過濾項目時應針對具體網域處理。
- Redir-Host
-
Redir-Host 會先執行一般 DNS 解析,再將實際 IP 回傳給應用程式。後續連線以該位址為基礎進入核心,因此處理路徑與 Fake-IP 不同。
此模式在部分區域網路與特殊應用情境下較直觀,但網域資訊的保留程度可能受嗅探與連線方式影響。切換模式後應重新檢查網域規則的實際命中情況。
- DNS 洩漏
-
DNS 洩漏是指原本預計交由指定解析路徑處理的查詢,被系統、路由器、瀏覽器內建機制或其他網路軟體直接送往不同解析器。它通常反映 DNS 接管範圍與預期不一致。
排查時需要檢查系統 DNS 位址、用戶端監聽連接埠、TUN 的 DNS 劫持設定、瀏覽器安全 DNS 設定以及其他 VPN。只更換一個上游位址通常不足以定位完整鏈路。
- nameserver-policy
-
nameserver-policy依網域條件為 DNS 查詢選擇指定上游解析器。它可用於將不同網域交給不同解析服務,或為特定網域建立固定解析路徑。此欄位處理的是 DNS 查詢去向,不直接決定業務連線使用代理還是直連。連線出口仍由規則與策略組決定。
訂閱與設定
訂閱負責提供或更新內容,YAML 負責描述結構,用戶端覆寫則負責將本機需求疊加至原始設定。三者的來源與生效順序需要分別確認。
- 訂閱
-
訂閱是透過遠端位址取得節點清單或完整設定的更新來源。用戶端會依使用者操作或設定週期重新請求內容,並將結果儲存為可用設定。
訂閱回傳的可能是 YAML、經過編碼的節點清單,或由伺服器轉換後的特定格式。匯入失敗時應先檢查回應內容與狀態,再檢查用戶端支援的欄位。
- YAML
-
YAML 是 Clash 常用的結構化設定文字格式,透過空格縮排表示物件階層,並以短橫線表示清單項目。欄位名稱後的冒號、字串引號與縮排深度都會影響解析。
YAML 不應混用定位字元縮排。同一層級的欄位需要維持一致縮排,包含特殊符號的值可用引號包裹,以減少解析歧義。
- 設定檔
-
設定檔是儲存連接埠、執行模式、DNS、節點、策略組與規則等欄位的 YAML 文件。核心啟動時會讀取設定,並依欄位建立監聽器與轉送邏輯。
圖形用戶端也可能儲存一層獨立於 YAML 的介面設定,例如開機啟動、系統代理開關與核心路徑。複製設定檔不一定會同步這些用戶端偏好。
- 代理集合
-
代理集合通常由
proxy-providers定義,用來從獨立檔案或遠端位址載入一組節點。策略組可以透過 provider 引用這些節點,不必將每個節點重複寫入主設定。集合的更新間隔、儲存路徑、健康檢查與格式需要分別設定。集合載入成功也不代表其中每個節點都能建立連線。
- 覆寫與合併
-
覆寫與合併是用戶端在訂閱內容基礎上追加、替換或組合本機欄位的過程。常見用途包括插入自訂規則、調整 DNS、增加策略組或保留本機連接埠設定。
不同用戶端採用的合併語法與優先順序並不完全一致。同名欄位的最終值取決於處理順序,因此修改後應查看用戶端產生的最終設定,而不只是檢查覆寫片段。