clash / 開源網 / faq
常見問題
二十條問答,按四個分類組織:概念先講清楚,安裝分平台,技巧給指令,報錯按順序排查。折疊項目點擊展開,分類導覽可直接跳轉。沒涵蓋到的問題,先查完整文件或入門指南。
faq/basic.md
基礎認知
Clash 和 mihomo 核心是什麼關係?
Clash 是一類基於規則的代理工具的統稱。原版 Clash 核心已於 2023 年停止維護,目前活躍的繼任核心是
mihomo(曾用名 Clash Meta),相容原有設定格式並擴展了更多協定。日常使用的 Clash Verge Rev、FlClash 等圖形化用戶端,本質都是給 mihomo 核心套上介面,負責訂閱管理、節點切換和系統代理設定。規則模式、全域模式、直連模式有什麼區別?
規則模式(Rule)按設定裡的規則逐條比對流量,命中哪條走哪條,是日常推薦模式;全域模式(Global)把所有流量都送給目前選中的節點,不做分流,常用於臨時測試;直連模式(Direct)所有流量不經過任何節點直接送出,等於暫時停用代理。三種模式在用戶端主畫面即可切換,切換即時生效,不需要重新啟動。
用戶端這麼多,該裝哪一個?
優先 Clash Plus,全平台覆蓋且維護活躍;Clash Verge Rev 與 FlClash 也是主流選擇,核心同為 mihomo,設定互通,換用戶端不用改訂閱。Clash for Windows 與 ClashX Meta 已停止維護,僅作封存保留,不建議新裝。各用戶端的適用說明與安裝包見下載頁。
訂閱連結是什麼?沒有訂閱能用嗎?
訂閱連結是一個 HTTP(S) 位址,由服務商產生,存取後回傳包含節點與規則的設定內容,用戶端定期拉取該位址即可自動更新節點列表。沒有訂閱時,也可以手動匯入本機
config.yaml 檔案,或在設定中逐個填寫自建節點的連線參數,用戶端功能不受影響。config.yaml 裡都有什麼?需要手寫嗎?
config.yaml 是核心的唯一設定來源,主要包含連接埠(
mixed-port)、執行模式(mode)、DNS、節點(proxies)、策略群組(proxy-groups)和規則(rules)六大區塊。使用訂閱時這個檔案由訂閱內容產生,不需要手寫;只有做自訂規則、改連接埠這類進階需求時才需要手動編輯,改完儲存後在用戶端裡重新載入設定即可。
faq/install.md
安裝設定
Windows 安裝後怎麼確認代理已生效?
三步:第一,在用戶端裡開啟系統代理開關;第二,打開 Windows 設定裡「網路和網際網路」下的 Proxy 頁面,確認手動代理指向
127.0.0.1:7890;第三,在用戶端的連線或日誌頁重新整理任意網頁,能看到新增連線紀錄即說明流量已經過核心。三步都正常但仍打不開網頁,參考故障排查分類的問答。macOS 提示「無法打開,因為它來自未識別的開發者」怎麼辦?
這是 Gatekeeper 對非 App Store 應用程式的預設攔截。處理方式:打開系統設定的隱私權與安全性,在頁面底部找到被攔截的提示,點「仍要打開」;或在終端機執行
xattr -cr /Applications/用戶端名.app 清除隔離屬性後重新啟動。Apple Silicon 與 Intel 機型請按晶片類型下載對應安裝包,裝錯架構會無法啟動。Android 首次啟動需要授予哪些權限?
兩項:一是 VPN 連線權限,Android 上用戶端透過 VpnService 接管流量,首次點擊啟動會彈出系統授權視窗,必須允許;二是背景執行與電池最佳化白名單,MIUI、ColorOS 等中國大陸廠牌的 ROM 預設會清理背景程式,需在系統設定裡把用戶端加入自動啟動與電池不最佳化名單,否則鎖定畫面一段時間後代理會斷開。
iOS 上怎麼安裝?
iOS 透過 App Store 安裝 Clash Plus,在商店搜尋或透過下載頁 iOS 區的商店連結直達。首次啟動需要在系統彈出視窗中允許新增 VPN 設定,之後在 App 內匯入訂閱即可使用。
設定檔儲存在哪個目錄?
Windows 一般在
%USERPROFILE%\.config\ 下的用戶端目錄或安裝目錄的 profiles 子目錄;macOS 在 ~/Library/Application Support/用戶端名/;Linux 在 ~/.config/用戶端名/。各用戶端都在設定頁提供「打開設定目錄」入口,不確定路徑時直接從介面點開最穩妥。
faq/usage.md
使用技巧
節點延遲怎麼測?數字代表什麼?
在代理頁點策略群組右上角的測速圖示,用戶端會向設定裡的測速位址(預設多為
http://www.gstatic.com/generate_204)發一次 HTTP 請求,顯示的毫秒數是完整請求的往返耗時。數字僅反映當下連線狀況,幾十到三百毫秒都屬可用範圍;顯示 timeout 才說明節點目前不可達。TUN 模式什麼時候需要開?
系統代理只能覆蓋主動讀取代理設定的應用程式,命令列工具、遊戲、部分用戶端軟體不吃這一套。TUN 模式建立虛擬網卡,在網路層接管全部流量,不依賴應用程式配合。代價是需要更高權限:Windows 需以管理員身分執行或安裝系統服務,macOS 與 Linux 需要 root 授權。日常瀏覽用系統代理即可,遇到不走代理的程式再開 TUN。
想讓某個網站強制直連,規則怎麼寫?
在
rules 列表最上方加一條 DOMAIN-SUFFIX,example.com,DIRECT 即可;要強制走代理,把 DIRECT 換成策略群組名稱。規則自上而下比對,先命中先生效,自訂條目必須放在訂閱自帶規則之前。Clash Verge Rev 可透過全域擴充設定的 prepend 寫法追加,避免每次訂閱更新被覆蓋。訂閱怎麼設為自動更新?
各用戶端的訂閱或設定頁都提供更新間隔設定,常見做法是編輯訂閱條目,把更新間隔填
1440 分鐘即一天一次。也可以在設定檔的 proxy-provider 裡設定 interval 欄位。更新失敗不影響已有節點,用戶端會繼續使用本機快取的上一版設定。mixed-port 7890 是做什麼的?命令列工具怎麼走代理?
mixed-port 是核心監聽的混合連接埠,同時接受 HTTP 與 SOCKS5 協定,預設 7890。命令列工具走代理最簡單的方式是設定環境變數:export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890,之後 git、curl、pip 等會自動讀取。環境變數只對目前終端機會話生效,想長期生效寫進 shell 設定檔。
faq/debug.md
故障排查
訂閱更新失敗或匯入報錯怎麼排查?
按順序檢查:第一,把訂閱連結貼到瀏覽器直接打開,看能否回傳一段 base64 或 YAML 文字,回傳錯誤頁說明連結失效或過期,找服務商重置;第二,回傳正常但用戶端報解析錯誤,多是格式不符,確認訂閱是 Clash 格式而非其他用戶端專用格式,必要時經訂閱轉換服務轉成 Clash 格式;第三,更新請求本身走了失效節點導致逾時,把更新方式切成直連更新再試。
代理開關是開的,網頁卻打不開?
從易到難逐項檢查:給目前節點測延遲,逾時就換節點;切到全域模式排除規則誤判;核對系統代理連接埠與
mixed-port 是否一致,預設都是 7890;瀏覽器如裝有 SwitchyOmega 等代理擴充功能先停用,避免兩層代理衝突;日誌頁出現大量 DNS 報錯時,在設定的 dns 區段啟用 fallback。逐項做完基本能定位到出問題的環節。啟動報 bind: address already in use 怎麼辦?
說明 7890 連接埠被其他程式占用,常見於同時開著另一個代理用戶端,或上次程序沒有退乾淨。定位方法:Windows 執行
netstat -ano | findstr 7890 查到 PID 後在工作管理員結束處理程序;macOS 與 Linux 執行 lsof -i :7890。不方便結束處理程序時,直接在用戶端設定裡把 mixed-port 改成 7891 等閒置連接埠,系統代理連接埠會自動跟隨。開了系統代理,但商店 App 或某些軟體不走代理?
Windows 的 UWP 應用程式預設被禁止連接本機回環位址,系統代理對它們不生效。兩個解法:一是用管理員權限執行
CheckNetIsolation LoopbackExempt -a -n=套件名稱 給單個應用程式放行,部分用戶端設定裡也內建了 UWP 回環豁免工具;二是直接開 TUN 模式,從網路層接管流量,不再依賴回環。非 UWP 軟體不走代理,多是軟體自身帶獨立代理設定,進軟體裡手動指向 127.0.0.1:7890 即可。節點列表全部顯示逾時?
整個列表逾時通常不是單個節點的問題:先切直連模式確認本機網路正常;再看訂閱是否過期,流量用盡或到期後伺服端會拒絕全部連線;測速位址被污染也會顯示全員逾時,把測速 URL 換成
http://cp.cloudflare.com/generate_204 再測一次;系統時間偏差過大會導致部分加密協定交握失敗,校準時間後重試。