代理協定解決的核心問題是:怎麼把你的流量偽裝或加密,讓它能穿過網路中間的檢測,同時保證傳輸效率。不同協定在「安全性」、「速度」和「抗封鎖能力」之間做了不同取捨,沒有絕對的「最好」,只有「適合當前場景」。

五種協定速覽

協定底層傳輸特點
Shadowsocks TCP / UDP + 簡單加密 歷史最久、實作輕量、速度快,但流量特徵相對容易被識別
VMess TCP / WebSocket / mKCP V2Ray 生態的原生協定,支援流量偽裝,設定項較多
VLESS TCP + TLS,常搭配 XTLS 比 VMess 更輕量,去掉了內建加密(依賴外層 TLS),搭配 XTLS 時效能優勢明顯
Trojan TCP + TLS 把自己偽裝成正常的 HTTPS 流量,識別難度較高,依賴真實網域憑證
Hysteria2 基於 QUIC(UDP) 抗封包遺失與抗弱網能力強,冷啟動速度快,對不穩定網路環境更友善

速度與抗封鎖能力怎麼權衡

一般來說,協定堆疊越「輕」(加密與封裝步驟越少),速度越快,但也越容易被流量分析工具識別出特徵;協定做的偽裝越「重」(比如完整模擬 HTTPS 交握),抗封鎖能力越強,但會有額外的效能開銷。

協定只是「怎麼傳輸」的一層,真正決定你能不能穩定使用的,往往是機房線路品質和節點數量——協定選型能優化的是「上限」,線路品質決定的是「下限」。

Clash / Mihomo 都支援嗎

以上五種協定,Mihomo 核心(也就是目前 Clash 生態使用的核心)均已原生支援,你不需要額外安裝外掛。訂閱連結匯入後,客戶端會自動識別每個節點使用的協定類型,你只需要關心節點是否可用、延遲是否合適,協定層面的細節機場那邊已經處理好了。

如果你是自己架設伺服端(而不是使用機場訂閱),協定選擇就需要結合自己的場景權衡:追求速度選 Shadowsocks 或 VLESS + XTLS,追求抗封鎖選 Trojan 或 Hysteria2,網路環境不穩定優先考慮 Hysteria2。

一般使用者需要關心到什麼程度

如果你只是使用機場提供的訂閱,並不需要深入理解每種協定的實作細節——機場已經幫你選好了協定和線路組合。真正需要關心的是:同一個機場如果同時提供多種協定的節點,可以在網路環境較差時切換到 Hysteria2 之類抗弱網能力強的協定試試,往往能帶來體驗上的明顯差異。

怎麼看出訂閱裡的節點用了什麼協定

訂閱連結匯入 Clash 後,節點名稱通常會帶有協定或線路的提示資訊,但最準確的方式還是打開設定檔(或者在客戶端的節點詳情裡)直接查看。以 Mihomo 的設定格式為例,每個節點都有一個 type 欄位,數值就是 ssvmessvlesstrojanhysteria2 之一,一眼就能看出這個節點用的具體協定:

node.yaml
- name: HK-01
    type: trojan
    server: example.com
    port: 443

如果你手上只有訂閱連結、沒有解析後的明文設定,也可以先把訂閱匯入客戶端,再在節點列表裡查看詳情——大多數圖形客戶端都會顯示每個節點的協定類型,不需要手動解碼訂閱內容。

混淆與傳輸層偽裝:能不能疊加使用

前面提到的「抗封鎖能力」主要取決於協定本身的流量特徵,但實際部署時,協定往往還會搭配額外的傳輸層偽裝一起使用,進一步降低被識別的機率:

對於一般使用者來說,這些傳輸層細節同樣是機場已經處理好的部分,不需要自己動手設定。了解這些名詞的意義在於:當你看到訂閱裡節點名稱帶有「WS」、「gRPC」、「XTLS」這類標註時,能知道它們大致對應的是傳輸層偽裝方式,而不是完全不同的協定。

不確定該選哪種協定時怎麼辦

如果一時無法判斷哪種協定更適合當前網路環境,最實際的做法不是糾結理論上的優劣,而是直接測試。同一個機場往往會提供多種協定的節點組合,可以分別用 url-test 策略組測速對比延遲與穩定性,幾分鐘就能得到直觀的結論,比反覆查資料更有效率。