Xray 核心與 V2Fly 核心差異:版本演進、協定支援與切換考量

比較 Xray-core 與 V2Fly-core 的發展脈絡、協定及傳輸支援,並說明在用戶端切換核心時的設定相容性。

本文重點

選擇核心時,設定相容性比名稱或版本號更重要。本文適合需要在 v2rayN 檢查核心,或在 v2rayNG、v2flyNG 之間移轉設定的使用者。下文將依序說明專案關係、協定欄位、切換步驟與日誌排查,並釐清 REALITY、Vision、訂閱轉換及本機連接埠各自在哪個環節生效。

專案關係:圖形化用戶端不等於代理核心

V2Fly-core 延續 Project V 的 V2Ray 技術體系,由 V2Fly 社群維護。Xray-core 從 V2Ray 程式碼體系分支而出,之後發展出獨立的開發與發布路線。兩者源自同一脈絡,但後續功能、設定欄位及預設行為不一定同步。若將 Xray 簡單視為「新版 V2Ray」,就容易忽略移轉時真正需要檢查的差異。

圖形化用戶端負責管理訂閱、編輯節點及提供設定入口;核心則負責解析實際執行的設定、接收本機流量並建立代理連線。用戶端能顯示節點,不代表所選核心支援其中所有選項。成功匯入訂閱、產生設定檔及啟動核心,是三個不同的條件。

版本演進:三種版本號分開記錄

用戶端版本、Xray-core 版本及 V2Fly-core 版本各自發布。更新用戶端時,可能同時變更設定產生方式與核心檔案,也可能只更新介面;手動更新核心則不一定同步更新用戶端對新欄位的支援。排查問題時,應記錄實際使用的版本組合,而非只說「已更新到最新版」。

過往資料常見 V2Fly 的 v4、v5 版本系列,以及 Xray 的 1.x 和後續依日期編排的版本標記。這些版本號並非同一套尺度,不能據此判斷功能多寡或相容性。尤其要區分 V2Fly 的程式版本與設定格式:不能看到 v5 就認定舊設定必須全面改寫,也不能假設舊工具都能辨識新格式欄位。

  1. 記下用戶端「關於」頁面顯示的完整版本,以及作業系統和處理器架構。
  2. 啟動一次連線,從日誌記錄實際呼叫的核心名稱、版本及啟動結果。
  3. 區分一般節點產生的設定與自行維護的自訂設定;後者可能不經部分介面轉換流程。
  4. 更新前保留原有用戶端設定與核心組合;若發生問題,應還原整組設定,而非只替換單一檔案。

即使版本號相同,不同裝置的執行結果也未必完全一致。路由資料檔、DNS 設定及用戶端產生的參數仍可能不同。訂閱內容也可能在兩次更新之間變動,因此重現問題時應固定使用同一筆節點資料。

協定與傳輸:名稱相同不代表欄位通用

VMess、VLESS 是代理協定;TCP、WebSocket、gRPC 是傳輸層選項;TLS、REALITY 涉及連線安全機制;Vision 則是需要連線兩端相符的流控選項。這些並非可任意互換的一組「模式」。伺服器要求的組合,決定用戶端需要具備哪些能力。

檢查項目Xray-coreV2Fly-core 支援情況與移轉注意事項
VMess支援;仍須確認認證資訊與傳輸參數相符支援;協定名稱相同,不代表整份設定可以直接複製
VLESS 與擴充欄位確認節點所需的流控與安全設定依實際版本及設定格式確認支援範圍,不能直接套用 Xray 擴充欄位
REALITY 與 Vision相關設定的主要選項;連線兩端的參數必須相符不可視為通用相容項目移入;應另行取得目標核心可執行的伺服器設定
WebSocket、gRPC確認目前版本支援情況及伺服器端對應設定逐一確認路徑、服務名稱、主機名稱與 TLS,不能只比對傳輸名稱
DNS、路由與流量探測由執行中的設定及配套資料共同決定欄位、解析行為及資料格式可能不同,應分別驗證

例如,VLESS 節點若要求 xtls-rprx-vision,不能只刪除 flow 欄位,就認定它已變成一般 VLESS 節點。REALITY 的伺服器公鑰、服務名稱與短識別碼也各有用途;若資料缺漏或不相符,單純更換核心並不能補齊參數。

判斷順序:先找出無法替代的欄位

先確認節點是否明確要求 REALITY 或 Vision,再檢查目標核心與用戶端能否完整設定這些參數。若有不相容欄位,向服務提供者取得另一組可用設定,比反覆刪除欄位更有效。

選擇核心:依現有節點需求決定

別以「新協定一定更快」作為切換依據。網路路徑、伺服器負載、電信業者連線品質及路由規則都會影響使用體驗。選擇核心時,應先符合節點需求,再於條件相同時比較穩定性、資源使用量與功能需求。

Xray 核心

建議

若節點明確使用 REALITY、Vision 或其他已確認為 Xray 專用的設定,優先選擇能完整產生這些欄位的用戶端與核心組合。此建議僅適用於這類設定情境,不代表在所有網路環境中都有效能優勢。

適用情境:已有 Xray 專用節點參數,且需依照伺服器設定連線。

V2Fly 核心

若已有驗證可用的 V2Fly 設定,以及相應的 DNS 與路由規則,可以繼續沿用原有組合。移轉前先確認新方案要解決的具體問題,不必只因另一個專案的版本號變動就更換。

適用情境:維護既有 V2Fly 設定,並需要維持規則與執行行為一致。

若兩者都能連線至同一組伺服器設定,請固定節點、測試時段與測試目標,再比較連線成功率及日誌錯誤。不要用兩個不同出口的單次測速結果,推論核心本身的效能。

切換步驟:先備份,再測試最基本的連線

在 v2rayN 中,先透過「設定」→「參數設定」記錄本機監聽、DNS 與路由相關選項。不同版本可能調整分類名稱及核心設定入口;若目前介面沒有提供目標核心選項,請勿照著舊教學修改不明檔案,也不要把訂閱群組名稱當成核心選擇器。

  1. 保留原有設定。備份用戶端設定、自訂規則及必要的節點參數。若備份含有訂閱網址或認證資訊,請限制存取權限,切勿上傳至公開位置。
  2. 確認目標組合。檢查節點的協定、傳輸方式、安全機制與流控,並確認用戶端能產生目標核心支援的欄位。
  3. 停止原有核心。使用用戶端提供的停止或重新啟動功能,避免兩個核心同時占用相同的本機監聽連接埠。
  4. 一次只變更一個項目。先更換核心或用戶端,不要同時修改 DNS、節點與路由。啟動後先查看設定解析及監聽日誌。
  5. 測試最基本的連線。先用一筆參數完整且已知可用的節點測試代理請求,再恢復常用的分流規則,最後測試訂閱更新。

移轉方式:桌面版與 Android 版分開驗證

桌面版:v2rayN
  • 記錄目前核心的啟動日誌與監聽連接埠。
  • 使用目前版本實際提供的核心選擇入口。
  • 切換後確認系統代理仍指向正確的連接埠。
Android 版:v2rayNG / v2flyNG
  • 移轉前檢查訂閱項目是否包含目標核心不支援的欄位。
  • 匯入後檢查節點編輯頁面,不要只確認清單中的項目數量。
  • 連線時重新確認系統 VPN 授權及個別應用程式的適用範圍。

相同訂閱只能確保輸入來源一致,無法保證兩端解析出的節點、路由與 DNS 行為相同。

連接埠與日誌:區分本機啟動和遠端交握

以下三個數字僅用於說明連接埠的用途,並非所有用戶端的預設值。實際值請以本機設定及節點參數為準。將本機代理連接埠誤填為伺服器連接埠,或將遠端連接埠填入系統代理設定,都會造成與核心選擇無關的連線故障。

10808
本機 SOCKS 監聽範例
10809
本機 HTTP 監聽範例
443
遠端 TLS 伺服器連接埠範例

若已在設定中確認 HTTP 代理監聽位址為 127.0.0.1:10809,可使用下方命令驗證一筆明確經由該監聽位址傳送的 HTTPS 請求。測試網址僅供連線檢查;回傳結果無法單獨證明出口位置,也不能證明所有應用程式都已透過代理連線。

curl --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 20 -I https://example.com/

常見問題:匯入訂閱、切換失敗與還原

訂閱匯入成功,為什麼一連線就退出?

匯入成功只表示用戶端已解析訂閱。先查看啟動日誌是否出現欄位無法辨識的錯誤,再開啟節點編輯頁面確認協定、傳輸方式及安全選項。別反覆更新訂閱來取代設定檢查;若是設定解析錯誤,請還原原有核心或取得相容的設定。

把 REALITY 改成 TLS,就能交由 V2Fly 執行嗎?

不能只在用戶端修改一個選項。伺服器必須提供相應的 TLS 服務與認證設定。請向服務提供者索取明確支援目標核心的節點參數,再重新匯入;不能靠刪除公鑰或流控欄位完成轉換。

更換核心後,為什麼分流結果不同?

先檢查目前的路由模式、DNS 解析策略及規則資料是否與備份一致,再查看日誌中的規則命中情況與流量出口。系統代理只決定部分應用程式是否將流量交給用戶端,無法確保不同核心使用相同的分流設定。

切換失敗後,如何還原原有連線?

停止新核心,還原原有用戶端設定與核心組合,確認本機連接埠未被占用,再重新啟動並設定系統代理。使用原先可正常連線的同一個節點測試;若仍然失敗,再檢查訂閱是否變更,以及遠端服務是否正常。

最終選擇應能回答三個具體問題:節點要求哪些欄位、用戶端實際產生了什麼設定,以及執行日誌確認呼叫了哪個核心。確認三者一致後,再討論更新與效能;若無法對應,繼續更換版本通常只會增加排查變數。若需進一步定位問題,可依照故障排查中的連線、訂閱與路由流程逐一檢查。

下載v2rayN用戶端與平台選擇