Shadowsocks(SS)
Shadowsocks使用共用金鑰與指定加密方式轉送流量的代理協定,連線參數通常包含伺服器、連接埠、密碼與加密方式。用戶端與伺服器的加密方式必須一致,SS 2022 的金鑰格式也與舊版不同。若設定包含外掛程式,還須確認目前的核心支援該外掛程式及其參數,不能直接刪除外掛設定。
從匯入訂閱時的節點與設定,到規則分流中的 DNS 與策略群組,依概念查閱用途與適用範圍。術語說明有助於理解設定;實際操作位置、欄位與支援範圍,仍以用戶端使用的核心為準。
協定決定用戶端與伺服器的通訊方式;傳輸方式與加密保護則可能由其他參數指定。即使名稱相同,也要逐項核對設定,不能只改協定標籤。
使用共用金鑰與指定加密方式轉送流量的代理協定,連線參數通常包含伺服器、連接埠、密碼與加密方式。用戶端與伺服器的加密方式必須一致,SS 2022 的金鑰格式也與舊版不同。若設定包含外掛程式,還須確認目前的核心支援該外掛程式及其參數,不能直接刪除外掛設定。
源自 V2Ray 生態系的代理協定,以 UUID 識別使用者,並涉及與時間相關的驗證檢查。訂閱中的 WebSocket、TLS、路徑或主機名稱都是連線所需的附加設定,不是填入 UUID 就能省略。發生驗證或交握錯誤時,除了檢查這些參數,也應確認裝置的系統時間正確。
通常透過 TLS 連線傳輸代理資料,並使用密碼進行驗證。伺服器位址、憑證對應的名稱,以及用戶端的 SNI 設定,都可能影響交握結果。遇到憑證錯誤時,應先檢查網域、時間與憑證鏈;不宜長期以略過憑證驗證作為解決方式。是否支援其他傳輸方式仍取決於核心。
將協定驗證與傳輸保護分開的輕量代理協定,常搭配 TLS 或 REALITY 使用;不應將 VLESS 本身視為完整的加密方案。匯入時須保留傳輸類型、伺服器名稱、flow 及相關驗證參數。舊版核心可能辨識 VLESS 類型,卻不支援訂閱採用的特定組合,仍會造成連線失敗。
以 QUIC 為基礎的代理協定,透過 UDP 承載連線,設計上著重吞吐量與不穩定網路環境下的傳輸表現。實際使用體驗取決於 UDP 是否可達、伺服器容量、網路壅塞與頻寬參數,協定名稱本身並不能保證速度。Hysteria2 與第一代在協定及設定上有所差異,不能只修改類型名稱就完成遷移。
以 QUIC 為基礎的代理協定,透過多工承載連線,並提供與 UDP 轉送相關的設定。用戶端與伺服器必須使用相容的協定版本,驗證欄位與壅塞控制參數也須依伺服器要求填寫。若目前網路限制 UDP,單改節點名稱通常無法解決問題,應先確認底層連線條件。
協定的資源使用量與適用情境,請參閱協定與核心技術參考。
用戶端提供操作介面,核心負責執行網路邏輯。判斷某項協定或設定能否使用,應同時查看應用程式提供的介面與實際執行的核心。
提供訂閱匯入、節點選擇、系統代理與記錄檢視等操作介面的應用程式;部分用戶端也負責管理核心程序與背景服務。即使使用相同核心,不同用戶端仍可能合併、覆寫或過濾設定。因此,教學中的選單名稱未必完全相同;排查問題時,應區分介面儲存的值與核心實際載入的值。
負責建立連線、處理協定、查詢 DNS 與比對規則的執行程式,可由圖形化用戶端管理,也能獨立執行。設定能否載入,主要取決於核心支援的欄位、協定與執行環境。只升級介面應用程式,不一定會同步升級核心;遇到未知欄位或不支援的代理類型時,應查看實際使用的核心資訊。
Clash.Meta 專案後續採用的核心名稱,延續 Clash 風格的 YAML 設定,並擴充協定、規則、DNS 與流量接管功能。它是核心,而非特定外觀的用戶端;不同應用程式都能搭載此核心。遷移舊設定後仍應檢查記錄與欄位含義,也不能預設原版 Clash 或其他舊核心能辨識 mihomo 的新功能。
通常指 Clash.Meta 核心分支及其歷史名稱,與 mihomo 有專案承續關係;在應用程式名稱與舊教學中,也常作為生態系稱呼。名稱中包含 Meta,不代表所有用戶端使用相同的核心版本或提供全部設定。參考文件時,應以實際執行的核心名稱、功能支援與設定語法為準。
設定檔描述監聽連接埠、節點、策略群組、規則與 DNS 等內容。檔案能否讀取、能否建立連線,以及能否依預期分流,是需要分別確認的三個層次。
Clash 常用的結構化文字格式,以縮排表示層級,並用冒號與清單標記組織資料。編輯時應使用空格縮排,並留意含特殊字元的字串是否需要加上引號,避免將欄位放在錯誤的層級。YAML 語法正確只代表文字結構可讀取,核心仍須驗證欄位類型、策略群組名稱與規則參照是否有效。
依據網域、IP、程序等條件,為連線選擇直連、拒絕或某個策略群組。規則通常由上而下比對,例如 DOMAIN-SUFFIX 比對網域後綴,MATCH 則用於最後兜底。若較寬泛的規則排在例外規則之前,後者可能不會生效;查看連線面板中的命中規則,比只看目前使用的節點更準確。
將節點或其他策略群組整合為統一出口,供分流規則引用。select 用於手動選擇,url-test 依測試結果挑選,fallback 按順序尋找可用項目,load-balance 則依策略分配連線。自動策略仰賴測試位址與測試週期;切換結果通常只影響新連線,不保證已建立的連線也會同步轉移。
將一組比對條件拆分為獨立來源,由 rule-providers 宣告,再透過 RULE-SET 規則引用。規則集提供比對條件,引用規則則負責指定出口策略,因此更新規則集不等於替換整份設定。來源格式、behavior 與核心支援情況須一致;下載成功後仍應確認是否已實際載入並引用。
GeoIP 提供 IP 位址的地區等分類資訊;GeoSite 則依網站或用途整理網域集合,可分別用於 GEOIP 與 GEOSITE 比對。分類結果取決於資料來源、格式與更新狀況,並非伺服器實際位置或歸屬的絕對證明。名稱相近的集合也可能包含不同項目,應依實際資料來源選擇標籤。
先區分流量如何進入核心,再看網域如何解析。系統代理、TUN 與 DNS 模式位於不同環節,啟用其中一項不會自動解決其他環節的問題。
透過作業系統的代理設定,讓遵循該設定的應用程式將連線交由本機代理連接埠處理。這不等於接管裝置上的所有網路流量;部分遊戲、命令列工具或使用自有網路堆疊的應用程式可能會忽略系統代理。若瀏覽器可正常連線,但其他應用程式仍直接連線,應先確認應用程式是否支援代理;關閉用戶端後,也要留意系統設定是否已還原。
透過虛擬網路介面與路由接收 IP 封包,再交由代理核心處理,適合接管不遵循系統代理設定的應用程式。通常需要額外權限或背景服務,也涉及路由、DNS 與通訊協定堆疊的選擇。TUN 與規則模式並不衝突:前者決定流量如何進入核心,後者決定流量進入後如何選擇出口;啟用時也須留意其他虛擬網卡。
將網域名稱轉換為位址等記錄的查詢系統。連線至服務前,通常須先完成解析。由誰發出查詢、使用哪個解析器,以及解析器的連線採用哪條路徑,都與最終服務連線的出口不同。瀏覽器內建的加密 DNS、系統快取與應用程式內部解析都可能改變結果;排查時不能只檢查設定中的單一 DNS 位址。
向應用程式回傳合成位址,並在核心中儲存該位址與原始網域的對應關係,讓後續連線仍能依網域比對規則。因此,應用程式看到的位址不一定是目標伺服器的真實位址,這本身不代表解析失敗。少數依賴真實位址的應用程式需要在 fake-ip-filter 中設定適當例外;切換模式後也應留意殘留的 DNS 快取。
指網域查詢未依預期的解析路徑傳送,例如服務連線經過代理,查詢卻改由另一條路徑送出。是否符合預期,須依分流目標、應用程式的解析方式與解析器連線路徑綜合判斷。檢測頁面顯示的解析器所在地區不能單獨作為結論;也應檢查瀏覽器的加密 DNS、系統解析設定與核心記錄。
在同一個本機監聽連接埠接收 HTTP 與 SOCKS 代理連線,設定欄位為 mixed-port。教學常見的 7890 只是範例連接埠,可以修改;應用程式填寫的位址與連接埠必須和實際監聽值一致。若允許區域網路裝置存取,還須檢查監聽位址、驗證設定與防火牆,不宜將代理連接埠直接暴露於公網。
訂閱是取得設定或節點的方式,節點包含連線參數,測試結果則是在特定條件下觀察到的數值。三者須分別核對,不能以一次測速取代完整的連線驗證。
透過 URL 取得並更新節點集合或完整設定的機制,並非特定的固定協定。Base64 節點集合、Clash YAML 設定與其他用戶端格式不一定能互相直接匯入,應先確認接收端支援的格式。訂閱網址可能包含帳戶資訊,不宜公開分享或提交給不可信任的轉換服務;更新失敗時也應先確認錯誤類型。
描述一個遠端代理服務的一組參數,通常包含伺服器位址、連接埠、協定、驗證資訊與選用的傳輸設定。清單中的顯示名稱只是標籤,不能據此判定伺服器位置、出口位置或實際頻寬。用戶端能讀取參數,也不代表伺服器一定可用;仍須驗證交握、驗證程序與目標應用程式的連線情況。
用戶端透過指定的測試位址評估連線所需時間,通常涉及建立代理連線與發送 HTTP 要求,不一定等同 ICMP Ping。結果會受測試目標、逾時門檻、連線重複使用與網路狀態影響;數值較低也不代表下載速度較快。逾時只表示該次測試未能在期限內完成,仍須搭配記錄與實際連線情況判斷故障範圍。
透過 proxy-providers 宣告的節點來源,可來自檔案或遠端位址,再由策略群組引用。此功能可將節點更新與主要設定分開管理;更新集合通常只會更新節點內容,不會取代主要設定中的規則與 DNS 設定。完整設定訂閱與代理集合檔案的結構不同,不能只將一個 URL 填入另一類入口,就認定兩者相容。