Xray 與 V2Fly 核心差異:功能分流、設定相容性與選擇建議

整理 Xray 與 V2Fly 的分流背景、VLESS 與 REALITY 等功能差異、設定檔相容性,以及在用戶端切換核心前應確認的事項。

本文重點

選擇核心時,先確認伺服器端的需求,再確認用戶端能否完整產生所需設定。已有 VMess 節點,不必只因核心名稱不同就遷移;節點若明確要求 REALITY 或 XTLS Vision,則應使用支援相應功能的 Xray 版本。本文適合需要切換核心、遷移 JSON 設定或排查匯入失敗的使用者,著重釐清協定能力、欄位相容性與用戶端產生設定這三個問題。

1. 分流背景:同源核心,不同維護路線

V2Ray 原本是 Project V 生態系中的代理工具,V2Fly 社群接手維護相關程式碼與文件,常見的核心程式名稱仍是 v2ray。Xray 於 2020 年從 V2Ray 程式碼分支而出,早期分支與 XTLS 相關開發路線有關,之後獨立發展。兩者有共同的歷史基礎,但各自發布版本、調整實作並維護設定介面;源自同一專案,不代表後續所有功能都會同步推出。

用戶端與核心也要分開理解。v2rayN 提供桌面介面、訂閱管理與設定產生功能,實際連線則由選用的核心執行;v2rayNG 是使用 Xray 核心的 Android 用戶端,v2flyNG 則使用 V2Fly 核心。用戶端能顯示節點名稱,只代表它已儲存該筆資料,不代表目前執行的核心支援其中所有參數。

  • 用戶端層:負責匯入分享連結、儲存訂閱、選擇節點,並將介面選項轉換為核心設定。
  • 核心層:負責建立連線、處理協定、執行 DNS 與路由規則,並輸出執行記錄。
  • 伺服器端:決定接受哪些協定、傳輸方式與安全設定;只更換本機核心,不會改變伺服器端的支援能力。

2. 協定能力:VLESS 與 REALITY 屬於不同層級

VMess、VLESS 是代理協定;TCP、WebSocket 等則描述承載連線的方式;TLS、REALITY 涉及連線的安全機制。這種分層是為了分類功能,並非可以任意組合的相容性矩陣。伺服器端採用哪種組合,用戶端就必須支援該組合並正確填寫參數。

檢查項目XrayV2Fly
VMess支援,但仍須確認傳輸方式與安全參數支援,但仍須確認傳輸方式與安全參數
VLESS 基礎協定支援,並持續擴充相關功能具備基礎實作,不能據此推定與 Xray 的所有擴充功能相容
REALITY支援,須符合版本與伺服器端參數要求不能直接取代 Xray 的 REALITY 設定
XTLS Vision支援相應的 VLESS flow,但須符合組合要求無法直接執行 Xray 的 Vision 設定
路由與 DNS提供相關功能,實際欄位與行為依目前版本而定提供相關功能,實際欄位與行為依目前版本而定

因此,「VLESS 節點一定要用 Xray」說得太過籠統;「支援 VLESS 就能用 REALITY」也不成立。節點若要求 security=reality,或指定 flow=xtls-rprx-vision,就不能只因另一個核心支援基礎 VLESS 而直接替換。應將協定、傳輸方式、安全設定與 flow 一併檢查。

REALITY 設定通常還包含伺服器名稱、伺服器提供的公鑰相關參數、short ID,以及用戶端指紋等選項。欄位名稱可能隨版本與用戶端介面而異,不能只將 security 從 tls 改為 reality,就視為遷移完成。反過來說,若一般 VMess + WebSocket + TLS 節點目前運作穩定,也沒有必要只為更換核心而修改伺服器端設定。

3. 設定相容性:JSON 結構相似,不代表能直接互換

兩種核心的常見設定都可能包含 inbounds、outbounds、routing 等結構,但結構相似只代表兩者有共同的設計基礎。欄位是否接受、預設值為何、是否依賴特定傳輸實作,仍取決於負責載入設定的核心版本。V2Fly 的不同設定格式,也不應與 Xray 常見的 JSON 設定混為一談或直接互相覆寫。

  1. 先確認設定格式:確認檔案使用的格式與載入方式,避免將一種格式的資料交給另一種解析器。
  2. 再檢查輸出參數:逐項核對協定、位址、連接埠、使用者識別碼、傳輸方式、SNI、路徑與安全選項,不要只比較節點名稱。
  3. 接著檢查專屬欄位:遇到 REALITY、Vision 或某個核心新增的傳輸選項時,請依目標核心的文件核對,不要直接刪除報錯欄位後繼續使用。
  4. 最後確認執行環境依賴:規則資料檔、憑證路徑,以及相對路徑所依據的工作目錄,也會影響啟動結果。

分享連結與訂閱不等於完整的核心設定。用戶端匯入 vmess:// 或 vless:// 後,還須將其中的參數對應到實際設定;更新訂閱通常只會更新節點資料,不會自動替你核對整套 DNS、路由與自訂範本。遷移時應查看產生的設定或啟動記錄,確認介面選項確實已傳給核心。

4. 選擇核心:依現有節點與維護方式決定

以下的「建議」只針對明確使用 REALITY 或 Vision 的情境,不代表另一個核心整體較落後。若現有節點、設定範本與維運流程都以 V2Fly 為基礎,維持已驗證的組合通常比重新遷移更省下排查成本;若伺服器端已明確要求 Xray 功能,就應優先滿足相容性條件。

Xray 核心

建議

伺服器端要求 REALITY 或 XTLS Vision 時,請選用支援相應功能的 Xray 版本,並同時確認用戶端能完整產生所需欄位。

適用情境:已確認使用 Xray 專屬功能的節點,或需要統一採用同一套 Xray 設定的環境。

V2Fly 核心

若現有節點採用 VMess 等支援的組合,且使用 V2Fly 設定範本,可繼續沿用已驗證的環境。遷移應以實際需求為依據,而非只比較專案名稱。

適用情境:現有 V2Fly 設定穩定,且需要延續既有規則與維護流程的環境。

兩種環境的用戶端配置

伺服器端使用 REALITY / Vision
  • 桌面端:在 v2rayN 確認選用 Xray。
  • Android 端:使用 v2rayNG,並確認內建核心版本。
  • 逐項確認伺服器名稱、金鑰相關參數與 flow。
現有 V2Fly 設定持續運作
  • 桌面端:確認目前版本的 v2rayN 支援哪些 V2Fly 功能。
  • Android 端:可選用 v2flyNG,並依節點組合確認匯入結果。
  • 保留原有 DNS、路由與規則資料的相關紀錄。

同一份訂閱可以提供功能不同的節點;兩端匯入數量相同,也不代表所有節點都能在兩種核心上使用。

效能也不宜只依核心名稱排序。延遲與傳輸量會同時受到伺服器負載、網路路線、傳輸方式、裝置效能與連線數影響。比較時應固定裝置、節點與測試時段,並維持相同的路由策略;若同時將 VMess + WebSocket 改為 VLESS + REALITY,測試結果就不能簡單歸因於「更換核心」。

5. 切換步驟:保留基準設定,逐一驗證變數

先備份用戶端設定與自訂範本,並記錄目前可用的節點及核心版本。v2rayN 的選單與核心選擇入口可能隨版本和介面分支而異,請以目前介面與啟動記錄為準。以下連接埠僅供重現問題時檢查,並非三款用戶端的統一預設值;實際測試前,請替換為本機目前正在監聽的連接埠。

10808
本機 SOCKS 入口範例
10809
本機 HTTP 入口範例
443
伺服器端 TLS 連接埠範例
  1. 記錄基準狀態:使用舊核心確認某個節點可正常運作,並記下本機監聽位址、連接埠、系統代理狀態與路由模式。
  2. 只更換核心:維持節點、DNS 與規則不變。同一次測試中,不要同時啟用 TUN、替換規則檔或修改傳輸參數。
  3. 檢查產生的設定:確認目標核心收到的協定與安全欄位完整;若用戶端無法產生所需欄位,請先處理用戶端的支援問題。
  4. 確認啟動與連線:先確認設定解析成功,再檢查本機連接埠是否正在監聽,最後確認伺服器端連線與目標請求。
  5. 恢復完整使用情境:基本代理功能正常後,再逐項恢復分流、系統代理或 TUN 設定;每次變更後都要查看記錄。

自行管理獨立設定時,可以先進行設定檔測試。以下兩條命令分別適用於 Xray,以及採用相應命令介面的 V2Fly 版本,請依實際安裝的核心擇一使用;Windows 下可改用對應的執行檔名稱。若舊版參數不同,請先執行說明命令確認。

# Xray:測試本機 config.json
xray run -test -config config.json

# V2Fly:測試本機 config.json
v2ray test -c config.json

設定測試通過,只代表目前的核心能接受該檔案,不代表可以連上伺服器端。若本機確實有 127.0.0.1:10808 的 SOCKS 入口,可使用以下命令單獨測試代理連線;socks5h 會將目標網域交由代理端處理,方便與本機解析路徑區分。

curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 30 -I https://v2ray-home.com/

若此命令成功但瀏覽器連線失敗,請接著檢查瀏覽器實際使用的代理入口、系統代理狀態或應用程式本身的設定。若記錄首先顯示 address already in use,請優先檢查連接埠是否被占用;若設定尚未成功載入,就不必先調整遠端 DNS 或更換伺服器端連接埠。

6. 常見問題:匯入、交握與回復

訂閱匯入成功,為什麼切換核心後節點無法使用?

先開啟節點編輯頁面,核對協定、傳輸方式、安全設定與 flow,再檢查啟動記錄顯示的實際核心。匯入成功只代表用戶端接受了節點資料;若節點使用 REALITY,而實際啟動的是 V2Fly,請改用支援該組合的 Xray,不要刪除安全欄位來勉強啟動設定。

同一個 VMess 節點在兩種核心上的結果不同,該先檢查什麼?

先比對產生的設定中的位址、連接埠、使用者識別碼、WebSocket 路徑、Host 與 TLS 伺服器名稱,再確認裝置時間與憑證驗證設定。接著檢查路由與 DNS 是否一致。不要將關閉憑證驗證當成一般修復方法;錯誤記錄通常能協助區分憑證問題與傳輸參數問題。

Android 端可以直接在 v2rayNG 切換為 V2Fly 嗎?

不要直接將桌面端選擇核心的做法套用到 Android 端。v2rayNG 使用 Xray;若要測試 V2Fly 環境,應在 v2flyNG 中另外匯入支援的節點,再檢查規則與 DNS 設定。測試前請先停止另一個用戶端的代理服務,避免連線活動與系統 VPN 狀態互相干擾。

更換核心後想還原,只要重新安裝用戶端就可以了嗎?

請優先還原先前儲存的核心選擇、設定範本、路由與 DNS 設定,再選回基準節點。若曾更換本機監聽連接埠,也要一併還原系統代理的設定。確認記錄中的核心版本與備份紀錄一致後,再執行相同的代理測試;單純重新安裝可能仍會沿用舊設定,反而更難找出變動原因。

選擇核心的關鍵,在於建立可重現的相容組合:伺服器端決定必要功能,用戶端負責正確填入參數,核心則負責執行連線。現有設定穩定時,建議保留可還原的基準狀態;需要新功能時,則應連同用戶端支援與伺服器端參數一併驗證。欄位含義可參閱協定參考,基本匯入與連線流程請見入門指南。

用戶端下載與安裝依平台選用 v2rayN / v2rayNG