訂閱
Subscription透過單一網址取得並更新節點或設定內容的發佈方式;更新訂閱即重新擷取來源內容。訂閱可能回傳完整 YAML、節點清單或編碼文字,能否直接匯入取決於用戶端支援的格式。訂閱不等於代理服務本身,網址也可能包含帳號識別資訊,應視為敏感資訊妥善保管;排查問題時,切勿公開完整連結。
Clash / Glossary
訂閱、規則分流與網路堆疊相關概念。依設定中出現的位置查閱,釐清連線入口、比對條件與出口策略。
Core concepts
從設定來源到應用程式連線,釐清「取得什麼」與「如何使用」。
透過單一網址取得並更新節點或設定內容的發佈方式;更新訂閱即重新擷取來源內容。訂閱可能回傳完整 YAML、節點清單或編碼文字,能否直接匯入取決於用戶端支援的格式。訂閱不等於代理服務本身,網址也可能包含帳號識別資訊,應視為敏感資訊妥善保管;排查問題時,切勿公開完整連結。
包含伺服器位址、連接埠、協定與驗證參數的一組代理連線設定,通常位於設定中的 proxies。節點名稱供策略組和規則引用,名稱中的地區資訊不保證實際出口位置。節點能否連線也受帳號狀態、協定參數與目前網路影響;僅更改名稱不會改變連線路徑。
用戶端依指定的測試網址與方式測得的回應時間,測試過程可能包含建立連線與等待目標回應。測試網址、逾時設定與網路路徑不同,結果也會不同;不能只靠數值比較不同用戶端。低延遲不代表下載速度快;顯示逾時時,也應先確認測試目標是否無法連線,而非直接判定節點失效。
用戶端管理的一份設定及其來源、更新方式等資訊,介面中常稱為 Profile。切換設定檔可能同時更換節點、策略組、規則與 DNS 設定,不只是更換出口。直接編輯遠端設定檔的內容,更新時可能會被覆蓋;長期保留自訂內容,宜使用用戶端支援的覆寫機制。
將作業系統的代理設定指向用戶端本機監聽連接埠的連線方式。遵循系統代理設定的瀏覽器和應用程式會將請求交給該連接埠;採用獨立網路設定的程式則可能繼續直連。退出用戶端後若仍保留失效的代理位址,應用程式可能無法連線;此時須一併檢查用戶端是否執行,以及系統代理設定。
Proxy protocols
協定決定用戶端與代理服務如何通訊;本機連線入口使用的協定,可能與遠端節點協定不同。
應用程式透過 HTTP 代理連接埠轉送請求的方式。HTTPS 通常會使用 CONNECT 建立通道,再與目標網站進行 TLS 通訊。HTTP 代理既可以是用戶端提供的本機入口,也可以是設定中的遠端代理類型。看到 HTTP 字樣,不能直接判定整條連線是否加密;須分辨應用程式到代理、代理到目標之間的各段連線。
支援轉送 TCP,並定義 UDP 轉送機制的通用代理協定,常用於應用程式個別指定代理入口。協定本身不負責流量加密,使用者名稱與密碼驗證也不等於加密通道。UDP 是否可用,須由應用程式、用戶端設定與遠端服務共同支援;網域名稱由哪一端解析,也取決於應用程式的連線方式。
透過約定的加密方法與驗證參數連線至遠端服務的一類代理協定,設定類型通常寫為 ss。匯入時須符合伺服器位址、連接埠、加密方法與密碼,任何一項不符都可能導致交握失敗。若服務還依賴外掛程式或特定協定變體,應確認用戶端核心與伺服器端採用相容的實作。
通常透過 TLS 建立加密連線,並以密碼驗證的一類代理協定。伺服器位址與 TLS 使用的網域名稱不一定相同,SNI、憑證名稱與系統時間都可能影響交握。遇到憑證錯誤時,應先核對這些參數與伺服器端設定,不宜長期略過憑證驗證。
Rules & routing
規則負責判斷,策略組負責選擇,最終出口負責建立連線。
依網域、IP、程序或規則集等條件,為連線選擇出口的機制。規則模式通常由上而下比對,第一條符合的規則會決定策略;可在末尾使用 MATCH 處理其餘連線。調整規則前,先查看連線記錄中的比對結果;過於寬泛的規則若排在前面,後續更精確的規則就不會生效。
將節點或其他策略整理成可供規則引用的出口,讓比對邏輯與實際節點分開。select 用於手動選擇,url-test 依測試結果自動選擇,fallback 則依序尋找可用成員。規則引用的是群組名稱,組內選擇才會決定實際出口;更改名稱時,須一併檢查所有引用。
透過 rule-providers 定義,並由 RULE-SET 引用的規則集合,適合管理大量網域或位址清單。集合存放比對內容,引用規則指定出口,兩者共同決定連線行為。使用時須確認檔案格式、behavior 與快取路徑;下載成功不代表其中的項目一定符合預期格式。
依據 IP 地理位置資料庫進行比對的規則功能,例如 GEOIP,CN,DIRECT。結果取決於資料庫版本與 IP 位址歸屬,不能視為網站服務地區或使用者所在地的精確判斷。網域連線進行 IP 類型比對時可能會觸發解析;加上 no-resolve 可避免該規則主動解析,但也可能導致尚無目標 IP 的請求無法符合規則。
DIRECT 表示依本機網路路由直接連線,REJECT 表示拒絕連線;兩者都是可供規則引用的內建策略。直連並非指定某張實體網卡,流量仍可能經過系統 VPN 或其他網路層。拒絕規則適合封鎖明確目標,但範圍過廣也可能影響登入、驗證碼或頁面所需資源。
DNS & network stack
網域解析與流量接入是兩個環節,須配合應用程式、系統路由與核心設定一併判斷。
將網域名稱解析為 IP 位址等紀錄的系統,解析結果會決定後續連線可能存取的位址。用戶端的 DNS 設定會控制其接收到的查詢,但系統快取、應用程式內建的加密 DNS 與查詢的接入方式也會影響結果。排查時應區分「網域是否解析成功」與「解析出的位址是否可連線」,兩者代表不同問題。
用戶端回傳映射用位址給應用程式,再於後續連線中還原網域名稱的一種 DNS 運作方式。有助於保留網域資訊供分流使用;應用程式看到的位址不一定是目標伺服器的真實位址。依賴真實解析結果的區域網路服務或特定應用程式可能需要設定 fake-ip-filter;修改後也應留意系統和應用程式中的舊 DNS 快取。
透過虛擬網路介面接收 IP 封包,再交由核心處理的連線方式,可涵蓋部分不遵循系統代理設定的應用程式。實際接管範圍取決於路由、權限、網路堆疊與排除設定,不是開啟選項就一定能涵蓋所有流量。TUN 解決的是流量如何進入用戶端;進入後的連線仍可依規則選擇直連、代理或拒絕。
DNS 查詢經由非預期的解析路徑或解析服務處理的情況。判斷前應先確認哪些查詢需要經由哪個出口。系統解析、瀏覽器安全 DNS、IPv6,以及未被用戶端接管的應用程式,都可能使結果與預期不同。檢測頁面顯示的解析服務只能作為線索,還須配合查詢記錄與實際路由確認,不能只依地區標籤下結論。
嘗試從連線初期可見的協定中繼資料辨識網域名稱的功能,例如讀取部分 HTTP 或 TLS 交握資訊。原始連線只有目標 IP 時,可藉此輔助網域分流,但不會解密 HTTPS 內容。協定變更、交握資訊加密或缺少可辨識欄位時,嗅探可能無法取得網域名稱,因此不能取代完整的 DNS 與路由設定。
Client & core
介面負責管理,核心負責執行。檢查相容性時,設定來源與最終生效內容都要確認。
用戶端通常負責介面、訂閱管理與系統整合;核心則負責協定連線、DNS 與規則執行。兩者可能分開更新,因此介面版本無法完整反映支援哪些設定欄位。排查時應記錄實際核心名稱與版本,並查看最終設定;不同用戶端對同一欄位的介面位置和覆寫方式也可能不同。
Clash 生態系中持續發展的代理核心,過去曾使用 Clash.Meta 這個名稱,提供協定處理、策略組、分流與 DNS 等功能。它是執行連線邏輯的組成部分,不是所有用戶端介面的通用名稱。複製設定範例前,應確認實際使用的核心支援相關欄位;較新的設定功能未必能直接用於舊版本或其他核心。
以縮排表示映射、清單等結構的文字資料格式;Clash 設定通常採用此格式。縮排應使用空格,同一層級的欄位須保持一致;看似相近的字串、布林值與清單,解析後可能屬於不同型別。語法正確不代表設定一定有效;策略組名稱引用錯誤、欄位拼寫有誤或核心不支援,也可能導致載入失敗。
在訂閱或原始設定之外,透過附加規則、合併檔案或指令碼修改最終生效設定的機制,適合保存本機自訂內容。不同用戶端對清單採取附加或取代、欄位依何種順序合併,並無統一做法。修改後應查看產生的生效設定與記錄,而不只檢查訂閱原始檔;調整前應保留可還原的設定副本。
供用戶端介面或控制面板讀取狀態、調整策略的管理介面,通常透過 external-controller 指定監聽位址。它不同於 HTTP 或 SOCKS 代理入口,不負責轉送一般應用程式的網路請求。監聽位址與驗證設定會決定可存取範圍;本機使用時宜限制在回送位址,不應直接公開於不受信任的網路中。