HANDBOOK / LINE 06

從零到精通
Clash 完整手冊

一條路線,九座站點。從「Clash 是什麼」出發,途經客戶端選擇、安裝、訂閱匯入、代理模式、規則分流與 TUN,終到日常維護與進階路線。每章一個階段,按序推進;已有基礎,可直接按目錄跳到需要的站。

分工說明:本頁是系統查閱手冊,寫原理、寫參數、寫平台差異;使用指南快速上手主線,只保留跟著做就能連通的最短路徑。第一次使用,先走使用指南;想弄懂每一步背後發生了什麼,回到本頁。

DOC / 09 CHAPTERS · 建議按序閱讀 · 目錄可直達任意章節

CH-01

核心概念:先認清四個名詞的分工

上手 Clash 卡住的人,九成不是卡在操作,而是卡在名詞。核心、客戶端、訂閱、規則,四個詞各管一段,先把分工理清,後面每一章都省力。

核心與客戶端:一台引擎,多張面孔

真正處理流量的是核心——目前主流實作是 mihomo(社群常稱 Clash Meta 核心)。核心是一個命令列程式,讀入一份 YAML 設定檔,監聽本機連接埠,按規則把每一條連線送往代理或直連。它沒有介面,不負責好看,只負責轉發。

你在桌面或手機上點開的 Clash Plus、Clash Verge Rev、FlClash 這些程式,都是客戶端:它們內建或呼叫核心,把「改設定檔」翻譯成開關和按鈕,把「看日誌」翻譯成圖表和列表。換客戶端不換核心,設定檔在不同客戶端之間基本通用——這也是為什麼本手冊的原理部分對所有客戶端都成立。

節點、訂閱、設定檔:三層容器

節點是一台代理伺服器的連線參數:位址、連接埠、協定、密碼。訂閱是一個 URL,存取它會回傳一批節點(通常已打包成完整設定),由服務商維護,節點變更時你只需重新整理訂閱。設定檔(Profile)是核心實際讀取的那份 YAML,除了節點,還包含連接埠設定、DNS、代理群組與規則——訂閱拉回來的內容,最終都落成一份 Profile。三層關係:節點裝進訂閱,訂閱產生設定檔,設定檔餵給核心。

代理群組與規則:流量的調度台

代理群組把若干節點編成一個可選佇列,比如「手動選擇」組讓你自己挑,「自動測速」組按延遲自動切換。規則是一張自上而下比對的清單,決定某條連線進哪個代理群組、還是直連:台灣本地網站直連,特定網域走代理,其餘按兜底規則處理。規則命中誰,流量就交給誰——這套機制在 CH-06 展開。

名詞不止這些。DNS 汙染、Fake-IP、GeoIP 這類術語,遇到再查即可,不必先背。站內備有按分類組織的術語表,閱讀本手冊途中隨時換乘。理清這四個名詞的分工,能幫你在遇到問題時迅速判斷責任歸屬:節點連不上,大概率是訂閱或服務商那一層的問題;分流走錯了通道,則要回到規則與代理群組去查;介面卡頓或功能缺失,那是客戶端的事,和核心無關。把「哪一層出問題」判斷準了,就不會拿著規則的毛病去反覆重裝客戶端,也不會因為一個節點失效就懷疑整套設定。後面每一章都會圍繞這四層展開,讀的時候不妨隨時對照,想一想當前講的內容屬於哪一層。

換乘 · 術語表逐條速查 →
CH-02

選客戶端:按平台對號入座

選客戶端只回答兩個問題:你用什麼系統,你要多深的自訂能力。全平台通用的首選是 Clash Plus——Windows、macOS、Android、iOS 都有版本,介面統一,匯入訂閱、切換模式、開啟 TUN 都做成了一鍵操作,新手到進階都夠用。以下按平台列出本站下載頁收錄的組合。

平台首選備選一句話說明
WindowsClash PlusClash Verge Rev / FlClash / Clash Nyanpasu首選省心;Verge Rev 自訂項最完整
macOSClash PlusClash Verge Rev / FlClashIntel 與 Apple Silicon 注意選對架構
AndroidClash PlusClash Meta for Android / FlClash / SurfboardCMFA 輕量,FlClash 介面現代
iOSClash Plus(App Store)從 App Store 安裝,匯入訂閱即用
LinuxClash Verge RevFlClash提供 deb 套件,桌面發行版直接裝
伺服器 / 路由器mihomo 核心無介面,命令列執行,見 CH-09

選擇時看什麼

三個維度足夠:維護狀態——優先選仍在活躍更新的客戶端,Clash for Windows 與 ClashX Meta 已停止維護,下載頁保留封存入口,不建議新用戶從它們開始;核心版本——確認客戶端使用 mihomo 核心,才能完整支援新協定與新規則類型;功能覆蓋——要 TUN 模式,確認該平台版本提供;要精細的規則編輯,Verge Rev 一類工具向客戶端更合適。

逐項參數對照、介面風格差異、遷移建議,站內橫向評測一頁寫全。選定後,去取得客戶端頁按平台下載。

換乘 · 客戶端橫向評測 →
CH-03

安裝:五個平台的落地要點

安裝本身不難,難在各平台的安全機制會在不同位置攔一道。本章按平台列出安裝路徑與放行方法,裝完先啟動一次、確認主介面能打開,再進下一章匯入訂閱。

Windows

下載頁 Windows 區取得安裝包,雙擊執行。安裝路徑避開中文與空格目錄,減少後續核心讀取設定時的路徑問題。首次執行若彈出 SmartScreen 提示,點「更多資訊 → 仍要執行」;防火牆詢問網路權限時,專用網路與公用網路都勾選,否則區域網路相關功能不可用。

Notice / 注意

部分防毒軟體會把代理核心誤報為風險程式並靜默隔離,表現為「安裝成功但啟動閃退」。把安裝目錄加入白名單後重裝即可。完整排錯記錄見Windows 安裝全流程一文。

macOS

下載 dmg 後把應用程式拖入「應用程式」資料夾。注意架構:Apple Silicon(M 系列晶片)選 ARM 版,Intel 機型選 x64 版,裝錯架構會明顯變慢或無法啟動。首次打開若提示開發者無法驗證,前往「系統設定 → 隱私權與安全性」,在頁面底部點「仍要打開」。客戶端首次接管系統代理或安裝輔助服務時會請求管理員密碼,輸入一次即可。

Android

下載 APK 安裝時,系統會要求允許「安裝未知應用程式」,在彈出的設定頁對瀏覽器或檔案管理器授權一次。首次點擊連線,系統彈出 VPN 連線請求——這是 Android 接管流量的標準方式,必須允許,否則代理不會生效。部分廠商系統注意兩件事:把客戶端加入電池最佳化白名單,並允許背景執行,避免鎖螢幕後代理被系統回收。

iOS

iOS 版 Clash Plus 透過 App Store 發行,從下載頁 iOS 區進入商店頁安裝。首次啟動按提示新增 VPN 設定描述檔,系統會要求驗證一次密碼或 Face ID。安裝完成後的訂閱匯入步驟與其他平台一致,見下一章。

Linux

桌面發行版推薦 Clash Verge Rev 的 deb 套件:sudo apt install ./套件檔名.deb 一步完成,依賴自動解析。Arch 系可從 AUR 取得社群維護版本。無桌面環境的伺服器與路由器場景不裝 GUI,直接執行 mihomo 核心,方法見 CH-09

CH-04

訂閱與設定檔:把節點裝進客戶端

客戶端裝好只是空車,訂閱才是乘客。本章講匯入操作、Profile 內部結構,以及多份設定共存時怎麼管理。

匯入訂閱的標準動作

從服務商處複製訂閱 URL。打開客戶端的「設定 / Profiles」頁,選擇「從 URL 匯入」,貼上連結,確認。客戶端會下載訂閱內容、解析為一份 Profile 並自動啟用。匯入成功的標誌:代理頁出現節點列表,且節點名不是空的。匯入失敗時先檢查連結是否完整(不少輸入框會吞掉行尾字元),再對照訂閱更新失敗排查一文逐類核對。

Profile 三段結構

訂閱拉回來的 YAML 通常包含三大段:proxies 定義節點,proxy-groups 定義代理群組,rules 定義分流規則。骨架如下(參數均為範例值):

PROFILE / YAML
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

proxies:
  - name: "HK-01"
    type: ss
    server: server.example.com
    port: 8388
    cipher: aes-256-gcm
    password: "your-password"

proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - HK-01

rules:
  - DOMAIN-SUFFIX,github.com,PROXY
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

逐行讀:mixed-port 是本機監聽連接埠,HTTP 與 SOCKS 請求都從這裡進;mode 是啟動時的代理模式;proxy-groups 裡這個名為 PROXY 的 select 組,就是你在介面上手動選節點的那個下拉選單;rules 自上而下比對,最後一條 MATCH 兜底。看懂這份骨架,就看懂了任何訂閱產生的設定。

多設定共存與自動更新

多個訂閱可以同時匯入,但同一時刻只有一份 Profile 生效,切換即整份替換——節點、規則一起換,不存在兩份設定的規則疊加。管理建議:給每份設定取可辨識的名稱(服務商 + 用途),淘汰的及時刪除,避免誤切到過期設定。命名習慣與規則覆蓋問題,見多設定切換管理一文。

自動更新在設定的編輯頁設定,常見欄位叫「更新間隔 / Update Interval」。建議 12~24 小時:太短浪費請求,太長會錯過服務商的節點輪換。手動更新入口通常在設定卡片的重新整理按鈕上,更新前後留意時間戳變化,確認真的拉到了新內容。

CH-05

代理模式:規則、全域、直連怎麼選

模式決定「規則清單要不要參與決策」。三種模式,三種行為:

模式行為適用場景
規則(Rule)逐條比對 rules,命中誰走誰日常預設,台灣本地直連國外代理互不干擾
全域(Global)跳過規則,全部流量走選中節點臨時排查、或確認所有流量必須出代理時
直連(Direct)跳過規則,全部流量不走代理臨時關閉代理但不想退出客戶端

日常保持規則模式。掛全域模式存取台灣本地網站會明顯變慢,還平白消耗流量——發現「什麼都走代理」時,第一件事看模式是不是被切到了 Global。

系統代理:模式生效的前提

選好模式,還要讓應用程式把流量交進來。開啟客戶端的「系統代理」開關後,客戶端向作業系統註冊 127.0.0.1:7890(連接埠以你的設定為準)作為代理伺服器,瀏覽器等遵守系統代理設定的應用程式會自動把請求送到這個連接埠。注意它的邊界:只有遵守系統代理的應用程式才會被接管,不少命令列工具與遊戲客戶端會無視這項設定——這正是 CH-07 TUN 模式要解決的問題。

驗證代理是否生效

不要憑感覺,用命令驗證。終端機執行:

TERMINAL / 06
curl -x http://127.0.0.1:7890 -I https://www.google.com

回傳 HTTP/2 200 一類狀態行,說明「本機連接埠 → 節點 → 目標網站」整條鏈路通;卡住或報錯,則問題在節點或設定,而不是瀏覽器。連線成功卻打不開網頁的完整排查順序,見九項檢查清單

換乘 · 使用指南三步連通 →
CH-06

規則分流:讓每條流量各行其道

規則分流是 Clash 相對「一鍵全域代理」工具的核心差異:同一時刻,台灣本地流量直連、國外流量走代理、廣告網域直接拒絕,互不干擾。理解它只需要兩件事——規則長什麼樣,按什麼順序比對。

常用規則類型

類型比對對象範例
DOMAIN完整網域精確比對DOMAIN,dl.example.com,DIRECT
DOMAIN-SUFFIX網域後綴,含所有子網域DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-KEYWORD網域包含關鍵字DOMAIN-KEYWORD,google,PROXY
IP-CIDR目標 IP 網段IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIPIP 歸屬地(查 GeoIP 資料庫)GEOIP,CN,DIRECT
MATCH無條件命中,兜底MATCH,PROXY

比對順序:自上而下,首中即停

規則清單從第一條開始逐條比對,命中即執行、不再看後面。因此順序就是優先級:精確規則放前,範圍規則放後,MATCH 永遠墊底。一段典型的規則區:

RULES / YAML
rules:
  - DOMAIN,dl.example.com,DIRECT
  - DOMAIN-SUFFIX,github.com,PROXY
  - DOMAIN-KEYWORD,google,PROXY
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

讀法:先放行一個必須直連的下載網域;再讓 GitHub 全網域與含 google 關鍵字的網域走代理;區域網路網段直連且不做 DNS 解析(no-resolve 防止內網位址被送去解析);IP 歸屬中國大陸的直連;剩下的全部走代理。某網站走錯了通道,從上往下找第一條命中它的規則,答案就在那一行。

自訂規則的正確姿勢

訂閱每次更新會整份覆蓋 Profile,直接改訂閱檔案裡的規則,下次更新就被沖掉。正確做法是用客戶端提供的持久化機制:Clash Verge Rev 的「全域擴充設定 / Merge」、各客戶端的覆寫(Override)功能,都能把你的自訂規則在每次訂閱更新後自動合併到最前面。原則不變:自訂規則插在訂閱規則之前,才能優先命中。

GeoIP 資料庫

GEOIP,CN,DIRECT 能運作,靠的是本機一份 IP 歸屬地資料庫。資料庫過舊會把新分配的中國大陸 IP 誤判成國外,出現「中國大陸網站莫名走代理」。客戶端設定裡一般有「更新 GeoIP / Geo 資料」按鈕,一兩個月點一次即可;更新後重啟核心生效。

CH-07

TUN 模式:接管系統代理管不到的流量

CH-05 說過系統代理的邊界:它是「君子協定」,只約束願意遵守的應用程式。命令列工具、部分桌面軟體、遊戲客戶端常常繞開它直接連網。TUN 模式換一條思路,從網路層解決問題。

原理:一塊虛擬網卡

開啟 TUN 後,核心在系統裡建立一塊虛擬網卡,並把預設路由指向它——此後所有出站流量,不管應用程式配不配合,都先經過這塊網卡進入核心,再按同一套規則分流。系統代理是「請應用程式來找我」,TUN 是「所有車輛必須過這個站」。代價是需要更高權限(Windows 上通常要安裝服務模式,macOS 上要授權系統擴充功能),以及一套配合的 DNS 設定。

DNS 與 Fake-IP

TUN 場景下必須啟用核心 DNS,否則網域解析不經過核心,規則裡的網域類型會失效。推薦 Fake-IP 模式:核心先回傳一個保留段假 IP,讓連線立即建立,真實解析推遲到轉發時進行,省一次等待。設定範例:

TUN + DNS / YAML
tun:
  enable: true
  stack: system
  auto-route: true
  auto-detect-interface: true

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://223.5.5.5/dns-query

開啟步驟與驗證

主流客戶端已把上面這段做成開關,不必手寫。Windows:先在設定裡安裝「服務模式」(需要管理員權限),狀態變為執行中後,再打開 TUN 開關;macOS:打開 TUN 開關,按系統提示授權網路擴充功能,輸入一次密碼。驗證方法:關閉系統代理開關,只留 TUN,在終端機跑一個不走系統代理的命令(如 nslookup github.com),解析結果落在 198.18 開頭的假 IP 段,說明 DNS 劫持生效、TUN 在位。

Notice / 注意

TUN 與其他建立虛擬網卡的軟體(公司 VPN、虛擬機器網路元件)會爭搶路由。開啟前先退出這類軟體;出現斷網,關閉 TUN、重啟客戶端即可恢復。逐步截圖與更多故障處理見TUN 模式開啟教學

換乘 · TUN 完整教學 →
CH-08

日常維護:讓代理長期穩定的例行動作

設定好只是開始。代理是長期運行的基礎設施,按週期做幾個小動作,能避開絕大多數「昨天還好好的」式故障。

動作建議週期不做的後果
更新訂閱自動 12~24 小時節點失效,連線逾時
節點延遲測試變慢時隨手測一直掛在高延遲節點上
更新 GeoIP 資料1~2 個月中國大陸 IP 誤判走代理
升級客戶端留意更新提示錯過核心修復與新協定支援
清理無用設定順手誤切到過期 Profile

節點測速與自動切換

代理頁的延遲測試按鈕會對全部節點發一次探測請求,數值是「本機 → 節點 → 測試位址」的往返毫秒數。經驗值:200ms 以內日常流暢,超過 500ms 或顯示逾時就換。不想手動挑,把常用應用程式指向 url-test 類型的自動測速組,核心會週期性擇優。注意延遲只反映回應速度,不代表頻寬,看影片卡不卡還要看節點本身的品質。另外,測速請求本身也會受測試位址影響:如果所有節點都顯示逾時,先別急著換節點,很可能是測速用的目標位址臨時無法連線,換一個穩定的測試位址再測一次,結果往往就正常了。自動測速組的容錯間隔也值得留意——間隔太短會頻繁切換、連線反覆中斷,間隔太長又不能及時避開劣化的節點,按自己的網路環境調一個折衷值,體驗會平順很多。

讀日誌定位問題

客戶端的日誌(或連線)頁是排查第一現場:每條記錄包含目標網域、命中的規則、走的節點。「某網站打不開」先來這裡搜網域——命中 DIRECT 卻需要代理,是規則問題;命中代理群組卻逾時,是節點問題。方向定了,修起來就快。把日誌等級調到 info 一般足夠日常排查;只有在追查疑難雜症時才臨時切到 debug,因為 debug 等級會列印大量細節,長期開啟既洗版又佔用效能。養成看日誌的習慣之後,你會發現大部分「玄學問題」其實都在日誌裡留下了清清楚楚的線索,無非是命中了意料之外的規則、或某個節點悄悄失效——只要肯逐條讀,幾乎沒有查不出來的故障。

開機自啟

桌面端在設定裡打開「開機啟動」,通常配合「靜默啟動」只留系統匣圖示。Windows 上若自啟失敗,檢查工作管理員的啟動項是否被第三方最佳化軟體停用;Android 參考 CH-03 的背景保活設定。更多高頻問題,常見問題頁按「基礎認知 / 安裝設定 / 使用技巧 / 故障排查」四類收錄。

換乘 · 常見問題四分類 →
CH-09

進階路線:從會用到看懂再到手寫

走完前八章,日常使用已經沒有障礙。想再往前,三個方向按序推進。

方向一:手寫與覆寫設定

不再把訂閱當黑盒。用 CH-04 的骨架對照你當前生效的 Profile,逐段讀懂;然後從小改動開始——用覆寫機制加一條自己的規則、把某個代理群組從 select 改成 url-test、調整 DNS 的 nameserver 列表。每改一處,重新載入設定,看日誌確認行為符合預期。能手寫設定,任何客戶端在你手裡都是同一個東西。建議先在本機建一個測試用的設定副本,把想嘗試的改動都放進去,確認無誤再套用到日常設定上,避免一次改錯導致全部流量異常。寫設定時養成加註解的習慣:每一組代理、每一條自訂規則都標明用途與來源,幾個月後回頭維護時才不至於看不懂當初為什麼這麼寫。YAML 對縮排極其敏感,多用支援語法檢查的編輯器,儲存前先讓工具檢查一遍縮排與冒號,能省下大量排錯時間。

方向二:核心直接執行

伺服器、NAS、路由器上沒有 GUI,直接執行 mihomo 核心。從下載頁核心區取對應架構的壓縮包,解壓後:

MIHOMO / CLI
mkdir -p ~/.config/mihomo
mv config.yaml ~/.config/mihomo/
./mihomo -d ~/.config/mihomo

-d 指定工作目錄,核心從中讀取 config.yaml 與 Geo 資料檔案。前台跑通後,再配 systemd 服務實現開機自啟與崩潰拉起。區域網路內其他裝置把代理指向這台機器的 IP 加連接埠,設定裡記得 allow-lan: true,一台機器帶全屋裝置。核心直接執行最大的好處是資源佔用低、可長期無人值守,一台常年開機的小主機或軟路由就能承擔全家的分流需求。部署時注意幾點:把 external-controller 的監聽位址限制在內網或用防火牆擋住外部存取,避免控制介面暴露到公網;給設定目錄和 Geo 資料庫設好定時更新腳本,讓規則庫保持新鮮;再用日誌輪替避免長期執行把磁碟寫滿。這些例行工作一次配好,後續幾乎不用再管。

方向三:外部控制 API

設定裡宣告 external-controller: 127.0.0.1:9090 後,核心暴露一套 RESTful 介面——切換節點、查詢連線、重新載入設定都能用 HTTP 請求完成:

API / 9090
curl http://127.0.0.1:9090/proxies

各類 Web 面板(如 metacubexd)就建構在這套 API 之上。會用它,意味著可以寫腳本做定時切換、異常告警這類自動化——到這一步,你已經從使用者走到了搭建者。這套介面也是理解客戶端 GUI 的鑰匙:你在介面上點的每一個按鈕,背後其實都是一次對應的 API 呼叫,看懂了介面就看懂了客戶端。需要提醒的是,如果給 external-controller 設了 secret,請求時要在請求標頭裡帶上對應的權杖;而這個 secret 屬於敏感資訊,不要寫進會上傳到公開儲存庫的設定裡,更不要圖省事留空對外網開放,否則任何人都能遠端操控你的代理。

路線圖收尾

  1. 用熟一個 GUI 客戶端,規則模式下日常無感使用(CH-01~05);
  2. 看懂規則與日誌,自己定位「為什麼這個網站走錯通道」(CH-06、08);
  3. 開 TUN,理解網路層接管與 DNS 配合(CH-07);
  4. 手寫設定、核心直接執行、API 自動化(本章)。

每一步都建立在前一步之上。走到哪一站,就用哪一站的工具;需要動手時,回使用指南對照操作,選裝備去取得客戶端。路線圖在這裡,發車時間由你定。