配置指南 · 從入門到進階

Clash 完整配置教程

涵蓋訂閱匯入、TUN 虛擬網絡卡、GeoIP 路由分流、多配置合併覆寫、JavaScript 指令碼進階 and 日誌排查六大核心章節,適用於 Clash Verge Rev、FlClash and Nyanpasu all 主流客戶端。

訂閱配置匯入

Clash 客戶端透過「訂閱 URL」從機場服務商遠端拉取 YAML 格式的配置檔案. 配置檔案中包含代理伺服器列表、策略組 and 路由規則,是 all 功能的基礎。

1

獲取訂閱連結

登入您的機場控制檯,複製 Clash 格式的訂閱連結(通常包含 ?token= 引數). 該連結是敏感資訊,請勿洩露給他人。

2

在客戶端中匯入

開啟 Clash Verge Rev,點選左側「 訂閱 」 or 「Profiles」標籤頁,點選右上角的「 新建 」按鈕,將連結貼上至 URL 輸入框後點選「匯入」。

3

啟用配置檔案

匯入完成後,點選配置卡片將其設為「當前使用」,客戶端圖示會變為已啟用狀態. 建議在設定中開啟「 自動更新 」(每 24 小時),以保持節點列表最新。

4

測速並選擇節點

進入「代理」頁面,在策略組中點選「 測速 ⚡ 」. 延遲低於 100ms 為優質節點,點選選中即可生效. 建議優先選擇 DIRECT 之外的帶 🔁 標誌的自動選擇組,以保證斷線自動切換。

典型 YAML 配置結構(僅供參考)

# Clash Meta (Mihomo) 配置檔案結構示意
mixed-port: 7890         # HTTP + SOCKS5 混合代理埠
allow-lan:  false        # 不向區域網裝置開放
mode:       rule         # 規則模式(推薦)
log-level:  info

proxies:                   # 節點列表(由訂閱自動填充)
  - name: "香港 01"
    type: vmess
    server: hk1.clashhelp.com
    port:   443
        # ... (其餘欄位略)

proxy-groups:              # 策略組
  - name: "🚀 節點選擇"
    type: select
    proxies: ["自動選擇", "香港 01"]

rules:                     # 路由規則
  - GEOIP,CN,DIRECT
  - MATCH,🚀 節點選擇
FlClash 使用者:匯入路徑在主介面右上角 → 配置 → 新增配置 → 輸入 URL. 匯入後長按配置卡片可設定定時更新。

TUN 虛擬網卡模式

TUN(Tunnel)模式透過在作業系統中建立一塊虛擬網絡卡,在 網路層(L3)接管 all 出站流量,徹底解決系統代理無法覆蓋命令列工具(git, npm, curl)、遊戲客戶端等應用的問題。

系統代理(舊方式)

  • ✗ 僅覆蓋支援代理協議的應用
  • ✗ 命令列工具需手動配置 HTTP_PROXY
  • Clash Meta (Mihomo) 配置檔案結構示意
  • HTTP + SOCKS5 混合代理埠

TUN 模式(推薦)

  • 香港 01
  • ✓ 命令列/IDE/遊戲均自動走代理
  • ✓ 支援 DNS 洩露防護
  • △ 首次需安裝服務模式驅動

在 Clash Verge Rev 中開啟 TUN 模式

1

安裝服務模式(Service Mode)

進入「設定」→「系統設定」→「服務模式」,點選「安裝」按鈕. Windows 需授予 UAC 管理員許可權;macOS 需輸入系統密碼. 安裝完成後狀態圖示變為綠色。

2

開啟 TUN 開關

在「設定」頁面中找到「TUN 模式」開關,開啟即可. 首次開啟後建議重啟客戶端使配置完全生效。

3

驗證 TUN 是否生效

開啟終端執行 curl -I https://www.google.com,若返回 HTTP 200 則表示 TUN 代理已成功接管. 也可在客戶端的「連線」頁面看到來自命令列工具的連線記錄。

手動在 YAML 中啟用 TUN(Meta 核心配置)

tun:
  enable:              true
  stack:               mixed    # mixed / gvisor / system(推薦 mixed)
  auto-route:          true     # 自動配置路由表
  auto-detect-interface: true   # 自動識別出口網絡卡
  dns-hijack:
    - any:53                   # 劫持 all DNS 查詢,防止洩露

dns:
  enable:    true
  enhanced-mode: fake-ip    # TUN 模式下推薦 fake-ip
  nameserver:
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query
注意:在 macOS 上首次安裝服務模式後,系統可能會阻止驅動載入. 需前往「系統設定」→「隱私與安全性」→ 點選「仍要允許」,然後重啟客戶端。

GeoIP 路由分流規則

路由分流讓您精確控制哪些流量走代理、哪些直連. 合理配置可減少延遲、降低機場流量消耗, and 避免國內業務因代理繞路導致的速度下降。

常用規則型別速查

規則型別 匹配邏輯 示例
DOMAIN精確域名匹配DOMAIN,google.com,PROXY
DOMAIN-SUFFIX域名字尾(含子域)DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-KEYWORD域名含關鍵詞DOMAIN-KEYWORD,google,PROXY
IP-CIDRIP 段匹配IP-CIDR,192.168.0.0/16,DIRECT
GEOIPIP 歸屬地(GeoIP 資料庫)GEOIP,CN,DIRECT
GEOSITE域名分類集合(Meta 專有)GEOSITE,cn,DIRECT
RULE-SET遠端規則集(推薦)RULE-SET,proxy,PROXY
MATCH兜底規則(必須放最後)MATCH,PROXY

推薦分流規則示例

以下配置實現「國內直連 + 國際走代理」的標準分流策略:

rule-providers:          # 遠端規則集(推薦,每日自動更新)
  reject:
    type:     http
    behavior: domain
    url:      "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    interval: 86400
  proxy:
    type:     http
    behavior: domain
    url:      "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    interval: 86400
  direct:
    type:     http
    behavior: domain
    url:      "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    interval: 86400

rules:
  - RULE-SET,reject,REJECT       # 廣告/追蹤攔截
  - RULE-SET,proxy,🚀 節點選擇   # 常見境外服務
  - RULE-SET,direct,DIRECT       # 國內常用域名
  - GEOSITE,cn,DIRECT            # 中國大陸域名集合
  - GEOIP,CN,DIRECT              # 中國大陸 IP
  - MATCH,🚀 節點選擇            # 兜底:其餘流量走代理
推薦規則集:Loyalsoldier/clash-rules 是社群維護最完善的 Clash 規則集,覆蓋廣告過濾、境外代理 and 國內直連三大類,每日自動釋出更新。

多訂閱合併與配置覆寫

當您同時擁有多個機場訂閱, or 需要在機場訂閱基礎上疊加自定義規則時,可以使用 Clash Verge Rev 的「覆寫(Override)」 or 「合併(Merge)」功能,無需修改原始訂閱檔案。

Merge(合併模式)

推薦

將您的自定義配置片段與訂閱配置深度合併. 適合追加個人規則、替換 DNS 設定、新增自有節點等場景。

Script Override(指令碼覆寫)

透過 JavaScript 函式對配置物件進行任意修改,適合複雜場景,如條件過濾節點、動態生成策略組等。

使用 Merge 追加自定義規則

在 Verge Rev 中進入「配置」→「覆寫」,新建一個 Merge 型別的配置檔案,內容示例:

# merge-overwrite.yaml — 僅填寫需要覆寫/追加的欄位
dns:
  nameserver:
    - https://doh.pub/dns-query       # 覆蓋 DNS 伺服器

rules:                                # 追加的規則(插入到原規則最前面)
  - DOMAIN-SUFFIX,internal.corp,DIRECT   # 公司內網直連
  - IP-CIDR,10.0.0.0/8,DIRECT            # 私有網段直連

proxies:                               # 追加自有節點
  - name: "自有 VPS"
    type: trojan
    server: vps.mydomain.com
    port:   443
    password: "your-password"
多訂閱合併:在 Verge Rev「訂閱」頁面可同時匯入多個配置檔案,然後在「覆寫」中編寫指令碼,用 config.proxies 合併不同配置的節點列表,最終構建一個統一的策略組。

JavaScript 指令碼進階

Clash Verge Rev 內建了一個 JavaScript 引擎(V8),可以透過指令碼對配置物件進行程式設計式處理,實現訂閱轉換、節點過濾、動態策略組等高階需求,覆蓋 any YAML 靜態配置無法實現的場景。

配置指令碼

在訂閱載入後執行,對整個配置物件進行修改

覆寫指令碼

作為覆寫層疊加,與 Merge 模式互補使用

定時指令碼

merge-overwrite.yaml — 僅填寫需要覆寫/追加的欄位

常用指令碼示例:過濾指定地區節點

// 覆寫指令碼入口函式,引數 config 即完整配置物件
function main(config) {

    // 只保留名稱包含「香港」 or 「日本」的節點
  const allowedRegions = ['香港', 'HK', '日本', 'JP'];

  config.proxies = config.proxies.filter(proxy =>
    allowedRegions.some(r => proxy.name.includes(r))
  );

  // 獲取過濾後的節點名稱列表
  const proxyNames = config.proxies.map(p => p.name);

  // 更新「節點選擇」策略組使用過濾後的節點
  config['proxy-groups'].forEach(group => {
    if (group.name === '🚀 節點選擇') {
      group.proxies = ['DIRECT', ...proxyNames];
    }
  });

  return config;
}

常用指令碼示例:自動新增測速組

function main(config) {
  const allProxies = config.proxies.map(p => p.name);

  // 插入一個 url-test 自動選速策略組
  config['proxy-groups'].unshift({
    name:     '⚡ 自動選速',
    type:     'url-test',
    proxies:  allProxies,
    url:      'https://www.gstatic.com/generate_204',
    interval: 300,
    tolerance:50
  });

  return config;
}
注意:指令碼語法錯誤會導致配置載入失敗,建議在客戶端的「配置編輯器」中使用內建的語法校驗功能,確認無誤後再儲存啟用。

日誌排查與常見錯誤

遇到連線問題時,「日誌」是最直接的診斷工具. 本章彙整了最常見的錯誤資訊 and 對應的解決方案。

日誌級別說明

debug 最詳細,排查深層問題時使用,日誌量大
info 日常使用推薦,記錄連線 and 規則匹配資訊
warning / error 僅輸出異常資訊,適合生產環境

高頻錯誤排查手冊

dial tcp: i/o timeout — 節點連線超時
節點地址無法到達. 可能原因:① 節點 IP 被運營商封鎖;② 埠被防火牆攔截;③ 節點已下線。 解決方案:切換節點, or 在設定中開啟「TCP 併發」讓客戶端自動選擇可用節點。
proxyconnect tcp: EOF — 代理握手中斷
代理伺服器在握手階段斷開了連線. 常見於協議引數錯誤(UUID、密碼 or 加密方式不匹配) or 服務端版本不相容。 解決方案:重新匯入訂閱檔案, or 聯絡機場確認服務端是否更新了配置。
no such rule provider — 規則集下載失敗
遠端規則集 URL 無法訪問(客戶端尚未建立代理通道時無法下載規則)。 解決方案: proxy: 🚀 節點選擇 欄位讓規則集透過代理下載, or 將規則集 URL 替換為國內可訪問的映象地址。
DNS resolution failed — DNS 解析失敗
在 TUN 模式下,若 DNS 配置不當會導致 all 域名均無法解析。 解決方案:確保配置中啟用了 dns.enable: true,並將 dns-hijack 設定為 any:53。建議同時配置多個可靠的 DoH 上游伺服器(如 doh.pub + dns.alidns.com)。
TUN device not found — TUN 網絡卡建立失敗
服務模式(Service Mode)未正確安裝, or 系統安全策略阻止了驅動載入。 解決方案(Windows):以管理員身份重啟 Clash Verge Rev,重新安裝服務模式。 解決方案(macOS):前往「系統設定」→「隱私與安全性」,允許系統擴充套件,並重啟系統。

檢視實時日誌的方法

Clash Verge Rev

左側選單「日誌」→ 實時滾動顯示. 右上角可切換日誌級別(除錯時選 debug),支援關鍵詞過濾。

命令列訪問

# 透過 Clash RESTful API 實時檢視
curl -N http://127.0.0.1:9090/logs \
  -H "Authorization: Bearer <secret>"
日誌檔案位置:Windows — %APPDATA%\io.github.clash-verge-rev\logs\;macOS — ~/Library/Logs/io.github.clash-verge-rev/。遇到崩潰 or 無法復現的問題時,將日誌檔案傳送給社群 Issue 可加快排查速度。

常見問題解答

Clash Verge Rev and Clash for Windows 有什麼區別?配置相容嗎?
CFW(Clash for Windows)已於 2023 年底停止維護,存在未修復的安全漏洞. Clash Verge Rev 是基於 Tauri 2.0 重寫的繼任者,UI 更現代、包體更小(<15MB),內建最新 Meta 核心。 配置檔案完全相容,可直接將舊的 YAML 配置檔案匯入 Verge Rev 使用,無需修改 any 欄位。
訂閱匯入後節點全部顯示超時 / 延遲 9999ms 怎麼辦?
按以下順序排查:① 檢查訂閱連結是否已過期(登入機場面板確認);② 暫時關閉防毒軟體 / Windows Defender 防火牆;③ 檢查系統時間是否正確(誤差超過 90 秒會導致握手失敗);④ 嘗試切換至不同運營商網路(如手機熱點)測試是否為 ISP 封鎖問題。
TUN 模式開啟後區域網內其他裝置也能走代理嗎?
TUN 模式預設僅代理本機流量. 若需共享給區域網裝置,需在配置中設定 allow-lan: true,並將其他裝置的閘道器 or 代理指向本機 IP(埠預設為 7890). 注意開啟後請做好訪問控制,避免代理被濫用。
如何讓 git / npm / pip 等命令列工具走代理?
最簡方案:開啟 TUN 模式即可全自動代理,無需 any 額外配置。 若不用 TUN,可在終端臨時設定環境變數:
# macOS / Linux
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890

# Windows PowerShell
$env:https_proxy="http://127.0.0.1:7890"
開啟代理後國內網站訪問變慢,如何最佳化?
確保規則中包含 GEOSITE,cn,DIRECT and GEOIP,CN,DIRECT 這兩條,讓國內流量繞過代理直連. 若使用 fake-ip-filter DNS 模式,可在 fake-ip-filter 中排除常用國內域名(如 *.baidu.com, *.qq.com),避免不必要的 DNS 延遲。
在 iOS 上有 any 推薦的 Clash 客戶端?
iOS 上目前有以下選擇:① ① Stash(付費,相容 Clash 配置,介面精美,功能完整,國區可購買);② ② Shadowrocket(付費,需非大陸 Apple ID 購買,支援多種協議);③ ③ Sing-Box(開源免費,生態新,功能強大). FlClash 的 iOS 版本目前仍在開發中,可關注其 GitHub 進度。