CLASH / DIAGNOSTIC NOTES

Clash 常見問題與故障排除

依據問題檢查連接埠、權限、規則與 DNS。先重現一次失敗的請求,再一次修改一個設定項目。

CONCEPTS / 核心與流量接管

基礎概念

Clash、mihomo 與圖形化用戶端各自負責什麼?

Clash 是代理核心與設定生態的名稱,原始專案已停止維護;mihomo 是持續發展的相容核心,擴充了通訊協定、規則與網路堆疊功能。圖形化用戶端負責管理訂閱、選擇策略群組、設定系統代理與安裝服務,實際轉送流量則由核心執行。排除問題時,請一併記錄用戶端名稱與核心資訊,別只寫「Clash 最新版」。介面提供某個開關,不代表目前使用的核心支援對應欄位;設定出錯時,應先查閱核心文件,再確認用戶端是否覆寫了原始設定。

安裝用戶端後,為什麼還需要訂閱或節點設定?

用戶端提供本機監聽、規則判斷與流量轉送功能,但安裝後不會自動產生可用的遠端代理。訂閱通常包含節點、策略群組與規則,有時只提供節點清單,必須搭配本機範本使用。請先在設定頁面確認匯入結果,再檢查策略群組是否有可選項目。訂閱網址通常含有帳戶存取憑證,請勿貼到公開討論區;若不慎外洩,應向服務提供者重新產生連結。本網站提供用戶端資訊與設定說明,不提供訂閱,也無法協助取回服務提供者帳戶。

規則、全域與直連模式該怎麼選?

日常使用通常選擇規則模式,讓連線依設定中的 rules 順序比對;全域模式會將已進入核心的連線交由全域策略處理,適合暫時確認問題是否出在分流規則;直連模式則讓已進入核心的連線直接連線。這三種模式都不能取代系統代理或 TUN 接管。切換全域模式後恢復連線,只能表示原本的分流路徑值得檢查,不能證明所有網路問題都已解決。測試後請切回規則模式,並查看連線紀錄中的實際命中規則與策略。

系統代理和 TUN 模式有什麼差別?可以同時啟用嗎?

系統代理會設定作業系統的代理選項,主要影響會讀取這些設定的應用程式;TUN 則建立虛擬網路介面,透過路由接管更多程式的流量,通常需要服務或較高權限。部分用戶端允許同時使用兩者,但是否設定正確,取決於路由排除、DNS 與核心實作。初次設定時,先只開啟系統代理並確認瀏覽器可用,再依遊戲、命令列等需求啟用 TUN。若同時使用後出現連線迴圈、異常占用或斷網,先關閉其中一種接管方式,並保留可重現問題的最精簡設定。

遇到問題時,需要準備哪些日誌資訊?

記錄作業系統、用戶端名稱、核心資訊、接管方式與故障發生的確切時間,並保留失敗請求前後的日誌。優先查看設定載入錯誤、監聽位址、DNS 解析失敗、連線目標與命中策略;必要時短暫提高日誌等級,重現問題後再恢復預設值。分享前請刪除訂閱網址、驗證欄位、節點伺服器與個人瀏覽紀錄,截圖也要檢查網址列。說明「瀏覽器可用,但某個應用程式失敗」比只說連不上更有助於排查;每次只修改一個變數,才不會讓日誌變成網路版猜謎。

SETUP / 訂閱與權限

安裝與設定

訂閱更新失敗或顯示已失效,應依什麼順序檢查?

先確認裝置時間與基本網路正常,再前往服務提供者的帳戶頁面確認訂閱是否到期、流量或額度是否用完,以及連結是否已重設。查看更新日誌中的 HTTP 狀態碼:401 或 403 通常與授權或存取限制有關,404 可能表示網址已變更;若逾時,則需繼續檢查 DNS 解析與連線路徑。如果用戶端可以選擇更新方式,可分別測試直連更新,以及透過目前可用的代理更新。保留最近一次可用的設定,別反覆刪除重建;若下載到登入頁或驗證頁,即使請求成功,也不是可匯入的設定檔。

訂閱匯入成功,但節點清單是空的或出現 YAML 錯誤,該怎麼辦?

先確認匯入的是完整 Clash 設定、節點清單,還是一般網頁。節點清單應放入對應的代理提供者或用戶端範本,不能直接當成完整的運作設定。遇到 YAML 錯誤時,先查看日誌指出的行號及上一行,確認縮排使用空格、清單短橫線格式正確,並檢查冒號後的字串是否需要加上引號。接著確認目前的核心支援訂閱中的通訊協定與欄位。匯入後還要選取該設定並重新載入;清單中看得到設定,不代表核心已切換到該設定。

已開啟系統代理,為什麼瀏覽器仍未透過代理連線?

先從用戶端日誌確認 mixed-port 實際監聽的連接埠,再檢查系統的 HTTP 與 HTTPS 代理是否指向相同的本機位址與連接埠,例如 127.0.0.1:7890。這只是範例,請以目前設定為準。關閉瀏覽器的獨立代理擴充功能後重新啟動瀏覽器,並確認是否改用了個別代理設定或組織政策。可執行 curl -x http://127.0.0.1:7890 -I https://example.com 測試明確指定代理;如果指令可用但瀏覽器仍失敗,應優先檢查瀏覽器設定與系統代理設定,而非立刻更換節點。

啟用 TUN 時顯示權限不足或無法建立虛擬網卡,該怎麼辦?

先關閉其他 VPN 與類似的虛擬網卡工具,再依用戶端說明安裝或修復服務模式。Windows 請檢查服務是否已啟動,以及安全軟體的封鎖紀錄;macOS 請在系統設定中確認相關網路延伸功能或 VPN 權限;Linux 請檢查 /dev/net/tun 是否存在,以及啟動服務是否具備所需的網路管理權限。不要為了啟動成功而長期關閉系統防護,也不要任意授權不明檔案。完成授權後重新啟動核心;若仍失敗,請查看第一筆網卡或路由錯誤,不要只看介面上的總開關。

修改設定後沒有生效,該改訂閱檔案還是覆寫設定?

先確認正在編輯的是目前生效的設定,再檢查用戶端載入時是否另外套用了覆寫、腳本或合併設定。直接修改遠端訂閱下載的檔案,下次更新時可能會被覆蓋;需要長期保留的連接埠、DNS 與自訂規則,較適合透過用戶端提供的覆寫功能維護。修改前先匯出副本,每次只調整一組欄位,儲存後重新載入並查看日誌。不同用戶端的陣列合併方式可能不同,尤其要確認 rules 是附加還是取代;請以最終運作中的設定為準,而非編輯器裡的單一檔案。

WORKFLOW / 規則與維護

使用技巧

如何讓指定網站直連,並確認規則確實命中?

在規則模式下,將 DOMAIN-SUFFIX,example.com,DIRECT 放在可能優先比對的廣泛規則之前,並保留最後的後援規則。DOMAIN-SUFFIX 會涵蓋該網域及其子網域;若只要比對單一完整主機名稱,請使用 DOMAIN。儲存並重新載入後,關閉目標網站的既有連線,再發出新的請求,並在連線面板查看規則類型與最終策略。網頁可能會連線至多個資源網域,只放行主網域不一定涵蓋所有請求。規則不會追溯影響已建立的長連線,必要時請先中斷相關連線再試一次。

如何讓區域網路裝置使用代理,同時避免連接埠暴露?

先確認確實有分享需求,再啟用 allow-lan,並設定監聽位址涵蓋需要連線的網卡。其他裝置應填入執行用戶端電腦的區域網路位址,而不是 127.0.0.1;後者永遠指向裝置本身。同時在主機防火牆中只允許可信任的子網路存取代理連接埠,並依用戶端功能設定代理驗證,確認路由器沒有將連接埠轉送至公網。管理介面與代理連接埠用途不同,不要順手一併開放。分享測試完成後,可關閉區域網路連線選項,縮小長期監聽的介面範圍。

命令列工具不會讀取系統代理,如何暫時設定?

先用工具本身的代理參數測試,例如 curl -x http://127.0.0.1:7890 -I https://example.com,再依終端機與工具文件設定 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY。變數名稱中的 HTTPS 通常描述目標請求類型,不代表代理入口必須使用 HTTPS;通訊協定應與本機監聽功能一致。環境變數通常只影響目前程序及其子程序,已開啟的終端機或背景服務可能不會更新。測試後請移除暫時設定,避免用戶端結束後命令仍指向已失效的連接埠;若涉及網域名稱解析,也要區分本機解析與代理端解析。

需要轉換 Clash 訂閱時,有哪些注意事項?

先確認服務提供者是否已提供適用於目前核心的訂閱格式;若可直接使用,就不必增加轉換步驟。確實需要轉換時,優先使用可信任的本機工具,並確認輸入內容是節點連結、節點清單還是完整設定。將完整訂閱交給線上轉換服務,等於把其中的存取憑證與節點資訊交給該服務。轉換完成後,請檢查代理群組引用、規則順序與通訊協定欄位,不要只確認是否匯入成功。轉換只能改寫格式,無法修復已過期的帳戶、無法連線的伺服器,或核心尚未支援的通訊協定功能。

更新核心或設定前,如何保留可還原的狀態?

先匯出目前生效的設定,記錄用戶端設定、監聽連接埠、核心資訊與是否啟用服務模式,並保留必要的覆寫檔案。備份可能包含訂閱與驗證資訊,請存放在安全的位置,不要上傳至公開儲存庫。更新時分別處理用戶端、核心與訂閱範本,每完成一項就測試瀏覽器連線、DNS 與常用應用程式。若出現問題,先還原上一份設定,再判斷是否需要回退程式版本;涉及服務或驅動程式的變更,應依用戶端的解除安裝流程處理,避免新舊服務與程式混用。

TROUBLESHOOTING / 從現象追查日誌

故障排除

節點測試全都逾時,為什麼不能直接判定訂閱失效?

逾時只表示這次測試未能在限定時間內完成,可能原因包括測試位址無法連線、本機時間異常、DNS 解析失敗、出口受限或節點本身無法使用。先確認一般直連網路正常,再選一個已知可用的節點實際開啟網頁,並查看連線日誌中的失敗階段。如果所有節點同時失敗,優先檢查共用依賴項,例如 DNS、網路環境與核心設定;如果只有少數節點失敗,再檢查伺服器或通訊協定差異。連線測試成功也不代表所有網站、UDP 或長連線都可用,應以目標應用程式的實際請求再次測試。

顯示已連線卻無法開啟網頁,最快的排查方式是什麼?

先關閉代理,確認基本網路可用,再重新啟動用戶端,檢查設定是否載入成功、連接埠是否正在監聽,以及策略群組是否選取可用節點。接著使用明確指定代理的請求,區分本機入口與系統接管問題;暫時切換全域模式,確認是否為分流規則所致;最後查看 DNS 解析與 TUN 路由日誌。每完成一步都記錄結果,不要同時更改連接埠、DNS 與節點。介面顯示已連線通常只代表某項本機狀態已啟用,不等於目標請求成功;排查時應追蹤一次實際連線從解析到連線失敗的完整過程。

Windows 市集或部分 UWP 應用程式無法連網,如何檢查回環限制?

先確認瀏覽器可透過本機代理連線,再判斷故障應用程式是否受到應用程式容器的回環限制。部分 UWP 應用程式無法直接存取本機回環代理,可使用用戶端提供的回環豁免工具,只授權需要的應用程式;也可在系統管理員終端機執行 CheckNetIsolation LoopbackExempt -s,查看現有豁免項目。不要為了省事而一次豁免所有應用程式。若授權回環後仍無法連線,請繼續檢查應用程式使用的網路介面、代理設定與防火牆,必要時單獨測試 TUN。並非所有 Windows 市集應用程式都是 UWP,不能只根據安裝來源判斷。

DNS 檢測結果不如預期,如何排查 DNS 洩漏與 fake-ip?

先記錄系統 DNS、瀏覽器安全 DNS、用戶端 DNS 與目前的接管方式,不要只憑檢測網站顯示的地理位置判斷是否有 DNS 洩漏。使用 fake-ip 時,確認 dns.enable 與 enhanced-mode 已生效,並依所用核心的設定要求,檢查 TUN 下的 DNS 劫持、路由與解析出口;也要另外確認瀏覽器是否自行發出加密 DNS 請求。清除系統與瀏覽器的 DNS 快取,重新建立連線後再測試。若啟用了 respect-rules,也應檢查解析規則與代理伺服器網域的引導解析,避免解析依賴代理、代理又依賴解析的循環。

結束用戶端後無法上網,或日誌顯示連接埠已被占用,該怎麼辦?

結束用戶端後無法上網,先檢查系統代理是否仍指向已停止的本機連接埠,清除殘留代理設定,並確認 TUN 服務、虛擬網卡與路由是否依用戶端流程正常退出。若連接埠被占用,先查明程序身分:Windows 可用 netstat -ano 查看監聽狀態與 PID;macOS 或 Linux 可用 lsof -nP -iTCP:7890 -sTCP:LISTEN 檢查範例連接埠。不要直接結束不明的系統程序。若修改 mixed-port,必須同步調整系統代理、終端機環境變數與區域網路裝置設定,否則只是把連接埠衝突變成連線遭拒。

繼續查看設定與操作步驟

若要依平台重新安裝服務或確認匯入流程,請參閱對應指南;若只想查詢欄位含義,先查看名詞解釋,避免把設定格式問題誤當成網路問題。