設定閱讀/欄位對照
Clash 術語速查
從用戶端到網路堆疊,釐清名稱、用途與生效條件。先查術語,再對照實際執行設定。
核心與用戶端
核心處理連線,用戶端提供操作介面,系統設定則決定應用程式如何使用代理。排查問題時,先分清這三個層級。
- Clash 核心Proxy engine
- 核心是負責讀取設定、建立代理連線、比對規則及處理 DNS 的網路引擎,圖形介面只是管理方式之一。原始 Clash 與後續衍生核心支援的欄位並不完全相同;舊設定能匯入,不代表每項功能都會生效。遇到欄位錯誤時,應先確認實際執行的核心,再查閱對應的設定文件。
- mihomoFormerly Clash Meta
- mihomo 是承襲自 Clash Meta 專案的開源代理核心,支援規則分流、TUN、Fake-IP 與多種協定。它既可獨立執行,也能由 Clash Verge Rev 等圖形用戶端呼叫。挑選用戶端時,應分別比較介面偏好與核心相容性,不能只看應用程式名稱是否包含 Clash。
- 圖形用戶端GUI client
- 圖形用戶端負責匯入訂閱、切換策略組、顯示記錄、設定開機啟動等日常操作,通常也會管理核心程序與系統代理。介面上的開關可能先寫入用戶端自身設定,再產生執行設定,因此原始訂閱檔中未必找得到同名欄位。挑選時可依作業系統查看用戶端清單,再確認所需功能的設定位置。
- 系統代理System proxy
- 系統代理是作業系統提供給應用程式使用的代理位址設定,通常指向本機核心監聽的 HTTP 或 SOCKS 連接埠。瀏覽器等遵循此設定的應用程式會使用代理,但自行建立網路連線或忽略系統設定的程式可能不會使用。啟用後仍有應用程式直接連線,不一定代表節點失效;應檢查應用程式本身的代理選項,或了解 TUN 接管方式。
- 混合連接埠mixed-port
mixed-port定義可同時接受 HTTP 與 SOCKS 代理連線的本機監聽連接埠,常見範例為7890,但並非固定值。應用程式填寫的連接埠須與核心設定一致,同一位址上的連接埠也不能由其他程序重複使用。這是本機入口,不是遠端節點連接埠;相關設定請參閱連接埠設定。
代理協定
協定規定如何建立連線。伺服器位址、認證資訊、傳輸方式與憑證設定須一併確認。
- 節點Proxy outbound
- 節點是一組代理輸出連線參數,通常包含
server、port、type與認證資訊,並可列在proxies中。節點名稱只是設定中的識別名稱,無法證明伺服器所在地、頻寬或可用性。節點與策略組也不是同一概念:前者定義連線,後者決定從哪些輸出連線中選擇。
- Shadowsockstype: ss
- Shadowsocks 是一種加密代理協定,在 mihomo 中以
type: ss表示,通常須填寫加密方法cipher與密碼。加密方法、伺服器連接埠和密碼須與伺服器端設定一致;部分設定也包含額外的外掛參數。只複製位址與連接埠並不足以完成匯入,缺少協定參數可能導致連線或交握失敗。
- VMesstype: vmess
- VMess 是以 UUID 識別使用者的代理協定,設定類型為
vmess,也可能搭配 WebSocket 等傳輸方式。除了uuid,還應確認network、TLS、要求路徑與主機名稱等欄位。不同傳輸組合的參數不可任意混用;若發生認證或交握錯誤,應對照完整節點設定,而不是反覆更改顯示名稱。
- VLESStype: vless
- VLESS 是一種輕量代理協定,設定中使用
type: vless,通常也以 UUID 作為使用者識別。協定本身不提供流量加密,須搭配 TLS、REALITY 等安全設定判斷實際連線保護方式。節點提供的伺服器名稱、傳輸方式及相關認證參數都應保留,不能只把其他協定設定中的類型名稱改掉就拿來使用。
- Trojantype: trojan
- Trojan 通常透過 TLS 傳輸並以密碼認證,設定中對應
type: trojan。連線除了需要密碼,也可能仰賴正確的sni與伺服器憑證;部分部署還會使用額外傳輸設定。遇到憑證錯誤時,應先檢查系統時間、伺服器名稱與設定來源,不建議長期關閉憑證驗證。
規則與分流
規則負責比對,策略組負責選擇輸出。連線會前往何處,取決於模式、比對順序與策略組中的最終選擇。
- 規則分流mode: rule / rules
- 規則模式會依照
rules由上而下比對連線,符合後使用指定的輸出或策略組;具體網域規則應放在兜底MATCH之前。例如DOMAIN-SUFFIX,example.com,DIRECT表示該網域及其子網域直接連線。DIRECT只是該連線的輸出選擇,並非關閉用戶端;切換至全域模式後,也不能再依規則模式判斷連線去向。
- GeoIPGEOIP
- GeoIP 依據目標 IP 在資料庫中的地理位置進行比對,例如
GEOIP,CN,DIRECT。結果取決於資料更新狀況與目標位址;CDN、跨區部署或資料庫誤差,都可能讓結果與預期不同。加入no-resolve可避免此規則主動觸發網域解析,但若連線尚無可用 IP,也可能無法符合這項條件。
- GeoSiteGEOSITE
- GeoSite 透過預先整理的網域分類集合比對服務或網站,與依 IP 歸屬比對的 GeoIP 不同。規則中的分類名稱須存在於實際載入的資料中,不同資料來源提供的標籤與收錄範圍可能不同。GeoSite 並非即時網站分類服務;網域未命中時,應檢查資料內容、更新狀態與前置規則,而不是只更換節點。
- 規則集rule-providers / RULE-SET
- 規則集將大量比對條件放在獨立檔案中,由
rule-providers載入,再透過RULE-SET規則引用。提供者的behavior決定內容的解讀方式,常見類型包括domain、ipcidr與classical。規則集負責提供比對條件;實際輸出與優先順序仍由主設定的rules決定。
- 策略組proxy-groups
- 策略組是在
proxy-groups中定義的輸出選擇邏輯,可包含節點、其他策略組或內建輸出。select適合手動選擇,url-test依測試結果自動選擇,fallback則依可用性切換備援。自動選擇不一定適用所有用途,測試位址與檢測條件都會影響結果;實際操作請參閱策略組選擇教學。
DNS 與網路堆疊
解析網域、接管流量與選擇輸出是不同環節。TUN 和 Fake-IP 可以搭配使用,但不能互相取代。
- DNSDomain Name System
- DNS 負責將網域解析為位址等記錄,mihomo 可在
dns區段設定解析上游與處理策略。nameserver用來指定一般解析的上游伺服器,proxy-server-nameserver則可專門用於解析代理伺服器網域。加入 DNS 設定不代表所有查詢都已進入核心,還須檢查系統、瀏覽器與 TUN 的實際解析路徑。
- Fake-IPdns.enhanced-mode: fake-ip
- Fake-IP 會為查詢的網域回傳映射位址;後續連線抵達核心時,再透過映射關係還原網域並比對規則。此機制由
dns.enhanced-mode: fake-ip啟用,回傳的位址不是網站的真實伺服器位址。部分應用程式依賴真實解析結果,可依相容性需求設定fake-ip-filter,但應先了解所用的過濾模式,不宜直接排除所有網域。
- TUN 模式tun.enable / auto-route
- TUN 透過虛擬網卡與路由設定,將更多應用程式的網路流量導入核心,適合不遵循系統代理設定的程式。
tun.enable是啟用欄位,auto-route、stack等參數也會影響接管方式,通常還需要服務模式或系統授權。流量進入核心後,仍會依模式與規則分流,因此啟用 TUN 不代表所有連線都會經由遠端代理轉送。
- 網域嗅探sniffer
- 網域嗅探會嘗試從 HTTP、TLS 或 QUIC 等支援的協定交握資訊中擷取網域,協助只有目標 IP 的連線比對網域規則。此功能由
sniffer設定控制,能否辨識取決於流量形式與核心支援,並不等同於解密應用程式內容。如果原始目標與嗅探到的網域不同,應先了解override-destination的作用再調整。
- DNS 洩漏DNS leak
- DNS 洩漏是指查詢未依預期的解析路徑處理,轉而交由本地電信業者或其他解析器等服務解析。網頁連線經由代理轉送,不足以證明 DNS 查詢也走相同路徑;瀏覽器安全 DNS、IPv6 與其他網路工具都可能影響測試結果。檢查時應搭配測試頁面、系統 DNS、瀏覽器設定與核心記錄,分辨解析器身分與查詢實際傳輸路徑。
訂閱與設定
訂閱提供內容,用戶端負責匯入與合併,核心則執行最終設定。更新前後應留意設定是否遭到取代,以及本機修改是否保留。
- 訂閱Subscription
- 訂閱通常是用戶端定期取得設定或節點集合的 URL,可能回傳完整 Clash YAML,也可能回傳 Base64 編碼的節點連結。這兩種內容不一定能透過同一個匯入入口使用,須先確認用戶端支援的格式。連結通常含有存取憑證,應視為機密資訊,不要公開截圖或貼到不可信任的轉換服務;更新失敗也不代表現有節點會立即失效。
- YAMLconfig.yaml
- YAML 是 Clash 常用的文字序列化設定格式,透過縮排表示層級,清單項目通常以
-開頭。編輯時請使用空格而非 Tab,並保留欄位的層級;特殊字元可能需要加上引號。語法可順利解析,只代表文字結構有效,不代表目前使用的核心支援這些欄位,也不代表策略組名稱與規則引用相符。
- 代理提供者proxy-providers
proxy-providers用於獨立管理一組節點,可設定取得位址、快取路徑、更新間隔與健康檢查,再由策略組透過use引用。它與整份設定的訂閱不同:更新節點集合時,可以保留主設定中的分流架構。代理提供者提供輸出連線,而rule-providers提供比對條件,兩者不可互換。
- 本機覆寫Local override / merge
- 本機覆寫是在遠端訂閱的基礎上合併或調整本機設定的方式,常用於保留連接埠、DNS、TUN 或自訂規則。設定入口可能稱為覆寫、合併或指令碼;清單項目是取代還是附加,也由用戶端決定。直接修改下載的訂閱檔,可能在下次更新時被覆蓋,因此應使用用戶端支援的持續保存方式,並檢查最終執行設定,而非只看編輯器內容。
- 節點延遲Latency test / url-test
- 用戶端顯示的延遲通常是連線至指定測試位址所需的時間,可能包含 DNS、建立連線或協定交握等步驟,不一定是 ICMP Ping。測試位址、逾時時間與網路狀態都會影響結果;數值較低也不代表下載速度較快。比較節點時應盡量使用相同測試條件,再以實際使用情況驗證;逾時只表示本次測試未完成,無法單獨證明所有服務都無法連線。
- 外部控制介面external-controller
external-controller定義核心管理 API 的監聽位址,可供面板查詢連線、切換策略或變更部分執行狀態。它不是 HTTP 或 SOCKS 代理入口,應用程式的代理設定不該填入這個連接埠。一般應限制為本機存取;若需遠端管理,須一併考量監聽範圍、存取認證與防火牆,不可只為了方便連線就直接開放給公用網路。