Xray 核心與 V2Fly 核心差異:VLESS、XTLS 與 REALITY 支援比較

整理 Xray 與 V2Fly 核心的來源、設定相容性、協定及傳輸特性,並說明 v2rayNG、v2flyNG 如何依節點參數選擇核心。

本文重點

選擇核心時,先看節點參數,而不是用戶端名稱。節點若包含 REALITY 或 xtls-rprx-vision,應使用支援相應功能的 Xray;若使用 VMess、WebSocket 或一般 TLS,則還要確認傳輸欄位與設定格式。本文適合準備在 v2rayN、v2rayNG 與 v2flyNG 之間移轉設定的讀者,重點說明協定、傳輸、安全層與用戶端匯入能力的差異,並依序介紹如何從啟動記錄檢查到本機連接埠。

一、Xray 與 V2Fly:核心分支和用戶端分屬不同層級

V2Ray 是代理工具及其設定生態系的名稱。V2Fly 社群持續維護 V2Ray 核心;Xray 則從 V2Ray 程式碼分支發展而來,後續形成自己的協定擴充、傳輸實作與設定演進路線。兩者源自共同基礎,但不代表新增欄位永遠相容,更不能把完整 JSON 檔案視為通用格式。

用戶端負責管理訂閱、編輯節點、設定系統代理及啟動核心;核心則負責解析執行設定、建立入站與出站連線,以及執行路由。用戶端能顯示節點,不代表搭載的核心一定能執行;成功匯入訂閱與成功完成協定交握,是兩個不同的檢查項目。

二、VLESS、XTLS、REALITY 支援範圍比較

VMess 與 VLESS 是代理協定;TCP、WebSocket 是傳輸方式;TLS、REALITY 則與連線安全層設定有關。XTLS Vision 透過特定流控方式參與連線處理。這些名稱分屬不同層級,不能簡單視為一組可任意替換的「協定選項」。

項目Xray 核心V2Fly 核心移轉檢查項目
VMess支援支援確認 UUID、加密設定、傳輸與 TLS 參數
VLESS支援,常搭配 Vision、REALITY 使用舊版曾有相關實作,請以使用的版本與設定格式為準支援 VLESS 不代表支援 Xray 擴充功能
WebSocket + TLS支援支援確認 path、Host、serverName 與憑證驗證
XTLS Vision支援相應的 VLESS 流控設定不支援 Xray 的 Vision 方案確認 flow 是否為 xtls-rprx-vision
REALITY支援不支援 Xray 的 REALITY 方案確認安全層、公鑰、serverName、shortId 等參數
完整執行用 JSON依 Xray 設定規範解析依相應的 V2Fly 設定版本解析設定結構相似,不代表可以直接互換

VLESS 本身不提供等同 TLS 的傳輸加密。看到 VLESS 節點時,還要確認安全層設定,不能只靠協定名稱判斷連線的保護方式。過去曾有 VLESS 實作,也不代表 V2Fly 能接收包含 REALITY 或 Vision 的訂閱節點。

舊教學中的 security: "xtls" 和目前常見的 flow: "xtls-rprx-vision" 並非相同寫法。不要把字串改成 TLS 來「修正」舊設定;伺服器監聽方式、流控與用戶端功能都必須相互配合。

三、依節點參數選擇核心,而非看速度標籤

選擇核心的首要條件是設定能否執行,之後才是連線品質。延遲會受到線路、伺服器負載、DNS、路由與網路環境影響,不能把某個核心直接等同於固定的速度提升。以下建議僅適用於明確包含 REALITY 或 Vision 參數的節點。

Xray 核心

建議

節點含有 REALITY、xtls-rprx-vision 或其他明確要求使用 Xray 的設定時,請選擇支援這些欄位的 Xray 版本,並確認用戶端完整保留所有參數。

適用情境:VLESS + REALITY、Vision,以及伺服器明確要求使用 Xray 的節點。

V2Fly 核心

若已有依 V2Fly 設定規範部署的 VMess 等節點,可沿用相應核心與設定流程;移轉前請另外檢查傳輸、DNS 與路由結構。

適用情境:維護既有 V2Fly 設定、使用 VMess 節點,以及不依賴 Xray 擴充功能的環境。

以常見的 VLESS + TCP + REALITY 節點為例,請逐項確認位址、連接埠、UUID、流控、安全層、伺服器名稱、公鑰與 shortId。指紋參數也應依服務提供者的要求填寫。shortId 可用的值由伺服器決定,不能直接複製其他節點的值,也不要假設必須填入固定長度。

  1. 在節點編輯介面確認協定為 VLESS,且傳輸類型與伺服器設定一致。
  2. 確認安全層為 REALITY;只有伺服器要求使用 Vision 時,才填入 xtls-rprx-vision。
  3. 確認公鑰與伺服器名稱,不要一律將連線位址、WebSocket Host 和 serverName 填成相同值。
  4. 啟動後查看記錄,先確認設定已成功載入,再檢查交握與應用程式連線是否正常。

四、設定相容性:先區分分享連結與執行用 JSON

分享連結用來描述節點,由用戶端轉換成執行設定;完整 JSON 則可能同時包含本機監聽、DNS、路由與多個出站設定。前者匯入成功,只能證明解析器接受了連結;後者成功複製,也不代表另一個核心能辨識其中每個欄位。

以下是用來辨識 Xray 安全層的設定片段,並非可獨立執行的設定。內容未包含伺服器位址、使用者識別資訊與 REALITY 連線參數,不應直接存成完整設定後啟動。

{
  "streamSettings": {
    "network": "tcp",
    "security": "reality"
  }
}

五、本機連接埠與交握記錄的檢查順序

測試時先固定本機入口,再測試遠端連線。以下三個數字僅供排查參考:10808、10809 應與本機實際監聽設定一致;443 只是常見的遠端 TLS 連接埠,並非所有節點都固定使用,也無法據此判斷服務採用哪種協定。

10808
本機 SOCKS 監聽連接埠範例
10809
本機 HTTP 監聽連接埠範例
443
遠端安全連線連接埠範例
  1. 確認已啟動:若記錄出現未知協定、未知傳輸方式或設定解析失敗,請先修正設定或改用相符的核心,不要直接進入線路測速。
  2. 確認監聽狀態:檢查本機位址與連接埠。若出現 address already in use,請找出占用中的程序,或修改本機連接埠並同步更新測試命令。
  3. 確認交握:核心已啟動但連線失敗時,再確認遠端連接埠、UUID、flow、serverName、公鑰、shortId 與系統時間。
  4. 確認路由:若命令列可透過代理連線,但瀏覽器無法使用,請檢查系統代理、瀏覽器代理設定與分流結果,不要先更換核心。

若桌面環境已安裝 curl,且 SOCKS 入口確實是 127.0.0.1:10808,可使用以下命令測試一次明確指定代理的請求。--socks5-hostname 會將目標網域交由 SOCKS 代理端處理;這不能證明整個系統的 DNS 或所有應用程式代理狀態正常。

curl --socks5-hostname 127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://v2ray88.com/

收到 HTTP 回應,表示這次目標請求已完成連線流程,不代表所有網站與規則都正常。若回應是網站本身的存取限制,也要與代理交握失敗區分。記錄錯誤時請保留時間與錯誤類型;分享記錄前,先移除訂閱連結、UUID 與其他敏感連線資訊。

六、桌面端與 Android 端的設定分工

同一個訂閱來源可能提供多種協定。兩端匯入相同連結後,節點清單仍可能因解析器、篩選條件或更新時間而不同。請先選一個兩端都能明確辨識的節點進行測試,不要以「清單數量相同」取代相容性檢查。

做法:依節點特性分配用戶端

桌面端:v2rayN
  • REALITY 或 Vision 節點請使用相應的 Xray 核心。
  • 從啟動記錄確認實際執行的核心與版本。
  • 先測試本機代理入口,再啟用完整的分流規則。
Android 端:依協定選擇
  • v2rayNG 適用於需要 Xray 功能的節點。
  • v2flyNG 適用於符合 V2Fly 功能的節點。
  • 切換用戶端時,請先停止另一個用戶端的 VPN 連線。

結論:訂閱來源可以相同,但實際執行能力仍取決於各端的用戶端、核心與節點參數。

Android 端出現 VPN 授權提示時,請依系統指示確認。更換用戶端後,也要檢查個別應用程式的代理範圍:若某個應用程式被排除,可能會出現只有該應用程式無法連線、其他應用程式正常的情況。這種現象本身不足以證明 REALITY 參數或核心實作有問題。

七、切換核心常見問題

訂閱可以匯入,為什麼啟動後卻顯示未知的安全類型?

開啟連線失敗節點的編輯介面,確認是否選用 REALITY,再查看啟動記錄中的核心名稱。若目前執行的是 V2Fly,請改用支援相應欄位的 Xray 環境;若已使用 Xray,則繼續確認核心版本與用戶端產生的設定,不要只更新訂閱。

把 REALITY 改成 TLS,就能在 v2flyNG 使用嗎?

不能只修改用戶端設定。兩種方式的交握流程與伺服器設定不同。請向伺服器端取得實際相符的 TLS 節點,再依新參數匯入;清除公鑰或修改安全層名稱,不會讓原本的 REALITY 入口變成一般 TLS 入口。

VMess 節點在兩種核心上都能使用,還需要更換嗎?

如果現有節點、DNS 與分流都正常,沒有必要只因名稱不同就更換核心。確實需要移轉時,請先保留原有設定,分別驗證傳輸路徑、TLS 伺服器名稱與憑證驗證,再逐步加入路由規則。

記錄沒有錯誤,但瀏覽器仍無法開啟網頁,該先檢查哪裡?

先使用實際的本機連接埠執行明確指定代理的請求。命令成功後,在 v2rayN 的系統代理選單確認目前代理狀態,並檢查瀏覽器是否另有代理設定;命令失敗則回頭查看核心記錄,區分本機拒絕連線、遠端逾時與交握失敗。

最後請依序確認:節點需要哪些功能、用戶端是否完整解析、實際核心是否支援、產生的設定是否正確,以及應用程式流量是否進入代理。若要進一步確認欄位,請參閱完整設定指南;首次建立可用連線時,依快速入門逐步操作,比同時調整多項參數更容易找出問題。

下載v2rayN