進階設定 · 核心功能深度指南

深入理解
Clash 核心高階設定

掌握 TUN 模式、規則分流、DNS 防汙染、訂閱管理與節點測速,讓 Clash 發揮 100% 效力

TUN 模式

TUN(網路隧道)模式透過在作業系統核心層建立虛擬網卡,在驅動層攔截所有 TCP/UDP 流量,實現真正的全域代理——無需應用程式主動支援代理協定。

什麼時候需要開啟 TUN 模式?
  • 遊戲客戶端(Steam、Epic、UPlay)不走系統代理,延遲高或連不上
  • 命令列工具 git clonenpm installpip install 無法走代理
  • Electron 應用(VS Code、Discord)內部請求不經過系統代理
  • 需要代理 UDP 流量(如語音通話、DNS-over-UDP、遊戲 UDP 協定)

如何開啟 TUN 模式

1
以管理員身份啟動客戶端 TUN 模式需要在驅動層安裝虛擬網卡,首次啟動必須具備管理員權限。Windows 右鍵「以管理員身份執行」;macOS 會彈出系統授權對話框。
2
在客戶端「設定」中開啟 TUN Clash Verge Rev 中進入「設定 → 系統設定 → TUN 模式」並開啟開關。首次安裝會提示安裝驅動(Windows 為 wintun.dll,macOS 為核心擴充套件),按提示完成授權。
3
在設定檔中啟用 TUN(可選精細控制) 透過 YAML 可精確控制 TUN 的工作模式、DNS 劫持和路由規則。

TUN 設定示例

YAML config.yaml
# TUN mode configuration
tun:
  enable: true
  stack: mixed        # mixed = gVisor(UDP) + system(TCP), best compatibility
  auto-route: true    # auto-add routing rules for TUN interface
  auto-redirect: true # auto-redirect TCP connections (Linux)
  auto-detect-interface: true
  dns-hijack:
    - any:53           # intercept all DNS queries to prevent leaks
  strict-route: true  # stricter routing, prevents traffic bypass
推薦 stack 值mixed 相容性最佳(TCP 走 system,UDP 走 gVisor);純 system 效能更高但 UDP 支援較弱;gvisor UDP 支援最完整但 CPU 佔用略高。
注意:開啟 TUN 後,所有流量均會經過 Clash,請確保設定檔的規則中包含國內直連規則(如 GEOIP,CN,DIRECT),避免國內流量也走代理造成速度下降。

YAML 規則分流設定

Clash 透過設定檔中的 rules 欄位控制每條流量的走向——國內流量直連、境外流量代理、廣告域名攔截。規則按順序匹配,命中第一條即生效。

規則型別速查

規則型別 匹配內容 示例
DOMAIN 完整域名精確匹配 DOMAIN,google.com,PROXY
DOMAIN-SUFFIX 域名字尾(含子域名) DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-KEYWORD 域名含關鍵詞 DOMAIN-KEYWORD,google,PROXY
IP-CIDR IP 地址段 IP-CIDR,192.168.0.0/16,DIRECT
GEOIP IP 歸屬地(國家/地區) GEOIP,CN,DIRECT
RULE-SET 引用外部規則集檔案 RULE-SET,reject,REJECT
MATCH 兜底規則(必須放最後) MATCH,PROXY

完整分流設定示例

YAML config.yaml
# proxy groups
proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - Auto-Speed-Test
      - HK-01
      - US-01

  - name: Auto-Speed-Test
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - US-01

# rule-sets from community-maintained lists
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

# rules — matched top to bottom, first match wins
rules:
  - RULE-SET,reject,REJECT       # block ads/trackers
  - RULE-SET,direct,DIRECT       # CN domains → direct
  - RULE-SET,proxy,PROXY         # known proxy domains
  - DOMAIN-SUFFIX,cn,DIRECT
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY                  # everything else → proxy
推薦使用社群規則集Loyalsoldier/clash-rules 持續維護、每日自動更新,覆蓋廣告攔截、國內直連、境外代理等場景,無需手動維護規則列表。

DNS 防汙染設定

DNS 汙染會導致境外域名被解析到錯誤 IP,造成連線失敗或流量被劫持。Clash 內建 DNS 模組,可啟用 DoH / DoT 加密解析,並針對國內外域名分別使用不同的 DNS 伺服器,解析速度更快、更安全。

普通 DNS(易被汙染)

明文 UDP 53 埠,運營商可輕易篡改響應內容,將境外域名指向封鎖 IP 或錯誤地址。

DoH / DoT(加密解析)

DNS-over-HTTPS 或 DNS-over-TLS,全程 TLS 加密,運營商無法篡改,徹底防止 DNS 汙染與劫持。

推薦 DNS 設定(國內外分流解析)

YAML config.yaml
dns:
  enable: true
  ipv6: false
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip      # fake-ip prevents DNS leaks, recommended
  fake-ip-range: 198.18.0.1/16

  # Nameservers for domains NOT matched by nameserver-policy
  nameserver:
    - https://dns.google/dns-query       # Google DoH
    - https://cloudflare-dns.com/dns-query # Cloudflare DoH
    - tls://1.1.1.1:853                    # Cloudflare DoT

  # Fallback: used when nameserver returns potentially polluted result
  fallback:
    - https://dns.google/dns-query
    - https://doh.pub/dns-query             # Tencent DoH (fast in CN)

  # Fallback filter: if GEOIP is CN → use nameserver; else use fallback
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4

  # Policy: route specific domains to specific servers
  nameserver-policy:
    "geosite:cn":
      - https://doh.pub/dns-query   # fast domestic resolver for CN domains
      - 114.114.114.114
    "geosite:geolocation-!cn":
      - https://dns.google/dns-query
      - https://cloudflare-dns.com/dns-query
fake-ip 模式 推薦

為每個域名分配虛假 IP,DNS 解析在本地立即返回,實際連線時再解析真實地址。防止 DNS 洩漏,解析速度最快。

redir-host 模式 相容

先獲取真實 IP 再建立連線,相容性更好(如某些依賴真實 IP 的應用),但可能有輕微 DNS 洩漏風險。

訂閱管理與自動更新

訂閱連結(Subscription URL)是機場提供的一個 URL,訪問後返回包含所有節點資訊的 YAML 設定。透過 proxy-providers 可在設定檔中直接引用多個訂閱源,並設定自動重新整理間隔。

方式一:客戶端直接匯入訂閱連結

1
複製機場提供的 Clash 訂閱連結 確保選擇 Clash / Mihomo 格式,而非 V2Ray 或 Shadowsocks 格式。訂閱連結通常以 https:// 開頭,請求後返回 YAML 內容。
2
在 Clash Verge Rev 中匯入 開啟「設定」頁面 → 點選右上角「+」→ 選擇「URL 匯入」→ 貼上訂閱連結 → 點選「下載」。
3
設定自動更新間隔 右鍵已匯入的設定 → 「編輯資訊」→ 設定「自動更新」為 24 小時(推薦),確保節點列表始終最新。

方式二:proxy-providers(多訂閱合併)

適合同時使用多個機場、或希望將訂閱與自定義規則分離的進階使用者。

YAML config.yaml
# Reference multiple subscription sources
proxy-providers:
  AirportA:
    type: http
    url: "https://your-airport-a.com/clash/subscribe?token=xxx"
    interval: 86400         # refresh every 24 hours
    path: ./providers/airport_a.yaml
    health-check:
      enable: true
      interval: 600
      url: https://www.gstatic.com/generate_204

  AirportB:
    type: http
    url: "https://your-airport-b.com/clash/subscribe?token=yyy"
    interval: 86400
    path: ./providers/airport_b.yaml
    health-check:
      enable: true
      interval: 600
      url: https://www.gstatic.com/generate_204

# Use providers in proxy groups
proxy-groups:
  - name: PROXY
    type: select
    use:
      - AirportA      # include all nodes from AirportA
      - AirportB      # include all nodes from AirportB

  - name: Auto-Best
    type: url-test
    use:
      - AirportA
      - AirportB
    url: https://www.gstatic.com/generate_204
    interval: 300
訂閱連結安全提示:訂閱連結包含您的賬號 Token,請勿在公開場合分享。建議定期在機場後臺重置 Token,發現異常流量時立即更換。

常見訂閱問題

匯入訂閱後顯示「沒有節點」或節點為空
訂閱連結格式錯誤——請確認是 Clash/Mihomo 格式,而非 V2Ray JSON 或 Shadowsocks 格式。在機場的「我的訂閱」頁面查詢標有「Clash」或「Mihomo」字樣的連結。若連結正確仍為空,嘗試手動點選「更新訂閱」按鈕。
訂閱更新失敗,提示網路錯誤
訂閱伺服器本身可能需要代理才能訪問。在 Clash Verge Rev 中,可以嘗試開啟「系統代理」後再點選更新訂閱;或者在客戶端設定中開啟「透過代理更新訂閱」選項。
如何將本地 YAML 檔案與線上訂閱合併使用?
使用 proxy-providers 引用線上訂閱,再在 proxies 欄位中手動新增本地節點,然後在 proxy-groups 中同時引用 use(providers)和 proxies(手動節點)即可合併使用。

節點測速與延遲最佳化

Clash 的策略組(Proxy Group)支援多種自動選路模式,無需手動切換節點:url-test 自動選最低延遲,fallback 在節點故障時自動切換,load-balance 多節點負載均衡。

url-test 最常用

定期向測速 URL 傳送請求,自動切換到延遲最低的節點。適合對延遲敏感的場景(遊戲、影片)。

fallback

優先使用列表第一個節點,當該節點不可用時自動切換到下一個。適合有穩定首選節點、需要故障轉移的場景。

load-balance

多個節點輪詢分配流量,提升整體頻寬。適合同時進行多個下載任務的場景。

測速策略組設定示例

YAML config.yaml
proxy-groups:
  # Auto select lowest-latency node
  - name: Auto-Best
    type: url-test
    url: https://www.gstatic.com/generate_204
    interval: 300         # test every 5 minutes
    tolerance: 50          # switch only if new node is 50ms faster (prevents thrashing)
    lazy: true             # only test when traffic is present
    proxies:
      - HK-01
      - HK-02
      - US-01
      - SG-01

  # Failover: use HK-01 first, switch if unavailable
  - name: Failover
    type: fallback
    url: https://www.gstatic.com/generate_204
    interval: 180
    proxies:
      - HK-01       # primary
      - US-01       # backup 1
      - SG-01       # backup 2

  # Load balance across multiple nodes
  - name: LoadBalance
    type: load-balance
    strategy: consistent-hashing  # same domain always uses same node
    url: https://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - HK-01
      - US-01
      - SG-01

  # Manual selection group (top-level entry point)
  - name: PROXY
    type: select
    proxies:
      - Auto-Best
      - Failover
      - LoadBalance
      - HK-01
      - US-01
tolerance 引數很重要:設定切換閾值(如 50ms)可避免節點頻繁切換。若不設定,只要測速結果有 1ms 差異就會切換,導致連線不穩定。
測速 URL 選擇:推薦使用 https://www.gstatic.com/generate_204(Google 204)或 https://cp.cloudflare.com/generate_204(Cloudflare 204),響應極快且服務穩定,不受內容影響。