代理協定解決的核心問題是:怎麼把你的流量偽裝或加密,讓它能穿過網路中間的檢測,同時保證傳輸效率。不同協定在「安全性」、「速度」和「抗封鎖能力」之間做了不同取捨,沒有絕對的「最好」,只有「適合當前場景」。
五種協定速覽
| 協定 | 底層傳輸 | 特點 |
|---|---|---|
| Shadowsocks | TCP / UDP + 簡單加密 | 歷史最久、實作輕量、速度快,但流量特徵相對容易被識別 |
| VMess | TCP / WebSocket / mKCP | V2Ray 生態的原生協定,支援流量偽裝,設定項較多 |
| VLESS | TCP + TLS,常搭配 XTLS | 比 VMess 更輕量,去掉了內建加密(依賴外層 TLS),搭配 XTLS 時效能優勢明顯 |
| Trojan | TCP + TLS | 把自己偽裝成正常的 HTTPS 流量,識別難度較高,依賴真實網域憑證 |
| Hysteria2 | 基於 QUIC(UDP) | 抗封包遺失與抗弱網能力強,冷啟動速度快,對不穩定網路環境更友善 |
速度與抗封鎖能力怎麼權衡
一般來說,協定堆疊越「輕」(加密與封裝步驟越少),速度越快,但也越容易被流量分析工具識別出特徵;協定做的偽裝越「重」(比如完整模擬 HTTPS 交握),抗封鎖能力越強,但會有額外的效能開銷。
- Shadowsocks 屬於輕量級選手,速度優勢明顯,適合網路環境本身沒有嚴格封鎖的場景。
- VMess / VLESS 生態成熟,搭配 WebSocket、TLS 等傳輸方式可以進一步偽裝,靈活性高。
- Trojan 的設計目標就是「看起來和正常網站訪問一模一樣」,在流量審查較嚴格的網路環境下表現更穩定。
- Hysteria2 基於 QUIC,原生具備抗封包遺失能力,在網路品質本身不穩定(比如行動網路頻繁切換基地台)的場景下體驗會明顯優於基於 TCP 的協定。
協定只是「怎麼傳輸」的一層,真正決定你能不能穩定使用的,往往是機房線路品質和節點數量——協定選型能優化的是「上限」,線路品質決定的是「下限」。
Clash / Mihomo 都支援嗎
以上五種協定,Mihomo 核心(也就是目前 Clash 生態使用的核心)均已原生支援,你不需要額外安裝外掛。訂閱連結匯入後,客戶端會自動識別每個節點使用的協定類型,你只需要關心節點是否可用、延遲是否合適,協定層面的細節機場那邊已經處理好了。
如果你是自己架設伺服端(而不是使用機場訂閱),協定選擇就需要結合自己的場景權衡:追求速度選 Shadowsocks 或 VLESS + XTLS,追求抗封鎖選 Trojan 或 Hysteria2,網路環境不穩定優先考慮 Hysteria2。
一般使用者需要關心到什麼程度
如果你只是使用機場提供的訂閱,並不需要深入理解每種協定的實作細節——機場已經幫你選好了協定和線路組合。真正需要關心的是:同一個機場如果同時提供多種協定的節點,可以在網路環境較差時切換到 Hysteria2 之類抗弱網能力強的協定試試,往往能帶來體驗上的明顯差異。
怎麼看出訂閱裡的節點用了什麼協定
訂閱連結匯入 Clash 後,節點名稱通常會帶有協定或線路的提示資訊,但最準確的方式還是打開設定檔(或者在客戶端的節點詳情裡)直接查看。以 Mihomo 的設定格式為例,每個節點都有一個 type 欄位,數值就是 ss、vmess、vless、trojan、hysteria2 之一,一眼就能看出這個節點用的具體協定:
- name: HK-01
type: trojan
server: example.com
port: 443
如果你手上只有訂閱連結、沒有解析後的明文設定,也可以先把訂閱匯入客戶端,再在節點列表裡查看詳情——大多數圖形客戶端都會顯示每個節點的協定類型,不需要手動解碼訂閱內容。
混淆與傳輸層偽裝:能不能疊加使用
前面提到的「抗封鎖能力」主要取決於協定本身的流量特徵,但實際部署時,協定往往還會搭配額外的傳輸層偽裝一起使用,進一步降低被識別的機率:
- WebSocket + TLS:讓流量在外部看起來是普通的網頁 WebSocket 連線,常見於 VMess / VLESS 搭配 CDN 中轉的場景。
- gRPC 傳輸:把流量封裝成 gRPC 呼叫的樣子,同樣是一種常見的偽裝手段,設定和排查思路與 WebSocket 類似。
- XTLS:專門為 VLESS 設計的傳輸優化方案,在維持 TLS 偽裝的同時減少了額外的加密開銷,是目前 VLESS 場景下效能最好的搭配方式之一。
對於一般使用者來說,這些傳輸層細節同樣是機場已經處理好的部分,不需要自己動手設定。了解這些名詞的意義在於:當你看到訂閱裡節點名稱帶有「WS」、「gRPC」、「XTLS」這類標註時,能知道它們大致對應的是傳輸層偽裝方式,而不是完全不同的協定。
不確定該選哪種協定時怎麼辦
如果一時無法判斷哪種協定更適合當前網路環境,最實際的做法不是糾結理論上的優劣,而是直接測試。同一個機場往往會提供多種協定的節點組合,可以分別用 url-test 策略組測速對比延遲與穩定性,幾分鐘就能得到直觀的結論,比反覆查資料更有效率。