先確認 VLESS Reality 的完整資料
在 v2rayNG 中設定 VLESS Reality,不能只填寫伺服器位址與 UUID。Reality 是 Xray 核心使用的一種安全層,通常還需要伺服器連接埠、使用者識別碼、Flow、SNI、指紋、公鑰及短識別碼等資料。這些欄位必須與伺服器端設定完全對應,少填、填錯或自行猜測其中一項,都可能造成握手失敗、連線逾時或顯示已連線但沒有流量。
本教學以 Android 上的 v2rayNG 手動建立設定為例,介面名稱可能因版本或翻譯略有差異,但核心欄位的意義相同。若服務商提供的是 vless:// 分享連結或訂閱網址,優先使用匯入功能;只有在沒有可用分享連結,或需要核對單一欄位時,才建議手動填寫。
本文逐一說明 v2rayNG 建立 VLESS Reality 設定時的選單路徑、每個欄位的填法與資料來源,並整理常見的 VLESS Reality 參數組合,適合已取得節點資料但不知道如何在 Android 用戶端完成設定的使用者。
VLESS、Reality 與 Vision 各自負責什麼
VLESS 是協議,負責以使用者識別碼驗證連線及傳遞代理請求;Reality 是安全層,負責在 TLS 類型的握手流程中使用伺服器端指定的金鑰與識別資料;xtls-rprx-vision 則是 Xray 針對特定連線方式提供的 Flow 值。三者不是同一個欄位,也不能互相替代。
在一組常見的 VLESS Reality 節點中,協議會選擇 VLESS,加密通常填寫 none,網路選擇 TCP,安全性選擇 Reality。如果伺服器要求 Vision,Flow 才填入 xtls-rprx-vision。並非所有 VLESS Reality 節點都使用相同的 Flow;服務商沒有提供時,不要因為網路文章的範例而自行加入。
使用 Xray 核心,TCP 傳輸搭配 Reality,並依伺服器要求設定 Vision Flow。
適合:已取得完整公鑰、SNI 與短識別碼的節點
保留 Reality 安全層,但 Flow 可能留空,必須依伺服器端設定判斷。
適合:服務商沒有要求 Vision 的節點
使用一般 TLS,而不是 Reality;網域、憑證名稱與傳輸方式的填法也會不同。
適合:服務商明確提供 TLS 節點資料
因此,不能把一般 VLESS + TLS 節點改填成 Reality,也不能只將安全性改為 Reality 就期待連線成功。Reality 所需的公鑰、短識別碼及 SNI 是伺服器端產生或指定的配套資料,與 UUID 沒有替代關係。
結論:欄位完整比參數複雜更重要
只要協議、核心、傳輸、安全層及驗證資料彼此一致,VLESS Reality 不需要額外堆疊多個未知選項;遇到無法連線時,優先回到服務商提供的原始參數逐項核對。
先向服務商索取這些資料
手動設定前,建議將服務商提供的節點資料整理成清單。若只有一張截圖而沒有完整文字,容易漏掉短識別碼或把公鑰、UUID 混淆。以下資料通常需要由 VPN 服務商或伺服器管理員提供,使用者無法僅靠手機自行推算。
| v2rayNG 欄位 | 常見內容 | 資料來源與注意事項 |
|---|---|---|
| 位址 | 網域或 IP | 填入伺服器入口,不一定等於 SNI 網域。 |
| 連接埠 | 443 或其他數字 |
必須是伺服器正在監聽的連接埠,不能只因常見而固定填 443。 |
| 使用者識別碼 | UUID | 通常是一組由服務商產生的 UUID,字元與連字號都要完整保留。 |
| 加密 | none |
這是 VLESS 協議層的設定,不表示 Reality 安全層被關閉。 |
| Flow | xtls-rprx-vision 或留空 |
只有伺服器要求時才填入,大小寫與連字符不可改動。 |
| SNI | 網域名稱 | 填入服務商指定的伺服器名稱,不能隨意換成位址欄位內容。 |
| 公鑰 | Reality public key | 由伺服器端產生,用於 Reality 握手,並非使用者私鑰。 |
| 短識別碼 | 十六進位字串 | 常見為數個十六進位字元,必須使用服務商指定的值。 |
另外還要確認指紋、SpiderX、網路類型及 Flow 是否有指定。指紋常見為 chrome,但它只是用戶端握手呈現方式,不是 Reality 公鑰。SpiderX 有時可以留空,有時服務端會指定路徑;若分享連結中帶有相關參數,匯入後不要任意刪除。當服務商只說「VLESS Reality 節點」卻沒有提供公鑰、短識別碼及 SNI 時,應先要求完整設定,不要用網路上其他節點的資料拼接。
在 v2rayNG 手動建立設定
完成資料整理後,開啟 v2rayNG 主畫面。不同版本的按鈕位置可能略有變化,但通常可透過右下角新增按鈕進入節點類型選擇,再選擇「手動設定」或「VLESS」。以下步驟以單一節點為目標,完成後先測試,不要同時修改路由、DNS 或分應用程式代理。
新增 VLESS
開啟 v2rayNG,點選主畫面的新增按鈕,選擇「手動設定」或「VLESS」,進入節點編輯頁面。
填寫基本資料
在「位址」填伺服器入口,在「連接埠」填服務商指定的數字,在「使用者識別碼」貼上完整 UUID;加密選
none。設定傳輸
將「網路」選為 TCP。若服務商明確要求 Flow,在 Flow 欄位填入
xtls-rprx-vision;沒有要求時保持空白。開啟 Reality
在「安全性」選擇 Reality,填入 SNI、指紋、公鑰與短識別碼。指紋可填服務商指定的值,不能把公鑰貼到短識別碼欄位。
儲存並測試
點選儲存,回到節點清單選取剛建立的設定,再啟動 v2rayNG。先使用延遲測試或開啟一個簡單網頁確認結果。
在基本資料頁面中,「名稱」只是手機上的顯示名稱,可以填寫容易辨識的文字,例如服務商名稱與地區;它不會參與伺服器驗證。「位址」則是實際連線目標,必須使用服務商提供的網域或 IP。若位址使用 IP,而 SNI 使用網域,這種組合在某些部署中可以成立,但必須由伺服器端明確支援,不能自行將兩者任意拆開。
基本連線資料
- 協議
- VLESS
- 位址
- 服務商入口
- 連接埠
- 443 或指定值
- UUID
- 完整使用者識別碼
- 加密
- none
這組資料決定連到哪台伺服器,以及由哪個使用者身分驗證。
Reality 安全資料
- 安全性
- Reality
- SNI
- 指定網域
- 指紋
- chrome 或指定值
- 公鑰
- Reality public key
- 短識別碼
- 服務商提供的十六進位值
這組資料決定 Reality 握手是否能與伺服器端配對。
有 vless 分享連結時優先匯入
如果服務商提供完整的 vless:// 分享連結,可以在 v2rayNG 使用剪貼簿匯入,或透過「從剪貼簿匯入」功能建立節點。匯入後點開節點編輯頁面,逐項檢查協議是否為 VLESS、網路是否為 TCP、安全性是否為 Reality,以及公鑰、短識別碼和 SNI 是否存在。匯入成功只代表文字格式被解析,不代表伺服器資料一定仍然有效。
分享連結中的部分符號可能經過 URL 編碼,例如路徑、備註或特殊字元。不要用文字編輯器任意重新排列參數,也不要將整條連結貼到「位址」欄位。若匯入後某些欄位空白,先確認連結是否完整,再向服務商索取新的分享連結。自行補入其他節點的公鑰,通常只會讓排錯更困難。
連線後的核對與錯誤排查
儲存設定並啟動後,先查看 v2rayNG 的狀態與核心日誌。若日誌顯示 DNS 解析失敗,先確認位址拼寫與目前網路是否能解析該網域;若顯示 TLS、Reality 或 handshake 相關錯誤,則優先檢查 SNI、公鑰、短識別碼、指紋及系統時間。Android 裝置的日期與時間應開啟自動同步,時間偏差可能造成安全握手異常。
報錯:connection refused
原因與解法:伺服器拒絕目前連接埠的連線,檢查位址與連接埠是否成對,並確認服務端程序正在監聽指定端口。
報錯:i/o timeout
原因與解法:連線沒有在期限內取得回應,先測試其他網路,再核對伺服器位址、連接埠及節點是否已停用。
報錯:reality handshake failed
原因與解法:Reality 握手資料不匹配,重新複製 SNI、公鑰、短識別碼與指紋,避免混用不同節點的參數。
報錯:failed to find an available destination
原因與解法:出站目標或路由設定無法完成,先使用最基本的代理模式測試,再檢查自訂路由與 DNS 規則。
如果狀態顯示已連線,但瀏覽器無法載入內容,先確認 v2rayNG 是否已啟動本機 VPN,並檢查 Android 是否出現 VPN 連線提示。接著暫時關閉分應用程式代理限制,避免測試用的瀏覽器沒有被納入代理範圍。若只有特定網站無法開啟,才進一步檢查 DNS、路由規則或該網站本身的連線限制。
- 只有一個節點失效:優先核對該節點的 UUID、連接埠、公鑰與短識別碼。
- 所有節點同時失效:檢查 Android 網路、系統時間、核心狀態與訂閱是否過期。
- 能連線但速度不穩:先固定同一節點測試,再比較網路品質與伺服器負載。
- 更新訂閱後設定消失:確認更新的是目前使用的訂閱分組,而不是另一個分組。
- 手動節點與訂閱節點名稱相近:刪除或重新命名重複項目,避免測試時選錯設定。
排錯時每次只修改一個欄位,並保留原始設定內容。不要同時改變核心、網路類型、Flow、DNS 和路由,否則即使問題消失,也無法知道真正有效的是哪項修改。若服務商可以提供標準 vless:// 連結,建議重新匯入一份乾淨設定,再與手動設定逐欄比較。