A
核心概念
先了解設定從何而來、節點如何選擇,以及三種代理模式如何改變流量出口。這些概念貫穿訂閱匯入、策略切換與日常排查。
- 訂閱
- 由服務提供者發布的遠端設定網址,通常包含節點、策略組與規則資訊。用戶端更新訂閱後,會重新讀取遠端內容並產生可用設定。訂閱不是單一節點,而更像是一份可持續更新的設定來源;更新前手動修改由遠端設定產生的內容,可能會在下次重新整理時被取代。
- 節點
- 設定中可供策略組選用的代理伺服器項目。節點通常包含伺服器位址、連接埠、協定、驗證參數與傳輸選項。節點能夠完成連線,不代表適合所有網路環境;實際選擇還要配合延遲、封包遺失、頻寬、地區與目標服務的可用性。
- 延遲
- 用戶端向節點測試位址發起連線並取得回應所需的時間,通常以毫秒顯示。適合用來快速排除無法連線或回應緩慢的節點,但不等於下載速度,也不能單獨反映長時間連線的穩定性。測試位址、目前網路與節點負載變化都會影響結果。
- 代理模式
- 決定流量如何匹配出口的運作方式。規則模式會逐條判斷規則,全域模式將連線交給統一策略,直連模式則略過代理出口。日常使用通常採用規則模式;全域與直連較適合暫時驗證節點或定位分流問題,不宜只憑模式名稱判斷連線是否已建立。
- 設定檔
- 用於描述連接埠、DNS、節點、策略組與規則的結構化檔案。Clash 設定通常採用 YAML 格式,由用戶端載入後交由核心執行。一份設定能否正常運作,不只取決於語法是否正確,也取決於策略組引用、規則目標與 DNS 參數是否相互對應。
B
協定與傳輸
本機代理入口決定應用程式如何將連線交給 Clash。系統代理、HTTP、SOCKS5 與混合連接埠描述的是本機接入方式,不等同於遠端節點採用的傳輸協定。
- HTTP 代理
- 面向 HTTP 與 HTTPS 應用程式流量的代理入口。應用程式支援手動設定代理時,可以填入用戶端開放的 HTTP 監聽位址與連接埠。HTTPS 內容通常透過 CONNECT 方法建立通道,並不表示本機代理會直接讀取網頁加密內容;應用程式是否遵循系統代理設定,仍由其自身實作決定。
- SOCKS5
- 運作於工作階段層的通用代理協定,可承載多種應用程式連線。相較於只面向網頁請求的代理方式,SOCKS5 常用於瀏覽器、開發工具及支援自訂代理的軟體。設定時還要留意 DNS 是由應用程式在本機解析,還是透過 SOCKS5 交由代理端處理。
- 混合連接埠
- 同時接受 HTTP 與 SOCKS5 連線的本機監聽連接埠。啟用後,不同代理類型可以共用一個連接埠,減少多組連接埠設定造成的混淆。混合連接埠只統一本機入口,不會自動改變規則模式、節點協定或 DNS 接管方式。
- 系統代理
- 由作業系統提供的代理設定入口。用戶端啟用系統代理後,遵循系統設定的瀏覽器與桌面應用程式會將支援的網路請求傳送給 Clash。部分遊戲、命令列工具或自行實作網路堆疊的軟體可能忽略此設定,此時通常需要個別設定代理,或評估是否使用 TUN 模式。
C
規則與策略組
規則負責識別連線,策略組負責決定出口。了解匹配順序與引用關係後,才能判斷問題來自缺少規則、策略選擇錯誤,還是節點本身無法使用。
- 策略組
- 將多個節點、直連選項或其他策略組組織成可供規則引用的出口。手動選擇組允許使用者固定出口,自動測速組會依檢測結果選取候選項,故障切換組則會在目前出口失效時嘗試下一個。策略組可以巢狀使用,但層級過深會增加排查難度。
- 規則分流
- 依據網域、IP、連接埠、程序或規則集決定連線出口的處理流程。Clash 通常會由上至下檢查規則,第一條符合的規則決定該連線交給哪個策略。因此較具體的規則應放在較寬泛的規則之前,否則後面的精細規則可能沒有生效機會。
- 規則集
- 將一組可重複使用的網域或 IP 項目從主要設定中拆分出來,也常稱為 Rule Provider。規則集可以儲存在本機,也可以定期從遠端網址更新,適合維護數量較多的分類項目。主要規則仍需宣告如何引用規則集,以及符合後交由哪個策略組處理。
- MATCH
- 規則清單中的最終備援類型。先前的網域、IP 或規則集皆未符合時,流量會依 MATCH 指定的策略處理,因此通常放在規則末端。如果它出現得太早,後續規則將無法參與匹配;如果完全缺少備援規則,設定行為可能與預期不一致。
- GeoIP
- 依目標 IP 所屬地區進行匹配的地理資料庫機制。規則可以利用 GeoIP 將特定地區的 IP 流量交由直連或指定策略處理。GeoIP 依賴本機資料庫內容,資料庫過舊可能導致新分配的位址區段分類不準確;網域在進入 GeoIP 判斷前,通常還涉及 DNS 解析。
D
DNS 與網路堆疊
網域解析與流量接管是兩條相關但不同的路徑。只啟用代理入口不一定會改變 DNS 的去向,只啟用自訂 DNS 也不代表所有應用程式流量都會經過代理。
- DNS
- 將網域解析為 IP 位址的基礎網路服務。Clash 可以接管 DNS 查詢,並依設定選擇上游伺服器、解析模式、快取策略與分流方式。DNS 設定需要與規則模式配合:網域過早在系統端解析為 IP,可能讓部分只能匹配網域的規則失去判斷依據。
- DNS 外洩
- 網域查詢繞過預期的代理或加密解析路徑,直接傳送給其他 DNS 伺服器的現象。排查時需要同時檢查系統 DNS、用戶端的 nameserver 與 fallback 設定、瀏覽器安全 DNS,以及 TUN 是否接管查詢。檢測結果出現多個解析服務不一定直接等於外洩,關鍵在於請求是否偏離預設路徑。
- Fake-IP
- DNS 模組先向應用程式回傳保留位址池中的對應位址,再由核心還原真實網域並完成規則匹配的模式。這有助於在連線階段保留網域資訊,並統一接管解析請求。部分區域網路裝置、遊戲或依賴真實位址回傳結果的應用程式,可能需要加入 Fake-IP 過濾清單。
- TUN 模式
- 透過虛擬網路介面接管更多系統流量的運作方式。適合無法個別設定代理的應用程式,也能涵蓋部分不遵循系統代理的連線。啟用時需要正確處理管理員權限、路由、DNS 劫持與網卡衝突;遇到斷網時應先關閉 TUN,確認基礎網路是否恢復。
- IPv6
- 用於網際網路定址的新一代網路協定,可與 IPv4 並行存在。在 Clash 中是否啟用 IPv6,應依本地網路、DNS 上游、節點與目標網站的支援情況判斷。如果代理鏈只處理 IPv4,而應用程式優先建立 IPv6 連線,流量路徑可能與預期不同。
E
用戶端與核心
圖形化用戶端負責呈現設定、管理設定並呼叫系統能力,核心則負責實際執行 DNS、規則與連線轉送。區分兩者有助於判斷更新範圍與設定相容性。
- mihomo
- 由 Clash Meta 生態系持續發展的代理核心,負責解析設定、執行規則、處理 DNS 與轉送連線。許多現代圖形化用戶端將 mihomo 作為網路處理核心,介面則提供訂閱、策略與系統設定入口。不同用戶端打包的核心版本與啟用功能可能不同,遷移設定時需要檢查欄位相容性。
- Clash for Windows
- 面向桌面系統的經典 Clash 圖形化用戶端,提供設定管理、系統代理、策略切換與連線檢視入口。此專案已停止維護,現有安裝套件主要用於舊環境查閱與相容。新系統或需要較新核心功能時,可在下載頁比較仍在維護的圖形化用戶端。
- YAML
- Clash 設定檔常用的資料序列化格式,依靠縮排表達層級。編輯時需要保持空格數量一致,並注意冒號後的空格、清單短橫線與字串格式。定位字元、錯位縮排或未正確處理的特殊字元,都可能導致設定無法載入,或欄位被解讀到錯誤層級。
- 外部控制器
- 核心提供給圖形介面或網頁控制面板的管理介面。用戶端透過它讀取執行狀態、切換策略、更新設定並管理連線。此介面可能包含管理權限,應根據使用環境設定監聽位址與存取憑證,避免將管理連接埠暴露在不受信任的網路中。
- 設定覆寫
- 在原始訂閱之外追加、替換或調整部分設定的處理方式。覆寫常用於保留本機 DNS、TUN、連接埠或自訂規則,減少訂閱更新造成的重複編輯。不同用戶端的覆寫順序與語法不完全一致,使用前應確認是合併欄位、追加清單,還是直接替換原值。
- UWP 迴圈存取
- 允許採用 UWP 網路隔離機制的 Windows 應用程式存取本機代理連接埠的系統設定。Microsoft Store 應用程式或部分系統元件無法透過本機代理時,可以檢查其迴圈存取權限。它只解決應用程式存取本機代理的問題,不會修復節點失效、規則錯誤或 DNS 設定異常。