REALITY 主要處理代理連線的握手與身分驗證,XTLS Vision 則負責辨識隧道內的資料並最佳化傳輸。兩者可以搭配使用,但功能並不相同。本文從 VLESS、TLS 與傳輸層的關係談起,說明免自簽憑證的適用範圍、減少重複加密的條件,以及在 v2rayN、v2rayNG 中需要核對的欄位,適合已匯入訂閱、準備排查連線或比較設定的讀者。
協定層次:VLESS、REALITY 與 Vision
先說結論:常見的「VLESS + TCP + REALITY + Vision」是多個層次的組合,不是四個可以互換的協定名稱。VLESS 提供代理請求格式與使用者驗證資訊;TCP 負責承載連線;REALITY 建立具備驗證機制的安全連線;Vision 則是 Xray 中搭配特定傳輸組合使用的流控模式。
VLESS 本身不負責加密負載。因此,看到用戶端中的 VLESS 加密欄位為 none,不能直接推斷網路上傳輸的是明文。還要確認外層是否啟用 REALITY 或 TLS,以及應用程式本身是否使用 HTTPS。VMess 的協定機制不同,也不能直接把 VLESS 的欄位搬到 VMess 設定中。
| 名稱或欄位 | 負責工作 | 檢查重點 |
|---|---|---|
| VLESS | 表示代理目標與使用者身分。 | 使用者 ID 與伺服器設定一致。 |
| TCP | 提供可靠且有序的位元組串流。 | 位址、連接埠與傳輸方式一致。 |
| REALITY | 處理安全握手與對端驗證。 | 伺服器公鑰、serverName、shortId。 |
| xtls-rprx-vision | 辨識內層流量,並最佳化符合條件的資料轉送。 | 兩端的流控與傳輸組合相容。 |
REALITY 握手與免自簽憑證
「免自簽憑證」是指代理伺服器通常不必像傳統 TLS 部署那樣,為自己的代理網域申請並續期憑證,也不必要求使用者手動信任自簽憑證。這不代表省略身分驗證,更不代表可以關閉憑證相關檢查。REALITY 採用自身的驗證設計,用戶端必須持有正確的伺服器公鑰等參數。
伺服器會設定一個真實的 TLS 網站作為握手目標。REALITY 借助與目標網站相關的握手行為,讓對外呈現盡可能接近正常的 TLS 服務;帶有正確驗證資訊的用戶端則會進入代理處理流程。未通過驗證的連線可依實作與設定轉送至目標網站,而非取得代理權限。「借用真實網站握手」只是概括說法,並非複製該網站的私鑰。
這裡有兩個容易混淆的位址:用戶端連線的是代理伺服器位址;serverName 則是握手使用的名稱,必須符合伺服器允許的設定。任意改成一個熟悉的網站網域,並不會讓連線自動成功。真實目標網站也不能取代代理伺服器:通過驗證的代理流量通常仍由代理伺服器連往目標服務,而不是由該網站負責轉送一般流量。
Vision 流控與重複加密
開啟 HTTPS 網站時,瀏覽器已與網站建立一層 TLS 連線。如果這段加密流量又進入另一條 TLS 類型的代理隧道,就會形成「加密資料再由外層加密」的結構。額外的記錄封裝、緩衝與加解密處理可能耗用 CPU,也可能產生可觀察到的巢狀流量特徵。
Vision 會辨識隧道內的 TLS 握手與資料階段,並在初期採用填充等處理;對符合條件的內層 TLS 1.3 流量,則可切換至直接複製等最佳化路徑,減少外層的重複處理。這並不是把所有連線都改成明文,也不會解開瀏覽器與網站之間的 HTTPS。應用程式與網站之間的端對端 TLS 仍然存在。
- 符合條件的 HTTPS 流量:可能採用減少重複加密的路徑,實際效果仍受核心版本、平台與連線型態影響。
- 一般明文服務:不能套用「原本已有 HTTPS 保護」的前提,仍須由外層安全機制保護。
- UDP 與其他流量:不能直接套用 TCP 內層 TLS 的最佳化結論;UDP 的承載與轉送能力須另外確認。
- WebSocket 等組合:不能只在現有節點新增 Vision 欄位就期待生效,應確認該核心支援完整的組合。
因此,「Vision 減少重複加密」比「Vision 不加密」更準確。並非每條連線、每個位元組都會走相同的最佳化路徑。填入正確的流控名稱,只是啟用相關機制的必要條件,並不保證頻寬提升。
重要數值與用戶端欄位
以下數值用於理解協定與檢查設定,並非測速結果。443 是常見的部署連接埠,但不是 REALITY 的強制連接埠;若伺服器實際監聽其他連接埠,用戶端也必須配合修改。shortId 則須以十六進位填寫,長度必須符合核心要求,並與伺服器允許的值相符。
在使用傳統欄位的 Xray REALITY 設定中,shortId 最長為 8 位元組,也就是 16 個十六進位字元,字元數應為偶數。是否允許留空取決於伺服器設定,不能因為介面允許空白就刪除訂閱提供的值。用戶端介面中的公鑰欄位可能顯示為 Public key,或因核心更新而使用其他名稱;請參照訂閱格式與目前的核心文件確認。
VLESS + REALITY + Vision
- 傳輸方式
- TCP,部分介面稱為 RAW
- 安全層
- REALITY
- Flow
- xtls-rprx-vision
- 驗證參數
- 使用者 ID、公鑰、shortId
- 握手名稱
- 須符合伺服器允許的值
這是常見組合的說明,並非可直接連線的節點設定。
VLESS + TLS + Vision
- 傳輸方式
- TCP,部分介面稱為 RAW
- 安全層
- TLS
- Flow
- xtls-rprx-vision
- 憑證
- 需要有效憑證與信任鏈
- 握手名稱
- 須與憑證網域相符
Vision 不必依賴 REALITY 才能使用;傳統 TLS 組合也需要兩端都支援。
在 v2rayN 中,應先確認目前節點使用的 Xray 核心支援該組合,再編輯對應的 VLESS 伺服器參數;v2rayNG 使用 Xray 核心,同樣需要完整的節點欄位。v2flyNG 使用 V2Fly 核心,不能因為介面也能匯入 VLESS,就推斷它支援 Xray 的 REALITY 與 Vision。用戶端版本、核心能力與訂閱解析能力是三項需要分別檢查的項目。
速度、延遲與穩定性的限制
REALITY 的主要用途不是縮短地理距離,Vision 也不會替伺服器增加頻寬。如果瓶頸來自尖峰時段壅塞、跨區域線路或伺服器出口限制,減少部分加密負擔未必能帶來明顯變化。當 CPU 已接近滿載,且流量以符合條件的 HTTPS 長連線為主時,Vision 的資源效益才較容易顯現。
- 固定比較條件:使用同一台裝置、同一個網路、同一個測試檔案,並選擇相近時段;只有伺服器確實提供兩組可比較的設定時,才進行協定比較。
- 區分測試指標:連線延遲、網頁首位元組時間與持續下載吞吐量並不相同。請記錄測試方式,不要把用戶端單次顯示的延遲視為整體效能。
- 記錄本機資源:觀察測試期間的 CPU 使用率與用戶端記錄,避免把裝置過熱降頻或背景下載造成的變化歸因於協定。
- 重複測試:每種設定至少重複測試 3 次,並記錄失敗與逾時情況;只挑最快的一次容易得出錯誤結論。
選擇依據:先確認瓶頸,再比較流控
如果記錄顯示連線已建立,而且 CPU 尚有餘裕,應先檢查線路封包遺失、伺服器負載與出口頻寬,而不是反覆修改 Vision 欄位。只有在可比較的條件下觀察到穩定差異,才有理由將變化歸因於設定組合。
穩定性也取決於伺服器能否連線至握手目標、目標網站的 TLS 行為、系統時間,以及兩端實作的相容性。REALITY 可以改變連線的呈現方式,但無法保證在任何網路環境下都持續可用。選擇目標網站屬於伺服器維運工作,訂閱使用者不宜只修改本機 serverName 來嘗試「修復線路」。
連線排查與常見問題
排查時應從最容易確認的欄位開始:位址與連接埠、使用者 ID、傳輸方式、安全層、流控、公鑰、shortId、握手名稱,最後再檢查路由與 DNS。每次只修改一項再重新測試,並保留原始訂閱設定作為對照。分享記錄前,請先刪除訂閱連結、使用者 ID 與伺服器敏感資訊。
成功匯入,為什麼仍然連線逾時?
成功匯入只代表用戶端能解析文字。請先確認伺服器位址與實際監聽的連接埠,例如節點設定為 443,就不要自行改成 8443;接著查看核心記錄。連線逾時通常應先檢查網路連通性、防火牆與伺服器監聽狀態,不能只憑逾時就認定是公鑰錯誤。
顯示握手失敗,應該開啟略過驗證嗎?
不要把略過驗證當成通用修復方式。先校正裝置時間,再逐一確認公鑰、shortId 與 serverName;使用訂閱時,更新後重新選取原節點進行測試。REALITY 驗證參數錯誤時,必須取得正確參數;關閉檢查無法恢復正確的身分驗證。
節點可以連線,為什麼部分應用程式無法開啟?
先確認應用程式的流量是否真的經過用戶端。桌面應用程式可能不遵循系統代理設定,請檢查應用程式本身的代理設定,或依照教學設定 Tun 模式。接著確認路由規則是否將目標設為直連,以及 DNS 是否能正常解析;不要先修改 REALITY 公鑰。
啟用 Vision 後沒有變快,需要換節點嗎?
先使用相同的 HTTPS 檔案重複下載 3 次,並觀察 CPU 使用率與錯誤記錄。如果吞吐量差異不大且連線穩定,可以繼續使用。若持續受出口頻寬限制,修改流控也無濟於事;應在相同時段比較其他可用線路,而不是疊加更多傳輸選項。
現有的 VMess 節點可以直接改成 REALITY 嗎?
不能只在用戶端切換協定名稱。伺服器必須提供對應的 VLESS、REALITY 與流控設定,以及配套的驗證參數。請先取得新的完整節點或訂閱,再匯入 v2rayN 或 v2rayNG;保留舊節點,方便檢查與還原。
設定選擇與操作順序
已有可用訂閱時,優先保留伺服器提供的組合。判斷節點是否合適,不應只看名稱是否包含 REALITY 或 Vision,還要確認用戶端能否完整支援、連線是否穩定、常用應用程式是否正常,以及實際線路是否符合需求。
- 先確認核心:選擇 REALITY 與 Vision 時,應以 Xray 的支援情況為準,不能把 Project V/V2Fly/Xray 系列名稱視為完全相容的保證。
- 再匯入完整參數:使用可信的訂閱,避免混用不同節點的公鑰、使用者 ID 與握手名稱。
- 最後確認使用路徑:先測試單一 HTTPS 網站,再檢查系統代理、Tun、DNS 與路由分流。
需要了解規則的套用順序時,可參閱進階設定;訂閱匯入與基本連線步驟請見入門指南的訂閱說明。先建立可重複驗證的基準,再逐項調整,通常比一次變更多個協定欄位更容易找出問題。