Xray 核心與 V2Fly 核心差異比較:XTLS、REALITY 與協定相容性

整理 Xray 與 V2Fly 兩條核心分支的來源,比較 XTLS、REALITY 等功能支援與設定相容性,說明 v2rayN、v2rayNG、v2flyNG 分別採用的核心。

本文速覽

本文適合需要選擇用戶端、確認訂閱相容性,或遷移伺服器設定的使用者。重點是:一般 VMess、VLESS、WebSocket 與 TLS 設定在兩條核心分支間有很大重疊,但 XTLS Vision、REALITY 及部分擴充欄位屬於 Xray 路線;讀完後可依節點協定、用戶端類型與日誌結果判斷應使用的核心。

兩條核心分支的關係與定位

V2Fly 核心通常指 v2ray-core 的社群延續版本,負責解析入站、出站、路由、DNS、傳輸層與策略設定。Xray-core 則從早期 v2ray-core 程式碼基礎發展為獨立分支,保留許多相近的設定結構,同時持續擴充 VLESS、XTLS、REALITY 等能力。兩者不是同一程式的兩種介面主題,也不能只修改用戶端名稱來切換。

桌面與 Android 用戶端主要負責訂閱管理、節點編輯、系統代理控制與日誌顯示,真正建立連線並執行路由的是核心。同一組伺服器位址、連接埠與使用者識別資料交給不同核心後能否連線,還取決於協定欄位、傳輸方式、安全層與核心版本是否相符。

25.3.6
本文 Xray 設定基準
5.28.0
本文 V2Fly 設定基準
10808
常見本機 SOCKS 連接埠
10809
常見本機 HTTP 連接埠

上述版本號用於說明本文核對設定時採用的世代,不代表下載中心顯示的最新版本。核心更新可能新增欄位、淘汰舊別名或調整驗證規則;遷移設定時應先確認實際執行版本,再檢查日誌中的版本首行。

Xray 核心

推薦

涵蓋常用 VMess、VLESS、Trojan、SOCKS 與 HTTP 出站,並提供 XTLS Vision、REALITY 等 Xray 路線功能。

適合:VLESS Vision、REALITY 節點與日常主要設定

V2Fly 核心

延續 v2ray-core 設定體系,適合一般 VMess、VLESS、WebSocket、gRPC、TLS 與既有路由設定。

適合:標準協定節點、既有 V2Fly 伺服器與設定維護

結論:先辨識節點安全層,再考慮核心偏好

分享連結或訂閱中出現 security=reality、flow=xtls-rprx-vision 時,應使用 Xray 核心;只有 VMess 或標準 VLESS 搭配 TLS、WebSocket、gRPC 時,才屬於兩者可能相容的範圍。

XTLS Vision 與 REALITY 為何構成主要差異

XTLS 是 Xray 路線中的傳輸最佳化體系,目前節點設定較常見的是 VLESS 搭配 xtls-rprx-vision 流控。用戶端與伺服器端必須同時理解對應的 flow 值;若伺服器端要求 Vision,而用戶端核心忽略或不認得該欄位,連線通常會在握手階段失敗,不會自動降級為一般 TLS。

REALITY 是 Xray 的安全與握手方案。一個可用的用戶端設定通常需要伺服器位址、連接埠、使用者識別資料、serverName、公鑰、shortId、fingerprint 等資訊。訂閱缺少公鑰或 shortId 不相符時,即使位址與連接埠能建立 TCP 連線,核心仍會拒絕後續握手。

功能或設定 Xray-core V2Fly 核心 遷移判斷
VMess + WebSocket + TLS 支援 支援 重點核對路徑、Host 與 TLS 名稱
標準 VLESS + TLS 支援 支援 仍需核對傳輸層欄位與伺服器版本
VLESS + XTLS Vision 支援 不要按 Xray Vision 設定處理 保留 Xray 核心
VLESS + REALITY 支援 不相容於這組 Xray 欄位 無法直接改名轉換
網域與 IP 路由規則 支援 支援 檢查規則資源與欄位名稱

一段典型的 Xray REALITY 出站片段

{
  "protocol": "vless",
  "settings": {
    "vnext": [
      {
        "address": "198.51.100.20",
        "port": 443,
        "users": [
          {
            "id": "11111111-2222-3333-4444-555555555555",
            "encryption": "none",
            "flow": "xtls-rprx-vision"
          }
        ]
      }
    ]
  },
  "streamSettings": {
    "network": "tcp",
    "security": "reality",
    "realitySettings": {
      "serverName": "www.example.com",
      "fingerprint": "chrome",
      "publicKey": "範例公鑰僅用於說明欄位位置",
      "shortId": "6ba85179e30d4fc2"
    }
  }
}

這段程式碼僅用於辨認欄位層級,位址、使用者識別資料與公鑰都不是可連線節點。將它交給不支援 REALITY 的核心時,常見結果是設定解析錯誤、未知安全類型或啟動失敗。正確做法是換回相符的 Xray 核心,而不是刪除錯誤欄位後繼續連線。

協定相同不代表設定可以原樣互換

Xray 與 V2Fly 共用許多歷史設定概念,例如 inbounds、outbounds、routing、dns 與 policy。基礎 VMess 出站通常容易遷移,但完整設定仍可能引用分支專屬欄位、規則資源、傳輸參數或實驗功能。核心能讀取 JSON,只能證明語法與欄位驗證通過,不能證明流量已按預期分流。

訂閱情境還多一層用戶端轉換。訂閱內容可能是分享連結清單,也可能是伺服器產生的結構化資料;v2rayN、v2rayNG 與 v2flyNG 會先解析訂閱,再產生核心需要的執行設定。因此,同一份訂閱在兩個用戶端中顯示相同節點名稱,最後產生的 JSON 仍可能不同。

兩類節點的核心配置

包含 Xray 專用欄位
  • 桌面端使用 v2rayN 的 Xray 核心
  • Android 端使用搭載 Xray 核心的 v2rayNG
  • 保留 flow、publicKey、shortId 與 fingerprint
  • 伺服器端與用戶端同時升級後,再啟用新欄位
標準 VMess 或 VLESS
  • 依伺服器端實際核心選擇用戶端
  • 核對 WebSocket 路徑、Host 與連接埠
  • 核對 TLS 的 serverName 與系統時間
  • 遷移後重新測試 DNS 與路由分流

協定名稱只是第一層條件,安全層、傳輸層與流控欄位全部相符後,設定才具備遷移條件。

遷移設定的檢查順序

  1. 確認節點協定是 VMess、VLESS 或其他類型,不要只根據節點備註判斷。
  2. 檢查 security、flow、network、serverName、Host、path 等關鍵欄位。
  3. 確認目標用戶端實際呼叫的核心與版本,記錄啟動日誌首行。
  4. 先建立單一節點連線,再測試網域解析、直連規則與代理規則。
  5. 最後匯入完整訂閱,避免大量節點掩蓋單一設定錯誤。

結論:遷移測試要同時觀察連線與路由

瀏覽器能開啟一個網頁不代表遷移完成。至少應測試一個代理網域、一個直連網域與一次 DNS 查詢,並確認日誌中的出站標籤與預期規則一致。

v2rayN、v2rayNG 與 v2flyNG 分別使用什麼核心

v2rayN 是桌面用戶端,目前通常以 Xray 核心處理 VLESS、Vision 與 REALITY 節點。用戶端負責節點清單、訂閱更新、系統代理與路由設定,核心程序負責實際連線。排查時應區分「用戶端介面版本」與「核心版本」,兩者不是同一個版本號。

v2rayNG 是 Android 用戶端,搭載 Xray 核心,適合與桌面端共用包含 REALITY 或 Vision 節點的訂閱。v2flyNG 則面向 V2Fly 核心設定,更適合明確使用 V2Fly 伺服器、標準 VMess/VLESS 與既有 v2ray-core 設定體系的環境。

訂閱中同時有一般節點和 REALITY 節點,應該選哪個核心?

優先使用 Xray 核心。它可以處理一般 VMess、標準 VLESS 以及 Xray 專用節點,避免切換到 V2Fly 後遺失 REALITY 和 Vision 設定。

同一個 VMess 節點在兩個核心中都能連線,速度會固定不同嗎?

不會。速度還會受到伺服器負載、線路丟包、壅塞控制、TLS、傳輸層與本機網路影響。應在相同時段、相同節點與相同路由規則下重複測試至少三次。

v2flyNG 能直接匯入含 REALITY 的訂閱嗎?

訂閱解析器可能會顯示節點,但 V2Fly 核心無法據此執行 Xray REALITY 設定。應改用 v2rayNG,並重新匯入原始訂閱以保留完整欄位。

更換核心後網頁打不開,先看哪裡?

先確認核心程序已啟動,再核對本機 SOCKS 或 HTTP 連接埠是否仍為 10808、10809。接著檢查系統代理連接埠,以及日誌中的設定解析、DNS、握手錯誤。

只複製伺服器位址和使用者識別資料可以遷移 VLESS 嗎?

不夠。還要複製連接埠、傳輸方式、安全層、serverName、flow、路徑、Host,以及 REALITY 情境中的公鑰、shortId 和 fingerprint。

依節點類型選擇核心並排查連線

如果訂閱明確包含 VLESS、REALITY、Vision,桌面端選擇 v2rayN、Android 端選擇 v2rayNG,通常是最直接的組合。若伺服器端明確執行 V2Fly,節點使用標準 VMess 或 VLESS,且已有經驗證的路由設定,則可使用 v2flyNG 維持相同的核心體系。

不要只憑「節點逾時」判斷協定不相容。逾時也可能來自位址無法連線、連接埠遭封鎖、系統時間錯誤、DNS 回應異常或伺服器未執行。核心不相容更常見的訊號是 unknown field、unsupported security、failed to parse config、invalid flow 等設定或握手錯誤。

日誌現象 優先檢查 處理方式
unknown field 或 unsupported security 核心分支與設定欄位 確認是否將 REALITY 設定交給 V2Fly
invalid flow flow 值與協定組合 核對是否為 VLESS 與 xtls-rprx-vision
connection refused 伺服器連接埠與程序 確認位址、連接埠及伺服器監聽狀態
context deadline exceeded 線路、DNS 與握手參數 分別測試位址可達性與 serverName
本機連接埠占用 10808、10809 等監聽連接埠 關閉重複核心程序或調整用戶端連接埠

五步完成用戶端核對

  1. 完全停止目前連線,確認舊核心程序已退出。
  2. 開啟用戶端設定,記錄核心名稱、核心版本、本機 SOCKS 連接埠與 HTTP 連接埠。
  3. 只選擇一個節點啟動,查看日誌是否完成設定載入與本機監聽。
  4. 開啟系統代理後存取目標網域,核對日誌中命中的路由規則與出站標籤。
  5. 單一節點驗證通過後,再恢復訂閱自動更新與完整路由規則。

核心選擇的最終判斷

Xray 與 V2Fly 的共通部分足以涵蓋大量基礎代理設定,但兩者已是獨立演進的核心。Xray 的主要辨識點是 VLESS、XTLS Vision 與 REALITY 的組合;V2Fly 的價值則在於延續自身設定體系與伺服器部署路徑。不存在將所有節點統一改寫成某種 JSON 後就必然相容的規則。

對一般使用者而言,最可靠的判斷順序是節點欄位、用戶端核心、伺服器端實作、執行日誌。桌面使用 v2rayN、Android 使用 v2rayNG 時,可涵蓋 Xray 專用節點;明確維護 V2Fly 環境時,再使用 v2flyNG。更換核心後必須重新檢查訂閱、DNS、路由與本機代理連接埠。

下載 v2rayN 查看四個平台的安裝套件