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

比較 Xray 與 V2Fly 核心的發展背景、XTLS Vision 和 REALITY 支援情況,並說明 v2rayNG、v2flyNG 的選擇方式。

本文重點

選擇核心時,先看節點需求,而非客戶端名稱。一般 VMess、WebSocket 與 TLS 設定可能在兩個核心家族間移轉;使用 REALITY 或 xtls-rprx-vision 的節點則須搭配 Xray 實作。本文依功能、欄位與排錯順序說明差異,適合正在挑選 Android 客戶端、切換桌面核心,或遇到「匯入成功卻無法連線」的使用者。

一、Xray、V2Fly 與客戶端各自負責什麼

V2Ray 最初是代理工具專案及其核心程式的名稱。V2Fly 社群持續維護 v2ray-core;Xray-core 則於 2020 年從相關程式碼分支發展,之後形成自己的功能與設定演進路線。兩者有共同淵源,但並非同一程式的不同顯示名稱,也不能只看名稱判斷哪個版本較新。

核心負責協定交握、傳輸、DNS 與路由等實際工作。客戶端提供訂閱管理、節點編輯、啟動開關與記錄檔介面,並將介面欄位轉換為核心設定。節點能否使用,取決於客戶端能否表達這些欄位,以及核心是否具備相應功能。

解析訂閱 欄位對應 載入核心 遠端交握 路由出站

例如,節點出現在清單中,只代表訂閱已解析為一筆資料。必須等核心成功載入設定並完成遠端交握,才能確認整條連線可用。成功匯入並不代表相容性測試已完成。

二、功能差異:著重比較 Vision 與 REALITY

VMess、VLESS 是代理協定;WebSocket、TCP 是傳輸方式;TLS、REALITY 則是連線安全層的選項。XTLS Vision 是搭配特定連線組合使用的流量控制機制。這些功能屬於不同層級,不能用「把 VMess 改成 REALITY」來描述完整的設定變更。

功能Xray 核心V2Fly 核心選擇時確認
VMess支援支援接著確認傳輸方式、TLS 與驗證欄位
基本 VLESS支援特定版本支援不能只因為是 VLESS,就推定支援 Vision
WebSocket + TLS支援支援確認路徑、Host、SNI 與憑證
XTLS Vision支援相應流量控制不支援 Xray 的 Vision 流量控制確認 xtls-rprx-vision
REALITY支援不支援 Xray 的 REALITY確認安全層與伺服器公鑰參數
DNS 與規則路由具備具備須分別確認實際欄位與設定格式

Vision 常見的欄位值為 xtls-rprx-vision。它不是舊式 XTLS 設定的別名,也不是任何傳輸方式都能加上的加速選項。常見部署會組合使用 VLESS、TCP,以及 TLS 或 REALITY;客戶端的流量控制設定必須與伺服器端相符。

REALITY 也不等於停用憑證驗證。它採用不同的交握與身分驗證機制,客戶端通常需要伺服器公鑰、允許的伺服器名稱、short ID 和指紋等資訊。不能只把一般 TLS 節點的安全層改成 REALITY,就預期可以直接連線。

結論:依節點所需功能選擇核心

節點參數出現 security=reality 或 flow=xtls-rprx-vision 時,應優先確認 Xray 設定流程;一般 VMess + WebSocket + TLS 則先檢查欄位是否一致,不必只因名稱不同就切換核心。

三、兩類節點的關鍵欄位比較

以下兩張卡片用於核對欄位關係,並非可直接匯入的節點。範例連接埠和路徑僅說明各自用途;實際值請向節點提供者確認。伺服器監聽 443,不能證明使用 TLS,更不能證明使用 REALITY。

VLESS + REALITY + Vision

傳輸方式
TCP
安全層
REALITY
流量控制
xtls-rprx-vision
身分欄位
UUID、伺服器公鑰、short ID
交握欄位
serverName、fingerprint

使用支援此組合的 Xray 核心,並逐項對應伺服器參數;short ID 是否可留空,也須依伺服器允許的值確認。

VMess + WebSocket + TLS

傳輸方式
WebSocket
安全層
TLS
驗證
UUID;現代設定通常使用 alterId=0
路徑範例
/ws,大小寫須與伺服器一致
網域欄位
WebSocket Host 與 TLS serverName

兩個核心家族都具備相應功能;Host、連線位址和憑證名稱用途不同,不應不加區分地互相替代。

REALITY 分享連結中的 pbk 通常是伺服器公鑰,sid 對應 short ID,sni 對應伺服器名稱,fp 對應客戶端指紋識別。分享連結欄位、客戶端編輯欄位與原生 JSON 鍵名不一定相同,應由支援該格式的客戶端正確對應。

四、設定相容性:分享連結不等於原生 JSON

同一個節點可能以分享連結、訂閱項目或原生 JSON 呈現,但三者並非可互換的檔案。分享連結主要描述節點參數;原生設定還可能包含本機入站、DNS、路由、記錄檔與多個出站。將完整設定濃縮成節點連結,通常無法保留所有行為。

  1. 先區分設定來源。vmess:// 與 vless:// 是分享連結前綴;採用物件結構的 JSON 可能是完整核心設定,也可能只是服務提供者的 API 回應。
  2. 再辨認 JSON 格式。V2Fly 的不同設定格式與 Xray 的欄位演進不能混為一談。即使頂層都有 inbounds 和 outbounds,巢狀欄位仍可能不同。
  3. 逐層比較出站設定。先看協定與使用者驗證,再看傳輸方式、安全層和流量控制。缺少 REALITY 專用設定時,不要用一般 TLS 設定補上。
  4. 最後移轉環境設定。確認本機監聽位址、連接埠、DNS、路由標籤與規則順序。節點交握成功但分流異常時,通常不必繼續修改 UUID 或公鑰。

將原生 JSON 從 Xray 移轉到 V2Fly,不能只替換執行檔。某個核心可能直接拒絕未知值,也可能在特定解析流程中忽略部分欄位;兩種情況都不算移轉成功。應先用目標核心檢查設定,再實際發出代理請求。

xray version
xray run -test -config client.json
v2ray version

以下命令適用於桌面命令列環境:前兩行分別查看 Xray 版本及檢查現有的 client.json,第三行查看 V2Fly 版本。請先準備好檔案;不同發行套件的命令參數可能不同,使用前應先查看 help。設定檢查只能找出解析及部分初始化問題,不能取代網路連線驗證。

五、如何選擇 v2rayNG 與 v2flyNG

在 Android 上,依節點功能選擇客戶端,比看名稱猜測更可靠。如果提供者明確要求 VLESS + REALITY + Vision,請選用 v2rayNG 的 Xray 設定流程,並確認客戶端及內建核心能正確處理訂閱欄位。如果手上已有 V2Fly 原生設定,先確認 v2flyNG 的設定匯入方式與核心版本是否支援該格式。

沒有「Xray 一定比較快」或「V2Fly 一定比較穩」這種通則。節點位置、網路封包遺失、伺服器負載、傳輸方式與路由都會影響使用體驗。比較核心時,應使用相同伺服器、相同協定組合、相同測試目標,並選擇相近時段;否則觀察到的差異可能來自網路線路,而非核心。

六、匯入成功卻無法連線:排錯順序

先區分「本機代理入口」與「遠端伺服器連接埠」。以下數字只是排錯環境的範例,並非所有客戶端的預設值,也不是速度測試結果。本機連接埠以實際設定為準,遠端連接埠則以節點資料為準。

443
範例遠端 TCP 監聽連接埠
10808
範例本機 SOCKS 入口連接埠
127.0.0.1
桌面本機代理監聽位址
  1. 確認目前執行的核心。啟動目前節點後查看最新記錄檔,記下核心家族、版本與第一筆錯誤。不要只看安裝套件名稱。
  2. 處理設定載入失敗。若出現未知的協定、安全層或流量控制值,先確認功能是否受支援;核心尚未成功啟動時,反覆更換 DNS 並無幫助。
  3. 處理網路無法連線。確認伺服器位址可解析、遠端連接埠正確,且網路允許建立連線。TCP 連接埠可連通,只能證明傳輸入口可存取,不能證明驗證成功。
  4. 處理交握錯誤。一般 TLS 請檢查裝置時間、serverName 與憑證鏈;REALITY 請檢查伺服器公鑰、short ID、允許的伺服器名稱與指紋設定;使用 Vision 時再確認流量控制設定。
  5. 處理請求未經代理。桌面端檢查系統代理或應用程式代理設定;Android 檢查 VPN 授權及個別應用程式規則。連線已建立但目標流量未經代理時,繼續修改協定欄位只會讓問題更複雜。

桌面端若確認本機 SOCKS 入口確實為 127.0.0.1:10808,可使用下方命令指定代理連線至本站。socks5h 會將目標網域交由 SOCKS 代理端解析,方便與本機 DNS 流程區分。

curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://v2rayid.com/

命令有回應,只能表示在目前規則下,這個目標可經由本機入口完成請求;如果核心規則讓它直接連線,仍無法證明遠端代理出口正常。請搭配存取記錄確認出站,再使用可信的出口 IP 查詢服務核對結果。單次逾時也不能直接判定核心不相容,應回頭確認失敗發生在本機連線、遠端交握,還是目標存取階段。

結論:一次只修改一個層級

先讓核心載入設定,再驗證遠端交握,最後檢查 DNS 與路由。每次只修改一個欄位並保留前後記錄檔,才能分辨問題是功能缺失、參數錯誤,還是流量沒有進入代理。

七、常見相容性問題

VLESS 節點一定要使用 Xray 嗎?

不一定。基本 VLESS 與 VLESS + REALITY + Vision 所需的功能並不相同。應檢查傳輸方式、安全層與 flow,而非只看連結是否以 vless:// 開頭。若使用 Xray 專屬功能,就應選擇相應實作。

開啟 allowInsecure 可以修正 REALITY 錯誤嗎?

不能把它當成修正方法。略過一般 TLS 憑證驗證,既無法補上缺少的 REALITY 支援,也無法修正錯誤的公鑰、short ID 或流量控制設定。請恢復正常驗證設定,並依據記錄檔核對連線所需參數。

切換核心後,台灣與其他地區的分流設定會維持不變嗎?

不一定。路由標籤、規則順序、網域解析策略與地理資料檔都可能影響結果。移轉時先保留一條明確的代理測試路徑,確認節點可用後再逐步還原原有規則,並檢查各類目標實際使用的出站。

下載客戶端