VLESS 負責代理請求,Vision 優化符合條件的 TLS 流量轉送,REALITY 則負責代理連線的安全與驗證。三者搭配的優勢,主要來自減少不必要的封裝與重複加密處理,而非增加線路頻寬。本文適合已取得 VLESS 訂閱、準備在 v2rayN 或 v2rayNG 核對參數的使用者;看完即可分辨各層的職責,並透過欄位、記錄與對照測試找出問題。
一、VLESS、Vision 與 REALITY 各自負責什麼
先說結論:常見的「VLESS + REALITY + Vision」並非三種並列的代理協議,而是一套分層組合。VLESS 定義用戶端如何提交目標位址與驗證資訊;XTLS Vision 是 Xray 的流控方案;REALITY 則位於連線安全層。設定時若填錯欄位,即使名稱都填對,也無法建立預期的連線。
| 層級 | 常見欄位與值 | 主要職責 |
|---|---|---|
| 代理協議 | protocol: vless | 傳遞使用者身分、目標位址與代理請求。 |
| 流控 | flow: xtls-rprx-vision | 辨識並優化符合條件的 TLS 資料轉送。 |
| 傳輸 | TCP;部分新版介面稱為 RAW | 承載用戶端與伺服器之間的位元組串流。 |
| 連線安全 | security: reality | 建立受保護的連線並驗證伺服器。 |
VLESS 本身不提供完整的傳輸加密。在常見介面中將 VLESS 的 encryption 設為 none,不代表整條連線以明文傳送,因為外層仍由 REALITY 提供保護。也不要將 VLESS 的這個欄位直接對應到 VMess 的加密選項,兩種協議的設計並不相同。
本文探討 Xray 的 VLESS、Vision 與 REALITY 組合。「V2Ray」是專案或生態系的名稱,不代表任何核心都支援這些欄位;判斷相容性時應確認實際執行的核心,而不是看用戶端名稱是否包含 v2ray。
二、XTLS Vision 為何能降低處理負擔
瀏覽 HTTPS 網站時,瀏覽器已與目標網站建立一層 TLS。若代理通道再對同一段資料持續進行外層加密,就會形成常說的「TLS 套 TLS」。這種方式雖可正常運作,但會增加加密處理、記錄封裝與資料複製等成本。在低功耗裝置、高吞吐量連線或 CPU 接近瓶頸時,這些負擔會更加明顯。
Vision 會辨識代理連線中的 TLS 握手與資料階段,並對握手階段進行填充等處理;符合條件時,則避免對已受目標 TLS 保護的資料持續重複進行外層加密。瀏覽器與目標網站之間的端對端 TLS 並未解密或取消,代理也因此無法取得 HTTPS 內容。
- 適用範圍有限:這項優化只針對可辨識且符合條件的 TLS 流量,不能把所有 TCP 資料都視為相同的優化對象。
- 非 TLS 資料仍受保護:一般明文應用程式流量不會因為啟用 Vision 就直接以明文傳送。
- 轉送路徑會影響成效:作業系統、核心實作與連線狀態都會影響複製及轉送效率,因此無法保證每種環境都有相同的改善幅度。
- 頻寬上限不變:伺服器限速、跨網路壅塞與封包遺失依然存在,流控無法突破這些物理限制。
因此,「Vision 一定比任何方案都快」並不是可靠的結論。如果瓶頸在伺服器出口的頻寬有限,降低本機 CPU 負擔未必能提高下載速度;如果瓶頸恰好是裝置的加密處理能力,則較可能觀察到吞吐量提升或 CPU 使用率下降。
三、REALITY 的握手與憑證有何不同
REALITY 著重於連線驗證與外觀設計,並非省略所有握手步驟。用戶端持有伺服器提供的公開金鑰資料,並搭配 serverName、shortId 等參數驗證連線。伺服器可透過設定的目標網站處理不符合驗證條件的連線,讓其呈現類似一般 TLS 服務的行為;這不代表已通過驗證的使用者流量都會經過該目標網站。
與自行部署一般 TLS 憑證相比,這種組合通常不需要代理伺服器為入口設定一般的網域憑證簽發與續期流程。不過,金鑰、允許使用的 serverName、目標網站條件及用戶端參數仍須正確設定。不能任意將 serverName 換成熱門網站,也不能直接把網址列中的伺服器 IP 當成 serverName。
判斷方式:不要只憑連接埠或名稱推測設定
取得訂閱後,請逐項核對位址、連接埠、serverName、公開金鑰資料與 shortId;只有服務提供者明確提供的值才能用於連線。443 是常見連接埠,但不是 REALITY 的強制要求。
更精確地說,「簡化握手」是指常見的 TCP 組合不再額外加入 WebSocket 的 HTTP Upgrade 等應用層程序,部署端也減少了一般憑證管理流程。TCP 建立連線、安全協商與連往目標網站仍需要時間,因此不能據此宣稱「零握手」或固定縮短多少毫秒。
四、如何選擇用戶端與核心
桌面平台可使用 v2rayN,Android 可使用 v2rayNG。兩者都是用來設定及執行核心的用戶端介面,真正負責解讀 REALITY 與 Vision 參數的是核心。更新介面程式後,也應確認目前執行的核心是否同步更新,以及該節點實際使用哪個核心。
Xray 核心
建議本文組合以 Xray 實作為參照。桌面端請在 v2rayN 確認該 VLESS 節點使用 Xray;Android 端使用 v2rayNG,並確認其內建核心支援匯入的參數。
適用情境:設定 VLESS + REALITY + Vision,並參照 Xray 核心記錄排除問題。
V2Fly 核心
v2flyNG 是為 V2Fly 核心設定而設計。不能因為名稱相近,就直接套用包含 REALITY 與 Vision 的 Xray 設定;請使用明確相容於該核心的節點參數。
適用情境:已有明確適用於 V2Fly 的 VMess 等設定,不適合作為本文組合的替代入口。
訂閱格式也有相容限制。能匯入連結,不代表所有擴充欄位都會保留。匯入後請開啟節點編輯視窗,確認安全類型、流控、SNI、指紋與 shortId,不要只看清單中是否出現節點名稱。也不要為了「提高相容性」將安全類型從 REALITY 改成一般 TLS,這會改變連線方式。
五、在 v2rayN 中逐項核對設定
以下操作路徑以 Windows 傳統介面的 v2rayN 6.x 為例,並非最低版本要求。跨平台版與後續版本的欄位分組可能不同,請依欄位用途對照操作。建議優先使用服務提供者提供的完整訂閱或分享連結,避免手動輸入冗長參數。
-
匯入節點
複製完整分享連結,在主畫面選擇「伺服器」→「從剪貼簿匯入批次 URL」。若要手動新增,請前往「伺服器」→「新增 [VLESS] 伺服器」,並選擇 VLESS 協議。
-
確認核心
前往「設定」→「參數設定」→「Core 類型」,確認 VLESS 使用 Xray。若目前版本將核心選擇放在節點或群組設定中,也請確認實際生效的項目;啟動後再從記錄確認執行中的核心。
-
核對傳輸設定
按兩下節點開啟編輯視窗,依服務提供者提供的參數填入位址、連接埠與使用者 ID。本文組合的傳輸方式為 TCP,部分新版會顯示 RAW;VLESS encryption 通常設為
none。 -
核對安全設定
將流控設為
xtls-rprx-vision,傳輸層安全性設為reality。逐項核對 SNI、Fingerprint、PublicKey 與 ShortId;新舊版本介面對公開金鑰資料的欄位名稱可能不同,請勿自行產生替代值。 -
啟動並驗證
儲存並選取節點,將主畫面的「系統代理」設為「自動設定系統代理」,再瀏覽一般 HTTPS 網頁。先確認核心是否成功啟動,再檢查連線記錄;若使用 TUN,則須另外確認流量接管與路由設定。
Fingerprint 是 TLS 用戶端指紋設定,不是伺服器公開金鑰,也不是可自由填寫的瀏覽器版本號。在介面提供的支援選項中,選擇符合節點要求的值。不要把「指紋名稱與本機瀏覽器一致」當成驗證條件;真正的驗證還須依賴相應的金鑰資料與其他參數。
請勿公開完整訂閱、使用者 ID 或伺服器私鑰。排除問題時,只需保留欄位名稱、已遮蔽敏感資訊的錯誤類型與核心版本;用戶端需要的是伺服器提供的公開金鑰資料,而非伺服器私鑰。
六、如何判斷速度改善來自哪裡
先區分延遲、吞吐量與裝置負載。TCP 延遲測試主要反映能否連上伺服器連接埠,無法證明 REALITY 驗證成功;能開啟網頁,也不能單獨證明 Vision 已進入預期的資料處理路徑。速度評估必須以相同線路與相近負載為基礎。
- 固定測試條件:使用同一台裝置、同一個網路、同一個下載目標及相同的代理接管方式。對照節點最好位於同一台伺服器,否則難以排除線路差異。
- 重複測量:每種設定測試 3 次,每次持續 30 秒,記錄中位數;另記錄連線失敗次數,避免只保留最快的一次結果。
- 分開記錄:吞吐量以 MB/s 計,延遲以 ms 計,同時觀察 CPU 使用率。Mbps 與 MB/s 不可混用,兩者相差 8 倍。
- 控制變因:測試期間暫停訂閱更新、大型檔案同步與其他下載。如果同時切換路由、DNS 與核心,就無法判斷結果是否來自 Vision。
如果速度差不多但 CPU 使用率較低,優化仍可能有效;如果首次開啟網頁較快,也可能只是 DNS 快取或連線重複使用造成。本文不提供脫離實際環境的改善百分比。能重複驗證的測試記錄,比單次測速截圖更適合用來判斷是否保留某組設定。
七、REALITY 與 Vision 常見連線問題
連接埠延遲正常,為什麼網頁還是打不開?
能連上連接埠只代表 TCP 連線建立成功。請按兩下節點,先核對 REALITY 的 serverName、公開金鑰資料與 shortId,再查看核心記錄中的驗證或握手錯誤;同時確認系統日期、時間與時區正確。
記錄顯示 flow 不支援,應該改成空值嗎?
先確認節點實際執行的是 Xray,再檢查核心版本與伺服器端要求。若伺服器要求 xtls-rprx-vision,任意清空流控並非通用解法;應更新至相容的核心,或重新匯入正確設定。
複製連結後只有 VLESS,REALITY 參數去哪裡了?
開啟節點編輯視窗,檢查安全類型與相關欄位。若參數遺失,請重新複製完整連結,避免聊天工具截斷查詢參數;仍然缺少時,請更新用戶端,並向服務提供者確認分享格式是否相容於目前版本。
啟用 Vision 後速度沒變,是設定錯了嗎?
不一定。請依前述方式測量 3 次吞吐量並觀察 CPU 使用率。若主要瓶頸在出口頻寬或封包遺失,協議優化不會帶來明顯提速;若發生中斷,再檢查伺服器端的流控設定是否一致,以及核心記錄。
瀏覽器可以正常上網,為什麼其他軟體沒有走代理?
先確認該軟體是否使用系統代理。v2rayN 的「自動設定系統代理」不代表所有應用程式都會被接管;若需要接管更多流量,再評估 TUN 並檢查路由規則。更改 REALITY 參數不會改變應用程式連線至代理的方式。
排查順序應維持一致:核心能否啟動、伺服器連接埠能否連線、REALITY 能否驗證、VLESS 與流控是否相符,以及應用程式流量是否進入代理。先找出故障層級,再修改對應參數,通常比同時切換協議、DNS 與路由更有效。