本文重點

VLESS 負責代理協定,Vision 負責特定流量的傳輸最佳化,REALITY 則負責連線安全與驗證。三者職責不同,不能互相取代。本文適合已取得 VLESS 節點、需要確認用戶端欄位的讀者:先了解 HTTPS 為何可能重複加密,再對照 flow、security、SNI 與金鑰參數,最後透過同線路測試判斷是否真的更快。

先釐清 VLESS、Vision 與 REALITY

節點名稱常會把「VLESS + TCP + REALITY + Vision」寫在一起,但這不是四種互相競爭的協定。VLESS 描述代理要求如何驗證與封裝;TCP 提供可靠的位元組串流;REALITY 處理外層安全連線;Vision 則是 Xray 的一種流控模式,用來識別並最佳化適合處理的內層 TLS 流量。

應用程式要求 VLESS 封裝 安全交握 Vision 處理 目標連線

這個流程示意的是各自職責,不代表每個實作步驟都會嚴格依序執行。安全交握會先建立連線條件,之後才能傳送代理要求與資料。瀏覽 HTTPS 網站時,瀏覽器與網站也會建立自己的 TLS 連線;外層連線保護用戶端到代理伺服器這一段,內層連線則保護瀏覽器與目標網站之間的內容。

Vision 如何減少重複加密

以瀏覽器瀏覽 HTTPS 網站為例,應用程式資料先經過網站的 TLS 加密,再進入代理通道。如果外層通道也逐位元組加密,就會形成「加密資料再次加密」的路徑。這不一定會造成明顯延遲,但會增加密碼運算與資料處理負擔;伺服器 CPU 忙碌、傳輸量高或裝置效能有限時,這些成本更容易顯現。

Vision 會判讀內層 TLS 流量所處階段,並對起始部分進行相應封裝與填充。在符合實作條件,且確認進入適合處理的內層 TLS 1.3 加密資料階段後,可切換至最佳化的資料傳輸路徑,減少外層對這些已加密負載的重複處理。部分環境也能運用更有效率的資料轉送機制,但是否啟用取決於作業系統、連線類型與核心實作。

流量情境Vision 的處理重點不能據此推論的結果
符合最佳化條件的內層 HTTPS識別 TLS 階段,減少後續負載的重複處理不保證下載速度加倍
一般明文 TCP 應用程式資料仍須由外層安全連線保護不會將明文直接暴露於公網
UDP 或其他封裝流量依實際承載方式處理不能套用內層 TLS 的最佳化結論
高封包遺失率或壅塞的線路仍受底層傳輸與線路品質限制無法消除重傳與頻寬瓶頸

因此,「VLESS 比較快」只是簡略說法。更精確地說,在相同線路與資源條件下,合適的 VLESS、Vision 與安全傳輸組合,可能比封裝更多或重複加密的方案減少處理負擔。如果瓶頸是尖峰時段壅塞、伺服器限速或跨網封包遺失,光是更換協定名稱通常不會帶來明顯改善。

REALITY 的交握與驗證範圍

REALITY 以 TLS 1.3 機制建立安全連線,並在交握過程中加入特定驗證資訊。用戶端需要知道伺服器對應的公開金鑰資訊、允許的伺服器名稱,以及 shortId 等參數。節點管理者不必像一般 TLS 部署那樣,為節點網域申請並維護公開信任的憑證;但目標網站與伺服器參數仍須正確設定。

伺服器辨識出符合條件的用戶端後,便會建立代理連線;未通過相關驗證的連線則會依 REALITY 設計轉向設定的目標網站。此目標會參與交握外觀與回落行為,不是一般 CDN 中繼,也不代表正常代理負載會一直經由目標網站轉送。

443
常用的 TCP 監聽連接埠,並非強制值
TLS 1.3
REALITY 的基本交握機制
16
shortId 十六進位字元數上限

shortId 是伺服器允許清單中的短識別碼,不是 UUID,也不是公開金鑰。非空值必須由十六進位字元組成,長度須為偶數且不得超過 16 個字元;用戶端的值必須符合伺服器允許的項目。是否允許空值也由伺服器清單決定,排除問題時不應任意清空。

將原理對應至 config.json 欄位

排查時先區分「代理協定參數」與「傳輸安全參數」。在常見的 Xray VLESS 出站結構中,flow 屬於使用者物件,security 則屬於 streamSettings。將這兩個欄位寫在同一層,或把 reality 填入 VLESS 的 encryption,都不是等效設定。

VLESS 使用者參數

protocol
vless
id
伺服器指派的 UUID
encryption
none
flow
xtls-rprx-vision

這些值用於協定與使用者配對;encryption 設為 none,不代表外層連線沒有加密。

REALITY 傳輸參數

security
reality
serverName
伺服器允許的 SNI
fingerprint
例如 chrome
shortId
伺服器允許的短識別碼

還需要設定對應的公開金鑰資訊;欄位名稱以目前使用的 Xray 核心及用戶端匯出結果為準。

以下是欄位定位片段,不是完整節點,也無法單獨啟動。第一段展示 VLESS 使用者物件中的流控欄位;第二段展示傳輸安全物件。實際設定還需要伺服器位址、連接埠、使用者身分與 REALITY 驗證參數。

{
  "encryption": "none",
  "flow": "xtls-rprx-vision"
}
{
  "security": "reality",
  "realitySettings": {
    "fingerprint": "chrome"
  }
}

若要進一步確認物件層級,可參閱設定參考。訂閱使用者建議先重新匯入服務提供者提供的完整節點,再對照匯出的有效設定;通常比手動修改產生的檔案更可靠,因為用戶端可能在下次啟動核心時覆寫這些檔案。

在 v2rayN 與 Android 用戶端逐項確認

在桌面端使用 v2rayN 時,先確認此節點實際由支援 REALITY 與 Vision 的 Xray 核心執行。Android 端的 v2rayNG 使用 Xray 核心,但仍應確認安裝的版本能否辨識訂閱中的參數。v2flyNG 使用 v2fly 核心,不能只因為同樣能辨識 VLESS,就推斷它也能執行 Xray 專屬設定。

  1. 檢查匯入結果。在 v2rayN 主畫面選取節點,按右鍵開啟「編輯」,確認位址、連接埠、UUID、流控與傳輸安全設定。介面標籤可能隨版本變動,請以匯出的欄位和值為準。
  2. 確認外層安全設定。REALITY 節點應對應 security=reality,Vision 節點的流控應對應 xtls-rprx-vision。不要把「TLS」核取選項當成所有安全模式的通用替代方案。
  3. 檢查代理接管方式。在 v2rayN 系統匣選單中開啟「系統代理」→「自動設定系統代理」,再使用遵循系統代理設定的瀏覽器測試。v2rayNG 則須確認已授權並啟動系統 VPN 連線。
  4. 確認本機連接埠。例如本機代理設定為 127.0.0.1:10808 時,應用程式的連接埠與代理類型必須符合實際的入站設定。10808 僅為範例,請以目前的參數設定為準。
  5. 保留必要的最低限度記錄。先測試一次網頁連線,記下時間與錯誤訊息,再一次調整一個欄位。分享記錄前,請遮蔽 UUID、訂閱網址與驗證參數。

如何測出「更快」

比較協定時必須控制變因。使用不同地區、不同業者的兩個節點測速,結果首先反映的是線路差異,而非 Vision 的處理負擔。最好使用同一台伺服器、相同頻寬限制與相近路由,只切換要比較的傳輸方案;若無法滿足條件,就將結果稱為「節點使用體驗比較」,不要歸因於協定。

  1. 固定裝置、網路、測試目標與時段,關閉背景下載;每種方案測試 3 次並記錄中位數。
  2. 使用同一個 100 MiB 測試檔案,分別記錄首位元組等待時間與穩定下載速度,不要只看瞬間峰值。
  3. 同時觀察伺服器 CPU 使用率與出口頻寬。若出口頻寬已滿而 CPU 使用率偏低,降低加密負擔通常無法進一步提高傳輸量。
  4. 分開進行測試,避免連續下載觸發目標網站限速;接著再測試常用網頁,確認大型檔案的結果沒有掩蓋互動延遲。

例如,下載 100 MiB 檔案花費 10 秒,平均速度約為 10 MiB/s,換算約為 83.9 Mbps。這只是單位換算範例,並非本文實測結果。用戶端顯示 MB/s、測速網站顯示 Mbps 時,請先統一單位再比較差距;代理封裝、連線建立與計時範圍也會影響數值。

結論:先找出瓶頸,再決定是否更換協定

如果同一線路多次測試仍受出口頻寬或封包遺失限制,應先處理線路與限速;如果傳輸量增加時 CPU 使用率也同步飆高,再比較 Vision 的資源使用量與穩定速度。不要只為了節點名稱中的「Vision」,放棄明顯更穩定的線路。

REALITY 與 Vision 常見問題

選用 REALITY,還需要設定 Vision 嗎?

兩者不是同一個開關。先查看伺服器或訂閱提供的流控要求;若伺服器使用 Vision,用戶端就應設定 xtls-rprx-vision。不要將未要求流控的節點強行改為 Vision,也不要只憑安全類型推斷流控值。

交握失敗時,應先修改 SNI 還是指紋?

先還原原始節點參數,依序確認位址與連接埠、系統時間、公開金鑰資訊、shortId、serverName,再檢查雙方核心的相容性。SNI 必須符合伺服器允許的項目,任意改成常見網站網域通常無法修復驗證錯誤。

網頁能開啟,但下載速度沒有變快?

這不一定代表設定錯誤。先針對同一個目標測試 3 次,並記錄伺服器 CPU、頻寬與封包遺失情況。Vision 減少的是特定資料路徑的處理負擔,不會增加電信業者提供的頻寬,也無法解除伺服器端的帳戶限速。

VLESS 連結匯入成功,為什麼還是無法連線?

匯入成功只代表連結可以解析。重新開啟節點編輯頁面,確認流控、SNI、shortId 與公開金鑰資訊沒有遺失,並確認實際執行的是 Xray。若介面沒有提供對應欄位,請先更新至相容的用戶端,不要透過關閉安全設定來繞過錯誤。

選擇支援對應核心的用戶端

桌面端可查看 v2rayN;Android 則應了解 v2rayNG 與 v2flyNG 的核心差異。使用 REALITY 與 Vision 前,先確認 Xray 支援情況及節點參數。