2026-08-12 · 核心解析 · 約 9 分鐘

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

比較 Xray 與 V2Fly 核心的專案背景、協定支援及設定欄位相容性,並說明 v2rayNG 與 v2flyNG 的適用情境。

本文重點

節點包含 REALITY 或 xtls-rprx-vision 時,應選用支援這些功能的 Xray 核心;若只有 VMess、一般 VLESS 與 TLS,則依傳輸方式及具體欄位確認相容性。本文適合需要選擇 Android 用戶端、切換桌面核心或排查訂閱匯入問題的使用者,說明除了協定名稱,還有哪些參數需要檢查,以及如何分辨設定錯誤與網路故障。

專案背景與用戶端分工

Xray-core 與 V2Fly 維護的 v2ray-core 源自同一脈絡,但如今已走上不同的功能發展路線。Project V 是理解這套代理工具體系的背景;V2Fly 延續社群維護 v2ray-core,而 Xray 則獨立發展。兩者都是負責處理代理連線、路由與 DNS 等工作的核心程式,並非用戶端介面本身。

用戶端負責管理訂閱、編輯節點、啟動核心及顯示記錄;核心則負責讀取最終設定並處理連線。因此,「介面能匯入節點」和「核心能執行節點」是兩回事。訂閱解析器或許能辨識某些欄位,卻不一定能將這些欄位交由目前使用的核心執行。

訂閱解析 產生設定 載入核心 比對路由 建立連線握手

排查問題時,應一併記錄用戶端版本及目前執行的核心版本。升級介面程式不代表核心檔案也同步更新;同樣地,更換核心也不代表用戶端編輯器已能產生所有新欄位。

協定支援:XTLS 與 REALITY 比較

REALITY 與 XTLS Vision 並非 VMess、VLESS 的同義詞。VLESS 是代理協定;REALITY 屬於傳輸安全設定層;Vision 則是配合特定連線組合使用的流控方式。訂閱中同時出現 VLESS、REALITY、Vision,代表需要檢查多個設定層,而不是確認「支援 VLESS」就算完成。

功能或組合Xray 核心V2Fly 核心檢查重點
VMess支援支援驗證方式、傳輸與 TLS 參數
一般 VLESS支援支援不能因此推斷支援 Vision
WebSocket + TLS支援常見組合支援常見組合路徑、Host、SNI 與憑證
REALITY支援不支援 Xray 的 REALITY 設定伺服器公鑰資訊、shortId、serverName
xtls-rprx-vision支援適用組合不支援此流控方式流控值、傳輸與安全層組合
完整 JSON 設定依 Xray 設定語法解析依 V2Fly 對應的設定格式解析無法保證整份檔案可互換

此處的 XTLS 主要指目前常見的 Vision 用法。舊教學中的 xtls-rprx-direct 等歷史流控值,不應直接替換成 xtls-rprx-vision 就視為完成移轉。伺服器也必須採用相容組合;只在用戶端修改流控,可能導致握手失敗。

選擇建議:先檢查安全層與流控

在節點編輯頁看到 security=reality 或 flow=xtls-rprx-vision 時,請先選用 Xray 核心,再核對傳輸參數;不要為了配合 V2Fly 核心而刪除這些欄位。

REALITY 與 Vision 在連線中的作用

REALITY 讓用戶端在握手過程中驗證伺服器持有的金鑰材料,並配合與目標網站相關的參數呈現 TLS 握手特徵。它不會把所有代理流量轉交給目標網站,也不代表取消身分驗證。伺服器仍須正確設定金鑰、目標及允許的名稱,用戶端也必須填入相符參數。

Vision 主要負責處理代理通道承載 TLS 流量時的辨識與資料轉送流程,在符合條件時可減少重複封裝及處理負擔。這不代表所有連線都略過加密,也無法消除實體線路壅塞、跨區往返延遲或電信網路封包遺失。網頁載入速度是否改善,仍須依實際使用情況判斷。

VLESS + REALITY + Vision

代理協定
VLESS
傳輸方式
TCP 類傳輸,名稱依設定版本確認
安全層
REALITY
流控
xtls-rprx-vision
驗證資訊
使用者識別碼、公鑰資訊與 shortId 等

依伺服器提供的完整參數填寫,不要將 REALITY 參數當成一般 TLS 憑證選項。

VMess + WebSocket + TLS

代理協定
VMess
傳輸方式
WebSocket
安全層
TLS
路徑範例
/ws,須與伺服器設定一致
名稱參數
分別檢查 WebSocket Host 與 TLS SNI

兩種核心都有常見實作;路徑範例並非通用預設值,請以節點設定為準。

設定相容性與欄位移轉

兩種核心的傳統 JSON 設定有不少相似結構,例如 inbounds、outbounds 與 routing。但「欄位看起來相同」不代表所有取值、預設行為及子欄位也相同。V2Fly 的不同設定格式之間也有差異,移轉前請先確認目前檔案採用哪種格式。

以下以常見的傳統 JSON 路由規則為例,片段表示「私有位址經由 direct 出站」。這段內容只展示路由部分,並非可獨立啟動的完整設定。實際檔案必須包含標籤為 direct 的出站,並備妥規則所需的資料檔案。

routing.json · 設定片段
{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      }
    ]
  }
}

也要分辨設定成功載入與參數確實生效。有些未知欄位會引發錯誤,有些則可能遭到忽略。只看到程序已啟動,還不足以證明移轉成功;請檢查記錄、實際出站及目標應用程式的連線結果。更多欄位關係可參考協定設定說明逐項核對。

連接埠檢查與故障排查順序

連線失敗時,先分開檢查本機連入與遠端握手。以下提供兩個用來說明檢查方式的連接埠範例,不代表所有用戶端的預設值。請以目前的入站設定與節點連接埠為準,不要為了照抄教學而修改原本運作正常的監聽設定。

10808
本機 SOCKS 入站範例連接埠
443
遠端 TLS 服務範例連接埠
  1. 確認應用程式是否使用用戶端。如果本機 SOCKS 入站監聽 127.0.0.1:10808,應用程式就必須使用相符的位址、連接埠與代理類型。開啟系統代理不代表所有應用程式都會遵循此設定。
  2. 確認核心是否正常載入。若核心啟動後立即結束、記錄指出欄位無法解析,或流控不受支援,請優先檢查核心選擇與設定格式,不要先修改 DNS。
  3. 確認遠端是否連得上。若本機入站正常,但遠端連線逾時,請檢查節點位址、實際伺服器連接埠、網路路徑及伺服器狀態。連接埠可連通也不代表驗證成功。
  4. 確認握手參數。REALITY 主要核對公鑰資訊、shortId、serverName 與時間設定;一般 TLS 則檢查 SNI、憑證有效期限及信任鏈。不要藉由關閉憑證驗證來掩蓋錯誤。
  5. 確認路由與解析。若只有部分網域連線失敗,請檢查網域解析結果及實際命中的出站。測試期間每次只修改一組參數,並保留可還原的原始設定。

排查結論:先啟動,再握手,最後分流

先使用一個參數齊全且已知可用的節點,確認基本連線正常,再恢復自訂路由與 DNS。這樣才能分辨是核心功能不足、驗證參數錯誤,還是分流規則有問題,避免同時修改多處設定而失去排查線索。

用戶端選擇與訂閱移轉

Android 裝置上已有 REALITY 或 Vision 節點時,優先使用 v2rayNG。若節點採用一般 VMess 或 VLESS,且伺服器說明是針對 V2Fly 設定,可選用 v2flyNG。桌面端使用 v2rayN 時,應先確認節點所需功能,再選擇相應核心;介面名稱不能取代相容性檢查。

移轉訂閱時,建議建立新群組並保留舊群組,以便回復。先匯入一個節點並核對參數,再批次更新,最後移轉路由設定。更新訂閱可能會覆蓋手動修改的節點欄位;若匯入後流控或安全層欄位消失,請先檢查訂閱格式與用戶端的解析能力,不要一再手動填寫。

同一個 VMess 節點在兩個用戶端都能使用,是否代表設定完全通用?

這只能表示兩邊都能處理該節點目前使用的協定與傳輸組合。DNS、路由、入站監聽及其他節點的安全層仍可能不同。即使匯出整份 JSON,也必須逐項檢查,不能把單一節點連線成功當成完整設定相容的證明。

刪除 flow 或將 REALITY 改成 TLS,還能連線到原本的節點嗎?

通常不行。用戶端與伺服器必須採用相容的協定組合。刪除參數不會讓伺服器自動切換模式;必須由伺服器明確提供另一組可用設定,或改用支援原有組合的核心。

訂閱匯入成功但所有節點都連不上,應先更換核心嗎?

先查看記錄並抽查一個節點。若記錄指出協定、流控或安全層不受支援,再處理核心選擇;若是逾時、驗證失敗或憑證錯誤,則分別檢查網路、帳號參數與名稱設定。訂閱管理流程可參考訂閱匯入教學。

下載用戶端平台與安裝檔選擇