Xray 與 V2Fly 核心差異:v2rayNG、v2flyNG 怎麼選?

比較 V2Fly 與 Xray 核心的沿革、VLESS 與 REALITY 支援及設定相容性,幫你選擇適合 Android 的 v2rayNG 或 v2flyNG。

本文重點

Android 端先依節點需求選擇核心,再比較用戶端設定。訂閱包含 VLESS、REALITY 或指定 XTLS Vision 時,優先使用搭載 Xray 的 v2rayNG;已有 VMess 設定且由 V2Fly 環境產生時,可繼續使用 v2flyNG。本文將從協定欄位、訂閱匯入與分流遷移三方面說明檢查方式,別把「匯入成功」當成「連線成功」。

核心與用戶端:先釐清兩者的分工

Project V 是相關代理技術與工具的生態背景,V2Ray 是其中的重要專案。V2Fly 社群持續維護 v2ray-core;Xray-core 則以這項技術為基礎,於 2020 年分支成為獨立核心專案。兩者有共同的設定傳統,但後續功能、欄位解讀與發布節奏各自演進,不能把它們當成只改了名稱的同一套程式。

核心負責連線協定、傳輸、安全交握、DNS 與路由執行;用戶端負責訂閱管理、節點編輯、啟動服務及呼叫系統網路介面。Android 版 v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。用戶端介面出現某個選項,不代表所有版本的核心都支援該選項;反過來說,核心支援某項功能,介面也未必已提供相應的輸入欄位。

排查時,請分別記錄應用程式版本與核心版本。先查看應用程式的「關於」頁面,再檢查服務啟動記錄中的版本資訊;若頁面只顯示應用程式版本,別據此推斷核心版本。桌面版 v2rayN 也分為用戶端與核心兩個層次;跨裝置比較時,應確認目前節點實際使用的核心,而不是只比對應用程式名稱。

協定相容性:逐項確認 VLESS、REALITY 與傳輸方式

協定名稱只是第一層。一個節點還包含傳輸方式、安全層與附加參數,例如 VMess 搭配 WebSocket 與 TLS,或 VLESS 搭配 REALITY 和指定的 flow。用戶端必須同時理解這些層次,才能正確建立連線。下表可供選擇時參考,不能取代對特定版本功能的確認。

設定需求 Xray / v2rayNG V2Fly / v2flyNG 檢查重點
VMess + WebSocket + TLS 常見支援組合 常見支援組合 UUID、路徑、Host、SNI 與安全設定
VLESS 基本連線 常見支援組合 不能只憑協定名稱判定無法使用,須確認核心與介面實作 確認傳輸、安全層與可用欄位是否相符
VLESS + REALITY 優先選用,並確認核心版本 不能視為可直接替換的同等方案 serverName、公鑰參數、shortId 與指紋設定
XTLS Vision 依伺服器要求填寫 flow 複製 flow 欄位無法取得相同支援 是否明確要求 xtls-rprx-vision
自訂 JSON 設定 依 Xray 設定規範檢查 依 V2Fly 設定規範檢查 設定格式、欄位層級、出站標籤與資源檔案

VLESS 與 REALITY 並非同義詞:VLESS 是代理協定,REALITY 是連線使用的安全機制;Vision 則涉及特定的資料流處理。將安全方式改成 TLS、刪除 flow,或清空 REALITY 參數,並不是「轉成相容模式」,而是改變交握條件。如果伺服器沒有提供相應的連線入口,修改後仍然無法連線。

結論:依完整參數組合選擇核心

節點要求 REALITY 或 xtls-rprx-vision 時,優先選用 v2rayNG,並確認目前核心支援這種組合;若只有 VMess 等共通功能,再比較訂閱解析與本機設定,不必只為了更換名稱而遷移。

Android 端選擇:主力與備用方案的適用情境

一般新設定建議先從 v2rayNG 開始,因為它採用 Xray 核心,對應常見的 VLESS、REALITY 設定方式,遇到這類訂閱時可減少參數轉換。這項建議是基於相容性需求,不代表所有網路環境下速度都更快。延遲與傳輸量也會受到伺服器負載、電信業者路由、傳輸方式及裝置效能影響,不能只憑核心名稱判定優劣。

v2rayNG:Xray 核心

推薦

適用於包含 VLESS、REALITY 或要求 Vision 的訂閱。匯入後仍須確認傳輸方式、安全設定與 flow,不能只靠節點名稱判斷協定。

適合:Android 日常主力、明確要求 Xray 功能的節點

v2flyNG:V2Fly 核心

適用於沿用 V2Fly 設定流程、目前連線穩定且協定參數受支援的環境。若要保留現有設定,須先確認維護來源與伺服器需求。

適合:沿用 V2Fly 設定、確認共通協定的相容性

如果目前 v2flyNG 的 VMess 節點運作正常,也沒有新協定需求,可以先繼續使用。若訂閱之後新增 REALITY 節點,只要針對新設定使用 v2rayNG 測試即可,不必先刪除舊應用程式與既有分流設定。兩個應用程式可以分別儲存設定,但 Android 通常只允許一個應用程式占用目前的 VPN 連線;測試時請先停止另一個應用程式的連線。

訂閱遷移:清單有顯示,不代表設定完整

訂閱連結是取得設定的入口,不代表不同核心之間一定相容。回傳內容可能包含單一節點分享連結、編碼後的連結集合,或特定格式的設定。解析器可能讀得到名稱與伺服器位址,卻遺漏較新的安全參數;因此,「節點清單有內容」和「核心成功完成交握」必須分開確認。

  1. 保留原有設定:記下目前的協定、傳輸方式、安全設定、DNS 與應用程式分流規則。訂閱網址可能包含存取權杖,備份時請勿放入公開截圖或記錄檔。
  2. 新增訂閱群組:在 v2rayNG 的「訂閱群組設定」中新增項目,填入原本的訂閱網址並儲存,再回到主畫面執行「更新訂閱」。不同版本的選單位置可能不同,請以同名功能為準。
  3. 開啟節點編輯頁面:逐項核對位址、連接埠、UUID、傳輸類型與安全設定。WebSocket 須檢查路徑與 Host;TLS 須檢查 SNI;REALITY 還須檢查公鑰相關參數與 shortId。
  4. 檢查 flow:伺服器明確要求 Vision 時,請確認用戶端保留了 xtls-rprx-vision。不要為了消除提示而任意清空這個欄位。
  5. 啟動並查看記錄:先確認設定能載入,再檢查交握是否完成,最後測試實際網頁與需要代理的應用程式。每次只修改一個欄位,避免同時更動 DNS、路由與協定。

連接埠與驗證:依具體欄位找出錯誤

本機代理連接埠、伺服器監聽連接埠與協定驗證參數屬於不同層次。以下用兩個連接埠範例與一項 VMess 參數來區分:連接埠僅供示範,並非所有安裝環境的預設值;實際設定應以用戶端設定及伺服器提供的資訊為準。

443
伺服器 TLS 入口範例連接埠
10808
本機 SOCKS 監聽範例連接埠
0
VMess AEAD 常用 alterId 值

假設本機 SOCKS 入口是 127.0.0.1:10808,它只供本機應用程式連線,不能填入遠端節點的「伺服器連接埠」。同樣地,伺服器使用 443 也不代表一定採用 TLS:連接埠號只是監聽位置,實際安全方式仍由設定決定。使用 Android VPN 模式時,應用程式流量通常不需要逐一填寫這個 SOCKS 位址。

VMess AEAD 設定通常使用 alterId=0。舊教學中的非零值不能直接沿用,應依伺服器提供的現代設定重新匯入。這個值只適用於 VMess,不能加到 VLESS 上當成「相容參數」。

分流與跨裝置:設定可重用的範圍

兩種核心都能依網域、IP 等條件執行路由,但同名規則不保證整份檔案可原樣遷移。規則引用的出站標籤必須存在,網域與 IP 資料資源必須能讀取,DNS 解析策略也會影響最後的比對結果。遷移時先用最精簡的設定確認節點可連線,再逐步還原分流規則,比一次匯入所有規則更容易找出問題。

遷移方式:先確認節點設定,再還原本機規則

桌面端:v2rayN
  • 記錄目前節點使用的協定、傳輸方式與核心。
  • 確認系統代理或 TUN 實際接管的範圍。
  • 分別儲存自訂 DNS 與路由設定。
Android 端:v2rayNG 或 v2flyNG
  • 匯入相同訂閱後,再次確認安全與傳輸欄位。
  • 前往「設定」→「應用程式分流」,檢查適用的應用程式。
  • 先測試最精簡的規則,再還原網域與 IP 分流。

相同訂閱可以提供相同的節點資訊,但不會自動同步系統代理、VPN 權限、應用程式分流清單與所有本機路由設定。

應用程式分流尤其需要重新確認:「僅代理選取的應用程式」與「略過選取的應用程式」效果正好相反。如果新用戶端已連線,但瀏覽器沒有依預期的路徑連線,先確認清單模式及瀏覽器是否已選取,再檢查網域規則。測試時請停止舊用戶端的 VPN 服務,避免把系統目前的連線狀態誤認為新核心的表現。

結論:沒有新協定需求,不必只因名稱更換核心

現有 V2Fly 設定穩定時,保留原本方案;需要 REALITY 或 Vision 時,再改用 v2rayNG。遷移是否完成,應以參數完整、交握成功、目標應用程式與路由符合預期為準,而不是只看訂閱清單是否成功顯示。

下載用戶端