Clash 術語表
依設定所在位置,釐清核心、訂閱、規則與 DNS 的意義。
先選分類,再閱讀術語卡。每張卡都會說明概念、用途與容易混淆的適用範圍;遇到不熟悉的欄位時,也可以直接分享卡片連結。這裡的設定說明以 mihomo 為主,不同用戶端的介面名稱可能略有差異。
config.yaml → 術語 → 操作
依步驟完成首次設定 ›
核心與用戶端
先分清楚負責操作的介面、負責轉送的核心,以及流量進入核心的方式。
- mihomocore / 代理核心
- 可以把它視為實際處理連線的程式。mihomo 由 Clash Meta 更名而來,負責讀取設定、處理 DNS、比對規則與轉送要求。用戶端更新與核心更新不一定同步;判斷某個欄位能否使用時,應確認目前執行中的核心及其版本,而非只看應用程式名稱。
- GUI 用戶端graphical user interface / 圖形介面
- 透過它匯入訂閱、選擇代理及檢視記錄,不必手動輸入每一條命令。GUI 是圖形使用者介面的縮寫,介面背後通常還需要啟動代理核心。即使兩個用戶端使用相同核心,在設定合併、權限管理與設定儲存位置上仍可能有所不同。
- 系統代理system proxy / 應用程式代理入口
- 先透過系統代理,讓遵循系統設定的應用程式連線至本機代理連接埠。開啟系統代理通常只是設定代理位址,不代表所有流量都會被接管;部分終端機工具、遊戲及使用自有網路堆疊的應用程式可能不遵循此設定。關閉用戶端後若網路異常,可先檢查系統是否仍保留舊的代理位址。
- TUN 模式virtual network interface / 虛擬網路介面
- 若應用程式不讀取系統代理,再考慮透過 TUN 虛擬網路介面接管流量。TUN 會搭配系統路由將連線交給核心,通常需要管理員權限、服務模式或系統 VPN 授權。開啟開關不代表接管成功,還須檢查路由、DNS 與排除項目,並留意與其他 VPN 的衝突。
- 外部控制介面external-controller / 管理介面
- 用戶端或管理面板可透過此介面讀取狀態、切換策略及管理連線。欄位
external-controller用來指定監聽位址,例如127.0.0.1:9090;它不是瀏覽器要填寫的代理連接埠。若只在本機管理,應維持本機監聽;需要遠端存取時,則須規劃驗證方式與存取範圍。
設定檔欄位
先認識檔案結構,再確認目前實際生效的值;不要只修改下載後的原始檔案。
- YAMLconfig.yaml / 結構化文字
- 編輯設定時,先維持原有的縮排層級。YAML 是一種常見於
config.yaml的結構化文字格式;縮排表示從屬關係,連字號表示清單項目,縮排應使用空格而非定位字元。含特殊字元的值可能需要加上引號,儲存後應先檢查語法,再重新載入設定。
- mixed-portlistener / 混合監聽連接埠
- 將應用程式的代理連接埠設定為此欄位的實際值。
mixed-port: 7890表示同一連接埠會接受 HTTP 與 SOCKS 代理連線,但數字可以修改,並非所有用戶端都固定使用此值。若連接埠已被其他程式占用,核心可能無法正常監聽;請先查看記錄,再調整兩端設定。
- allow-lanlocal network / 區域網路存取
- 只有需要讓同一區域網路內的其他裝置使用代理時,才考慮開啟此設定。
allow-lan: true允許區域網路連線,但實際能否存取仍受監聽位址與系統防火牆影響。開放前應確認網路可信,並視需要設定驗證;本機正常連網不需要此選項。
- moderule / global / direct
- 日常使用通常先選擇
mode: rule,讓要求依規則選擇出口。global會將連線交由全域策略處理,direct則採用直連方式;此處的全域仍只涵蓋進入核心的流量。切換模式不會讓原本繞過核心的應用程式自動改走代理。
- log-levellogging / 記錄層級
- 疑難排解時,可用它調整記錄的詳細程度,常見值包括
info、warning、error與debug。較詳細的記錄有助於找出解析、規則與連線問題,但也會增加輸出量。分享記錄前,請清除訂閱網址、驗證資訊及不希望公開的瀏覽記錄。
代理協定
分清楚應用程式連線至本機代理的方式,以及核心連線至遠端服務所使用的協定。
- HTTP 代理HTTP / CONNECT
- 在支援手動代理的應用程式中,可選擇 HTTP 代理並填入監聽位址。造訪 HTTPS 網站時,通常會透過 CONNECT 方法建立通道;目標網站使用 HTTPS,與用戶端至代理之間是否加密,是兩回事。一般 HTTP 代理不會自動為所有連線增加加密,也不能直接取代通用 UDP 轉送。
- SOCKS5TCP / UDP ASSOCIATE
- 應用程式支援時,可使用 SOCKS5 將連線交給本機代理。此協定支援 TCP,也定義了處理 UDP 的機制,但應用程式、用戶端與遠端連線都必須具備相應支援。網域名稱由本機還是代理端解析,也取決於應用程式的使用方式;不能只因選擇 SOCKS5,就認定 DNS 一定經由代理。
- ShadowsocksSS / 加密代理協定
- 匯入這類節點時,請確認伺服器位址、連接埠、密碼與加密方式。Shadowsocks 使用雙方約定的參數傳送代理流量;參數不符時,通常無法建立可用連線。不同核心對加密方式與擴充功能的支援可能不同,不能只憑節點名稱判斷相容性或速度。
- VMessUUID / 傳輸參數
- 設定時,請一併確認使用者識別碼 UUID 與傳輸設定。VMess 可搭配不同傳輸方式使用;即使位址與連接埠正確,路徑、主機名稱或 TLS 設定不一致仍可能導致連線失敗。系統時間明顯錯誤也可能影響驗證,疑難排解時應一併檢查時間同步與核心記錄。
- TrojanTLS / 伺服器身分驗證
- 連線至這類節點時,請一併確認密碼、伺服器名稱與憑證要求。Trojan 通常透過 TLS 連線承載代理流量;TLS 用於保護傳輸並驗證伺服器身分。遇到憑證錯誤時,應先檢查時間、網域名稱與伺服器設定,不要把略過憑證驗證當成一般解法。
規則與分流
先看比對條件,再確認出口名稱;規則順序與資料檔案都會影響結果。
- 規則分流rules / 依條件選擇出口
- 在規則模式下,依網域、目標 IP 等條件決定要求的去向。規則通常由上而下檢查,第一條符合的項目會決定出口,因此具體例外應放在範圍較廣的規則之前。出口可以是
DIRECT直連,也可以是某個策略群組;群組名稱須與設定中定義的名稱一致。
- DOMAIN-SUFFIXdomain matching / 網域後綴比對
- 需要同時涵蓋網域及其子網域時,可使用這類規則。例如
DOMAIN-SUFFIX,example.com,DIRECT可比對example.com與www.example.com。規則依網域後綴邊界比對,不會只因另一個網域剛好包含相同文字就符合。
- GeoIPGEOIP / IP 位址分類
- 需要依 IP 所屬國家或地區分流時,可參考 GeoIP 資料。規則
GEOIP,CN,DIRECT表示將資料庫歸類為 CN 的位址交由直連;比對網域要求時可能需要解析。資料庫可能更新或分類錯誤,位址標籤也無法保證伺服器實際所在位置。
- GeoSiteGEOSITE / 網域集合
- 需要依服務或類別管理大量網域時,可引用 GeoSite 集合。與依 IP 分類的 GeoIP 不同,GeoSite 主要依據維護好的網域項目進行比對,類別名稱則取決於載入的資料檔案。加入規則前,請確認該類別存在,並使用適用於目前核心的資料來源。
- MATCHfallback rule / 預設兜底規則
- 在規則清單末尾使用 MATCH,為前面所有規則都未比對到的要求指定出口。例如
MATCH,PROXY會將其餘要求交給名為 PROXY 的策略。MATCH 本身不會判斷網站屬於哪個地區;若放得太前面,後續規則便無法檢查原本應繼續比對的要求。
DNS 與網路
將網域解析與建立連線分開檢查,避免用單一設定解釋所有網路狀況。
- DNSdomain name system / 網域名稱系統
- 造訪網域前,應用程式通常會先透過 DNS 查詢 IP 位址等記錄。解析與後續網頁連線是兩個不同環節,因此能連線至某個 IP,並不能證明網域解析正常。系統、瀏覽器與代理核心都可能參與解析;疑難排解時,應先確認由誰發出查詢、使用哪個解析器,再調整相應設定。
- Fake-IPenhanced-mode / 合成位址對應
- 啟用這種 DNS 運作方式後,核心會先回傳合成位址,並儲存位址與網域的對應關係。應用程式連線至該位址時,核心再依網域處理要求,因此看到的位址不一定是網站實際的公網位址。少數應用程式或區域網路服務可能不相容,可針對特定網域設定過濾,不必反覆更換節點。
- nameserverupstream resolver / 上游解析服務
- 在 mihomo 的
dns區段中,使用此欄位指定上游解析服務。清單可採用核心支援的位址格式,但個別查詢的實際去向,也可能受到網域策略、代理節點解析設定等欄位影響。不要把它視為系統所有 DNS 要求的唯一出口;修改後也應檢查接管範圍與快取。
- DNS 洩漏resolver path / 解析路徑偏離
- 先確認預期的解析路徑,再判斷是否發生洩漏。這個詞通常指查詢送往預期之外的解析器,例如網頁流量經由代理,但網域仍透過本地網路解析。分析檢測結果時,應一併考量瀏覽器安全 DNS、系統設定、TUN 接管與快取;僅看到解析器所在地不同,不能據此認定所有流量的去向。
- DNS 劫持dns-hijack / TUN 內的 DNS 重新導向
- 在 mihomo 設定中,
dns-hijack是指將符合條件的 DNS 要求重新導向至內建解析模組。這與一般所說的惡意竄改解析結果並非同一回事。它常搭配 TUN 使用,但只會接管指定的目標與協定;不可假設瀏覽器送出的加密 DNS 要求也會自動被識別並接管。
訂閱與節點
先分清楚設定來源、個別連線參數與出口選擇方式,再解讀測試結果。
- 訂閱連結subscription / 設定來源
- 將服務提供者提供的訂閱連結匯入用戶端,用來取得設定或代理項目清單。不同連結可能回傳完整 YAML、編碼後的清單或其他格式,須符合用戶端的匯入方式。連結通常包含帳戶存取識別資訊,應妥善保管憑證;截圖或尋求協助時不要公開。更新失敗也不一定代表所有節點都已失效。
- 節點proxy entry / 代理連線項目
- 可將節點視為一組供核心使用的連線參數,通常包含伺服器位址、連接埠、協定與驗證資訊。節點顯示名稱由設定提供者決定,不一定準確反映實際位置或出口。節點能否連線至目標服務,也會受到線路、遠端出口與目標限制影響,不能只憑名稱判斷。
- 延遲latency / 指定測試所需時間
- 先確認測試方式與目標位址,再比較延遲數值。用戶端測試通常反映透過代理完成指定要求所需的時間,會受網路、連線建立方式與目標回應影響,不等於單純的 ICMP 往返時間。延遲低不代表下載頻寬高;測試逾時也可能只是無法連線至該測試目標。
- proxy-providersproxy collection / 代理集合來源
- 在設定中使用此欄位宣告可獨立更新的代理集合,來源可以是遠端網址或本機檔案。策略群組引用集合後,即可使用其中的節點,並依設定執行更新或健康檢查。此欄位通常只管理代理項目,不能直接取代包含 DNS、規則等內容的完整設定,因此不能將所有訂閱連結原樣填入。
- 策略群組proxy-groups / 出口組織方式
- 需要在多個節點之間選擇時,可用策略群組統一提供出口名稱。
select通常用於手動選擇,url-test依測試結果選擇,fallback則按順序尋找可用項目,實際行為取決於參數。規則引用群組名稱後,群組內的選擇仍會影響實際連線;疑難排解時,須同時檢查命中的規則與最後使用的節點。