設定參考 · 欄位說明 · 執行機制Clash 設定參考文件 欄位與執行機制
查閱 Clash 與 Mihomo 設定文件,了解規則分流、DNS、TUN 與服務執行,結合欄位說明和設定範例完成設定與疑難排解。
簡介
4 篇什麼是 Clash?
Clash 核心負責什麼,與圖形用戶端有何不同?從入站、出站與規則路由理解流量處理,再了解 DNS、策略群組、Providers、RESTful API,以及開源版與 Premium 版的差異。
快速開始
準備單獨執行 Clash 核心時,可下載預先編譯的二進位檔,也可用 Go 從原始碼編譯。依裝置選擇建置方式,核對 GOPATH、執行版本,以及交叉編譯所需的 GOOS、GOARCH。
執行 Clash 服務
希望 Clash 在背景執行並隨系統啟動?將二進位檔與 config.yaml 設定為 systemd 服務,依序執行 daemon-reload、啟動服務與檢查狀態;也可查看 Docker 執行範例。
常見問題
Clash 在路由器或容器中出現節點異常、Premium 無法連線,或出現 RULE-SET 錯誤?依現象檢查 GOAMD64 架構、規則比對與 DNS 劫持,並了解規則複雜度對執行的影響。
設定
7 篇Clash 設定介紹
閱讀 Clash YAML 時,沿 Inbound、規則路由到 Outbound 釐清請求走向,再核對 rules 的 TYPE、ARGUMENT、POLICY 寫法及 no-resolve 用途。
快速上手設定
不知道 config.yaml 放在哪裡,或需要指定另一份設定檔?先核對預設目錄及 -d、-f 啟動參數,再檢查 IPv6 方括號、DNS 萬用字元網域的引號和比對優先順序。
Inbound 入站
要讓瀏覽器、區域網路裝置或透明代理流量進入 Clash,先選擇 HTTP(S)、SOCKS5、mixed-port、Redirect、TProxy 或 TUN 入口,再設定監聽連接埠與 allow-lan。
Outbound 出站
手動填寫原版 Clash 節點時,依 Shadowsocks、SSR、VMess、SOCKS5、HTTP、Snell 或 Trojan 查找格式,再逐項核對驗證、加密、TLS、UDP 與外掛欄位。
Rules 規則
要讓請求直接連線、遭到拒絕或經由指定節點,先釐清規則順序與策略群組,再依 DOMAIN、GEOIP、IP-CIDR、RULE-SET、SCRIPT、MATCH 選擇比對方式,並核對 no-resolve。
Clash DNS
網域解析異常、分流出錯,或區域網路網域無法存取?依解析結果核對 Clash DNS 的 nameserver、fallback、fake-ip、nameserver-policy 與 IPv6 設定。
參考設定
編寫或檢查 Clash YAML 時,可對照完整設定架構查找欄位位置與寫法,再依需求填寫本機連接埠、模式、日誌、控制介面、DNS、TUN、節點、策略群組、Providers 和 rules。
代理協定
14 篇HTTP / HTTPS 出站代理
Clash 生態系的 HTTP 出站設定參考,以目前 Mihomo 欄位為準,涵蓋 CONNECT 通道、代理驗證、HTTPS 上游與憑證驗證。
SOCKS5 出站代理
Clash 生態系的 SOCKS5 出站設定參考,以目前 Mihomo 欄位為準,涵蓋 TCP CONNECT、UDP Associate、驗證與 TLS 封裝。
Shadowsocks (SS)
Clash 生態系的 Shadowsocks 出站設定參考,以目前 Mihomo 欄位為準,涵蓋加密方式、UDP over TCP 與外掛傳輸。
ShadowsocksR (SSR)
Clash 生態系的 ShadowsocksR 出站設定參考,以目前 Mihomo 欄位為準,涵蓋串流加密、Protocol、Obfs 與舊節點的相容界線。
VMess
Clash 生態系的 VMess 出站設定參考,以目前 Mihomo 欄位為準,用於核對使用者 ID、協定版本、加密、UDP、傳輸層與 TLS 參數。
VLESS
Clash 生態系的 VLESS 出站設定參考,以目前 Mihomo 欄位為準,說明 UUID、Vision、VLESS Encryption、Reality、UDP 與傳輸層的差異。
Trojan
Clash 生態系的 Trojan 出站設定參考,以目前 Mihomo 欄位為準,用於核對密碼、強制 TLS、SNI、憑證、Reality、UDP 與傳輸層。
Snell
Clash 生態系的 Snell 出站設定參考,以目前 Mihomo 欄位為準,用於核對 psk、version、udp、obfs-opts 與 smux,並涵蓋最小 YAML、版本相容性及驗證疑難排解。
AnyTLS
Clash 生態系的 AnyTLS 出站設定參考,以目前 Mihomo 欄位為準,用於核對 password、sni、用戶端指紋、閒置工作階段檢查與 TLS 驗證,並提供最小 YAML 和常見握手錯誤。
Hysteria
Clash 生態系的 Hysteria 1.x 出站設定參考,以目前 Mihomo 欄位為準,涵蓋驗證、傳輸模式、頻寬、連接埠跳躍與 QUIC 參數。
Hysteria2
Clash 生態系的 Hysteria2 出站設定參考,以目前 Mihomo 欄位為準,涵蓋驗證、連接埠跳躍、混淆、壅塞控制與 Realm 參數。
TUIC
Clash 生態系的 TUIC 出站設定參考,以目前 Mihomo 欄位為準,區分 v4 與 v5 驗證,並涵蓋 TLS、QUIC、UDP 中繼及連線參數。
WireGuard
Clash 生態系的 WireGuard 出站設定參考,以目前 Mihomo 欄位為準,涵蓋本機介面、Peer、Allowed IPs、MTU 與遠端 DNS。
傳輸層設定
Clash 生態系的傳輸層設定參考,以目前 Mihomo 欄位為準,協助 VMess、VLESS 與 Trojan 正確搭配 network、相關 opts、TLS 及協定界線。
Premium 版本
9 篇Premium 簡介
需要 TUN、eBPF、Rule Providers 或 Script,開源核心能否滿足需求?比較 Clash Premium 的增強功能、使用者空間 WireGuard 與效能分析能力,再查看取得方式。
功能:TUN 裝置
用 Clash Premium TUN 接管 TCP、UDP 與 ICMP 時,核對 auto-route、auto-redir、system/gvisor 和 DNS 劫持設定,確認系統限制再啟用。
功能:將 eBPF 重新導向至 TUN
在 Linux 上透過 eBPF redirect-to-tun 將流量送入 TUN 前,先確認介面與核心相依性,再檢查 tun.auto-route、Tailscaled 的衝突及可用的替代方式。
功能:Rule Providers 規則集
重複使用規則集時,選擇 domain、ipcidr 或 classical 格式,再填寫 rule-providers 的 behavior、url、interval、path,用 RULE-SET 引用。
功能:Script 指令碼
用指令碼分流時,在 Script 模式編寫 Python3 main(ctx, metadata),結合 resolve_ip、geoip 與 rule_providers 進行比對,核對 IP 解析要求。
功能:Script Shortcuts 指令碼捷徑
在 Clash Premium 的 Rule 模式重複使用指令碼條件時,比較 Expr 與 Starlark,用 Script Shortcuts 定義捷徑,核對變數、函式及 no-resolve 用法。
功能:使用者空間 WireGuard
設定 Clash Premium 使用者空間 WireGuard 節點時,核對 private-key、public-key、preshared-key 和位址,再設定遠端 DNS、MTU 與 UDP。
功能:效能分析引擎
Clash Premium 執行時遇到效能瓶頸,一般日誌卻難以定位問題?從 tracing 的設定位置和啟用方式著手,了解效能取樣輸出可用於哪些分析。
實驗功能
準備啟用 Clash 實驗功能時,先確認目前核心版本是否適用、設定應寫在哪裡,再於可還原的環境中驗證效果;不要將某個版本的實驗行為視為穩定不變的約定。
執行階段
1 篇進階用法
3 篇依規則分流的 WireGuard
只讓指定流量經由 WireGuard?關閉預設路由後,用 interface-name、DIRECT 與 DOMAIN 規則將請求送入 wg0,核對 AllowedIPs、MTU 和 endpoint。
依規則分流的 OpenConnect
需要讓部分請求經由 OpenConnect 存取,而不是讓 VPN 接管預設路由?核對介面名稱和路由表,再將對應介面、DIRECT 策略與目標規則接入 Clash 分流。
在 Golang 程式中整合 Clash
Go 程式處理代理連線時,從 Clash 的 SOCKS listener 與 ConnContext 讀取中繼資料,再銜接 Direct 出站、DialContext 和 relay 完成雙向轉送。