PROTOCOLS / CORES / COMPATIBILITY

Clash 通訊協定與核心參考

SS、VMess、Trojan、VLESS、Hysteria2、TUIC:從傳輸機制、設定限制與資源消耗了解如何選擇協定。

本頁供系統性查閱,不取代初次連線的操作流程。尚未完成安裝與匯入設定,請先閱讀入門指南;若已能連線,可透過下方目錄查找協定、核心或訂閱相容性問題。

六種協定 mihomo 核心 YAML 設定相容性

協定、傳輸與連線層次

先釐清介面、核心與伺服器的差異

在用戶端的節點清單中選擇一個節點,實際上是選擇一組連線參數,而不只是協定名稱。用戶端負責顯示訂閱、管理設定及設定系統代理;核心負責解析規則、連線伺服器並轉送資料;伺服器則代表用戶端存取目標。三者由不同專案開發,更新時程也不相同。因此,介面能儲存某個欄位,不代表核心就能使用;核心支援某種協定,也不表示目前的伺服器已開放相應的連線入口。

典型節點至少包含伺服器位址、連接埠、協定類型與身分驗證資料。有些還需要加密方式、TLS 伺服器名稱、傳輸路徑或 QUIC 參數。這些欄位共同構成協定約定,必須與伺服器逐項相符。將 Shadowsocks 節點的類型改成 Trojan,並不會完成協定轉換;即使兩者使用相同的伺服器位址,伺服器仍須有相應的監聽入口,並設定另一組正確的驗證與傳輸參數。

協定名稱不等於底層網路

Shadowsocks、VMess、Trojan 與 VLESS 描述代理通訊中的驗證、封裝或轉送方式;TCP、UDP 是承載資料的傳輸層協定;TLS 為連線提供經驗證的加密通道;WebSocket、HTTP/2 等則可能作為額外的承載方式。Hysteria2 與 TUIC 則以 QUIC 為重要基礎。判斷相容性時,應拆開檢視這些層次,不能因為兩者都標示 TLS,就認為它們可以互相連線。

還要區分應用程式需要 UDP,以及節點底層使用 UDP。語音應用程式可能產生 UDP 資料封包,但代理可能會將其封裝至另一種通道;瀏覽器主要存取 HTTPS,也可能透過 QUIC 型代理傳輸。節點詳細資料中的 udp 開關通常表示是否允許轉送 UDP,並不代表 TCP 連線會自動轉為 QUIC。應用程式、代理入口與伺服器出口都可能影響最終行為。

一次連線會經過哪些判斷

請求進入核心後,通常會先依網域、目標位址與規則選擇策略組,再由策略組選擇實際出口。網域解析可能在本機、核心或遠端進行,視設定與規則需求而定。接著核心會建立與伺服器的連線,完成必要的驗證與交握,最後才傳送應用程式資料。如果此時無法連線,問題可能出在 DNS、規則、伺服器連線或目標網站,不能只憑逾時訊息就判定協定失效。

系統代理與 TUN 也屬於請求入口,而非節點協定。系統代理仰賴應用程式主動使用本機 HTTP 或 SOCKS 入口;TUN 則透過虛擬網路介面接收符合路由條件的流量。啟用 TUN 可以擴大接管範圍,卻無法修正錯誤的密碼、憑證名稱或伺服器連接埠。若只有某個應用程式無法連線,應先確認其流量是否進入核心,再考慮更換協定。

選擇順序:先確認伺服器提供哪些協定,再確認核心支援哪些功能,最後比較網路適應性。協定能力、用戶端功能與流量入口是三個獨立面向。

本指南中的速度與資源比較皆為條件式判斷,不替協定排定固定名次。同一協定在不同線路、伺服器負載、處理器與電信網路下,表現可能截然不同。初次設定可依照入門指南完成連線流程,再運用本頁的方法進行單一變因比較,避免同時修改 DNS、TUN、協定與規則,導致無法找出問題原因。

Shadowsocks 與 VMess

Shadowsocks:較直接的加密轉送

Shadowsocks,常簡稱 SS,最初的用途是將本機代理請求透過加密通道轉送至伺服器。常見設定相當精簡:伺服器、連接埠、加密方式與密碼是核心參數。相較於需要額外 TLS 與傳輸封裝的組合,直接傳輸的協定堆疊通常較短,也較容易理解與部署。不過,欄位較少不代表安全性只取決於密碼長度;實際使用的加密方式、實作品質與金鑰管理同樣重要。

Shadowsocks 過去曾使用不同的加密方案。使用現有服務時,應優先採用服務提供者明確支援的現代 AEAD 方案,避免為了相容舊用戶端而任意改用過時方法。AEAD 同時處理加密與訊息驗證,可偵測資料是否遭到竄改。部分較新的協定變體也採用不同的金鑰格式與工作階段處理方式;只修改加密方式名稱,無法讓它們與舊版伺服器互通。

填寫設定時,cipher 必須與伺服器完全一致,密碼也可能有格式要求。尤其部分 Shadowsocks 2022 加密方式使用指定長度的 Base64 金鑰,不能直接填入一般短密碼。選擇 AES 或 ChaCha20 時,應考量裝置是否具備相應的硬體加速;桌上型處理器上的優勢,不一定能在低功耗路由器上重現。實際測試吞吐量,比根據名稱猜測更可靠。

外掛與 UDP 是額外的相容性考量

使用外掛的 Shadowsocks 節點,需要用戶端核心支援相同外掛及其選項。分享連結能夠匯入,只表示解析器辨識了基本結構,不代表外掛參數一定完整保留。若連線立即中斷,可依據原始資料檢查外掛名稱、主機欄位與傳輸選項,而非反覆重輸密碼。外掛也會改變協定堆疊與部署條件,因此不能將所有 SS 節點視為相同的效能模型。

UDP 支援也需要用戶端與伺服器兩端都具備。用戶端允許 UDP、伺服器開放轉送,以及主機防火牆放行相關流量,三者缺一都可能造成語音或遊戲異常。網頁能開啟只表示相應的 TCP 請求成功,不代表 UDP 路徑可用。若使用外掛方案,還要確認外掛處理 UDP 的範圍,不能直接將直連傳輸的能力套用至外掛通道。

VMess:驗證機制與傳輸組合

VMess 源自 V2Ray 生態系,設計包含使用者身分驗證與代理資料封裝,並可搭配不同傳輸方式。討論 VMess 時,至少應說明是否使用 TLS、是否經過 WebSocket 等中間層,否則「VMess 比較慢」這類比較並沒有明確對象。直接透過 TCP 傳輸與多層封裝,在交握、緩衝與伺服器處理流程上都不同,最終額外負擔往往不只來自 VMess 本身。

現代 VMess 設定通常採用 AEAD 驗證方式,不宜照搬舊資料中的 alterId 與舊式驗證設定。欄位仍存在,不代表應主動啟用過時行為。裝置時鐘也應保持準確,因為驗證機制有時間要求;系統時間明顯不準可能造成驗證失敗。排查時先同步時間,再核對 UUID、傳輸方式、TLS 與伺服器路徑,會比不斷切換加密選項更有效。

兩者的適用範圍可概括如下:已有穩定的 SS 服務時,設定簡單就是實際優勢;已有 V2Ray 傳輸環境時,VMess 的生態系相容性可能更重要。無須只為了追求更新的協定名稱,就重建整套服務。重新選擇時,應一併確認用戶端支援、伺服器維護狀態與訂閱能否完整表達參數,不要只憑「欄位較多」或「協定推出較晚」判斷價值。

類型優先核對項目容易混淆之處
Shadowsocks加密方式、密碼或金鑰、外掛不同加密方式的金鑰格式不一定相同
VMessUUID、驗證方式、傳輸與 TLS匯入成功不代表傳輸欄位完整

Trojan、VLESS 與 TLS

Trojan:在 TLS 通道中進行代理驗證

Trojan 的設計重點之一,是在 TLS 通道中進行代理通訊,並以密碼完成協定層驗證。相較於部分內建資料加密封裝的協定,它更仰賴成熟的 TLS 架構保護傳輸。因此,憑證、伺服器名稱與 TLS 交握都是建立連線的重要環節,不是可有可無的附加設定。傳統 Trojan 設定通常相當直觀,但實際部署仍可能搭配其他傳輸方式,應依伺服器說明填寫。

伺服器位址可以是 IP,但憑證通常是簽發給網域名稱。此時用戶端可能需要另外指定伺服器名稱,讓 TLS 交握使用正確名稱並據此驗證憑證。這個名稱常稱為 SNI,但不同用戶端的欄位名稱可能不同。不能隨意填入一個可存取的網域,也不一定等同於 WebSocket 的 Host;後者屬於另一個協定層,某些部署會使用相同名稱,另一些則不然。

憑證錯誤應依照實際原因處理:檢查系統時間、憑證有效期限、名稱是否相符、憑證鏈是否完整,以及是否有本機 HTTPS 檢查工具。不要把關閉憑證驗證當作長期解決方法。停用驗證會失去確認遠端身分的重要保障,讓位於網路中間的設備更容易冒充伺服器。相關處理順序請參閱HTTPS 憑證錯誤原因與排查方式。

VLESS:輕量驗證不等於獨立加密

VLESS 源自 V2Ray 相關生態系,著重於較輕量的驗證與轉送架構。理解 VLESS 時最重要的一點,是它本身不提供一般意義上的獨立傳輸加密;必須搭配 TLS、REALITY 等合適的安全承載方式,才能判斷整體保護程度。只看到節點類型是 VLESS,無法得知安全性與連線成本,還需查看傳輸方式、安全層以及可選的流控設定。

REALITY 是特定的安全傳輸方案,不是換個名稱的 TLS 開關。公開金鑰、短識別碼、伺服器名稱與相關交握設定必須相互搭配,且受核心實作限制。Vision 這類 flow 選項也有適用組合,不能一概套用至所有 VLESS 連線。伺服器未採用相應組合時,用戶端加上參數只會導致連線失敗;複製其他節點看似完整的設定,通常也無法取代伺服器的實際參數。

選用 VLESS 時,應先確認服務提供者提供的是哪種明確組合,再核對目前核心是否支援。某個用戶端可以匯入 VLESS 分享連結,不代表其核心支援連結中的所有擴充功能。尤其在舊版用戶端、轉換後的訂閱或經過覆寫的設定中,欄位可能遭到忽略、改寫或刪除。診斷時應檢視最後交給核心的設定,而非只看訂閱清單上顯示的協定標籤。

交握重複使用與延遲的實際意義

TLS 通道通常需要建立底層連線並完成安全交握。首次連線與既有連線上的後續請求,耗時結構並不相同;工作階段恢復、連線重複使用,以及目標網站本身的 HTTP 連線,都可能改變實際感受。因此,用戶端測得的單次延遲主要反映該測試路徑的建連與回應過程,不能單獨代表長時間下載、影片播放或多個應用程式同時使用時的表現。

Trojan 與 VLESS 都可以是合適的選擇:前者在傳統 TLS 部署下,容易透過密碼與憑證定位問題;後者則可在搭配合適的安全承載方式後,提供較彈性的組合。實際選擇應以現有伺服器與維護能力為準。不要把啟用更多擴充功能視為必然最佳化;每增加一種傳輸方式或特殊選項,就多一層相容性需要核對,也增加日後排查時必須釐清的變因。

憑證驗證、伺服器名稱、應用層 Host 與協定驗證資料,各自解決不同問題。某項設定正確,無法抵銷另一項錯誤;出現憑證警告時應先查明原因。

Hysteria2、TUIC 與 QUIC

為什麼採用以 UDP 為基礎的傳輸

QUIC 在 UDP 之上實作安全連線、可靠傳輸與多路串流等機制,並整合 TLS 交握能力。它並非「不保證送達的快速 TCP」,而是將許多原本由傳輸層處理的功能,放進使用者空間的協定堆疊。Hysteria2 與 TUIC 都採用 QUIC,但兩者的驗證方式、擁塞控制選擇、資料封包承載方式與設定結構各不相同,無法互相連線,也不能只因為同樣使用 UDP 就混用參數。

QUIC 的一項重要特點是,多條串流不必受限於 TCP 層級的有序交付要求。某條串流發生封包遺失時,其他串流的資料仍有機會繼續傳送,減少部分跨串流阻塞。不過,它仍受共同的擁塞控制、線路容量與處理器效能限制。若所有串流都共用同一條壅塞線路,或伺服器負載過高,協定本身無法提供額外頻寬,更不能保證所有服務同時提速。

Hysteria2:頻寬參數與擁塞控制

Hysteria2 著重於複雜線路中的吞吐表現,並會依設定與協商條件採用相應的擁塞控制機制。部分部署需要填寫上行與下行頻寬,這些數值是演算法或伺服器限制判斷的輸入,不是測速結果,也不是設定得越大就越快。若填入遠高於實際上行能力的數值,可能導致排隊、封包遺失及其他應用程式體驗下降,尤其是在家用寬頻或共用行動網路中。

不同實作與伺服器策略可能採用頻寬估算、明確速率參數或其他擁塞控制方式。是否需要填寫,應依服務端要求決定,不能從通用範例推論所有 Hysteria2 節點都必須設定相同參數。密碼、TLS 伺服器名稱、可選的混淆設定與連接埠範圍也都須與伺服器相符。連接埠跳躍不能取代基本連線能力;若伺服器未開放,啟用後也不會增加可用入口。

名稱相似不代表不同世代的協定彼此相容。Hysteria 與 Hysteria2 在協定上有所差異,用戶端必須選對類型。若轉換工具只根據名稱猜測,可能產生表面完整、實際卻無法通過驗證的項目。遇到交握失敗,應先確認服務提供者使用的協定版本,再檢查 UDP 是否可達、憑證與驗證欄位,而非先調整頻寬與進階選項。

TUIC:連線重複使用與資料封包轉送

TUIC 同樣以 QUIC 為基礎,常見設定包含 UUID、密碼與 TLS 相關參數,也可能提供 UDP 轉送方式、擁塞控制與連線維持選項。協定演進過程中存在不相容的舊版實作,不能假設任何名為 TUIC 的服務都能供任意用戶端使用。實際上應依據伺服器提供的協定要求與核心支援範圍進行核對,不要只看分享連結前綴就判定完全相容。

對互動式應用程式而言,資料封包的承載方式尤其重要。將資料封包放入可靠串流,發生封包遺失時可能需要等待重傳;採用不可靠資料封包則較接近原始 UDP 語意,但會受路徑 MTU、資料封包大小與實作策略影響。不同應用程式對封包遺失與等待的容忍度各異,語音、遊戲與檔案傳輸不能靠同一個開關一概最佳化。一般來說,維持預設設定比盲目啟用進階模式更穩妥。

UDP 無法使用時的限制

公共 Wi-Fi、企業網路、路由器或電信網路可能會限制 UDP,NAT 也可能較快清除閒置的對應項目。此時,基於 QUIC 的節點可能無法完成交握,或在裝置關閉螢幕後較難恢復。應保留一個經過驗證的 TCP 型出口作為獨立備援,而不是期待核心自動將 Hysteria2 或 TUIC 轉為 TCP 協定。自動切換必須透過明確的策略組及可用節點共同實現。

QUIC 型協定值得納入實測候選,但前提是 UDP 路徑可用。其優勢取決於具體傳輸機制與線路條件,而非協定名稱本身。

連線速度、資源與行動裝置耗電

將「速度」拆分為不同指標

連線速度至少包括首次建立連線所需時間、等待第一個位元組的時間、持續吞吐量與並行回應能力。首次開啟網頁很慢,可能是 DNS、代理交握或目標網站造成;大型檔案下載速度偏低,則可能受線路頻寬、封包遺失、伺服器限速或 CPU 效能影響。遊戲與語音更重視延遲波動及封包遺失,不能用下載吞吐量代替。測試前先確定要改善的服務,才能知道應觀察哪些指標。

延遲測試通常會透過代理向指定位址發出請求。測得的結果不只是裝置到伺服器的往返時間,也可能包含解析、安全交握、目標網站回應及連線重複使用的影響。不同用戶端若使用不同的測試位址,數值也不能直接比較。測試成功只表示特定路徑當下有回應,不代表所有網站都能使用,更不表示該節點支援應用程式所需的 UDP 轉送。

協定額外負擔如何影響硬體

直接傳輸的 SS 通常封裝較少;搭配 TLS 與額外傳輸方式,會增加交握或框架處理負擔;QUIC 實作則需處理加密、擁塞控制、計時器與使用者空間封包。這些是機制上的差異,不代表固定的效能排名。現代桌上型裝置可能輕易處理這些工作,但低功耗路由器或手機在高吞吐時,較容易先碰到單核心效能、溫控或記憶體頻寬的限制。

記憶體用量也不只由協定決定。並行連線數、連線緩衝區、規則集、DNS 快取、記錄層級與用戶端介面都會占用資源。即使兩個用戶端使用相同核心,只要其中一個載入更多規則並保留較詳細的記錄,記憶體用量就可能明顯較高。比較時應固定設定規模、關閉不必要的偵錯記錄,並區分 GUI 程序與核心程序,避免將介面資源錯誤歸因於節點協定。

狀況優先檢查不宜直接推論
首次連線較慢DNS、交握、冷連線持續吞吐量必然偏低
下載速度快,但語音斷續UDP、抖動、排隊頻寬不足是唯一原因
高吞吐時裝置發熱CPU、無線訊號、溫控一定是用戶端介面問題
關閉螢幕後頻繁重新連線背景限制、對應項目逾時、連線維持提高連線維持頻率一定更省電

手機耗電首先是連線行為造成的

手機耗電同時受無線訊號、資料量、喚醒頻率與連線維持方式影響。在訊號微弱的環境中,無線模組發射與重傳的成本可能高於協定加密本身。過於頻繁的健康檢查、訂閱更新、連線維持與記錄寫入,會讓裝置難以維持低耗電狀態。因此,選擇協定前應先檢查是否啟用了高頻測速,以及是否有多個代理或 VPN 應用程式反覆爭用網路入口。

連線維持方式需要取捨:縮短間隔可能減少 NAT 對應失效後的重新連線,但會增加背景資料傳輸與無線喚醒;延長間隔或許能省下維護成本,卻可能讓連線恢復更慢。QUIC 的連線遷移能力也受協定實作、伺服器與用戶端設定限制,不能因此保證 Wi-Fi 與行動網路切換時永不斷線。對行動裝置使用者而言,待機後可靠恢復,往往比單次峰值速度更重要。

建議使用相同裝置、相同網路、相同目標與相近時段,分別記錄冷啟動時的連線、持續傳輸,以及待機一段時間後的恢復情況。每次只更換一個節點或協定,重複測試幾輪觀察趨勢,並留意裝置溫度變化。比較耗電量時,應確保使用負載相近,並採用足夠長的觀察時間;十幾秒測速造成的電量變化太小,不能作為某個協定更省電的證據。

若長時間傳輸導致通話或網頁回應變差,應先限制大流量工作、檢查本機排隊情況與頻寬設定,再考慮更換協定。協定可以改善某些線路行為,卻無法讓已經飽和的同一條上行頻寬無限承載更多工作。將穩定性、恢復速度與可維護性納入評估,通常比追求單一最高測速數字更貼近日常使用體驗。

Clash、Meta 與 mihomo

名稱關係與功能範圍

原版 Clash 建立了以 YAML 描述代理、策略組與規則的使用方式。Clash.Meta 是從這個生態系發展出來的分支,擴充了協定與網路功能;mihomo 則延續 Meta 分支的發展。舊資料、訂閱格式選項與用戶端設定中,仍可能保留 Meta 這個名稱。因此,閱讀 Clash Meta 教學時,應進一步確認文章所指的核心功能,而非只憑名稱判斷內容是否適用。

原版 Clash 過去不同的發行形式也不完全相同,開源實作與歷史上的其他發行形式,不能混為同一套功能。閱讀舊教學時,規則集、TUN、指令碼或特定欄位的說明,可能只適用於當時的某種實作。選擇新協定時,應直接確認實際執行的核心及其設定文件,不能將舊教學中的功能清單視為所有 Clash 用戶端共通的標準。

mihomo 新增或延續了多種現代協定,以及 DNS、TUN、規則等功能的支援,但支援範圍仍會隨實作演進。設定文件中有某個欄位,不代表較早版本的執行檔已經實作。反過來說,用戶端名稱沒有 Meta 字樣,也不能據此判定它沒有使用 mihomo。可靠的依據是用戶端核心資訊、啟動記錄與實際載入結果,而不是應用程式圖示或安裝檔名稱。

設定相容性須逐項確認

基本連接埠、常見策略組與規則有不少共通語法,因此部分設定可以移轉;但相容性通常需要逐項確認,不代表整份檔案都能無條件通用。將原版設定移轉至 mihomo,仍須檢查已淘汰的行為、路徑與平台功能;包含 VLESS、Hysteria2、TUIC 或擴充 DNS 欄位的設定,不應期待舊版核心都能完整辨識。未知欄位有時會造成錯誤,有時則會被忽略,兩種情況都需要檢查。

用戶端也可能在載入前產生最終設定:合併訂閱、加入本機連接埠、寫入控制介面、覆寫 DNS 或注入規則。編輯訂閱來源檔案後看不到效果,不一定是核心不支援,也可能是後續覆寫蓋掉了修改。排查時應找到執行中的設定或匯出功能,確認最終欄位,再對照記錄判斷;不要反覆修改一個從未直接交給核心的中間檔案。

用戶端選擇與作業系統整合

桌面與行動裝置使用者可先查看Clash Plus 下載與平台選項,並確認所需協定能否在目標系統上使用。Linux 桌面可依下載頁選擇 Clash Verge Rev 或 FlClash;Windows 也可比較 Clash Nyanpasu。Clash for Windows 與 ClashX Meta 已停止維護,屬於封存選項,不宜只為了沿用舊介面,就將它們作為新協定需求的預設方案。

Android 用戶可比較 Clash Plus、Clash Meta for Android、FlClash 與 Surfboard,但這些應用程式不代表使用完全相同的核心或設定格式。iOS 的網路延伸功能與背景執行方式也受到系統機制影響。跨平台移轉時,應重新確認「是否支援所需協定、能否接收目前的訂閱、如何接管流量」,而非假設同一份桌面執行設定可以原封不動地用在手機上。

Ubuntu:圖形介面與獨立服務

Ubuntu 桌面使用者通常較適合透過 GUI 管理系統代理與設定。伺服器或需要開機執行的環境,可以獨立部署 mihomo,但必須自行處理設定目錄、服務使用者、記錄與 TUN 權限。不要讓桌面用戶端與 systemd 服務同時使用相同連接埠或爭用路由。詳細步驟請參閱在 Ubuntu 部署 mihomo 核心。

mihomo -v
mihomo -t -d "$HOME/.config/mihomo"

第一個指令用來查看實際執行檔的資訊,第二個指令則檢查指定目錄中的設定是否能通過核心測試;前提是已安裝該指令,而且目錄內有 config.yaml。測試通過只表示載入階段沒有發現相關錯誤,不代表節點可以連線。升級前應備份設定與原有執行檔,測試後再替換執行中的服務,避免同時進行核心升級、更新訂閱與修改路由。

訂閱格式與設定相容性

分享連結、節點清單與完整設定

分享連結通常描述單一節點,協定前綴後可能包含編碼過的身分資訊與查詢參數;節點清單可能是一組連結,也可能是 YAML 中的代理項目;完整設定則進一步包含策略組、規則、DNS 與本機監聽設定。三者用途不同。應用程式支援匯入分享連結,不代表能讀取完整的 Clash YAML;能讀取 YAML,也不表示支援其中所有代理類型。

訂閱網址本身只是取得內容的入口。同一服務可能依選擇的格式或請求參數傳回不同資料,檔案副檔名並不能可靠判斷實際結構。匯入後若清單空白,應先確認用戶端要求的訂閱類型,再檢查回傳內容是否為登入頁面、錯誤訊息或不相容格式。不要將含有個人訂閱識別資訊的完整網址貼到公開頁面,它通常足以讓他人取得訂閱內容或消耗相關額度。

訂閱轉換的能力與限制

訂閱轉換工具可以改變資料呈現方式,例如將分享連結轉為 YAML 節點,再組合策略組與規則。但它無法替伺服器增加協定功能,也不能讓不支援 TUIC 的核心取得 TUIC 實作。轉換器若不認識某個欄位,可能會捨棄外掛參數、TLS 名稱或特殊傳輸選項,導致基本節點仍顯示在清單中,實際交握所需的資訊卻已遺失。

優先使用服務提供者直接提供、且與目前核心相符的設定格式。若必須轉換,應選擇可信且確有必要的處理方式,並了解訂閱內容會由誰接收。線上轉換不只會處理協定標籤,也可能接觸伺服器位址與驗證資訊。檢查轉換結果時,應重點比對協定類型、驗證欄位、安全層與傳輸選項,而非只看節點名稱與數量是否一致。

YAML 根層級與策略組參照

教學中的 general 通常用來表示基本設定區段,並不是應寫入檔案的實際頂層鍵。連接埠與模式等欄位應直接放在 YAML 根層級。以下的最小範例不含遠端節點,可用來了解本機監聽、策略組參照與後備規則;它選擇直連出口,不會自行建立遠端代理。實際使用的節點必須來自有效訂閱或伺服器參數,不能從範例推測驗證資訊。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

proxy-groups:
  - name: 出口選擇
    type: select
    proxies:
      - DIRECT

rules:
  - MATCH,出口選擇

YAML 使用空格表示層級,清單項目前的連字號與同層欄位縮排都必須一致。策略組參照的是確切名稱,重新命名後也要一併修改規則及其他群組中的參照。名稱重複、參照不存在的節點,或群組之間形成循環,都可能讓設定無法載入或產生非預期行為。若 7890 已被其他程序占用,可參閱排查連接埠占用找出原因,再同步調整應用程式的代理設定。

為什麼訂閱更新會覆蓋修改

直接編輯從遠端訂閱下載的內容,下次更新時通常會被新內容取代。較穩妥的作法是使用用戶端明確支援的本機覆寫、合併設定或規則擴充功能,並記錄套用順序。proxy-providers 適合依照約定載入代理集合,rule-providers 則用於規則集合;它們不是可匯入任意完整設定的通用入口,不能將包含所有頂層設定的檔案隨意當成節點提供者。

設定相容性也涉及 DNS。節點成功匯入後,網域解析異常仍可能造成網頁無法開啟;fake-ip 也需要請求入口與解析路徑配合,不能只啟用一個欄位就認定 DNS 已被接管。完整的解析關係請參閱nameserver、fallback 與 DNS 劫持欄位詳解。移轉訂閱時,應先驗證基本連線,再逐步還原自訂 DNS 與規則,方便找出是哪一層造成差異。

依使用情境選擇並驗證結果

日常桌面使用:優先選擇容易釐清的連線

日常瀏覽、文件同步與開發工具存取,首先需要穩定的連線與容易維護的設定。若已有經過驗證的 SS、Trojan 或其他 TCP 型入口,無須只為追求協定名稱而更換。可優先考慮 Clash Plus,再依作業系統與所需功能比較其他選項。使用規則模式區分需要代理與直連的請求,往往比啟用更多傳輸擴充功能更能避免不必要的繞路。

開發工具也可能只讀取環境變數或獨立的代理設定,而不使用系統代理。若瀏覽器正常但終端機連線失敗,應先檢查工具使用的代理入口與憑證環境;企業軟體則可能有自己的網路堆疊或存取政策。適合的情境下可以使用 TUN 作為流量入口,但啟用後仍須確認路由、DNS 與本機網路存取。不要將應用程式未使用代理的問題歸因於節點協定。

行動網路:一併測試連線恢復與待機

經常在 Wi-Fi 與行動網路間切換的使用者,應觀察切換網路後的首次請求、待機後的恢復情形、語音連線穩定度與背景耗電。Hysteria2 或 TUIC 可以納入比較,但應保留一個已確認能在目標網路使用的 TCP 型備援。若 QUIC 入口只在特定公共網路上失敗,應優先判斷 UDP 路徑是否受限,而不是立即修改驗證資訊;相同設定在其他網路成功,就是有助於定位問題的線索。

行動裝置也要考量系統對 VPN 或網路延伸功能的管理。背景執行限制、其他 VPN 應用程式啟動、系統省電模式與網路權限變更,都可能中斷連線。降低不必要的健康檢查頻率、避免過短的連線維持間隔,通常比反覆更換協定更值得優先處理。只有在入口、權限與背景狀態一致時,協定間的耗電差異才有比較意義。

大流量與低功耗裝置:找出效能瓶頸

持續下載、遠端備份或大量並行連線時,應觀察伺服器負載、上行排隊、裝置溫度與單核心使用率。若處理器先達到滿載,可比較封裝較少且支援硬體加速的方案;若主要問題是封包遺失與線路波動,則可測試 QUIC 型方案。路由器還須確認處理器架構、記憶體容量與 UDP 處理能力,不能直接套用桌上型裝置的測試結論。

在 Ubuntu 伺服器部署時,通常更重視服務管理、故障復原能力與最低權限。先使用一般本機代理驗證核心與節點,再依需求加入 TUN、路由與開機服務。每次修改後都要檢查設定、重新啟動對應服務並讀取記錄,避免桌面用戶端與服務同時接管網路。遠端操作若涉及路由,應保留獨立的管理路徑與復原方案,避免一次錯誤修改就中斷維護連線。

使用情境優先驗證項目選擇方向
日常桌面使用規則、應用程式入口、穩定性先使用已驗證的伺服器方案
行動網路切換連線恢復、UDP 可達性、待機比較 QUIC 型與 TCP 型出口
持續傳輸大量資料封包遺失、CPU、上行排隊依實際瓶頸比較傳輸組合
伺服器與路由器架構、權限、記錄與備援優先採用易維護的獨立核心部署

建立可重複的排查流程

完整驗證可分為四個層次:先確認請求進入本機核心,再確認能否連線至伺服器,接著確認目標網域解析與規則命中,最後驗證實際應用服務。記錄顯示驗證失敗時應檢查驗證資料;出現憑證錯誤時應檢查時間與名稱;連線逾時則應綜合檢查網路、連接埠與協定。不同錯誤分支對應不同變因,盲目重新安裝用戶端通常無法取得更多線索。

保留一份可正常運作的設定作為比較基準;修改時記錄變更欄位、測試網路與結果。分享記錄前,請隱藏訂閱網址、驗證資料與個人瀏覽紀錄;不要為了表面上的連線成功而停用安全驗證。若要回到操作步驟,請接著閱讀入門指南;若問題只發生在特定應用程式或設定階段,可至常見問題尋找相應的排查方向。協定選擇的最終依據,是需求經過驗證、故障原因能夠說明,以及設定可以長期維護。