ALL-PLATFORM SETUP HANDBOOK

Clash 全平台安裝與設定指南

涵蓋 Windows、macOS、Android、iOS 與 Linux,從客戶端選擇、安裝授權、訂閱匯入,到系統代理、TUN 接管與故障定位,依平台提供可直接查閱的完整操作流程。

Windows macOS Android iOS Linux 通用排障
CHAPTER 01 · PREPARATION

安裝前的通用準備工作

先確認平台、架構與客戶端類型

Clash 不是單一安裝包,而是一套由代理核心、圖形客戶端、設定檔與規則資料共同組成的工具鏈。一般桌面或行動裝置使用者通常需要圖形客戶端;伺服器、軟路由與容器環境才會直接執行 Mihomo 核心。圖形客戶端負責訂閱管理、策略切換、日誌檢視與系統權限操作,核心則負責解析設定、監聽本機連接埠、執行規則比對並轉送連線。下載前先區分這兩類軟體,可以避免把只有命令列介面的核心當成桌面程式安裝。

判斷平台不能只看 Windows、macOS 或 Linux 名稱,還要確認處理器架構。大多數一般 Windows 電腦使用 x64;採用高通等 ARM 處理器的裝置才需要 ARM64。Apple Silicon Mac 使用 macOS ARM64 安裝包,Intel Mac 使用 x64 安裝包。Android 安裝包常見 arm64、arm 與 universal 三類,近年的裝置通常優先選擇 arm64,不確定時可選 universal。Linux 還要核對發行版套件格式,Debian、Ubuntu 及其衍生系統通常使用 deb,Fedora、openSUSE 等系統通常使用 rpm。

環境 常見架構或格式 建議入口 安裝前檢查
Windows x64 Clash Plus、Clash Verge Rev 系統版本、管理員權限、安全軟體提示
macOS Apple Silicon / Intel Clash Plus、Clash Verge Rev 晶片類型、網路擴充授權、登入項目
Android arm64 / arm / universal Clash Plus、Clash Meta for Android 安裝來源權限、VPN 權限、省電策略
iOS App Store 應用程式 Clash Plus 商店帳號、VPN 設定授權、背景策略
Linux deb / rpm / AppImage 或核心壓縮包 Clash Verge Rev、FlClash、Mihomo 桌面環境、套件管理器、服務權限

準備訂閱網址與基本網路

客戶端本身不包含可用的代理節點。首次設定前,需要準備由服務提供者產生的 Clash 或 Mihomo 相容訂閱網址,或一份結構完整的 YAML 設定檔。訂閱網址通常包含存取憑證,應像密碼一樣保存,不要放入截圖、公開日誌、命令歷史或公開程式碼儲存庫。若提供者同時給出多種格式,應優先選擇明確標示 Clash、Mihomo 或 Meta 的格式;通用分享連結能否匯入,取決於客戶端是否內建格式轉換功能。

匯入前先使用目前的網路確認訂閱網址可以連線。如果瀏覽器無法開啟,客戶端通常也無法完成更新。需要驗證的訂閱可能回傳 YAML 文字而非網頁,這是正常現象;若回傳登入頁面、HTML 錯誤頁或空白內容,則表示網址、權限或網路環境有問題。公司、校園與公共網路可能限制特定連線,首次安裝最好在穩定的家用網路或行動熱點下完成,再移至目標網路測試。

區分設定、訂閱與覆寫

訂閱是遠端設定的來源,設定檔是客戶端實際載入的內容,覆寫則是在不修改遠端訂閱的情況下調整本機欄位。許多圖形客戶端會為訂閱保存快取,因此匯入成功不代表每次啟動都會即時向遠端請求;更新按鈕通常才會重新抓取。修改訂閱快取中的 YAML 可能在下一次更新時被覆蓋。需要長期保留的連接埠、DNS 或規則調整,應使用客戶端提供的覆寫、合併設定或腳本功能,並在修改前匯出原始設定。

最小設定至少需要監聽連接埠、代理節點或代理提供者、策略組以及規則。欄位之間存在引用關係:規則指向策略組,策略組再選擇具體節點;任何名稱拼寫不一致都會導致載入失敗。若準備手動維護 YAML,可先閱讀 Clash 設定檔結構解析,理解層級後再調整。YAML 使用空格縮排,不能混用定位字元,同一清單下的項目必須保持一致縮排。

記錄可回復的初始狀態

安裝前記錄系統原有的代理設定、DNS 設定與 VPN 軟體狀態。Windows 可查看「設定 → 網路和網際網路 → 代理」,macOS 可查看目前網路服務的「詳細資訊 → 代理」,行動裝置則確認是否已有其他 VPN 設定。Clash 與其他 VPN、網路過濾器、封包擷取工具、家長控制或企業安全軟體同時執行時,可能爭用路由表、虛擬網卡或系統代理。首次除錯時應只保留一個接管網路的工具,連線穩定後再逐項恢復其他軟體。

下載入口集中在 客戶端頁面。其中 Clash Plus 是 Windows、macOS、Android 與 iOS 的首選圖形客戶端;Linux 桌面可選 Clash Verge Rev 或 FlClash,伺服器與路由器環境再考慮 Mihomo 核心。已停止維護的 Clash for Windows 和 ClashX Meta 僅適合既有環境遷移或相容舊設定,不建議用於新的長期部署。

CHAPTER 02 · WINDOWS

Windows 下載、安裝與系統接管

下載安裝包並完成首次啟動

Windows 一般使用者優先選擇 Clash Plus,也可依照介面習慣選擇 Clash Verge Rev、FlClash 或 Clash Nyanpasu。進入 Windows 下載區域 後,先確認裝置架構,再下載完整安裝包。絕大多數 Intel 與 AMD 電腦使用 x64。只有系統資訊明確顯示 ARM64 的裝置才選擇 ARM 版本。安裝路徑建議使用預設位置,避免將程式目錄放在需要頻繁同步的雲端硬碟、暫存目錄或權限管控嚴格的資料夾中。

安裝過程中若系統彈出使用者帳戶控制視窗,確認操作來源後再允許安裝。首次啟動時,Windows 防火牆可能詢問是否允許客戶端通訊。僅在可信任網路上執行時,可依實際需求授權;若拒絕,通常不會影響本機透過回送位址存取代理連接埠,但區域網路共享、外部控制或部分 TUN 功能可能受限。安裝完成後先開啟客戶端主介面,不要立即啟用開機啟動,先確認設定與接管方式運作正常。

匯入訂閱並檢查設定狀態

在設定或訂閱頁面選擇從 URL 匯入,貼上訂閱網址並儲存。客戶端抓取完成後,應能看到設定名稱、策略組與節點清單。若只出現空白設定,或匯入按鈕沒有反應,可開啟日誌檢查 HTTP 狀態、逾時、憑證錯誤與 YAML 解析資訊。匯入本機檔案時應選擇完整的 YAML 檔案,而不是瀏覽器儲存下來的 HTML 頁面。設定載入成功後,將其設為目前使用的設定,再進入代理組頁面選擇策略。

首次測試建議將主要策略組設為一個明確節點,而不是立即使用自動選擇或負載平衡。這樣遇到連線問題時,可以排除健康檢查與策略組切換帶來的變數。客戶端通常會提供延遲測試,但結果只反映測試位址的連線狀況,不等同於所有網站的實際可用性。測試完成後開啟日誌,在存取一般網頁時確認出現規則命中與連線記錄。

系統代理的啟用與連接埠關係

Windows 的系統代理適合瀏覽器、聊天工具與大多數遵循 WinINET 或系統代理設定的桌面應用程式。啟用客戶端中的「系統代理」後,系統通常會將 HTTP 與 HTTPS 代理指向本機監聽位址。常見監聽位址是 127.0.0.1,連接埠來自設定中的 mixed-portport 或客戶端設定。系統代理只是一項指向本機連接埠的設定,真正的規則比對仍由 Clash 核心執行。

如果瀏覽器可以存取而命令列工具失敗,通常不是節點問題,而是程式沒有讀取 Windows 系統代理。PowerShell、Git、套件管理器與開發工具可能需要另外設定代理環境變數或軟體內的代理。反過來,瀏覽器擴充功能若設定了獨立代理,也可能繞過系統設定。排查時先關閉瀏覽器代理擴充功能,再檢查系統代理位址是否與客戶端實際監聽的連接埠一致。

$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
curl.exe https://example.com

Remove-Item Env:HTTP_PROXY
Remove-Item Env:HTTPS_PROXY

上面的 PowerShell 設定只對目前終端機工作階段有效,連接埠需要替換成客戶端實際顯示的混合代理連接埠。短期測試使用工作階段層級的變數較安全,關閉視窗後不會繼續影響其他程式。若要單獨設定 Git,應使用 Git 自身的設定項目,並在不需要時刪除,避免客戶端關閉後命令仍指向失效的本機連接埠。

TUN 模式、服務模式與權限

不讀取系統代理的應用程式、部分商店應用程式與需要處理 UDP 的程式,可使用 TUN 模式。TUN 會建立虛擬網路介面並調整路由,因此通常需要管理員權限或安裝服務元件。部分客戶端提供「服務模式」,由背景服務取代每次啟動時申請管理員權限。安裝服務後應重新啟動客戶端,確認服務狀態正常,再啟用 TUN。若虛擬網卡建立失敗,可檢查是否同時執行其他 VPN、虛擬機網路元件或舊版網路過濾驅動程式。

TUN 啟用後不代表所有連線都必須經過代理。規則模式仍會根據網域、IP、程序或規則集決定直連、代理或攔截。若區域網路印表機、NAS 或遠端桌面無法存取,應檢查私有位址規則與路由排除,而不是直接切換到全域模式。常見私有網段應保持直連;企業環境也可能使用自訂內網網段,需要另外加入直連規則。

開機啟動、休眠恢復與退出順序

確認訂閱更新、系統代理與 TUN 都能正常運作後,再啟用開機啟動。若客戶端提供「靜默啟動」「啟動後開啟系統代理」「啟動後開啟 TUN」等獨立選項,建議分階段啟用。先讓客戶端隨系統啟動但不自動接管,觀察一次重新啟動;再開啟自動代理。這樣可以避免服務尚未就緒時系統已將流量指向本機連接埠,造成登入後短暫斷網。

Windows 從睡眠或網路切換後,舊連線與 DNS 快取可能仍被保留。遇到恢復後無法存取時,可先關閉系統代理或 TUN,等待客戶端重新取得網路狀態,再重新開啟。退出客戶端前應使用介面中的退出命令,讓程式恢復系統代理;直接在工作管理員終止程序可能留下代理位址。若已出現「客戶端退出後所有網頁都無法開啟」,請進入系統代理設定關閉手動代理,再重新啟動客戶端檢查。

CHAPTER 03 · MACOS

macOS 安裝、授權與網路擴充功能

選擇 Apple Silicon 或 Intel 安裝包

macOS 首先要區分處理器架構。點選螢幕左上角的蘋果選單並開啟「關於這台 Mac」,晶片顯示 Apple M 系列時選擇 Apple Silicon 或 ARM64 安裝包;處理器顯示 Intel 時選擇 x64 安裝包。首選 Clash Plus,也可使用 Clash Verge Rev 或 FlClash。下載入口位於 macOS 客戶端區域。架構選錯時,應用程式可能無法啟動,或需透過轉譯執行並出現額外相容性問題。

常見安裝方式是開啟磁碟映像檔,將應用程式拖曳到「應用程式」資料夾,再從該資料夾啟動。不要長期直接從磁碟映像檔執行,因為掛載路徑會變動,登入項目、更新與權限記錄可能不穩定。首次啟動若遭系統攔截,應在「系統設定 → 隱私權與安全性」中核對應用程式名稱後允許開啟。不要反覆移動應用程式位置,macOS 會將不同路徑視為不同的授權對象。

匯入訂閱並允許必要權限

在客戶端的設定頁面新增遠端訂閱,完成更新後將其設為使用中的設定。接著進入策略組選擇節點,並透過日誌或網頁存取驗證連線。系統可能在首次啟用代理、TUN 或網路擴充功能時要求輸入管理員密碼,也可能要求允許新增 VPN 設定。授權視窗來自作業系統,完成後應返回客戶端確認開關狀態,而不是只看系統彈窗是否消失。

如果客戶端提供選單列圖示,可從選單列快速切換系統代理與模式,但複雜設定仍應回到主介面完成。選單列圖示消失不一定表示程序已退出,可能被系統收合,或應用程式設定為僅在背景執行。透過「活動監視器」確認程序狀態,比重複啟動多個執行個體更可靠。多個執行個體同時監聽相同連接埠,會導致後啟動的核心回報連接埠已被使用。

系統代理與不同網路服務

macOS 會依網路服務儲存代理設定,Wi-Fi、乙太網路與個人熱點可能各自擁有獨立設定。客戶端啟用系統代理時通常會修改目前使用中的服務,但切換網路後系統可能恢復另一套代理狀態。若 Wi-Fi 下正常、接上網路線後失效,應在「系統設定 → 網路」中檢查目前服務,而不是只重新啟動客戶端。企業設定描述檔也可能鎖定代理設定,此時一般應用程式無法覆寫,需遵循裝置管理政策。

系統代理主要影響遵循 CFNetwork 或系統網路設定的應用程式。終端機中的 curl、SSH、Homebrew 與部分開發工具不會自動採用圖形介面的代理設定。可以在目前終端機暫時匯出環境變數進行驗證:

export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
curl -I https://example.com

unset HTTP_PROXY
unset HTTPS_PROXY

連接埠應與客戶端目前的混合連接埠一致。若終端機測試成功而圖形應用程式失敗,請檢查應用程式是否使用獨立網路擴充功能、是否快取舊 DNS,或是否明確停用系統代理。若圖形應用程式正常而終端機失敗,則優先檢查環境變數、Shell 啟動檔與軟體自身的代理設定。

TUN、DNS 與其他網路擴充功能衝突

TUN 適合需要接管更多應用程式與 UDP 流量的情境。啟用時客戶端會安裝或呼叫網路擴充功能,並修改系統路由。macOS 同時可能還在執行防火牆、內容過濾器、企業 VPN、虛擬機橋接或其他代理軟體,這些元件的處理順序會影響連線。首次啟用 TUN 前,應暫時退出其他網路接管工具,並在「系統設定 → 網路 → VPN 與過濾器」中確認沒有重複啟用的設定。

如果 TUN 啟用後可以存取 IP 位址卻無法解析網域,應查看客戶端日誌中的 DNS 請求,並確認設定使用的 DNS 伺服器在目前網路上可達。若區域網路網域依賴路由器或公司內部 DNS,將所有查詢統一送往公共 DNS 可能導致內網名稱失效。可以為內網網域設定獨立的 nameserver-policy,或讓對應網域與私有位址使用本機解析。

登入項目、退出與系統升級後的檢查

需要開機自動啟動時,可使用客戶端自身的登入啟動選項,並在「系統設定 → 一般 → 登入項目」確認狀態。不要同時透過多個工具重複新增啟動項目,否則可能產生兩個執行個體。系統升級後若網路擴充功能失效,先檢查應用程式權限與背景項目是否仍獲允許,再重新安裝服務元件。直接刪除應用程式不一定會清除系統代理,因此移除前應先關閉系統代理與 TUN,再從客戶端正常退出。

CHAPTER 04 · ANDROID

Android 安裝、VPN 權限與背景執行

選擇安裝包並完成安裝

Android 可優先選擇 Clash Plus,也可使用 Clash Meta for Android、FlClash 或 Surfboard。進入 Android 下載區域 後,應優先採用與裝置架構相符的安裝包。大多數近年手機和平板使用 arm64;較舊裝置可能使用 arm;無法確認時可選擇 universal,但檔案通常較大。架構不相容時,系統會直接提示無法安裝,或安裝後無法啟動。

透過瀏覽器下載應用程式安裝包時,Android 可能要求為目前的瀏覽器或檔案管理器開啟「允許安裝未知應用程式」。這項權限只授權指定應用程式發起安裝,不等於永久放開所有來源。安裝完成後可視需要關閉該來源權限。若系統提示安裝包與現有應用程式衝突,通常是簽章不同或舊應用程式使用了相同套件名稱;先匯出舊客戶端設定,再決定是否解除安裝,以免訂閱與覆寫規則一併遺失。

匯入訂閱並建立 VPN 連線

開啟客戶端後,在設定頁面透過 URL 匯入訂閱,更新完成後選取該設定。進入代理或策略頁面,為主要策略組指定節點。返回首頁點選啟動時,Android 會彈出 VPN 連線要求,確認後狀態列通常會出現 VPN 標誌。這項權限用於建立本機虛擬網路介面,讓應用程式流量進入 Clash 核心,並不代表已選擇可用節點;能否存取仍取決於設定、策略與 DNS。

如果點選啟動後立即停止,應先查看客戶端日誌。常見原因包括設定解析失敗、本機連接埠衝突、VPN 權限被其他應用程式佔用,或系統不允許背景啟動。Android 同一時間通常只允許一個一般 VPN 連線,其他 VPN、廣告過濾器、企業安全客戶端與部分防火牆會與 Clash 互相取代。測試時先關閉其他 VPN,再重新授權。

分應用程式代理、繞過與區域網路

Android 客戶端通常支援分應用程式代理,可以選擇只代理指定應用程式,或讓指定應用程式繞過 VPN。僅代理模式適合明確知道哪些應用程式需要接管的情境;繞過模式更適合預設接管大部分應用程式,只排除銀行、區域網路工具或企業應用程式。系統元件之間存在呼叫關係,一個應用程式可能透過系統下載器、WebView 或外部瀏覽器完成請求,因此分應用程式清單過窄時,可能出現主介面正常但登入或下載失敗的情況。

存取路由器、投放裝置、印表機與 NAS 時,需要允許區域網路連線,並確保私有位址走直連。部分 Android 系統提供「封鎖未使用 VPN 的連線」開關,啟用後所有未進入 VPN 的流量都會被系統丟棄,可能與分應用程式繞過或區域網路存取衝突。若只在啟用該系統選項後出現問題,應先關閉它進行驗證,再調整 Clash 的路由與繞過規則。

省電策略與背景保活

行動作業系統會在螢幕關閉、低電量或長時間處於背景時限制應用程式。常見表現是剛啟動時正常,鎖定螢幕一段時間後連線中斷,重新開啟客戶端又恢復。可在系統電池設定中將客戶端設為不受限制,允許背景執行,並在廠商的自動啟動管理中允許啟動。不同品牌的設定名稱不同,但判斷標準一致:客戶端程序與 VPN 服務不能在螢幕關閉後被清理。

持續執行 TUN/VPN 會增加一定耗電量,具體取決於網路品質、DNS 請求、健康檢查頻率與活動連線數量。不要為了保活同時啟用多個重複的定時更新與高頻測速。訂閱更新可依實際需求設定合理週期;策略組健康檢查也不需要對大量節點進行過於頻繁的探測。出現異常耗電時,應先查看 Android 電量統計與客戶端日誌,確認是持續網路活動,還是系統反覆重新啟動 VPN。

行動網路、Wi-Fi 與私人 DNS

從 Wi-Fi 切換至行動網路時,原有 TCP 與 UDP 連線會中斷,客戶端需要重新建立通道。短暫等待後仍無法恢復時,可以停止再啟動 VPN,不要反覆重新匯入訂閱。Android 的「私人 DNS」使用加密 DNS,與 Clash 的 DNS 接管可能產生處理順序差異。若出現部分網域解析失敗,可先將私人 DNS 調整為自動進行對照測試,再依所用設定決定由系統或 Clash 統一負責解析。

CHAPTER 05 · IOS

iOS 安裝、VPN 設定與隨需連線

透過 App Store 安裝 Clash Plus

iPhone 與 iPad 使用 Clash Plus,下載頁會提供 App Store 入口,並列出官方網站 clashplus.io 供核對應用程式資訊。安裝完成後先開啟應用程式,閱讀系統權限說明,再進入設定頁面。iOS 上的網路接管依賴系統 Network Extension,應用程式首次啟動代理時會要求新增 VPN 設定,並要求透過裝置密碼、Face ID 或 Touch ID 確認。

系統設定中的 VPN 狀態表示網路擴充功能是否已建立,不代表設定中的節點一定可用。安裝後應依序完成訂閱匯入、選取設定、選擇策略組與連線測試。若只授權 VPN 而沒有載入有效設定,應用程式可能連線後立即中斷,或保持連線但沒有可轉送的策略。

匯入訂閱與更新設定

在設定頁面選擇透過 URL 新增,貼上相容於 Clash 或 Mihomo 的訂閱網址。更新成功後確認設定中存在代理組與規則,再將其設為目前設定。iOS 存取剪貼簿可能彈出隱私提示,這是貼上訂閱網址時的系統行為。完成匯入後,不必長期將網址保留在剪貼簿中。若透過 Safari 點選訂閱連結跳轉至應用程式,應核對實際開啟的應用程式與設定名稱,避免重複匯入同一訂閱。

訂閱更新失敗時,可先在 Safari 中存取相同網址。若瀏覽器也無法開啟,應檢查網路、網址有效性與服務狀態;若瀏覽器可存取而應用程式失敗,再檢查 URL 是否包含經轉義的字元、是否需要額外請求標頭,以及客戶端日誌中的狀態碼。更新現有設定前可先匯出重要覆寫,遠端更新可能替換訂閱產生的節點與策略組。

策略模式、區域網路與行動網路

首次連線建議使用規則模式,並為主要策略組選定一個明確節點。全域模式會將大量原本應直連的系統服務與本機連線交給單一策略,不適合作為長期排障手段。在規則模式下,網域與位址會依序比對,未命中的連線由最終規則處理。需要存取家用裝置時,應確保私有位址、區域網路網域與 Bonjour 相關流量不被錯誤代理。

從 Wi-Fi 切換至行動網路後,系統會重建底層連線。網路擴充功能通常能自動恢復,但長連線可能需要應用程式重新發起。若狀態列仍顯示 VPN 而網路無法使用,可先在 Clash Plus 中停止連線,等待系統 VPN 標誌消失後再啟動。直接反覆開關飛航模式可能掩蓋設定問題,不利於判斷是網路切換、DNS 還是節點造成。

隨需連線與背景限制

隨需連線可依網路變化自動建立 VPN,適合設定已經穩定的裝置。首次安裝階段不建議立即啟用,因為錯誤設定可能在每次網路切換後自動恢復,增加排查難度。先手動連線完成 Wi-Fi、行動網路、鎖定螢幕與喚醒測試,再依需要啟用隨需規則。若家用 Wi-Fi、公司 Wi-Fi 與行動網路需要不同處理,應明確設定網路條件,不要依賴同一條過於寬泛的規則。

iOS 的背景行為由系統統一管理,無法透過持續開啟應用程式介面解決所有斷線問題。穩定性主要取決於網路擴充功能狀態、系統資源、設定複雜度與網路切換。大量高頻健康檢查會增加背景活動,複雜腳本與過大的規則集也會延長設定載入時間。出現連線被系統終止時,應先減少不必要的探測,檢查日誌中是否有記憶體、設定解析或網路變化記錄。

與其他 VPN 設定的關係

裝置上可以儲存多個 VPN 設定,但同一時間通常只有一個主要通道生效。企業裝置管理、內容過濾、DNS 應用程式與其他代理工具可能佔用網路擴充功能。若 Clash Plus 無法啟動,進入「設定 → 一般 → VPN 與裝置管理」檢查目前設定,但不要任意刪除企業管理項目。個人裝置可先停用其他 VPN 進行對照;受管理裝置則應遵循組織政策。

CHAPTER 06 · LINUX

Linux 桌面、命令列與服務部署

桌面客戶端的套件格式選擇

Linux 桌面使用者可選擇 Clash Verge Rev 或 FlClash。Debian、Ubuntu、Linux Mint 及其衍生系統通常使用 deb 安裝包;Fedora、Rocky Linux、openSUSE 等環境則依發行版支援選擇 rpm;部分客戶端也可能提供獨立執行格式。進入 Linux 下載區域 前,先執行 uname -m 確認架構。輸出 x86_64 通常對應 AMD64,輸出 aarch64 對應 ARM64。

uname -m
cat /etc/os-release

sudo apt install ./clash-client-amd64.deb
# 使用 rpm 系發行版時,改用對應套件管理器安裝 rpm 檔案

範例中的檔案名稱需要替換成實際下載的檔案。使用套件管理器安裝本機套件,比直接解壓縮複製更容易處理桌面入口與相依套件。若安裝後沒有選單圖示,可從終端機啟動一次並查看錯誤輸出。Wayland 與 X11 環境在托盤圖示、權限提示與自動啟動方面可能存在差異,托盤不可見不代表核心沒有執行,應結合程序、連接埠與日誌判斷。

匯入設定與桌面系統代理

圖形客戶端的訂閱匯入流程與其他桌面平台相似:新增遠端 URL、更新設定、設為目前設定、選擇策略,然後啟用系統代理。Linux 的系統代理並非全系統統一介面,GNOME、KDE、瀏覽器、終端機與背景服務可能各自讀取不同設定。桌面開關主要影響遵循桌面環境代理設定的應用程式,命令列程式與 systemd 服務通常不會自動讀取。

終端機測試可暫時設定環境變數。變數名稱同時寫入大小寫可以相容更多工具,但在長期設定前應確認程式行為。不要將代理變數直接寫入所有使用者的全域環境,客戶端未執行時會導致大量命令連線失敗。

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy

curl -I https://example.com

unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY

SSH 不會因設定 HTTP 代理變數就自動透過 Clash。Git 的 HTTPS 遠端可能讀取環境變數,使用 SSH 遠端時則需要單獨的 ProxyCommand 或 TUN 路由。套件管理器也可能有自己的代理設定檔。排查時應按應用程式逐項確認,不要把「瀏覽器正常」推斷為所有 Linux 程序都已接管。

TUN 權限、路由與 DNS

Linux TUN 需要存取 /dev/net/tun,並修改路由、策略路由或防火牆規則。圖形客戶端可能透過授權助手完成這些操作,命令列核心則需要適當的 capability,或由受控服務啟動。直接長期以 root 身分執行整個桌面客戶端並不理想,應優先使用客戶端提供的服務模式,或為核心設定最小必要權限。

容器、虛擬機器、Docker 橋接網路與本機 Kubernetes 會建立額外網段。啟用自動路由後,如果這些網段沒有正確排除,容器存取主機、拉取映像檔或叢集內部通訊可能異常。啟用 TUN 前記錄 ip route,出現問題後對照路由表。區域網路、容器網段與 VPN 專用網段應依實際環境設定直連或排除。

ip route
ip rule
ss -lntup | grep -E '7890|9090'
resolvectl status

不同發行版可能使用 systemd-resolved、NetworkManager、傳統 resolv.conf 或其他 DNS 管理方式。Clash 的 DNS 接管需要與目前的解析鏈配合。若系統的 /etc/resolv.conf 指向本機 stub,而 Clash 又將查詢送回同一位址,可能形成迴圈。日誌中持續出現 DNS 逾時、CPU 使用率升高或大量重複請求時,應檢查上游 nameserver 是否最終指向可連線的實際 DNS。

Mihomo 核心的服務化執行

沒有桌面環境的伺服器或路由器可直接執行 Mihomo 核心。設定目錄應包含主設定與所需規則資料,並讓執行使用者具備讀取權限。啟動前先使用核心的設定檢查功能確認 YAML 可以解析,再交由 systemd 管理。服務應設定明確的工作目錄、設定路徑、重新啟動策略與日誌輸出,避免從暫存目錄啟動。

mihomo -t -d /etc/mihomo
mihomo -d /etc/mihomo

部署服務時,不要預設將控制連接埠與代理連接埠開放到所有網卡。僅供本機使用時,保持監聽在回送位址;確實需要提供給區域網路裝置使用時,再設定 allow-lan、監聽位址、防火牆與控制介面驗證。遠端控制介面一旦開放,應限制來源並設定存取金鑰。設定變更後先執行檢查,再重新載入服務,保留上一份可啟動的設定以便快速回復。

自動啟動與圖形工作階段差異

桌面客戶端的自動啟動通常依賴使用者圖形工作階段,systemd 系統服務則在系統啟動階段執行。不要同時啟動同一個核心執行個體,否則會爭用連接埠與設定目錄。若只需要桌面代理,使用客戶端登入啟動即可;若要為整台主機或區域網路提供穩定服務,應採用獨立核心服務,讓圖形介面僅作為控制端。升級前停止服務並備份設定,升級後先在前景測試設定相容性,再恢復自動啟動。

CHAPTER 07 · ROUTING MODES

系統代理、規則模式、全域模式與 TUN

四個概念各自負責什麼

系統代理、TUN、規則模式與全域模式不在同一層。系統代理與 TUN 決定「哪些流量進入 Clash」;規則模式與全域模式決定「進入後如何處理」。系統代理透過作業系統的代理設定,將支援代理的應用程式指向本機監聽連接埠。TUN 透過虛擬網路介面與路由接管更多連線。流量進入核心後,規則模式依規則清單選擇直連、代理或攔截;全域模式則將大部分連線交給指定策略。

理解這兩層可以避免常見誤判。例如瀏覽器沒有流量日誌,表示連線可能沒有進入 Clash,應檢查系統代理或 TUN;日誌中已有連線但結果不符合預期,則應檢查規則、策略組與節點。切換全域模式只能改變已進入核心的流量,無法讓完全不讀取系統代理的程式突然被接管。

方式 作用層級 適用情境 主要限制
系統代理 流量入口 瀏覽器與一般桌面應用程式 應用程式必須遵循系統代理
TUN 流量入口 UDP、命令列、部分遊戲與商店應用程式 需要權限,並可能影響路由與 DNS
規則模式 流量決策 日常長期使用 依賴規則順序與資料完整性
全域模式 流量決策 短期對照測試 區域網路與本機服務可能受影響

規則為什麼要依序比對

Clash 規則通常會由上至下檢查,命中第一條後便停止繼續比對。因此具體規則應放在寬泛規則之前,最後使用 MATCH 作為兜底。網域規則、規則集、IP 網段與程序規則可以同時存在,但是否進行 DNS 解析、是否略過 IP 比對,會影響效能與結果。看到某個網站使用錯誤策略時,應從日誌取得網域、目標位址與命中規則,再回到設定定位,而不是盲目增加重複規則。

rules:
  - DOMAIN-SUFFIX,example.org,DIRECT
  - DOMAIN-KEYWORD,example,PROXY
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - MATCH,PROXY

範例中更具體的網域後綴規則位於關鍵字規則之前,私有位址明確直連,最後由 MATCH 交給 PROXY 策略組。實際設定中的策略組名稱必須與 proxy-groups 定義完全一致。使用 no-resolve 表示比對該 IP 規則時不為網域額外觸發解析,但不等於關閉整個 DNS 模組。

策略組不等同於節點清單

節點描述具體連線參數,策略組負責在多個節點或其他策略之間選擇。select 組由使用者手動選擇;url-test 組依測試結果選擇;fallback 組按可用性回退;load-balance 組依演算法分配連線。日常排障時先使用 select 固定一個節點,因為自動策略會隨健康檢查改變結果。固定節點穩定後,再驗證自動組的測試位址、間隔與容差是否合理。

策略組可以引用其他策略組,因此常見結構是業務規則指向「國外網站」「串流媒體」或「下載」等業務組,業務組再引用地區組,地區組最終選擇節點。層級過深時,介面中看到的選擇可能不是最終節點。排查時應沿著引用鏈逐層展開,確認每個組都存在可用出口。關於專案與核心之間的關係,可參考 Clash 開源生態專案關係

DNS 接管、Fake IP 與真實位址

DNS 模組不只負責將網域轉換為位址,也可能參與規則判斷與流量映射。Fake IP 模式會先回傳保留位址,再由核心根據映射還原原始網域,方便規則比對並減少應用程式自行繞過。少數依賴區域網路探索、硬編碼 DNS、特殊驗證或直接記錄回傳位址的應用程式可能不適應 Fake IP,需要加入過濾清單或改用 redir-host 進行對照。

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

dns:
  enable: true
  listen: 127.0.0.1:1053
  ipv6: false
  enhanced-mode: fake-ip
  nameserver:
    - 1.1.1.1
    - 8.8.8.8

這段內容展示欄位結構,不包含節點、策略組與規則,因此不是一份可獨立連線的完整設定。監聽位址限制在本機,適合單機理解欄位。實際使用時應依網路可達性、隱私要求與內網解析需求選擇上游 DNS,不要機械式複製。若網路不支援 IPv6,而設定優先回傳 IPv6 位址,可能出現網域可解析但連線逾時;此時應同時檢查系統網路、DNS 回傳與 Clash 的 IPv6 設定。

如何選擇日常執行方式

桌面辦公環境可先使用規則模式加系統代理,範圍明確,退出後也容易恢復。需要處理命令列、UDP 或不遵循代理的應用程式時,再切換為規則模式加 TUN。行動裝置通常透過系統 VPN 介面接管流量,本質上更接近 TUN,但仍由規則決定出口。全域模式適合判斷「目前節點能否建立連線」,不適合作為所有問題的最終解決方案。

CHAPTER 08 · CONFIG & TROUBLESHOOTING

設定維護與常見故障排查

先判斷故障發生在哪一層

有效排障需要按層次縮小範圍。第一層是客戶端是否執行、核心是否啟動及連接埠是否監聽;第二層是流量是否進入 Clash;第三層是規則是否命中預期策略;第四層是所選節點是否可連線;第五層是目標網站、DNS 或應用程式協定是否存在額外限制。不要一遇到網頁無法開啟就同時更換客戶端、訂閱、DNS 與模式,否則即使恢復,也無法知道真正原因。

先查看客戶端首頁是否顯示使用中的設定,再查看日誌。完全沒有存取記錄時,重點檢查系統代理、TUN、VPN 權限與應用程式的獨立代理。有連線記錄但顯示規則走錯,檢查規則順序與策略組。有連線記錄且命中正確節點,但回報連線逾時,測試其他節點與其他網路。只有某個網域失敗時,再檢查 DNS、網域規則與目標服務狀態。

訂閱更新失敗與設定載入失敗

訂閱更新失敗通常分為網路錯誤、HTTP 錯誤與內容解析錯誤。逾時或拒絕連線表示網址無法到達;驗證失敗或權限錯誤需要檢查訂閱狀態;回傳 HTML 而不是 YAML,常見於登入頁面、閘道攔截或錯誤重新導向。瀏覽器能開啟不代表客戶端的請求條件完全相同,但可以先排除網址拼寫與基本網路問題。複製網址時注意不要帶入前後空格、換行或聊天軟體加入的轉義字元。

設定解析錯誤通常會在日誌中提供行號或欄位名稱。YAML 最常見的問題是縮排層級錯誤、冒號後缺少空格、同一鍵重複定義、清單符號位置錯誤,以及引用不存在的策略組。出現錯誤後,應從錯誤行向上檢查所屬結構,因為真正的縮排問題可能位於前幾行。可以先恢復最近一次可用設定,再將修改分成小段逐次加入。

proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - DIRECT

rules:
  - DOMAIN-SUFFIX,example.org,DIRECT
  - MATCH,PROXY

這段結構中,rules 引用的 PROXY 與策略組名稱一致。若將名稱改成其他文字,規則也必須同步修改。YAML 中包含特殊字元的名稱可以用引號包裹,但同一引用仍需完全一致。更完整的欄位說明可閱讀 設定檔結構解析

連接埠被佔用與核心無法啟動

核心啟動後會監聽混合代理、HTTP、SOCKS、DNS 或控制連接埠。若另一個 Clash 執行個體、舊程序或其他代理軟體已佔用相同連接埠,新執行個體會啟動失敗。Windows 可在資源監視器或命令列查看監聽連接埠;macOS 與 Linux 可使用 lsofss。發現佔用後先確認程序身分,不要直接終止不認識的系統服務。關閉舊客戶端,或為目前設定改用未被佔用的連接埠。

# macOS
lsof -nP -iTCP:7890 -sTCP:LISTEN

# Linux
ss -lntp | grep 7890

如果連接埠沒有被佔用,但核心仍無法啟動,請檢查設定檔權限、工作目錄、規則資料庫是否存在,以及客戶端呼叫的核心路徑是否有效。安全軟體隔離核心檔案、系統升級後服務權限變更、應用程式移動位置,都可能造成相同現象。圖形介面只顯示「啟動失敗」時,應開啟詳細日誌,或從終端機啟動客戶端以取得完整錯誤。

瀏覽器正常但終端機或應用程式失敗

瀏覽器正常表示節點與至少一條代理入口可用,但不能證明終端機已被接管。終端機程式可能不讀取系統代理,需要環境變數或軟體層級設定;遊戲與部分商店應用程式可能使用 UDP 或直連通訊端,需要 TUN;瀏覽器也可能安裝獨立代理擴充功能,因此甚至可能沒有使用 Clash 的系統代理。可以對照日誌確認每個測試請求是否出現。

檢查終端機啟動檔中是否殘留舊代理變數。若變數仍指向已關閉客戶端的連接埠,命令會持續失敗。Windows 檢查 PowerShell 環境變數,macOS 與 Linux 檢查 Shell 設定檔和目前工作階段。Git、npm、套件管理器等也可能保存自己的代理項目。詳細分支可參考 系統代理未生效排查

可以存取 IP 但網域失敗

這種現象通常指向 DNS。先查看 Clash DNS 是否啟用、監聽連接埠是否被佔用、上游伺服器是否可達。TUN 模式下還要確認 DNS 劫持是否生效,以及系統查詢是否形成迴圈。若只有內網網域失敗,表示公共 DNS 不知道企業或家庭內部記錄,需要為這些網域保留本機解析。若部分應用程式失敗,檢查 Fake IP 相容性與過濾規則。

清除系統 DNS 快取只能處理舊記錄,不能修復錯誤的上游或規則。不要把反覆重新整理快取當成主要方案。進行對照測試時,可以暫時關閉 Clash DNS,讓系統恢復原本的解析;如果立即正常,再逐項檢查 enhanced-mode、nameserver、fallback、nameserver-policy 與 IPv6。若關閉後仍失敗,應轉向檢查系統網路或路由器 DNS。

TUN 啟用後區域網路或整個網路中斷

先關閉 TUN,確認系統代理模式是否正常。如果關閉後恢復,表示節點與基本設定大致可用,問題集中在路由、虛擬網卡、DNS 或權限。檢查是否存在其他 VPN、虛擬機、容器網路與企業過濾器。私有位址應直連,特殊內網網段應加入排除。Windows 重點檢查服務模式與虛擬介面卡;macOS 檢查 VPN 與過濾器;Linux 檢查路由表、策略路由與防火牆。

TUN 失敗後若系統仍無法連線,先正常退出客戶端,再檢查殘留路由、系統代理與 DNS。行動裝置可停止 VPN,等待系統標誌消失後重新連線網路。桌面系統不要一開始就直接刪除虛擬網卡,因為客戶端服務可能重新建立,且誤刪其他軟體的介面卡會擴大問題。應先從客戶端關閉功能,再移除對應服務元件。

訂閱更新後原有選擇遺失

訂閱提供者可能調整節點名稱、策略組或規則結構。客戶端儲存的選擇通常依名稱關聯,名稱變更後會回到預設項目。若使用本機覆寫,也可能因引用舊組名而失效。更新後先查看策略組是否仍存在,再檢查覆寫日誌。不要直接在訂閱快取中長期手動修改,因為下一次更新會覆蓋這些內容。

遷移客戶端時,應分別備份訂閱網址、本機設定、覆寫腳本與使用者選擇。不同客戶端對設定目錄、腳本功能與策略持久化方式的實作不同,不能只複製整個舊程式目錄。舊客戶端的遷移步驟可參考 客戶端停止維護後的設定保留與替代軟體選擇

建立可維護的設定更新流程

穩定的設定應保留一份最近可用的備份,並將本機變更控制在可解釋的範圍內。更新訂閱前記錄目前策略與重要覆寫;更新後先驗證設定載入,再測試 DNS、直連網站、代理網站與區域網路。規則資料庫更新與客戶端更新分開進行,這樣出現問題時更容易判斷來源。GeoIP 與 GeoSite 的用途、引用與載入問題可查看 GeoIP 與 GeoSite 使用方法

排障期間應將日誌調整至能看到連線與規則的資訊層級,問題解決後恢復一般層級,避免長期產生大量檔案。分享日誌時應刪除訂閱網址、控制金鑰、節點憑證與個人網域記錄。需要繼續定位但無法確定分類時,可進入 常見問題,依基本認知、安裝設定、使用技巧與故障排查繼續查閱。

全平台的核心判斷邏輯相同:先確認軟體與設定是否正常執行,再確認流量是否進入,接著查看規則、策略與節點,最後處理 DNS 與平台權限。依照這個順序保留證據並減少變數,比反覆重新安裝更容易得到穩定結果。需要重新選擇客戶端或安裝包時,返回 Clash 客戶端下載頁,並依本頁對應的平台章節重新完成授權與接管設定。

下載Clash