REALITY 負責代理連線的握手與身分驗證,XTLS Vision 則處理符合條件的資料轉送,兩者功能不同。本文適合已匯入訂閱、想了解 VLESS 節點參數的使用者:先釐清協定與傳輸層的差異,再了解真實網站參與握手的範圍,最後依照用戶端欄位檢查設定。實際速度取決於網路路徑與負載,不能只看節點名稱。
先釐清 VLESS、REALITY 與 Vision 各自的用途
看到「VLESS + TCP + REALITY + Vision」,可以將它拆成四個層次。VLESS 是代理協定,負責傳遞使用者識別資訊與請求目標等資料,本身不提供傳輸加密;TCP 是承載連線的傳輸方式;REALITY 提供安全握手與驗證機制;Vision 是 XTLS 的流控模式之一,用來控制代理資料的封裝與轉送方式。
因此,REALITY 不是可單獨匯入的完整節點,Vision 也不是換個伺服器位址就能啟用的加速開關。用戶端與伺服器必須支援相同的組合。Xray 與 V2Ray 使用的核心不同,不能只因名稱相近,就認定設定欄位可以直接互換。
這個流程是邏輯示意,不代表每個階段都需要額外等待一次網路往返。路由選擇出站,是指用戶端判斷請求應直接連線,或交由某個代理節點處理;只有實際經過該節點的流量,才會使用它的 REALITY 與 Vision 設定。直接連線網站的速度,不能用來判斷這個節點的協定表現。
REALITY 所謂的「借用握手」究竟借了什麼?
先說結論:它不是借用真實網站的私鑰,也不是讓目標網站替代理伺服器解密。這裡的「借用」是對握手外觀與轉送機制的白話說明。理解時要區分兩種連線:帶有有效驗證資訊的用戶端連線,以及一般連線或未通過驗證的連線。
- 用戶端發起握手。用戶端連線至代理伺服器的位址與連接埠,並依照設定送出 TLS ClientHello。SNI 是握手中宣告的伺服器名稱;用戶端指紋則會影響握手封包的組成方式。
- REALITY 伺服器辨識驗證資訊。合法用戶端會使用設定的公鑰等參數參與驗證與金鑰協商,伺服器則使用對應的私鑰處理握手。Short ID 是另一項比對參數,並非可取代使用者識別資訊的密碼。
- 合法連線進入代理處理流程。驗證成功後,雙方會建立受保護的連線,再處理 VLESS 請求。瀏覽器最後造訪的網站,可以與握手中宣告的名稱不同。
- 未通過驗證的連線可能會轉送至目標網站。伺服器會依照設定,將這類流量轉送到真實的 TLS 網站,呈現正常網站的回應。實際行為仍會受到實作方式、目標網站與網路狀況影響。
伺服器通常不必持有這個借用名稱的公開憑證及其私鑰,但仍須正確設定自己的 REALITY 金鑰組。用戶端取得的是公鑰,伺服器私鑰不應寫入訂閱。真實目標網站的握手行為若有變化,也可能影響連線,因此不能把這套機制視為永久不變的固定外觀。
連接埠號碼只代表監聽位置,不能用來證明所用協定。節點標示 443,不代表一定使用 REALITY;真實網站支援 TLS 1.3,也不表示它適合用於所有伺服器部署情境。一般訂閱使用者應保留服務提供者給定的參數,不要自行更換目標網站測試。
XTLS Vision 如何減少重複加密
瀏覽器造訪 HTTPS 網站時,瀏覽器與網站之間原本就有一層 TLS 加密。如果再將這段已加密的資料完整包進代理的外層 TLS,資料就會多經過一層封裝與處理。這種「TLS 套 TLS」可以正常運作,但會增加一些運算、複製與記錄處理成本。
Vision 的重點是辨識內層 TLS 流量,並在符合條件時切換至更直接的轉送路徑,減少對已加密應用程式資料再次進行外層加密處理。它也會填充早期資料,以改善特定長度特徵。這不代表關閉瀏覽器 HTTPS,也不會將網頁內容以明文傳送。
| 比較項目 | 一般外層 TLS 封裝 | Vision 的處理目標 |
|---|---|---|
| 內層 HTTPS | 維持瀏覽器與最終網站之間的 TLS 工作階段 | 同樣保留瀏覽器與網站之間的 TLS 工作階段 |
| 已加密的應用程式資料 | 通常會繼續進入外層 TLS 封裝 | 符合辨識條件後,減少重複處理 |
| 早期資料 | 依所使用的代理與 TLS 實作處理 | 使用流控與填充策略處理 |
| 未符合切換條件 | 依既定封裝路徑轉送 | 不能假設已進入最佳化路徑 |
不能簡化成「所有資料都少加密一次」。能否進入最佳化路徑,取決於內層協定與實作判斷;非 TLS 資料不會憑空變成受內層 TLS 保護的資料。直接轉送能否進一步利用作業系統的低複製能力,也取決於平台、核心與連線條件,不是填入 Flow 就一定能達成零複製。
判斷方式:先確認最佳化對象,再觀察速度差異
以持續進行的 HTTPS 下載觀察傳輸量,更接近 Vision 想最佳化的負載。只測節點延遲或開啟一個很小的網頁,主要反映握手與網路等待時間,無法據此判斷是否減少了重複加密。
在用戶端檢查哪些參數
桌面版可先在 v2rayN 節點清單中選取節點,按右鍵選擇「編輯」,查看協定、傳輸方式、安全類型與 Flow。不同版本的編輯視窗可能會調整欄位分組;請以欄位名稱為準,不要只看節點備註。Android 版可在 v2rayNG 節點卡片上點選編輯圖示,檢查對應項目。訂閱節點建議先重新更新以取得參數;手動修改前,先複製一份留作比對。
VLESS + REALITY + Vision
- 協定
- VLESS
- 傳輸方式
- TCP,部分介面標示為 RAW
- 安全類型
- reality
- Flow
xtls-rprx-vision- 驗證參數
- 公鑰、Short ID、使用者識別資訊
這是常見組合的欄位對照,並非可直接使用的節點。每個欄位的值都必須與伺服器設定相符。
VLESS + TLS + Vision
- 協定
- VLESS
- 傳輸方式
- TCP,部分介面標示為 RAW
- 安全類型
- tls
- Flow
xtls-rprx-vision- 憑證驗證
- 依伺服器名稱驗證憑證
Vision 也能搭配一般 TLS 使用;它不是 REALITY 的別稱,不應混用兩類安全參數。
- 位址與連接埠:決定要連線至哪一台伺服器。使用網域名稱時,還須經過 DNS 解析;SNI 不能取代伺服器位址。
- 伺服器名稱:欄位通常標示為 SNI 或 Server Name,應填入伺服器允許的值。不要因為某個網域能用瀏覽器開啟,就認為它適用於目前的節點。
- 公鑰與 Short ID:請逐項保留訂閱內容,避免複製時漏掉字元。Short ID 與 UUID 是不同欄位,兩者不可互換,否則無法正常通過驗證。
- 指紋:例如
chrome是握手指紋選項,不代表必須使用該瀏覽器。它會影響代理用戶端送出的握手,不是瀏覽器擴充功能的設定。 - Flow:只有伺服器採用相對應的流控時才填入
xtls-rprx-vision。不要為 VMess 節點加入這個值,也不要把 WS 路徑當成 Flow。
也要確認使用的核心。v2rayNG 使用 Xray 核心,可支援相應組合;v2flyNG 使用 v2fly 核心,不能將它視為 REALITY 與 Vision 節點的等效執行環境。v2rayN 若支援切換不同核心,請確認目前節點實際使用的是支援這些參數的 Xray 核心,而不只是確認用戶端已啟動。
為什麼換用 REALITY 與 Vision,速度仍可能沒有提升?
它們無法增加服務商提供的頻寬,也無法解決跨網路壅塞。長距離連線的往返時間、尖峰時段的封包遺失、伺服器負載、節點限速與裝置處理能力,都可能比重複加密的額外負擔更顯著。如果瓶頸在出口頻寬,減少加密處理也無法讓下載速度超過出口上限。
- 先固定測試條件。使用同一台裝置、同一個網路連線與同一個下載資源,並關閉其他下載工作。不同地區或不同電信業者的兩個節點,不適合直接拿來證明某種流控比較快。
- 確認流量確實經過代理。在 v2rayN 主畫面的「系統代理」中選擇「自動設定系統代理」,再檢查路由模式。系統代理只會影響遵循該設定的應用程式,不會自動接管所有程式。
- 分開觀察延遲與傳輸量。記錄連線是否穩定建立、持續下載速度是否波動,以及日誌是否反覆顯示重新連線。延遲較低表示等待時間可能較短,不代表下載頻寬一定較大。
- 一次只調整一個項目。需要比對時,請使用伺服器明確支援的兩份設定。不能只在用戶端刪除 Flow,再把驗證失敗當成效能下降。
處理方式:先排除網路問題,再調整協定參數
如果多個節點都在相同時段變慢,請先更換網路連線或時段再測試;如果只有單一節點握手失敗,先檢查訂閱與驗證欄位。不要接連修改 SNI、指紋與 Flow,否則很難找出是哪個項目造成影響。
握手錯誤與常見迷思
日誌中的錯誤只是排查線索,不代表原因只有一種。出現 EOF、逾時或連線重設時,必須配合發生階段判斷:先確認是否連上伺服器,再確認握手是否成功,最後檢查代理請求是否完成。分享日誌前,請遮蔽訂閱網址、使用者識別資訊及其他驗證資料。
訂閱匯入成功,為什麼仍顯示握手失敗?
匯入成功只代表用戶端讀取了訂閱格式。請先開啟節點編輯視窗,核對服務提供者給定的位址、連接埠、公鑰、Short ID、SNI 與 Flow;再確認裝置時間正確。如果只有這個節點失敗,更新訂閱後再試,不要先關閉其他安全驗證來規避錯誤。
日誌顯示不認得 reality 或 flow,應該修改哪個值?
先確認實際啟動的核心及其支援能力,再前往下載頁選擇合適的用戶端。未知欄位通常表示設定與核心不相容,不應任意將 reality 改成 tls;兩者使用的驗證方式不同,改名稱不會讓伺服器自動配合。
已啟用 Vision,為什麼延遲數字幾乎沒變?
這是可能發生的正常情況。節點延遲主要反映網路往返時間與測試方式,Vision 的最佳化重點不是縮短實際距離。請在相同網路路徑下測試持續 HTTPS 傳輸,並觀察裝置負載與穩定性;若沒有改善,不必只為了節點名稱更換目前可用的設定。
可以把握手名稱改成目前正在造訪的網站嗎?
不建議這麼做。握手名稱必須符合伺服器設定,且不必與這次瀏覽器造訪的最終網域相同。請先還原訂閱中的原始值;如果服務提供者調整了名稱,應更新訂閱,而不是逐一嘗試網站網域。
使用 REALITY 後,就不必檢查 DNS 和路由了嗎?
仍然需要檢查。若伺服器位址是網域名稱,連線前可能就需要 DNS;應用程式請求是否進入代理,則由系統代理、應用程式設定與路由規則共同決定。請先確認一般網站與目標網站各自使用哪個出站,再處理解析失敗或規則誤判;握手機制無法取代這些設定。