選擇核心時,先看節點參數,再看用戶端。VLESS 不等於 REALITY,也不是 Xray 專屬的協定名稱;設定中包含 REALITY 或 xtls-rprx-vision 時,應選擇支援這些功能的 Xray。若現有 VMess 設定運作穩定,不必只因名稱不同就遷移。下文將依序說明專案關係、協定組合、Android 用戶端,以及遷移前的檢查方式。
分支沿革:Xray 與 V2Fly 並非同一核心的兩種開關
Project V 是相關工具與協定所屬的專案生態,V2Ray 則是其中常見的核心軟體名稱。V2Fly 社群持續維護 v2ray-core;Xray-core 則於 2020 年自 V2Ray 的程式碼分支發展。兩者有部分歷史與設定概念相通,但後續功能演進、發布節奏和設定欄位並不完全相同。
因此,「V2Ray 用戶端」無法直接說明實際執行的是哪一款核心。用戶端負責訂閱管理、節點選擇與介面操作;核心則負責建立連線、處理入站與出站流量,以及執行路由。用戶端能顯示某個節點名稱,不代表目前核心一定能接受它產生的設定。
- 專案層:V2Fly 與 Xray 是不同的維護分支,兩者的版本號不能直接按數字大小比較。
- 核心層:請核對啟動記錄中的核心名稱與版本,不要只看視窗標題或安裝目錄名稱。
- 用戶端層:v2rayN 是桌面用戶端;本文討論的 Android 選項是 v2rayNG 與 v2flyNG。
- 節點層:判斷相容性時,除了協定名稱,也要一併確認傳輸方式、安全層與其他欄位。
協定支援:先釐清 VLESS、REALITY 與 Vision
判斷節點相容性,至少要看四個層面:代理協定、底層傳輸方式、傳輸安全設定,以及協定的附加行為。VMess、VLESS 是代理協定;WebSocket 是傳輸方式;TLS、REALITY 與傳輸安全設定相關;xtls-rprx-vision 則是在特定組合中使用的 flow 值,不能視為獨立的節點協定。
| 設定項目 | Xray | V2Fly | 選擇時檢查 |
|---|---|---|---|
| VMess + WebSocket + TLS | 常見支援組合 | 常見支援組合 | 位址、連接埠、路徑、Host、TLS 服務名稱 |
| VLESS | 支援,但必須符合完整設定 | 有 VLESS 實作,但不能據此推定支援 Xray 擴充功能 | 傳輸方式、安全層、flow 與版本需求 |
| REALITY | 請使用支援的版本與組合 | 不可視為相容於 Xray REALITY 設定 | 服務名稱、公鑰相關參數、shortId |
| xtls-rprx-vision | 請依照 Xray 對應的組合與版本使用 | 不能直接沿用該 flow | 伺服器端 flow 與用戶端傳輸組合 |
例如,某個 VLESS 節點同時包含 security=reality 和 flow=xtls-rprx-vision,就應選擇支援這種組合的 Xray 核心。反過來說,只有 vless:// 前綴,並不能證明節點必須使用 REALITY,也不代表任何 VLESS 用戶端都能連線。
- 不要把 REALITY 改成一般 TLS,試圖「修正相容性」。若伺服器設定沒有同步變更,這並不是等效替換。
- 不要以為刪除 flow 就代表已經相容。即使設定能啟動,仍可能在握手階段失敗。
- VMess 也需要確認時間同步、使用者識別碼與傳輸參數;協定受支援,不代表設定一定正確。
用戶端選擇:Android 依節點需求挑選,桌面端先確認核心
在 Android 上,v2rayNG 與 v2flyNG 的主要差異在於採用的核心路線。節點需要 Xray 功能時,優先選擇 v2rayNG;若目前使用 V2Fly 設定,且不依賴 Xray 專屬欄位,也可以繼續使用 v2flyNG。這項建議是依據設定相容性,不是對所有網路環境的效能排名。
v2rayNG · Xray 核心
建議選擇Android 節點含有 REALITY、Vision 等 Xray 功能時,建議優先選擇能匯入相應欄位的 v2rayNG 版本。匯入後仍應檢查節點詳細資料與啟動記錄。
適用情境:Android 使用 Xray 設定,或訂閱中包含 REALITY 節點。
v2flyNG · V2Fly 核心
適用於已確認可正常使用的 V2Fly 設定。VMess 等雙方都支援的協定組合,應依實際傳輸欄位判斷;不必只因分支不同就更換用戶端。
適用情境:Android 延續使用 V2Fly 設定,並保留既有路由與使用習慣。
桌面端使用 v2rayN 時,先確認目前安裝套件、設定類型與用戶端版本提供哪些核心選項。不要假設所有版本的切換按鈕都在相同位置,或功能完全一致。套用設定後,請重新啟動所選設定,再從記錄確認實際載入的核心;下載目錄裡有某個核心檔案,不代表目前連線正使用它。
兩種設定環境的選擇方式
節點依賴 Xray 功能
- 桌面端:在 v2rayN 使用支援的 Xray 設定。
- Android:使用 v2rayNG 匯入相同來源的相容訂閱。
- 確認 REALITY 參數與 flow,保留提供者給定的原始值。
現有 V2Fly 設定可正常使用
- Android:在 v2flyNG 保留已確認可用的節點。
- 桌面端:依 v2rayN 目前版本的支援情況處理設定。
- 遷移前,分別備份訂閱、路由與 DNS 設定。
共用訂閱只代表設定來源相同;兩端的欄位解析、路由與 DNS 設定仍須分別確認。
切換檢查:一併確認本機連接埠、訂閱轉換與路由
更換核心後無法開啟網頁,不一定是協定不相容。舊用戶端可能仍占用本機監聽連接埠,瀏覽器也可能還指向舊連接埠。下方兩個數字僅用來示範一組 SOCKS 與 HTTP 入口,並非所有用戶端或版本的預設值;實際設定請以目前設定與啟動記錄為準。
- 備份原有設定。記下訂閱來源、所選節點、DNS、路由與本機連接埠。訂閱網址可能包含存取憑證,備份時請勿公開分享。
- 停止舊連線。結束其他用戶端的代理連線;在 Android 上,先停止原有 VPN 連線,再啟動目標用戶端,以免把連線接管問題誤判為協定問題。
- 重新匯入訂閱。確認提供者輸出的格式適用於目標用戶端。不要直接把某款核心的完整 JSON 當成另一款核心通用的設定。
- 確認實際監聽連接埠。如果應用程式指向
127.0.0.1:10809,記錄卻只顯示另一個 HTTP 連接埠,應修正應用程式的代理設定,不要反覆更換節點。 - 分別確認路由。先確認目標連線能否建立,再檢查應直連與應走代理的請求是否通往預期出口,最後還原自訂規則。
訂閱更新成功,只代表內容已取得並由用戶端完成解析,不保證每個欄位都完整保留。若遷移後節點詳細資料缺少服務名稱、WebSocket 路徑或 REALITY 參數,請向設定提供者索取相容格式,不要自行根據名稱補寫參數。自訂 DNS、網域比對策略與規則集,也不會因為節點清單相同就自動等效。
記錄判讀:分開處理啟動失敗與連線失敗
核心能啟動,只代表設定至少通過目前版本的載入檢查。連線失敗可能發生在網域解析、TCP 建立連線、TLS 或 REALITY 握手等階段。先找出問題階段,比直接認定「換了核心所以速度變慢」更有幫助。
| 記錄線索 | 優先判斷 | 下一步 |
|---|---|---|
unknown field 或設定解析錯誤 |
欄位、格式或核心版本不相容 | 確認匯入格式、實際使用的核心與錯誤欄位,不要先刪除安全參數 |
address already in use |
本機監聽連接埠遭占用 | 停止重複執行的用戶端,或修改監聽連接埠並同步更新應用程式的代理設定 |
timeout |
須依記錄上下文判斷逾時發生在哪個階段 | 確認伺服器位址、連接埠與網路狀況,再檢查握手參數 |
| 握手相關錯誤 | 安全層參數或伺服器設定不相符 | 確認服務名稱、系統時間與對應驗證參數,並向提供者確認設定 |
選擇問答:別只憑核心名稱判斷速度與相容性
訂閱只有 VMess,需要改用 Xray 嗎?
不必只為了名稱而更換。先確認目前的傳輸方式、TLS 與路由是否正常。現有 V2Fly 設定可以正常使用時,就可以保留;若確實需要遷移,請使用同一個節點逐項比較功能,避免同時修改 DNS 與分流規則。
v2flyNG 匯入 VLESS 後無法連線,該怎麼查?
開啟節點詳細資料,確認是否包含 REALITY 或 xtls-rprx-vision。若節點依賴這些 Xray 功能,請改用支援該組合的 v2rayNG,並向提供者重新匯入設定;不要只刪除無法辨識的欄位。
同一個節點,Xray 一定比 V2Fly 快嗎?
不能只憑核心名稱這樣判斷。應固定伺服器、傳輸組合、連線網路與測試目標,分別檢查連線成功率和實際傳輸表現。節點路徑、伺服器負載與 DNS 差異,都可能比核心名稱更影響結果。
更換核心後需要重新啟用 TUN 嗎?
先確認原本的流量接入方式。一般瀏覽器使用系統代理時,可以先維持 TUN 關閉並測試連線;若確實需要接管不使用系統代理的應用程式,再依用戶端要求啟用 TUN,並確認權限與路由。
選擇方式可簡化為三步:先確認節點是否依賴 Xray 功能,再選擇能完整表達設定的用戶端,最後檢查記錄與本機流量入口。V2Fly 和 Xray 的共同歷史不能取代相容性檢查;用戶端介面相似,也不代表匯入後的設定完全一致。