2026-09-08 · 核心選型 · 約 9 分鐘

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

整理 Project V、V2Fly 與 Xray 的分支關係,比較兩種核心的協定支援與設定差異,並提供 Android 客戶端選擇建議。

本文重點

Android 客戶端選核心,先看節點參數,再看設定來源。需要 VLESS、REALITY 與 Vision 組合時,優先確認 v2rayNG 內建的 Xray 是否支援;若已有依照 V2Fly 文件維護的設定,可選擇 v2flyNG。本文分別說明客戶端、核心與訂閱,並提供欄位檢查、設定範例及切換驗證步驟,避免把「匯入成功」誤認為「連線相容」。

Project V、V2Fly 與 Xray 的關係

Project V 是以網路代理工具為核心的專案體系,V2Ray 是其中的核心軟體。V2Fly 延續 V2Ray 的社群開發;Xray 則從 V2Ray 分支發展,後續形成自己的協定擴充與實作路線。兩者有共同的設定沿革,但並非只換名稱的同一套程式,也不能只因設定檔都叫 config.json 就互相替換。

客戶端負責介面、訂閱管理與系統網路接管等工作;核心負責解析設定、建立連線與執行路由。v2rayNG 在 Android 上整合 Xray,v2flyNG 則整合 V2Fly。桌面版 v2rayN 的核心選擇,需依實際版本、節點類型與核心設定判斷,不能直接把桌面版可選核心的使用經驗套用到這兩款 Android 客戶端。

層級具體項目主要職責
專案與實作V2Fly、Xray維護協定實作、設定解析與連線處理邏輯。
Android 客戶端v2rayNG、v2flyNG管理節點與訂閱、申請 Android VPN 權限,並啟動內建核心。
桌面客戶端v2rayN管理桌面代理入口、節點與核心執行設定。
連線設定VMess、VLESS、傳輸與 TLS 參數描述客戶端如何與伺服器協商,必須依實際核心能力產生。

兩條開發路線的版本號也不能直接比較。應分別記錄應用程式版本與核心版本:應用程式更新可能只更新介面,未切換核心系列;節點連線錯誤則可能與內建核心支援的欄位有關。排查時保留兩項版本資訊,比只說「已安裝最新版」更有幫助。

協定支援:依完整連線組合判斷

VMess、VLESS 是代理協定;WebSocket、gRPC 等屬於傳輸層選項;TLS、REALITY 則涉及連線安全設定。選型時需要一併確認這些層級。只看到一個 vless:// 連結,還不足以判定所有支援 VLESS 的實作都能連上同一台伺服器。

Xray 核心/v2rayNG

建議選用

節點明確要求 VLESS、REALITY、Vision 時,優先選擇這條路線,並確認客戶端內建的 Xray 符合伺服器需求。建議的依據是協定組合相符,不代表在所有網路環境下都會更快。

適用情況:節點說明指定 Xray,或使用 VLESS + REALITY + Vision。

V2Fly 核心/v2flyNG

適合繼續使用依照 V2Fly 文件撰寫且已驗證可用的設定。常見的 VMess 與 WebSocket/TLS 設定,仍須逐項比對傳輸方式、路徑與憑證參數,不可省略檢查。

適用情況:現有設定以 V2Fly 為基礎,且不依賴 Xray 專屬功能。

節點資訊檢查重點選型判斷
VMess + WebSocket + TLS使用者 ID、伺服器連接埠、路徑、Host 與 TLS 伺服器名稱。兩條路線都有相應實作;請以具體版本與設定驗證為準。
VLESS + REALITY + Visionflow、security、伺服器名稱、金鑰相關參數與短 ID。優先選用 v2rayNG/Xray,不要視為可直接遷移至 V2Fly 的通用設定。
完整自訂 JSON設定格式、協定欄位、傳輸欄位與資源檔案路徑。依產生設定時的目標核心選擇,不要只看副檔名。

結論:先確認伺服器相容,再比較使用體驗

先記下「協定+傳輸+安全層+flow」四項資訊。只要有一項超出目標核心的支援範圍,就應先處理相容性問題;不要用延遲測試取代欄位檢查。

config.json:相似結構與遷移限制

常見設定包含 inbounds、outbounds 與 routing。入站接收本機應用程式流量,出站決定如何連線至目標,路由則決定使用哪個出站。以下是採用兩者常見傳統 JSON 結構的本機 SOCKS 直連範例,僅供理解欄位之用,不含遠端代理節點,也不會建立加密代理連線。

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "tag": "local-socks",
      "listen": "127.0.0.1",
      "port": 10808,
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true
      }
    }
  ],
  "outbounds": [
    {
      "tag": "direct",
      "protocol": "freedom",
      "settings": {}
    },
    {
      "tag": "block",
      "protocol": "blackhole",
      "settings": {}
    }
  ],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["127.0.0.0/8"],
        "outboundTag": "direct"
      }
    ]
  }
}

此處的 listen 用來限制本機監聽範圍,tag 是設定內部的參照名稱,outboundTag 則必須對應出站標籤。範例將直連出站設為第一項,因此未符合規則的流量也會直連。遷移時若只複製路由、沒有複製參照的出站,可能導致設定載入失敗,而不會自動補上缺少的節點。

匯入訂閱與 Android VPN 接管

訂閱是散布節點資訊的方式,不是核心協定。相同的訂閱網址可以加入兩款客戶端,但不代表兩邊都能識別所有節點欄位;部分轉換流程也可能遺失傳輸參數。若匯入後節點數量相同卻無法連線,請開啟節點編輯資訊,對照原始連線參數檢查,不要反覆更新訂閱。

遷移方式:分別驗證訂閱與網路規則

保留現有客戶端
  • 記錄應用程式與核心版本。
  • 備份節點參數與訂閱網址。
  • 記下分應用程式清單、DNS 與路由模式。
  • 保留一組已驗證可用的設定。
驗證目標客戶端
  • 先匯入一個節點,逐項確認欄位。
  • 先停止原有客戶端,再啟動 VPN 服務。
  • 先確認連線正常,再恢復分應用程式與分流規則。
  • 更新訂閱後,重新檢查重要參數。

相同訂閱只能處理節點散布;分應用程式清單、DNS 與路由不會因此自動保持一致。

Android VPN 接管與代理核心是兩個不同層級。客戶端透過系統 VPN 介面接收流量,再交由內部處理流程處理;這不代表遠端節點使用某種傳統 VPN 協定。同一使用者或設定檔通常只能有一個啟用中的 VPN 服務。切換 v2rayNG 與 v2flyNG 時,請先停止前者,再授權並啟動後者,避免系統撤銷原服務後,被誤認為連線隨機中斷。

  1. 首次啟動時確認系統 VPN 授權,接著留意客戶端是否顯示啟動錯誤。
  2. 若要排除特定應用程式,請查看客戶端的分應用程式代理設定,確認清單使用的是包含或略過邏輯。
  3. 若離開介面後連線就中斷,請檢查 Android 的背景執行限制與電池最佳化設定,不要先修改伺服器協定。
  4. 測試期間暫停其他使用 VPN 介面的工具,降低網路接管衝突。

連線失敗:依序檢查連接埠、交握與 DNS

選擇核心不能取代網路排查。連線逾時可能是伺服器連接埠無法連線;TLS 錯誤可能與伺服器名稱或裝置時間有關;網頁無法開啟也可能只是 DNS 路徑不符合預期。以下三個數字是檢查參考值,不代表客戶端預設值,也不是效能測試結果。

10808
本文範例的本機 SOCKS 監聽連接埠
443
常見 TLS 服務連接埠,實際設定依節點而定
1
每次只變更一個項目,方便找出原因
現象優先檢查項目下一步
啟動後立即失敗未知欄位、設定格式、連接埠遭占用。查看第一則明確錯誤訊息,確認核心版本與欄位來源。
連線至遠端逾時位址、連接埠、目前網路與伺服器監聽狀態。保持節點設定不變,分別測試不同網路,避免同時修改 DNS 與協定。
TLS 或驗證失敗裝置時間、伺服器名稱、使用者 ID、安全層與金鑰參數。逐項比對伺服器設定,不要以關閉憑證驗證作為修復方式。
部分網域無法連線DNS 解析路徑、IPv6 可連線性、路由規則順序。固定測試網域,檢查解析結果與套用的出站。
只有特定應用程式無法連線分應用程式清單、UDP 需求與應用程式本身的網路行為。先確認該應用程式是否納入代理接管範圍。

比較效能時也要控制測試條件:使用相同網路、伺服器、時段與測試目標,分別記錄連線成功率、延遲與持續傳輸表現。單次延遲測試無法證明哪種核心更省電或吞吐量更高;行動網路切換、裝置溫度與背景工作都可能影響結果。對外分享診斷記錄前,請移除訂閱網址、使用者識別資訊與金鑰等連線資料。

v2rayNG 與 v2flyNG 的選擇

如果伺服器明確提供 Xray 專用連線組合,選擇 v2rayNG 較直接。若長期使用 V2Fly 設定,且沒有新增協定需求,選擇 v2flyNG 可減少遷移變數。兩者都應以實際連線狀況與欄位相容性為判斷依據,不必只為了核心名稱更換已驗證可用的設定。

操作順序:一個節點、一套規則、切換一次

先在目標客戶端驗證一個節點,再加入訂閱與分流規則。保留原有設定,直到目標方案完成實際連線測試;若發生問題,才能快速還原並找出差異。

下載客戶端