一、通用準備工作
不論在哪個平台,部署一套可用的 Clash 環境都可以拆成四步:選擇並下載客戶端、匯入訂閱、選擇代理模式、開啟代理並驗證。平台之間的差異集中在安裝方式與系統接管流量的機制上,主線是一致的。這一章先把跨平台通用的三件事講清楚,後面各平台章節不再重複。
客戶端怎麼選
本站下載頁收錄的客戶端按平台整理如下,全平台首選 Clash Plus——覆蓋面最廣、介面統一,換裝置時不用重新學一套操作。備選客戶端各有側重,詳細的功能差異見橫向評測。
| 平台 | 首選 | 備選 | 下載入口 |
|---|---|---|---|
| Windows | Clash Plus | Clash Verge Rev、FlClash、Clash Nyanpasu | Windows 下載 |
| macOS | Clash Plus | Clash Verge Rev、FlClash | macOS 下載 |
| Android | Clash Plus | Clash Meta for Android、FlClash、Surfboard | Android 下載 |
| iOS | Clash Plus(App Store) | — | iOS 下載 |
| Linux | Clash Verge Rev | FlClash、mihomo 核心 | Linux 下載 |
Clash for Windows 與 ClashX Meta 均已停止維護,下載頁仍保留封存入口,但新裝置不建議選它們:核心版本停在舊版,新的規則類型與協定特性無法使用。
準備一條訂閱連結
訂閱連結是一個 https 位址,由代理服務商在使用者面板提供,客戶端定期存取它來抓取節點清單與分流設定。開始安裝前,把這條連結完整複製到剪貼簿。注意區分兩種東西:訂閱連結指向一份完整設定,匯入後會出現節點分組;而以協定名開頭的單節點分享文字只描述一個節點,匯入方式不同,不能混用。
訂閱連結等同於帳號憑證,任何拿到連結的人都能使用其中的節點流量。不要發到公開群組、不要貼進截圖,洩露後應在服務商面板重設。
先弄清三個概念
系統代理與 TUN 模式。系統代理是把「HTTP/SOCKS 代理位址指向本機某個埠」寫進作業系統的網路設定,瀏覽器與大部分遵循系統設定的應用程式會跟隨;但命令列工具、部分遊戲與不讀系統設定的程式會繞過它。TUN 模式則建立一塊虛擬網卡,在網路層接管全部流量,覆蓋面完整,代價是需要更高的系統權限。日常瀏覽用系統代理即可,需要全量接管時再開 TUN。
規則、全域與直連。規則模式按設定檔裡的分流規則逐條比對,命中即按對應策略走代理或直連,是日常推薦模式;全域模式所有流量走同一個代理出口,適合規則失效時臨時應急;直連模式不代理任何流量,用於對照排查。三種模式在所有客戶端裡都能一鍵切換。
本地埠。Clash 預設在本機 7890 埠提供混合代理入口(HTTP 與 SOCKS 同埠),即設定裡的 mixed-port。系統代理與手動指定代理的工具,填的都是 127.0.0.1:7890。如果這個埠被其他軟體佔用,客戶端會啟動失敗或代理不通,改埠的方法見第八章。
二、Windows
下載與安裝
前往下載頁 Windows 區取得安裝包,首選 Clash Plus,x64 架構覆蓋絕大多數裝置。雙擊安裝包後,Windows 的 SmartScreen 可能彈出「已保護你的電腦」提示——這是系統對未大規模發佈的安裝包的預設攔截,點「更多資訊」再點「仍要執行」即可繼續。安裝路徑保持預設即可,自訂到含中文或空格的深層目錄偶爾會引發核心啟動異常,沒有必要冒這個險。
匯入訂閱
首次啟動後進入訂閱(或「設定」)頁面,把準備好的訂閱連結貼進輸入框,點匯入。客戶端會下載設定並解析,成功的標誌是代理頁面出現節點分組與節點清單。如果匯入後清單為空或報錯,先用瀏覽器直接開啟訂閱連結確認它能回傳內容,再按訂閱失效排查清單逐項檢查。
系統代理與 TUN
在客戶端裡打開「系統代理」開關,Clash 會把 127.0.0.1:7890 寫進 Windows 的 Internet 代理設定,瀏覽器立即生效。開啟 TUN 模式則多一個前置條件:虛擬網卡的建立需要系統管理員權限。Clash Verge Rev 的做法是先在設定裡安裝「服務模式」——裝好一個隨系統執行的背景服務後,TUN 開關才可用,之後每次開啟不再需要手動提權;Clash Plus 會在首次開啟 TUN 時要求一次授權。TUN 開啟後,系統代理開關可以關掉,兩者不必同時開。
Windows 特有問題
- 連接埠衝突。迅雷、開發偵測工具等常佔用 7890 附近的連接埠。客戶端日誌出現
bind: address already in use字樣時,在設定或客戶端設定裡把mixed-port改成 7897 等空閒連接埠。 - 開機自動啟動。在客戶端設定裡開啟「開機啟動」即可;若同時希望開機就進入 TUN 模式,必須先裝好服務模式,否則自動啟動後 TUN 會因為權限不足靜默失敗。
- 安全軟體誤判。代理核心的運作方式是轉發網路流量,個別防毒軟體會將其標記為可疑並隔離核心檔案,表現為客戶端反覆提示核心啟動失敗。把安裝目錄加入信任區即可,核心 mihomo 的原始碼公開可查。
- UWP 應用程式不走代理。市集應用程式預設被系統禁止存取本機回送位址,因此連不上 127.0.0.1 的代理連接埠。部分客戶端提供「UWP 回送豁免」工具,勾選需要代理的市集應用程式即可;或直接改用 TUN 模式繞開限制。
三、macOS
選對晶片架構
macOS 安裝包分 Apple Silicon(M 系列晶片)與 Intel 兩個版本。不確定自己是哪種時,點左上角蘋果選單→「關於此 Mac」,「晶片」一欄寫 Apple M 開頭的選 Apple Silicon 版,寫 Intel 的選 Intel 版。下載頁 macOS 區為兩種架構分別提供按鈕,裝錯架構的直接後果是無法啟動或轉譯執行效能下降。
首次開啟與 Gatekeeper
從瀏覽器下載的 dmg 安裝後首次開啟,macOS 可能提示「無法打開,因為 Apple 無法檢查其是否含有惡意軟體」。兩種處理方式:在 Finder 中按住 Control 點按應用程式圖示選「打開」,彈出視窗裡再點一次「打開」;或前往系統設定→隱私權與安全性,在頁面底部找到被攔截的應用程式,點「仍要打開」。若提示「應用程式已損壞」,是下載檔案被打上了隔離標記,在終端機執行一條指令移除即可(路徑按實際應用程式名稱替換):
xattr -dr com.apple.quarantine /Applications/Clash\ Plus.app
匯入訂閱與系統代理
訂閱匯入流程與 Windows 一致:訂閱頁貼上連結、匯入、確認節點清單出現。打開「系統代理」後,客戶端透過系統介面把 HTTP、HTTPS 與 SOCKS 代理寫入目前使用中的網路服務(Wi-Fi 或有線),正常退出時會自動還原。如果客戶端異常當機,代理設定可能殘留導致斷線,手動清除位置在系統設定→網路→目前網路「詳細資訊」→「代理伺服器」,取消勾選各代理協定即可。
TUN、開機自動啟動與其他注意事項
macOS 上開啟 TUN 需要系統授權:客戶端會引導安裝一個特權元件或系統延伸,期間要求輸入系統管理員密碼,屬於正常流程,授權一次後長期有效。開機自動啟動在客戶端設定裡開啟後,會註冊為系統「登入項目」,可在系統設定→一般→登入項目中確認。另外注意兩點:系統代理只作用於目前使用中的網路服務,換用另一塊網卡後需要確認開關狀態;ClashX Meta 已停止維護,僅建議無法執行新客戶端的舊裝置使用,新機器一律選 Clash Plus 或 Clash Verge Rev。
macOS 每次系統大版本升級後,建議重新開啟一次客戶端確認特權元件仍然有效;若 TUN 無法啟動,重新安裝一次服務元件通常即可恢復。
四、Android
下載與安裝
在下載頁 Android 區取得 APK。近幾年的主流機型選 arm64 版本即可;舊裝置或電視盒子可能是 armv7 架構,裝 arm64 版會提示不相容,換 arm 版本。首次安裝瀏覽器下載的 APK 時,系統會要求授予「允許安裝未知應用程式」權限,按提示為瀏覽器或檔案管理器開啟一次即可,這是 Android 對商店外安裝的標準流程。
匯入訂閱
Android 客戶端普遍支援三種匯入方式:直接貼上訂閱連結、掃描 QR Code、從剪貼簿自動識別。在設定頁新增訂閱、貼上連結、儲存並更新,清單出現節點分組即成功。行動網路下首次更新訂閱偶爾逾時,切換到 Wi-Fi 重試一次再下結論。
VPN 運作方式與分應用程式代理
Android 客戶端透過系統的 VpnService 介面接管流量,不需要 root。首次點擊連線時,系統彈出「連線要求」授權視窗,確認後狀態列出現鑰匙圖示,表示虛擬私人網路通道已建立,效果等同於桌面端的 TUN 模式——所有應用程式流量預設經過 Clash 分流。需要更細粒度控制時,用「分應用程式代理」功能:在允許清單模式下只有勾選的應用程式走代理,排除清單模式下勾選的應用程式直連。銀行、支付類應用程式建議加入排除清單,避免風控誤判。
背景保活
Android 上最常見的問題不是設定,而是行程被系統關閉:鎖定畫面一段時間後代理斷線、通知消失。逐項處理:在系統設定的電池選項裡把客戶端設為「不受限制」或加入電池最佳化白名單;國產客製化系統(MIUI、EMUI、ColorOS 等)還需在自動啟動管理裡放行,並在最近工作卡片上鎖定應用程式。做完這三步,絕大多數機型可以穩定常駐。
判斷是否被系統關閉背景行程的簡單辦法:斷線後下拉通知欄,若客戶端常駐通知也一併消失,基本可以確定是系統回收了行程,按上面三步處理,而不是去改設定。
五、iOS
從 App Store 安裝
iOS 平台透過 App Store 安裝 Clash Plus,搜尋或從下載頁 iOS 區的商店連結直達。應用程式的官方網站是 clashplus.io,版本更新說明與功能文件以官網為準。iPhone 與 iPad 使用同一個應用程式,介面自動調整。
匯入訂閱與首次連線
打開應用程式後在訂閱頁貼上連結匯入,與其他平台一致。第一次點擊連線時,iOS 會彈出「要求新增 VPN 設定」的系統視窗——這是 NetworkExtension 框架的標準授權流程,點「允許」並驗證一次密碼或 Face ID 後,系統設定裡會出現對應的 VPN 設定項目。之後的連線與斷線都在應用程式內一鍵完成,也可以在系統設定→VPN 裡查看目前狀態。
iOS 特有注意事項
- 設定規模。iOS 給網路延伸行程的記憶體配額有限,節點數量極多、規則集龐大的訂閱可能出現載入緩慢。遇到時優先精簡訂閱或讓服務商提供輕量版設定,而不是反覆重裝。
- 網路切換。在 Wi-Fi 與行動網路之間切換時,通道會自動重建,期間有一兩秒的短暫中斷,屬於正常行為。
- 按需連線。應用程式內可開啟開機與連上網路後自動連線,依賴系統的按需規則實現,開啟後無需每次手動打開應用程式。
六、Linux 與伺服器
桌面發行版安裝
桌面 Linux 首選 Clash Verge Rev,下載頁 Linux 區提供 deb 與 rpm 兩種格式;FlClash 作為備選同樣可用。Debian/Ubuntu 系用 apt 安裝本地套件會自動處理依賴:
sudo apt install ./clash-verge-rev_amd64.deb
Fedora 系對應 sudo dnf install ./clash-verge-rev_x86_64.rpm。安裝完成後從應用程式選單啟動,訂閱匯入流程與其他桌面平台一致。部分發行版啟用了嚴格的 AppArmor 或 SELinux 策略,首次執行核心建立 TUN 裝置時可能被安全模組攔截,日誌裡會出現 permission denied 但權限看起來又沒問題的情況;這時先臨時把對應模組設為寬容模式確認是不是它在攔截,確認後再為核心二進位單獨寫一條放行策略,而不是長期關閉整個安全模組。
如果你的桌面環境同時裝了多個網路管理元件(例如 NetworkManager 與 systemd-networkd 並存),客戶端寫入的系統代理有時只對其中一個生效,表現為瀏覽器走了代理、系統設定裡卻看不到。遇到這種不一致,優先以環境變數方式為具體應用指定代理,避免依賴圖形化的全域開關。
系統代理與環境變數
GNOME 與 KDE 都有圖形化的系統代理設定,客戶端的「系統代理」開關會寫入其中,瀏覽器與大部分桌面應用程式跟隨生效。但 Linux 下大量工作發生在終端機,而終端機程式讀的是環境變數,不是桌面設定。臨時讓目前終端機工作階段走代理:
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890
需要長期生效就把這幾行寫進 shell 的設定檔,或封裝成 alias 按需開關。git、curl、wget 等工具都遵循這組變數;個別工具(如部分容器執行環境)有自己的代理設定入口,需單獨設定。
TUN 權限
Linux 上建立 TUN 裝置需要 CAP_NET_ADMIN 能力。圖形化客戶端一般提供授權按鈕,底層透過 pkexec 提權完成;如果直接執行核心二進位檔,可以用 setcap 一次性授權,之後無需 root 即可開 TUN:
sudo setcap 'cap_net_admin,cap_net_bind_service=+ep' /usr/local/bin/mihomo
無桌面環境:直接執行 mihomo 核心
伺服器、軟路由與 NAS 上沒有圖形介面,直接執行 mihomo 核心是標準做法,下載頁核心區提供各架構的二進位檔。約定俗成的目錄配置是把設定放在 /etc/mihomo/config.yaml,核心二進位檔放 /usr/local/bin/mihomo,然後寫一個 systemd 服務讓它隨系統執行:
[Unit]
Description=mihomo daemon
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
[Install]
WantedBy=multi-user.target
儲存為 /etc/systemd/system/mihomo.service 後啟用:
sudo systemctl daemon-reload
sudo systemctl enable --now mihomo
之後用 systemctl status mihomo 查看執行狀態,journalctl -u mihomo -f 追蹤日誌。首次啟動核心會自動下載 GeoIP 與 GeoSite 資料庫,伺服器網路不通外網時需要手動把資料檔案放進設定目錄,否則規則比對無法運作。
七、驗證與日常維護
確認代理真的生效
開啟代理後不要憑感覺判斷,用兩個證據交叉確認。第一,瀏覽器存取任意 IP 查詢網站,出口 IP 顯示為節點所在地區即說明瀏覽器流量已走代理。第二,命令列直接對代理連接埠發起一次請求,觀察是否能取得回應標頭:
curl -x http://127.0.0.1:7890 -I https://www.example.com
回傳 HTTP/2 200 之類的狀態列說明代理鏈路暢通。桌面客戶端的連線面板也值得看一眼:裡面即時列出每條連線命中的規則與出口策略,是判斷「某個應用程式到底走沒走代理」的最直接證據。更完整的首次連線驗證流程,見首次連線驗證指南。
訂閱更新與 GeoIP 資料
節點資訊會隨服務商調整而變化,訂閱需要定期更新——各客戶端都支援設定自動更新間隔,一般 24 小時一次足夠。另一類需要維護的資料是 GeoIP 與 GeoSite 資料庫,規則裡的 GEOIP,CN、GEOSITE 類條目全依賴它們;資料庫過舊會導致部分網域與 IP 歸類錯誤,表現為個別網站分流異常。客戶端設定裡通常有「更新 GeoIP 資料庫」入口,幾個月手動點一次即可。
日誌與排錯順序
出問題時把日誌等級從 info 臨時調到 debug,資訊量會大很多。推薦的排錯順序是三層遞進:先在節點清單做延遲測試確認節點本身可用;再看連線面板確認目標網域命中了預期規則;最後懷疑 DNS——把瀏覽器隱私瀏覽視窗打開重試,排除本地快取干擾。跳著查往往會把簡單問題複雜化。測速數字怎麼讀、節點怎麼挑,可參考節點挑選指南。
關於延遲測試本身,有一點值得澄清:客戶端裡顯示的延遲毫秒數,是它向一個測試位址發起請求、拿到回應所花的往返時間,反映的是「到那個測試目標」的鏈路狀況,不等於你造訪任意網站都有同樣的速度。它也只衡量延遲,不衡量頻寬——一個延遲很低的節點未必吞吐量大,看影片卡頓而網頁很快就是典型表現。所以挑節點時不要只盯著最小的那個數字,延遲接近的幾個節點裡,優先選倍率低、負載輕的;真正判斷能不能流暢看片,還得實際跑一段流量。頻繁全量測速也不是好習慣,它本身會產生一批連線、給節點增加負擔,把自動測速間隔設成幾分鐘一次就夠了。
八、設定常見問題
設定檔長什麼樣
Clash 的設定是一份 YAML 檔案,訂閱抓取到的就是它。日常使用不需要手寫,但讀懂關鍵欄位對排錯幫助很大。一個精簡的骨架:
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 223.5.5.5
- 119.29.29.29
mixed-port 是本地混合代理連接埠;allow-lan 決定區域網路內其他裝置能否借用本機代理;mode 對應規則/全域/直連三種模式;dns 段控制網域解析行為。訂閱設定在此之外還會包含 proxies(節點)、proxy-groups(策略群組)與 rules(分流規則)三大段。
讀懂策略群組
策略群組是 Clash 裡最容易被忽略、卻最能決定使用體驗的一段。一條分流規則命中後,並不直接指向某個具體節點,而是指向一個策略群組,再由策略群組決定這條流量實際走哪個節點。常見的策略群組有三類:手動選擇(select)讓你在客戶端介面裡點選當前出口,適合按需切換地區;自動測速(url-test)按固定間隔測試群組內各節點延遲,自動選最快的一個,適合追求穩定低延遲又不想手動干預;故障轉移(fallback)按順序使用節點,當前節點不可用時才切到下一個,適合把主力節點排在前面、備用節點墊後。理解了這層間接關係,你就能明白為什麼「切換節點」有時要在策略群組裡操作而不是在節點清單裡,以及為什麼同一條規則在不同時間會走不同節點。
進階設定裡還會出現策略群組巢狀:一個 select 群組的成員是另外幾個 url-test 群組,分別對應不同地區的自動優選。這樣介面上你只需在「香港/日本/美國」之間做一次地區選擇,群組內節點的優選交給客戶端自動完成,兼顧了可控性與省心。修改策略群組結構時同樣要注意順序與命名一致——規則裡引用的策略群組名必須和 proxy-groups 段裡定義的名字逐字一致,差一個空格都會導致該規則找不到出口而報錯。
多份設定如何管理
不少人手裡不只一條訂閱,或者一條訂閱之外還想疊加自己的規則。客戶端普遍支援儲存多份設定並一鍵切換,但同一時刻只有一份處於啟用狀態。管理上有兩個實用習慣:一是給每份設定起有意義的名字並標註來源與更新日期,時間一長很容易忘記哪份是哪份;二是自訂規則盡量不要直接改在訂閱拉取的設定裡,因為下次更新訂閱會把你的改動整個覆寫。更穩妥的做法是使用客戶端的「覆寫」或「設定合併」功能——把訂閱作為基礎層,自己的規則、DNS 偏好等放在獨立的覆寫層,更新訂閱時覆寫層不受影響,始終生效。
YAML 解析報錯
手動改過設定後客戶端報「設定解析失敗」,九成是 YAML 格式問題,按三條檢查:縮排必須用空格(約定兩個),混入 Tab 立即報錯;鍵名冒號後必須有一個空格;值裡包含冒號、井字號等特殊字元時要用引號包住整個值。改設定前先備份原檔案,是成本最低的保險。
Fake-IP 相關異常
設定裡 enhanced-mode: fake-ip 表示 DNS 使用 Fake-IP 模式:客戶端先回傳一個保留網段的假位址加快連線建立,真實解析在代理鏈路上完成。它能減少 DNS 洩露、加快首包,但個別依賴真實 IP 的場景會異常——區域網路裝置探索、部分遊戲平台登入等,需要把相關網域加進 fake-ip-filter 清單。原理與完整的適用場景清單,見Fake-IP 模式詳解。
自訂規則不生效
在訂閱基礎上追加自己的分流規則時,記住一條原則:規則自上而下比對,命中即停。自訂條目如果放在了更寬泛的通配規則之後,永遠輪不到它生效——精確的網域規則要排在 GEOIP、MATCH 這類兜底規則之前。各規則類型的語法與排序建議,見規則語法與優先級解析。
訂閱更新失敗
點更新後轉圈報錯,按四層排查:本機網路是否暢通、訂閱連結在瀏覽器裡能否直接開啟、回傳內容是否為合法設定格式、客戶端是否設定了「透過代理更新訂閱」卻處於斷線狀態。逐項自查的完整清單已整理成文:訂閱失效排查步驟。更多零散問題,常見問題頁按基礎認知、安裝設定、使用技巧與故障排查四類持續收錄。