· 選型比較 · 約 9 分鐘

Xray 核心與 V2Fly 核心差異:分支沿革、協定支援與用戶端選擇

整理 Project V 生態中 V2Fly 與 Xray 的分支由來,比較 VLESS、REALITY 等協定支援差異,並說明 v2rayNG 和 v2flyNG 各適合哪些使用情境。

本文重點

選擇核心時,先看節點參數,再看用戶端。VLESS 不等於 REALITY,也不是 Xray 專屬的協定名稱;設定中包含 REALITY 或 xtls-rprx-vision 時,應選擇支援這些功能的 Xray。若現有 VMess 設定運作穩定,不必只因名稱不同就遷移。下文將依序說明專案關係、協定組合、Android 用戶端,以及遷移前的檢查方式。

分支沿革:Xray 與 V2Fly 並非同一核心的兩種開關

Project V 是相關工具與協定所屬的專案生態,V2Ray 則是其中常見的核心軟體名稱。V2Fly 社群持續維護 v2ray-core;Xray-core 則於 2020 年自 V2Ray 的程式碼分支發展。兩者有部分歷史與設定概念相通,但後續功能演進、發布節奏和設定欄位並不完全相同。

因此,「V2Ray 用戶端」無法直接說明實際執行的是哪一款核心。用戶端負責訂閱管理、節點選擇與介面操作;核心則負責建立連線、處理入站與出站流量,以及執行路由。用戶端能顯示某個節點名稱,不代表目前核心一定能接受它產生的設定。

協定支援:先釐清 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 用戶端都能連線。

用戶端選擇: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 入口,並非所有用戶端或版本的預設值;實際設定請以目前設定與啟動記錄為準。

10808
SOCKS 監聽連接埠範例,位址為 127.0.0.1
10809
HTTP 監聽連接埠範例,須與應用程式的代理設定一致
  1. 備份原有設定。記下訂閱來源、所選節點、DNS、路由與本機連接埠。訂閱網址可能包含存取憑證,備份時請勿公開分享。
  2. 停止舊連線。結束其他用戶端的代理連線;在 Android 上,先停止原有 VPN 連線,再啟動目標用戶端,以免把連線接管問題誤判為協定問題。
  3. 重新匯入訂閱。確認提供者輸出的格式適用於目標用戶端。不要直接把某款核心的完整 JSON 當成另一款核心通用的設定。
  4. 確認實際監聽連接埠。如果應用程式指向 127.0.0.1:10809,記錄卻只顯示另一個 HTTP 連接埠,應修正應用程式的代理設定,不要反覆更換節點。
  5. 分別確認路由。先確認目標連線能否建立,再檢查應直連與應走代理的請求是否通往預期出口,最後還原自訂規則。

訂閱更新成功,只代表內容已取得並由用戶端完成解析,不保證每個欄位都完整保留。若遷移後節點詳細資料缺少服務名稱、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 的共同歷史不能取代相容性檢查;用戶端介面相似,也不代表匯入後的設定完全一致。

v2rayN 下載