01核心概念:核心、用戶端與設定檔
Clash 是一套基於規則的網路代理方案,準確來說它由兩層組成:負責實際轉發流量的核心,以及提供圖形介面的用戶端。最初的核心專案已停止開發,目前生態圈內持續維護的核心是 mihomo(社群習慣仍稱 Clash Meta 核心),它相容原有設定格式,並支援更多傳輸協定。日常說的「裝 Clash」,實際上是安裝一個內建 mihomo 核心的圖形化用戶端——Clash Plus、Clash Verge Rev、FlClash 都屬於這一類,它們介面各異,底層讀取的設定格式是同一套。
設定檔長什麼樣子
核心的全部行為由一份 YAML 設定檔決定,理解它的骨架是後面所有章節的基礎。一份最小可用的設定大致包含以下幾段:
mixed-port: 7890 # HTTP 與 SOCKS 共用的本機監聽埠
allow-lan: false # 是否允許區域網路內其他裝置連入
mode: rule # 執行模式:rule / global / direct
log-level: info
proxies: [] # 節點清單,通常由訂閱產生
proxy-groups: [] # 策略組,決定"哪類流量走哪個節點"
rules:
- MATCH,DIRECT # 規則清單,自上而下比對
其中 proxies 描述有哪些可用節點,proxy-groups 把節點組織成可切換的策略組,rules 決定每條連線命中哪個組。手動維護這三段內容繁瑣,所以絕大多數使用者採用訂閱:服務商提供一個 URL,用戶端定期拉取,取得一份完整產生好的設定。訂閱本質上就是「遠端託管的設定檔」,這一點會在第四章展開說明。
本機連接埠與系統代理
核心啟動後會在本機監聽連接埠(預設常見值為 7890),應用程式把流量送到 127.0.0.1:7890,核心依規則決定直連或轉發。用戶端裡的「系統代理」開關做的事,就是把作業系統的代理設定指向這個連接埠。理解「監聽連接埠 + 系統代理」這組關係,之後排查「開了 Clash 卻沒生效」這類問題會容易得多。
更多名詞(策略組類型、GEOIP、DNS 分流等)在正文各章第一次出現時都會展開解釋,不需要先背術語,依章節順序閱讀即可。
02選用戶端:平台對照與推薦順序
不同平台可用的用戶端不同,功能側重也有差異。下表依平台列出本站安裝包頁面收錄的用戶端,與下載頁的排序一致:
| 平台 | 用戶端(依推薦順序) | 備註 |
|---|---|---|
| Windows | Clash Plus、Clash Verge Rev、FlClash、Clash Nyanpasu | Clash for Windows 已停止維護,僅作封存保留 |
| macOS | Clash Plus、Clash Verge Rev、FlClash | ClashX Meta 已停止維護,舊使用者可繼續使用封存版本 |
| Android | Clash Plus、Clash Meta for Android、FlClash、Surfboard | 請依 CPU 架構選擇 APK,詳見第三章 |
| iOS | Clash Plus(於 App Store 上架) | 官網 clashplus.io,請以商店頁面為準 |
| Linux | Clash Verge Rev、FlClash | 提供 deb / rpm 套件,伺服器情境可直接執行核心 |
怎麼選
Clash Plus 是全平台首推:五個主流平台都有對應版本,介面統一,訂閱匯入、策略組切換、TUN 開關等常用功能都在顯眼位置,新使用者的學習成本最低。Clash Verge Rev 在桌面版功能更完整,支援設定覆寫、Merge 腳本、外部控制面板等進階能力,適合需要深度客製化的使用者,本站也有配套的 Clash Verge Rev 教學文章。FlClash 基於 Flutter 建構,桌面與行動裝置體驗一致,偏好簡潔介面可以選它。Clash Nyanpasu 僅提供 Windows 版,定位與 Verge Rev 相近。
Clash for Windows 與 ClashX Meta 皆已停止維護,不再跟進新協定與系統相容性修正。新安裝的裝置不建議選擇;仍在使用的舊使用者遇到協定不支援、系統升級後異常等問題時,移轉到上表中仍在維護的用戶端是唯一穩妥的解法。
選定用戶端後,後續章節的操作在各用戶端裡叫法可能略有差異(例如「訂閱」「設定」「Profiles」),但流程一致,本手冊以通用叫法描述,必要處會另外標註用戶端差異。
03安裝:各平台要點與常見攔截
安裝本身不複雜,容易卡住的是各系統的安全機制。本章依平台列出安裝步驟與對應的放行方法。
Windows
從安裝包頁面下載 exe 安裝程式,雙擊執行。首次執行時 SmartScreen 可能彈出「Windows 已保護您的電腦」,這是對未簽署或下載量偏低程式的通用攔截,點擊「其他資訊 → 仍要執行」即可繼續。安裝路徑建議保持預設;若防毒軟體將核心檔案回報為可疑,需要在防毒軟體中把安裝目錄加入信任清單——核心會建立虛擬網路卡與本機代理連接埠,這類行為容易觸發啟發式誤判。安裝完成後建議在用戶端設定裡開啟「開機自動啟動」,並以系統管理員身分執行一次,方便之後開啟 TUN 模式。
macOS
下載 dmg 或 zip 後拖入「應用程式」資料夾。請注意區分晶片版本:Apple Silicon 機型選 arm 版,Intel 機型選 x64 版,選錯會無法啟動,或透過轉譯層執行導致效能下降。首次開啟若提示「無法驗證開發者」,到「系統設定 → 隱私權與安全性」頁面底部點「仍要打開」;若提示「檔案已損毀」,通常是下載的檔案被系統加上了隔離屬性,在終端機執行以下指令後重新開啟:
xattr -dr com.apple.quarantine /Applications/用戶端名稱.app
用戶端首次開啟系統代理或 TUN 時,系統會請求安裝輔助程式或網路擴充功能,依提示輸入密碼允許即可,這一步只需要做一次。
Android
下載 APK 時依 CPU 架構選擇:近幾年的主流機型選 arm64 版;較舊裝置或不確定架構時選 universal 通用包(體積較大但相容所有架構)。安裝時系統會要求允許「安裝未知來源應用程式」,在彈出的設定頁為瀏覽器或檔案管理器授權一次即可。首次啟動代理時會彈出 VPN 連線請求,必須允許——Android 用戶端透過系統 VPN 介面接管流量,拒絕該請求代理將無法運作。部分廠牌系統會積極清理背景程式,建議在電池管理裡把用戶端設為「不受限制」,並鎖定在背景執行。
iOS
iOS 平台從 App Store 安裝 Clash Plus,在商店搜尋或透過下載頁的商店連結直達,應用程式詳情可參考官網 clashplus.io。安裝後首次啟動代理同樣需要允許新增 VPN 設定,在系統彈出視窗中確認即可。
Linux
Debian/Ubuntu 系統使用 deb 套件:sudo apt install ./套件名稱.deb;Fedora 系統使用 rpm 套件:sudo dnf install ./套件名稱.rpm。圖形化用戶端依賴桌面環境;沒有桌面的伺服器直接部署 mihomo 核心更合適,方法見第九章。開啟 TUN 需要為程式授予網路管理能力或以 root 權限執行,用戶端設定裡通常提供一鍵授權入口。
安裝完成的判斷標準:用戶端能正常啟動並停留在主畫面,系統匣或狀態列出現圖示。此時還沒有節點,下一章匯入訂閱後才能真正連上網路使用。
04訂閱匯入:取得、匯入與更新策略
訂閱連結由代理服務商(俗稱機場)在其用戶面板提供,通常標註為「Clash 訂閱」或「Clash 設定」。複製時要注意拿到的是完整 URL,而不是面板網址本身;部分服務商同時提供多種格式,選 Clash / mihomo 格式即可。
匯入步驟
- 在服務商面板複製訂閱連結。連結包含身分權杖,等同於帳號憑證,不要傳給他人或貼到公開場合。
- 開啟用戶端的「訂閱」或「設定」頁面,點擊新增/匯入,貼上連結並確認。用戶端會立即下載並解析,成功後清單中會出現一筆帶有流量與到期資訊的設定項目。
- 點選該設定項目將其設為目前使用的設定檔(部分用戶端匯入後會自動選取)。切換到「代理」頁面應能看到策略組與節點清單,代表解析成功。
更新設定
訂閱內容會隨服務商調整節點而變化,長期不更新會出現節點全部逾時的情況。用戶端裡與更新相關的設定有三個:更新間隔(建議每 12~24 小時自動拉取一次)、啟動時更新(每次開啟用戶端先重新整理一次訂閱)、透過代理更新(訂閱網域本身被封鎖時,經由目前可用的節點去拉取)。三者的組合用法與常見錯誤情境,在部落格訂閱更新失敗怎麼辦一文中有逐項說明。
匯入失敗怎麼排查
匯入錯誤大多落在六類原因裡:連結過期或流量用盡、複製的不是 Clash 格式、服務商限制了請求 UA、YAML 內容有語法錯誤、本機網路封鎖了訂閱網域、用戶端版本過舊不認得新欄位。逐項自查方法見訂閱失效與解析失敗排查清單;若錯誤訊息含「yaml」「parse」字樣,優先懷疑格式問題,換一個用戶端交叉驗證可以快速判斷是連結問題還是本機問題。
同一條訂閱可以同時匯入多個用戶端使用,互不影響。但要注意多數服務商會依帳號限制同時在線的裝置數或 IP 數,超過限制會被暫時限制連線。
05代理模式:規則、全域與直連
設定檔裡的 mode 欄位有三個值,對應用戶端介面上的三種模式,它們決定核心如何處置每一條連線:
| 模式 | 行為 | 適用情境 |
|---|---|---|
| rule(規則) | 每條連線依 rules 清單自上而下比對,命中哪條就依那條的策略走 | 日常預設模式。中國大陸站點直連、海外站點走代理,兼顧速度與體驗 |
| global(全域) | 忽略規則,所有流量交給 GLOBAL 組選中的節點 | 臨時排查「是不是規則沒命中」,或短時間內所有流量都需要代理 |
| direct(直連) | 忽略規則,所有流量直接送出,不經過任何節點 | 臨時停用代理但不想退出用戶端,或測試本機網路本身是否正常 |
常見誤區是長期停留在全域模式:這會讓中國大陸流量也繞道海外節點,存取中國大陸服務反而變慢,還平白消耗訂閱流量。全域模式的正確定位是診斷工具——規則模式下某網站打不開,切到全域後能打開,代表問題出在規則沒命中,該去第六章補規則,而不是長期停留在全域模式。
系統代理與生效範圍
選好模式後還要讓流量進得來。桌面版最常用的入口是「系統代理」開關:開啟後系統層級的代理設定會指向核心的 mixed-port,瀏覽器與大部分遵守系統代理的應用程式會自動走代理。但系統代理是「君子協定」,部分命令列程式與不讀取系統設定的軟體會繞過它——這類流量需要第七章的 TUN 模式來接管。終端機裡可以用環境變數手動指定:
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890
驗證代理是否生效
三步驗證:先在用戶端節點清單做延遲測試,確認所選節點沒有逾時;再造訪一個 IP 歸屬地查詢網站,顯示的出口 IP 應為節點所在地區;最後打開目標網站確認可以連上。三步分別驗證「節點可用」「流量確實經過節點」「規則命中正確」,任何一步失敗都能把問題範圍縮小。
06規則分流:策略組與規則的配合
規則分流是 Clash 區別於簡單代理工具的核心能力,由 proxy-groups 與 rules 兩段配合完成:策略組回答「可以走哪些出口」,規則回答「什麼流量走哪個組」。訂閱產生的設定已經內建一套分流,本章講清它的運作原理,方便讀懂現有設定並依需求修改。
策略組的四種常用類型
select:手動選擇組,在用戶端介面點選生效,最常見的「節點選擇」就是它;url-test:自動測速組,依設定間隔向測試 URL 發送請求,始終選延遲最低的節點;fallback:容錯轉移組,依清單順序使用第一個可用節點,失效後自動切換到下一個;load-balance:負載平衡組,把連線分散到多個節點。
規則語法與優先順序
每條規則的格式是「類型,比對值,目標策略」,常用類型包括 DOMAIN-SUFFIX(網域後綴)、DOMAIN-KEYWORD(網域關鍵字)、GEOIP(IP 歸屬地)、IP-CIDR(IP 網段),以及必須放在最後一行的兜底規則 MATCH。規則自上而下比對,命中即停,因此順序就是優先順序:精確的網域規則放前面,GEOIP 這類需要先解析出 IP 才能判斷的規則放後面,MATCH 收尾。一段體現典型結構的片段:
proxy-groups:
- name: 節點選擇
type: select
proxies:
- 自動測速
- DIRECT
- name: 自動測速
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
proxies:
- 香港節點
- 日本節點
- name: 串流媒體
type: select
proxies:
- 節點選擇
- 日本節點
rules:
- DOMAIN-SUFFIX,netflix.com,串流媒體
- DOMAIN-KEYWORD,youtube,節點選擇
- DOMAIN-SUFFIX,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,節點選擇
這段設定實現了三層意圖:串流媒體網域交給專門的「串流媒體」組(可以固定選某地區節點以穩定解鎖);cn 後綴網域與解析到中國大陸 IP 的連線直連;其餘流量兜底走「節點選擇」。組可以引用組(「串流媒體」裡放「節點選擇」),這讓設定具備層級結構,改一處上游組即可影響所有引用它的情境。
完整的地區分流實戰,包括為不同串流媒體平台單獨建組、規則順序的常見誤區,見部落格規則分流實戰:中國大陸直連與海外走代理的分組寫法。
直接修改訂閱產生的設定檔,下次訂閱更新時會被整體覆蓋。需要長期保留的自訂規則,應使用用戶端的「覆寫」或「Merge」機制(Clash Verge Rev 支援較完整),把變更聲明在訂閱之外,每次更新後自動疊加,詳見第九章。
07TUN 模式:接管全部流量
第五章提到系統代理管不住所有程式:不讀取系統代理設定的軟體、部分遊戲用戶端、命令列工具的流量會直接繞過核心。TUN 模式的解法是在系統裡建立一塊虛擬網路卡,把裝置的全部出站流量在網路層截取後交給核心處理——對應用程式而言完全透明,不需要任何程式單獨設定代理。Android 與 iOS 用戶端的 VPN 介面本質上就是同一思路,所以行動裝置不存在「開 TUN」這個額外步驟;本章主要針對桌面版。
開啟步驟
- 授予權限。建立虛擬網路卡需要提升權限:Windows 以系統管理員身分執行用戶端(或在設定中安裝系統服務以免除提權);macOS 首次開啟時依彈出視窗安裝網路擴充功能;Linux 在用戶端設定裡對核心執行一鍵授權。
- 在用戶端設定中打開 TUN 開關。開啟後系統網路連線清單會多出一塊名稱含 utun 或 Clash 字樣的網路卡,即為生效標誌。
- 關閉系統代理開關。TUN 已在更底層接管流量,再疊加系統代理沒有額外好處,還可能引起回圈問題。
DNS 設定
TUN 模式下 DNS 解析也由核心接管,設定檔需要有可用的 dns 段,訂閱產生的設定通常已經包含,典型形態如下:
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://223.5.5.5/dns-query
- https://120.53.53.53/dns-query
fake-ip 是 TUN 下推薦的增強模式:核心先回傳一個保留網段的虛擬 IP,等連線真正建立時再依網域做規則比對,省去一次真實解析,規則命中也更準確。個別依賴真實 IP 的情境(例如某些區域網路服務探索)出現異常時,可為對應網域設定 fake-ip-filter 排除項目。
判斷該不該開 TUN 的簡單標準:瀏覽器代理正常,但某個桌面程式、遊戲或終端機命令不走代理——開 TUN;只使用瀏覽器與一般應用程式——系統代理已經夠用,不必增加一層複雜度。
08日常維護:更新、備份與故障速查
設定一次跑通之後,日常要做的事不多,但幾個習慣能明顯減少突發故障。
保持三樣東西是新的
訂閱:依第四章設定自動更新間隔,節點大面積逾時時先手動更新一次訂閱再排查其他原因。用戶端:仍在維護的用戶端會持續跟進核心與系統相容性,在安裝包頁面取得新版本覆蓋安裝即可,設定與訂閱不會遺失。地理資料庫:GEOIP 規則依賴 GeoIP/GeoSite 資料檔案,多數用戶端在設定裡提供一鍵更新入口,幾個月更新一次即可。
備份什麼、怎麼備份
值得備份的是「訂閱連結 + 自訂覆寫內容」這兩樣,有它們就能在任何一台新裝置上幾分鐘內還原環境。訂閱產生的設定檔本身不必備份——它隨時可以重新拉取。桌面用戶端的設定目錄(含覆寫檔案與用戶端設定)可以整體複製留存,各用戶端的設定頁面通常標註了目錄位置。
看日誌定位問題
用戶端的日誌頁面即時輸出每條連線的比對結果,格式大致是「網域/IP → 命中規則 → 最終出口」。某網站行為不符合預期時,在日誌裡搜尋它的網域,立即能看到它命中了哪條規則、走了哪個節點,比盲目切換節點有效率得多。日誌等級由設定中的 log-level 控制,排查期間可暫時調為 debug,平時保持 info 即可。
故障速查表
| 現象 | 優先排查方向 |
|---|---|
| 所有節點延遲測試逾時 | 訂閱是否過期/流量用盡;本機網路能否直連;更新訂閱後重新測試 |
| 節點延遲正常但網頁打不開 | 切換全域模式驗證是否規則未命中;檢查系統代理或 TUN 是否開啟 |
| 中國大陸網站變慢 | 是否誤用全域模式;GEOIP,CN,DIRECT 規則是否存在且未被前面的規則截走 |
| 訂閱更新出現錯誤 | 依第四章三個更新開關排查,或先開啟「透過代理更新」再試 |
| 開機後代理不生效 | 用戶端是否設了開機自動啟動;系統代理/TUN 是否設為隨啟動開啟 |
表內未涵蓋的問題,依分類整理在常見問題頁,可先在那裡查詢。
09進階路線:從會用到用好
完成前八章,日常使用已經沒有障礙。以下幾個方向依實用性排序,可以依需求繼續深入。
區域網路共享
把設定中的 allow-lan 設為 true(用戶端介面通常有對應開關),同一區域網路內的手機、電視、遊戲主機就能把代理位址填成這台電腦的內網 IP 加 mixed-port 連接埠,共用同一份代理與規則,不必每台裝置單獨安裝用戶端。防火牆放行與各類裝置的填寫方法,見部落格混合連接埠與區域網路共享設定。
覆寫與 Merge
第六章提過:直接改訂閱設定會被更新覆蓋。覆寫機制把你的修改(追加規則、替換 DNS 段、調整連接埠)寫成獨立檔案,用戶端在每次載入訂閱後自動疊加,做到「訂閱照常更新,自訂永久生效」。Clash Verge Rev 的實作最完整,支援 YAML 合併與腳本兩種方式;建議從最簡單的情境練手——為一個訂閱沒涵蓋的網域追加一條 DOMAIN-SUFFIX 規則。
外部控制介面
核心內建 RESTful 控制介面,設定中宣告 external-controller: 127.0.0.1:9090 後,可以用 HTTP 請求查詢與控制核心,網頁版控制面板也是基於它實作的。例如查詢目前所有策略組:
curl http://127.0.0.1:9090/proxies
配合腳本可以做定時切換節點、自動化測速統計等事情,適合有開發基礎的使用者。
無介面部署核心
軟路由或伺服器情境不需要圖形化用戶端,直接執行 mihomo 核心:從下載頁核心區取得對應架構的二進位檔案,配一份完整 YAML,用 systemd 託管處理程序,即可為整個網路提供透明代理。這條路線涉及路由與 iptables/nftables 知識,建議在桌面版把規則體系吃透之後再嘗試。
接下來讀什麼
動手環節回到快速上手依主線操作;概念補漏可用常見問題;部落格區的新手十問速答適合作為本手冊的速覽版轉給剛入門的朋友。用戶端與核心持續演進,本頁會隨生態變化更新,建議收藏後隨查隨用。