進階設定

Clash YAML 設定檔完全指南

Clash YAML 設定檔是整個代理系統的核心,掌握其結構與欄位規範是進階使用的必經之路。訂閱連結提供的設定往往是通用範本,並不針對具體場景最佳化。本文為 Clash 官方設定檔完整說明,系統講解每個核心欄位的定義與官方推薦的最佳實務寫法。

設定檔整體結構

一份完整的 Clash 設定檔由六個主要部分組成:全域參數、DNS 設定、代理節點(proxies)、策略組(proxy-groups)、規則(rules)以及可選的 TUN 設定。這六個部分共同決定了 Clash 如何處理你的每一條網路請求。

port: 7890
socks-port: 7891
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver: [1.1.1.1, 8.8.8.8]

proxies: [ ... ]
proxy-groups: [ ... ]
rules: [ ... ]

全域參數詳解

全域參數控制 Clash 的基本執行行為,以下是最常用的幾個欄位:

  • portsocks-port:分別是 HTTP 代理和 SOCKS5 代理的監聽連接埠,預設 7890/7891。也可以用 mixed-port: 7890 合併為一個連接埠同時支援兩種協定。
  • allow-lan:設為 true 後,區域網路內的其他裝置也可以將 Clash 作為代理伺服器,適合路由器層級的共享代理場景。
  • mode:全域代理模式,可選 rule(智慧分流)、global(全部走代理)、direct(全部直連)。
  • external-controller:開放 RESTful API 的位址和連接埠,各類 Dashboard(如 Yacd、MetaCubeXD)透過此介面與 Clash 通訊,實現圖形化控制。

proxies:代理節點設定

proxies 陣列中的每個物件代表一個代理伺服器節點。不同協定的必填欄位不同,但 nametypeserverport 是所有協定通用的必填項。

Clash(Mihomo 核心)支援 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、TUIC 等二十餘種協定。以下是三種最常見協定的範例設定:

proxies:
  - name: "🇭🇰 香港-01"
    type: ss
    server: hk.example.com
    port: 8388
    cipher: chacha20-ietf-poly1305
    password: "your-password"
    udp: true

  - name: "🇺🇸 美國-01"
    type: vmess
    server: us.example.com
    port: 443
    uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-opts:
      path: /ray
      headers:
        Host: us.example.com

  - name: "🇯🇵 日本-01"
    type: trojan
    server: jp.example.com
    port: 443
    password: "your-password"
    sni: jp.example.com
    udp: true

proxy-groups:策略組

策略組是 Clash 區別於其他代理工具的核心優勢。它將多個節點組合成一個邏輯代理單元,支援手動選擇、自動測速、故障轉移、負載均衡四種工作方式,並且策略組之間可以相互巢狀引用,構建出靈活的分層代理架構。

proxy-groups:
  - name: "🚀 節點選擇"
    type: select
    proxies: ["♻️ 自動選擇", "🇭🇰 香港-01", "🇺🇸 美國-01", DIRECT]

  - name: "♻️ 自動選擇"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies: ["🇭🇰 香港-01", "🇯🇵 日本-01", "🇺🇸 美國-01"]

  - name: "🎬 串流服務"
    type: select
    proxies: ["🇺🇸 美國-01", "🇯🇵 日本-01"]

上面的設定構建了一個兩層結構:「節點選擇」策略組作為對外暴露的入口,使用者可以在這裡手動選擇具體節點或選擇「自動選擇」策略組;「自動選擇」策略組會在背景持續測速,自動切換到延遲最低的節點。

rules:分流規則

規則清單按從上到下的順序逐條比對,一旦某條規則命中,立即執行對應動作並停止繼續比對。規則格式為 類型,比對值,策略,最後一條必須是 MATCH 兜底規則。

rules:
  - DOMAIN,google.com,🚀 節點選擇
  - DOMAIN-SUFFIX,youtube.com,🎬 串流服務
  - DOMAIN-KEYWORD,facebook,🚀 節點選擇
  - GEOIP,TW,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - MATCH,🚀 節點選擇
手動維護規則清單費時費力,推薦使用 RULE-SET 引用社群維護的規則集,如 Loyalsoldier/clash-rules,包含了精心整理的本地直連域名和代理域名清單,開箱即用且定期更新。

設定最佳實務

在實際使用中,有幾個設定建議可以顯著提升體驗:第一,將常用的串流平台(Netflix、Disney+、YouTube)單獨設定策略組,方便根據需要解鎖不同地區的內容;第二,為 url-test 策略組設定合理的 tolerance(容差值),避免延遲差異很小時頻繁切換節點;第三,使用 external-controller 搭配 Yacd 或 MetaCubeXD 等 Dashboard,可以在瀏覽器中即時監控連線狀態和流量,大大方便排查問題。

Clash
準備好使用 Clash 了嗎?
免費下載,支援 Windows、macOS、Linux、Android 全平台。
立即下載
文章導覽
相關文章
Clash
立即下載 Clash
全平台客戶端,免費使用
前往下載頁