當你在瀏覽器裡打開一個網址,流量並不是直接發出去的。Clash 在本地監聽一個或多個連接埠,攔截所有出站連接,經過規則引擎判斷後,才決定走「直連」還是「代理出站」。
整個鏈路分為五個階段,每個階段都有 Clash 明確的介入點:
rules 列表從上到下逐條比對域名、IP、進程名等條件
規則引擎是 Clash 最核心的能力。它按照 rules 列表從第一條到最後一條逐行匹配,第一條命中的規則立刻生效,後續規則不再執行——順序決定一切。
最常用的一類,精確到域名或字尾級別,適合對特定網站做分流。
基於目標 IP 地址或 GeoIP 數據庫做判斷,是「國內直連、國外代理」的核心規則。
按應用進程名或連接埠號做分流,適合針對特定軟體(如開發工具、遊戲客戶端)單獨配置出口。
把成百上千條規則封裝進一個遠端訂閱文件,客戶端定期拉取更新,是大型分流方案的標準做法。
interval 自動定期更新規則從上到下依次匹配,第一條命中即生效,後續規則不再執行。常見錯誤:把 MATCH,DIRECT 放在 GEOIP 前面,會導致所有流量直連。推薦順序:
IP-CIDR 192.168.0.0/16)→ DIRECTGEOIP,CN,DIRECT——IP 歸屬國內則直連MATCH,Proxy——兜底,未命中的流量走代理Clash 支持兩種接管流量的方式,選錯模式是「某些 App 不走代理」的常見根因:
stack 選項:system 使用系統網路棧性能更高,gvisor 用戶態網路棧兼容性更好;Mihomo 內核還支持 mixed 混合模式。
DNS 洩漏是代理用戶最容易忽視的安全盲區——你的流量走了代理,但 DNS 查詢卻被明文發給了本地 ISP,暴露你訪問的域名。Clash 內建完整的 DNS 處理模組來應對這個問題。
Clash 收到 DNS 請求後,立刻返回一個虛假 IP(如 198.18.x.x),讓應用儘快發起連接;真正的 DNS 解析推遲到節點側完成,避免在本地提前洩漏域名。
198.18.0.1先在本地完成真實 DNS 解析,把域名解析為真實 IP 後再交給規則引擎做 GEOIP 匹配。兼容性更好,但 DNS 查詢本身可能洩漏給本地 ISP。
fallback 配合 fallback-filter:當域名解析到國外 IP 時,自動用加密的 DoT / DoH 伺服器重新解析,防止污染。
協定決定流量的加密方式和混淆策略。Clash 原生支持多種協定,Mihomo(Clash Meta)內核進一步擴充了對新一代協定的支持。
使用對稱加密(AES / ChaCha20)對流量進行加密,外觀上看起來像隨機數據,能一定程度對抗深度包檢測(DPI)。協定設計簡潔,客戶端支持最廣泛。
V2Ray 項目設計的專屬協定,在加密之外加入了時間戳驗證和混淆能力,可配合 WebSocket + TLS 偽裝成 HTTPS 流量,抗封鎖能力強。
直接在 TLS 層傳輸代理數據,外觀與正常 HTTPS 完全一致,無需額外混淆層。伺服器端同時提供真實網頁響應,進一步隱蔽代理特徵。
基於 QUIC(UDP)的新一代高性能協定,在弱網、高丟包環境下表現顯著優於 TCP 協定族。專為高延遲、不穩定網路場景設計。
同樣基於 QUIC,專注於低延遲和連接複用,0-RTT 握手設計減少首包延遲,適合對響應速度敏感的場景(如遊戲、即時音視訊)。
現代 VPN 協定,代碼量極少、審計簡單,使用 ChaCha20 + Poly1305 加密,內核級實現性能極高。Mihomo 支持將 WireGuard 作為出站協定使用。
策略組是規則「打包」和節點「調度」的核心機制。規則命中後,流量不直接交給某個節點,而是交給一個策略組——由策略組決定用哪個節點,實現自動測速、故障切換等能力。
用戶從節點列表中手動挑選當前使用的節點,客戶端通常在介面上直接展示。適合想要精細控制出口的用戶。
定期對所有節點發出 HTTP 探測請求,自動選擇響應延遲最低的節點。節點延遲超出 tolerance 閾值時才切換,避免頻繁抖動。
按順序使用第一個節點,當它無法通過健康檢測時自動切換到第二個,以此類推。適合需要穩定性保障的場景。
多個節點輪流承擔流量,將連接分散到不同節點上,提升整體吞吐量。Mihomo 支持 consistent-hashing 確保同一會話用同一節點。
Clash 目前有兩條主要分支,日常使用時經常混稱,但能力差異明顯——尤其是協定支持和 TUN 增強功能。
結論:新用戶直接選擇基於 Mihomo(Clash Meta) 內核的客戶端(如 Clash Verge Rev、Mihomo Party、Clash Meta for Android),能獲得更完整的協定支持與 TUN 能力,無需折衷。經典 Clash 內核的客戶端仍然穩定,但協定生態的持續更新集中在 Mihomo 分支。
MATCH 放在前面,會導致下面所有規則永遠不被觸發。合理順序應是:區域網路 → 明確代理域名 → 明確直連域名 → GEOIP → MATCH 兜底。198.18.x.x 段 IP 做特殊處理導致異常。Clash 提供 fake-ip-filter 配置項,可以把特定域名排除在 Fake-IP 之外,讓它們走正常 DNS 解析。system stack 比 gvisor 性能更高;若機器性能不足,可以只對特定應用開系統代理,不開 TUN。http://www.gstatic.com/generate_204(返回 204 空響應)或 http://cp.cloudflare.com/generate_204。建議使用能通過代理訪問的境外地址,避免用國內地址造成誤判。