本頁與使用指南分工不同:使用指南是一條最短路徑,跟著做十幾分鐘能完成首次連線;本頁是系統手冊,把每個平台的完整流程、原理背景與已知問題寫全,供安裝過程中隨時對照。如果這是第一次接觸 Clash,建議先走一遍使用指南,遇到卡點再回到本頁對應章節。所有用戶端的安裝包入口統一在用戶端下載頁,本頁正文只講流程,不放下載直鏈。
CH 01準備工作:開始安裝前要備齊的東西
需要準備的三樣東西
第一是訂閱連結。Clash 用戶端本身只是流量的調度工具,節點資訊由訂閱提供方下發。訂閱連結是一個 HTTPS 網址,由服務提供方在使用者面板裡給出。開始安裝前先確認手上有這個連結,並確認它是完整複製的——連結被截斷是匯入失敗的第一大原因,詳見 訂閱解析失敗自查清單。
第二是與裝置匹配的用戶端。同一個訂閱可以在多台裝置、多個平台上使用,但每個平台的用戶端不同,下一小節的表格給出選擇建議。第三是幾分鐘不被打斷的時間。安裝本身很快,主要耗時在首次授權與驗證連通性上。
用戶端怎麼選
各平台可用的用戶端與建議順序如下,與下載頁保持一致。Clash Plus 涵蓋桌面與行動裝置,是全平台首選;其餘用戶端依平台各有側重。
| 平台 | 首選 | 備選 | 說明 |
|---|---|---|---|
| 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 | 均為直接安裝的 APK 檔 |
| iOS | Clash Plus | — | 透過 App Store 分發,見 iOS 下載區 |
| Linux | Clash Verge Rev | FlClash | 無介面伺服器直接部署 Mihomo 核心 |
選擇原則:同一台裝置裝一個用戶端即可。多個用戶端同時執行會爭搶連接埠與系統代理設定,是疑難排解時最先要排除的情況。已停止維護的用戶端不建議新裝,舊用戶的遷移路徑在下載頁對應卡片有說明。
基礎術語速查
後文會反覆出現幾個詞,先對齊口徑。核心:實際處理流量的核心程式,目前主流用戶端內建的是 Mihomo 核心,圖形介面只是它的外殼。節點:一條可用的代理線路。策略群組:把多個節點編成一組並定義選擇邏輯,例如自動測速、故障轉移。規則:決定某個請求走哪個策略群組的匹配條件。這四者的關係與更多概念,見術語表;策略群組的三種類型詳解見 策略群組類型詳解。
安裝前的三項環境自檢
第一項是系統時間。用戶端與節點建立加密連線時會驗證憑證有效期,本機時間與真實時間相差幾分鐘就可能導致交握失敗或瀏覽器提示憑證錯誤。Windows 在「設定 → 時間與語言」裡開啟自動同步並按一次「立即同步」,macOS 在「系統設定 → 一般 → 日期與時間」裡確認自動設定已開啟,Linux 桌面用 timedatectl status 查看 NTP 同步是否為 active。這一項花十秒確認,能省掉後面一整輪無效排查。
第二項是本機連接埠。Clash 預設要用 7890(混合代理連接埠)與 9090(本機管理介面)兩個連接埠,如果機器上已經裝過別的代理工具,這兩個連接埠極可能被佔用。安裝前不必提前查,但要知道啟動回報「address already in use」時該往哪裡看——各平台章節都給了對應的查佔用指令。第三項是同類軟體的清理:同一台機器上只保留一個正在執行的代理用戶端,舊用戶端即使視窗關閉也可能仍在系統列或背景常駐,先在工作管理員/活動監視器裡確認它真的結束了。
另外提前想清楚一件事:這台裝置是要「只讓瀏覽器走代理」,還是「整機所有程式都走代理」。前者用系統代理開關即可,權限要求低、隨開隨關;後者需要 TUN 模式,要授予更高權限。目標不同,後面各平台章節裡要開啟的開關也不同,下一章專門講這兩者的差別。
CH 02代理模式:系統代理與 TUN 的區別
五個平台的設定流程裡都會遇到「系統代理」與「TUN 模式」兩個開關。這一章先講清原理,後面各平台章節只講操作位置。
系統代理的運作方式
開啟系統代理後,用戶端把自己監聽的本地連接埠(預設 7890)寫進作業系統的代理設定。瀏覽器等遵守系統代理設定的應用程式,會把請求先送到這個連接埠,由 Clash 按規則分流。優點是無需特殊權限、開關即時生效;局限是只對「願意遵守系統代理」的應用程式有效——不少命令列工具、遊戲與背景服務會直接連網,繞過這一層。
TUN 模式的運作方式
TUN 模式在系統裡建立一塊虛擬網路卡,並把預設路由指向它,所有應用程式的流量——無論是否遵守系統代理——都會經過這塊網路卡進入 Clash。代價是需要更高權限:Windows 上要安裝系統服務並以系統管理員身分授權,macOS 上要核准系統延伸功能,Android 與 iOS 上表現為 VPN 授權彈窗。TUN 與系統代理二選一即可,同時開啟不會疊加效果。
| 對比項 | 系統代理 | TUN 模式 |
|---|---|---|
| 接管範圍 | 遵守系統代理設定的應用程式 | 全部應用程式與系統程序 |
| 權限要求 | 一般使用者權限 | 系統管理員 / 系統延伸功能 / VPN 授權 |
| 典型場景 | 日常瀏覽器存取 | 命令列工具、遊戲、不走代理設定的應用程式 |
| 關閉後遺留 | 異常結束可能殘留代理設定 | 虛擬網路卡隨服務停止一併移除 |
連接埠與區域網路共享的規劃
用戶端預設監聽的 7890 是「混合連接埠」,同時接受 HTTP 與 SOCKS5 兩種協定的請求,所以瀏覽器擴充功能填 http://127.0.0.1:7890、終端機工具填 socks5://127.0.0.1:7890 都能運作,不必分別開兩個連接埠。9090 是本機管理介面(external-controller),圖形介面透過它讀取節點狀態與切換策略群組,它不處理業務流量;把這個介面暴露到公網等於把代理控制權交出去,除非明確知道自己在做什麼,否則保持監聽在 127.0.0.1 上。
如果希望同一區域網路內的其他裝置(例如電視盒、沒法裝用戶端的裝置)共用這台機器的代理,需要在設定裡把 allow-lan 改為 true,並在其他裝置上把代理伺服器填成本機的區域網路 IP 加連接埠。開啟前請確認所處網路可信:allow-lan 打開後,同一網段內任何裝置都能使用這個代理出口。在咖啡廳、旅館等公共網路下不要開啟這個選項,回到家庭或辦公網路再打開。
規則、全域與直連
與上面兩個開關正交的是出站模式:規則模式按規則段逐條比對,命中什麼走什麼,是日常建議;全域模式所有流量走同一策略群組,只在排查「是不是規則沒比對到」時暫時使用;直連模式所有流量不經代理。疑難排解時的常用手法是暫時切到全域,如果全域可用而規則模式不可用,問題就鎖定在規則段,設定檔各段的含義見 YAML 結構逐段解析。
CH 03Windows:安裝、訂閱與服務模式
下載與安裝
從下載頁 Windows 區取得安裝包,首選 Clash Plus,備選 Clash Verge Rev、FlClash 與 Clash Nyanpasu。安裝包為標準安裝向導,一路預設即可;安裝路徑建議保持預設,避免放進含中文或空格的深層目錄,個別元件對路徑敏感。
首次執行時 Windows 可能彈出 SmartScreen 藍色提示,這是系統對下載來源較新的可執行檔的通用攔截,點「更多資訊」→「仍要執行」即可繼續。部分安全軟體會對代理類程式的虛擬網路卡驅動程式回報敏感行為,把安裝目錄加入信任區即可,不必關閉安全軟體。
匯入訂閱
開啟用戶端,進入「訂閱」或「設定」頁,把訂閱連結貼進網址輸入框後點匯入。用戶端會下載並解析訂閱,成功後代理頁會出現節點與策略群組清單。若匯入報錯或清單為空,先完整複製一次連結重試,再依 訂閱自查清單 逐項排除,不要急著重灌。
系統代理與 TUN
日常使用:在主畫面開啟「系統代理」開關,瀏覽器流量即經過 Clash。需要接管命令列或遊戲流量時改用 TUN:主流用戶端把 TUN 依賴的系統服務做成一鍵安裝,首次開啟會請求系統管理員權限(UAC 彈窗),核准後服務常駐,之後開關 TUN 不再重複彈窗。開啟 TUN 前先關閉系統代理開關。
平台特有問題
連接埠被佔用:啟動報 7890 或 9090 連接埠佔用時,先查出佔用程序再決定砍程序還是改連接埠。以系統管理員身分開啟終端機執行:
netstat -ano | findstr :7890
tasklist | findstr <上一步查到的 PID>
第一條指令末列是佔用程序的 PID,第二條查出程序名稱。常見佔用者是另一個未退出的代理用戶端。改連接埠的完整流程見 連接埠佔用處理全流程。
驗證是否真的生效:開關打開不等於流量已經走代理。Windows 上有兩個互相印證的檢查點:一是「設定 → 網路和網際網路 → 代理」裡「使用 Proxy 伺服器」應為開啟且位址是 127.0.0.1 加用戶端連接埠;二是用戶端的連線/日誌頁面在你重新整理網頁時應該有新的連線記錄滾動出現。兩處都正常,才說明鏈路真的通了。TUN 模式下系統代理項是關閉的,這時改看網路介面卡清單裡有沒有多出一塊虛擬網路卡。
代理設定殘留:用戶端當機或被強制結束時,可能來不及把系統代理還原,表現為退出後所有網頁打不開。手動還原:「設定 → 網路和網際網路 → 代理」,關閉「使用 Proxy 伺服器」。開機自動啟動:在用戶端設定裡開啟自動啟動與「靜默啟動」,避免每次開機彈出主視窗。
CH 04macOS:晶片架構、Gatekeeper 與系統延伸功能
先確認晶片架構再下載
macOS 安裝包分 Apple Silicon(M 系列晶片)與 Intel 兩種,裝錯架構會明顯變慢甚至無法啟動。不確定機型時在終端機執行:
uname -m
輸出 arm64 選 Apple Silicon 版本,輸出 x86_64 選 Intel 版本。然後到下載頁 macOS 區取得對應的 dmg,首選 Clash Plus,備選 Clash Verge Rev 與 FlClash。
安裝與首次啟動
開啟 dmg,把應用程式圖示拖進 Applications 資料夾,從啟動台或應用程式目錄啟動。首次開啟時系統的 Gatekeeper 機制可能提示無法驗證開發者:到「系統設定 → 隱私權與安全性」頁面底部,找到被攔截應用程式旁的「仍要打開」並確認。若提示「應用程式已損毀,無法打開」,是下載檔案被加上了隔離屬性,在終端機執行以下指令後重新開啟(路徑按實際應用程式名稱替換):
xattr -cr /Applications/你的用戶端名稱.app
匯入訂閱與系統代理
訂閱匯入流程與 Windows 一致:訂閱頁貼上連結、匯入、確認節點清單出現。開啟「系統代理」時,macOS 會彈出授權對話框要求允許修改網路設定,輸入登入密碼確認一次即可。開啟後可在「系統設定 → 網路 → 目前網路 → 詳細資訊 → 代理」裡看到 HTTP/HTTPS 代理已指向 127.0.0.1 的對應連接埠,這是驗證開關確實生效的可靠方法。
TUN 與系統延伸功能
macOS 上開啟 TUN 需要核准系統延伸功能或網路延伸功能:首次開啟時按提示到「系統設定 → 隱私權與安全性」允許對應延伸功能載入,部分機器需要重新啟動一次用戶端。若使用多個「網路連線位置」或同時連接有線與無線,代理設定按網路服務分別儲存,切換網路後發現代理失效時,優先檢查目前生效的網路服務是否是設定時的那一個。
平台特有問題
系統更新後延伸功能授權偶爾會被重置,TUN 突然無法使用時先回「隱私權與安全性」確認延伸功能仍在允許清單。移除用戶端建議用應用程式自帶的移除入口,或先在應用程式內關閉系統代理與 TUN 再刪除,直接拖進垃圾桶可能殘留代理設定,復原方法同上節,到網路詳細資訊裡手動關閉代理即可。
CH 05Linux:桌面用戶端與伺服器部署
桌面發行版:安裝 Clash Verge Rev 或 FlClash
Debian/Ubuntu 系從下載頁 Linux 區取得 deb 包後安裝:
sudo dpkg -i 下載的安裝包.deb
sudo apt-get -f install
第二條用於自動補齊依賴套件。RPM 系發行版使用對應的 rpm 包,用發行版自帶的套件管理器安裝即可。安裝後從應用程式選單啟動,訂閱匯入流程與桌面平台一致。
桌面環境的系統代理
Linux 沒有統一的「系統代理」入口,用戶端的系統代理開關對 GNOME 與 KDE 的桌面代理設定有效,但只影響遵守該設定的圖形應用程式。終端機工作階段要單獨設定環境變數:
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 設定檔,但更省事的做法是直接用 TUN 模式整機接管。Linux 上開啟 TUN 同樣需要提升權限,用戶端會引導安裝服務或請求 root 授權。
無介面伺服器:直接部署 Mihomo 核心
伺服器與軟體路由器場景不需要圖形用戶端,直接執行 Mihomo 核心。核心包在下載頁核心區提供。基本步驟:解壓縮二進位檔到 /usr/local/bin/mihomo,把設定檔放到 /etc/mihomo/config.yaml,再寫一個 systemd 服務:
[Unit]
Description=mihomo daemon
After=network-online.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
狀態顯示 active (running) 即啟動成功。設定檔的寫法與桌面用戶端使用的完全同源,各段含義見 設定逐段解析。
平台特有問題
53 連接埠衝突:設定裡若啟用 DNS 模組監聽 53 連接埠,會與 systemd-resolved 衝突,啟動日誌回報 address already in use。處理方式二選一:把設定裡的 DNS 監聽改成 0.0.0.0:1053 等非 53 連接埠,或停用 systemd-resolved 的樁監聽。查連接埠佔用:
ss -lntp | grep 7890
權限問題:TUN 模式要求程序具備 NET_ADMIN 能力,systemd 方式以 root 執行天然滿足;手動前景執行時記得加 sudo。
CH 06Android:APK 安裝與 VPN 授權
安裝 APK
從下載頁 Android 區取得 APK,首選 Clash Plus,備選 Clash Meta for Android、FlClash 與 Surfboard。首次安裝瀏覽器下載的 APK 時,系統會要求授予「安裝不明應用程式」權限:依彈窗指引為目前瀏覽器或檔案管理器開啟該權限,返回後繼續安裝即可。這是 Android 對非商店渠道安裝包的標準流程。
匯入訂閱與首次連線
開啟應用程式,在訂閱/設定頁貼上訂閱連結並匯入。手機上更常用的路徑是複製連結後直接進入應用程式,多數用戶端會識別剪貼簿並提示一鍵匯入。首次點擊連線按鈕時,系統彈出「XX 想要設定 VPN 連線」的授權對話框——Android 上的 Clash 透過系統 VPN 介面接管流量,等同於桌面端的 TUN 模式,點「確定」後狀態列出現鑰匙圖示即代表接管生效。沒有這個彈窗或誤點了拒絕,到「設定 → 網路 → VPN」裡刪除記錄後重新連線會再次觸發。
平台特有問題
背景被關閉:國產客製化系統對常駐背景應用程式清理積極,表現為鎖螢幕一段時間後代理中斷。處理:把用戶端加入電池最佳化白名單、允許背景執行與自動啟動,各廠商入口名稱不同,一般在「電池」或「應用程式管理」裡。私人 DNS 衝突:系統「私人 DNS」設為指定主機名稱時可能與用戶端的 DNS 接管互相干擾,排查解析異常時把私人 DNS 改回「自動」再測。分應用程式代理:用戶端設定裡可指定哪些應用程式走代理、哪些直連,銀行類應用程式對代理敏感時把它加入直連清單比整體關閉代理更省事。
CH 07iOS:App Store 取得與 VPN 設定
取得用戶端
iOS 上的 Clash Plus 透過 App Store 分發,商店入口與說明見下載頁 iOS 區。在 App Store 完成安裝後,應用程式的更新由商店自動接管,不需要手動維護安裝包,這是 iOS 與其他平台流程上最大的不同。
首次設定與授權
開啟應用程式,在訂閱頁貼上連結匯入,流程與 Android 一致。首次啟動連線時,系統會請求「新增 VPN 設定」並要求驗證 Face ID/密碼——iOS 上所有代理用戶端都透過系統 VPN 框架運作,這一步授權是必經流程,完成後「設定 → VPN」裡會出現對應項目,狀態列顯示 VPN 標記即為接管生效。之後的連線與中斷既可以在應用程式內操作,也可以直接用系統設定裡的 VPN 開關。
平台特有問題
網路切換後中斷:Wi-Fi 與行動數據之間切換時 VPN 通道會重建,偶爾需要回應用程式裡手動重新連線;用戶端提供「隨需連線」選項時建議開啟,系統會在需要時自動拉起通道。訂閱更新:iOS 背景更新受系統排程限制,長時間未開啟應用程式時訂閱可能過期,節點全部逾時的時候先進應用程式手動更新一次訂閱再測。規則與設定:iOS 用戶端使用的訂閱與設定語法和桌面端同源,策略群組、規則的調整方法通用,不需要為 iOS 單獨維護一份設定。
CH 08設定常見問題:裝完之後的疑難排解手冊
YAML 縮排與欄位拼寫
手動編輯設定檔時,最高頻的錯誤是縮排:YAML 用兩個空格表達層級,禁止 Tab 字元;同級欄位必須對齊,清單項目的 - 後面要有一個空格。用戶端回報「設定載入失敗」並指出行號時,先看該行與上下文的縮排是否一致,再檢查欄位名稱拼寫——proxy-groups 寫成 proxy-group 這類差一個字母的錯誤,錯誤訊息往往並不直觀。一份最小可用的通用段範例:
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
mixed-port 是同時接受 HTTP 與 SOCKS 的混合連接埠,external-controller 是本機管理介面。這兩個連接埠就是前文各平台「連接埠佔用」問題的當事人,更動其一後需重新啟動用戶端生效。完整的分段講解見 YAML 結構逐段解析。
連接埠衝突的通用判斷
三個平台的查佔用指令已在各自章節給出(Windows 用 netstat,macOS/Linux 用 ss 或 lsof)。通用判斷順序:先確認是不是另一個代理用戶端沒退乾淨;是,則退出舊用戶端;不是,則改本機連接埠——在設定檔或用戶端設定裡把 7890 改為其他閒置連接埠,同時把依賴這個連接埠的地方(瀏覽器擴充功能、終端機環境變數)一併更新。完整流程見連接埠佔用處理專文。
訂閱相關問題
匯入報錯、節點清單為空、更新失敗,三類現象的排查是同一條鏈:連結完整性 → 回應內容格式 → 訂閱是否到期 → 用戶端相容性。逐項自查方法見訂閱自查清單。這裡補一條通用經驗:在瀏覽器裡直接開啟訂閱連結,若回傳的是一段文字而不是錯誤頁,說明連結本身可用,問題在用戶端一側;若回傳錯誤頁或空白,直接聯絡訂閱提供方。
代理已生效但瀏覽器回報憑證錯誤
開啟代理後網頁彈出「您的連線不是私密連線」一類提示,多數與用戶端設定無關:先校正系統時間(時間偏差數分鐘就足以讓憑證驗證失敗),再換一個節點重試,仍重現再考慮其他原因。各種錯誤特徵的分類排查見憑證錯誤排查專文。
策略群組不會選、節點切換不生效
規則模式下,手動切換節點要在對應的策略群組裡切,而不是在節點清單裡點——請求命中的是策略群組,組內目前選中的節點才是實際出口。url-test 類型的組會按測速結果自動選擇,手動指定無效屬於設計行為,想手動控制就把常用組設為 select 類型。三種策略群組的機制與設定片段見策略群組詳解。
日誌怎麼讀
排錯的第一手材料是用戶端日誌頁,把日誌等級從預設的 info 調到 debug 能看到更多細節,問題定位後記得調回去,debug 等級長期開啟會寫入大量內容。讀日誌只看三類行:含 error 或 failed 的行是直接線索;含 timeout 的行說明連上了但沒有回應,通常是節點側問題而不是本機設定問題;含 rule matched 或策略群組名稱的行能告訴你某個請求實際走了哪條規則,當「某個網站不生效」時,這類行最有價值。把錯誤行原文保留下來再去檢索或求助,比描述「連不上」有效得多。
更新與遷移
用戶端更新:桌面端多數用戶端內建檢查更新入口,新版本覆蓋安裝即可,設定與訂閱記錄儲存在使用者目錄,不會因為覆蓋安裝遺失;但大版本升級前仍建議把設定檔另存一份。iOS 由 App Store 自動接管,Android 需要重新下載 APK 覆蓋安裝,套件名稱一致時同樣保留原有資料。核心更新:圖形用戶端會隨版本更新內建核心,單獨部署 Mihomo 的伺服器場景則需要手動替換執行檔並 systemctl restart mihomo。
換裝置或換用戶端時,真正需要遷移的只有訂閱連結本身——節點、策略群組、規則都從訂閱重新拉取,不需要匯出舊的設定檔。如果對設定做過手動修改(例如改了連接埠、加了自訂規則),把那份 YAML 一併帶走,在新用戶端裡以本機設定的方式匯入。從已停止維護的用戶端(Clash for Windows、ClashX Meta)遷移時,做法就是在新用戶端裡重新貼上同一個訂閱連結,然後移除舊用戶端並確認系統代理設定已還原。
還沒解決?
更多按現象分類的問答收錄在常見問題頁,概念性的疑問查術語表。回報問題時帶上三樣資訊:平台與用戶端名稱、重現步驟、用戶端日誌裡的錯誤行,能把來回溝通壓縮到最短。