· 核心解析 · 約 10 分鐘

Xray 核心與 V2Fly 核心差異:VLESS、XTLS 與 REALITY 功能比較

整理 Project V 生態中兩大核心的分支關係,比較 VLESS、XTLS Vision、REALITY 的支援情況與設定方式,協助選擇 v2rayNG 或 v2flyNG。

本文重點

選擇核心時,應先確認節點需求,而非只看用哪款用戶端。本文說明用戶端、通訊協定、傳輸方式與安全層的差異,釐清 VLESS 不等於 REALITY、XTLS Vision 不等於一般 TLS,並提供 Android 裝置的選擇建議、桌面端設定檢查方式,以及遷移失敗時的排查順序。使用 VMess 節點的讀者也能據此判斷是否需要更換核心。

一、Xray 與 V2Fly:源自同一專案,設定各有界線

Project V 是理解這個生態系的起點,V2Ray 是其中的核心代理工具,V2Fly 社群則持續維護 V2Ray。Xray-core 從 V2Ray 專案分支而出,之後發展出獨立的功能與設定架構。因此,兩者雖有相近的入站、出站與路由概念,卻不代表任何 JSON 檔案都能直接互換。

用戶端負責節點清單、訂閱更新、介面設定與啟動管理;核心則負責處理連線、協定交握與路由。v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。桌面版 v2rayN 可使用的核心及呼叫方式,取決於發行套件與設定類型;排查時應以啟動記錄顯示的執行檔與版本為準。

二、VLESS、XTLS Vision 與 REALITY 支援比較

VLESS 本身不提供傳輸加密,常見設定會搭配 TLS 或 REALITY 使用。V2Fly 也有 VLESS 實作,因此「看到 VLESS 就一定要用 Xray」並不正確;真正需要進一步確認的是 flow、安全層與傳輸方式的具體組合。也不能因為 Xray 有擴充功能,就推定 V2Fly 也支援同名功能。

設定功能Xray 核心V2Fly 核心選擇依據
VMess支援支援還需確認傳輸方式、TLS 與伺服器參數
基本 VLESS支援有對應實作不能將所有擴充功能組合視為通用設定
XTLS Vision支援相應流控不支援 Xray 的 Vision 流控出現 xtls-rprx-vision 時,請選用相容的 Xray 環境
REALITY支援不支援 Xray 的 REALITY 設定確認金鑰資料、SNI、shortId 與指紋設定
路由分流支援規則設定支援規則設定確認設定格式、規則語意與資料檔案

XTLS Vision 是一種流控機制,常見設定值為 xtls-rprx-vision。它不是傳輸方式名稱,也不能將節點的 TLS 開關改名為 Vision 來啟用。REALITY 則是 Xray 的安全機制,需要用戶端與伺服器的參數彼此相符;它不是訂閱編碼格式,也不是獨立的用戶端。

一般 TLS 通常仰賴憑證與網域驗證。REALITY 採用不同的交握機制與驗證參數,不能靠關閉憑證驗證取代。伺服器允許的 serverName,必須與用戶端使用的金鑰資料和 shortId 相符;只要有一個欄位不正確,即使連得上連接埠,也不代表代理交握成功。

三、設定方式:先釐清 flow 與 security 的位置

以下提供 Xray 出站設定範例,用來辨識欄位層級,示範 VLESS、Vision 與一般 TLS 的組合。網域使用保留的示例網域,UUID 僅供格式說明,並非可直接使用的節點。實際部署時,必須換成伺服器提供的位址、使用者識別碼與憑證網域,並確認伺服器已啟用對應流控。

{
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "example.com",
            "port": 443,
            "users": [
              {
                "id": "e1dd2b67-68ca-4c8f-a92b-27eb305d91e7",
                "encryption": "none",
                "flow": "xtls-rprx-vision"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "serverName": "example.com"
        }
      }
    }
  ]
}

範例中的 encryption: "none" 是 VLESS 使用者欄位,不代表整條連線以明文傳輸;外層的 security: "tls" 才負責傳輸安全。flow 位於使用者物件內,security 則位於 streamSettings 內;欄位放錯位置可能導致錯誤,或無法依預期生效。

四、如何選擇 v2rayNG、v2flyNG 與 v2rayN

如果現有訂閱明確包含 VLESS、Vision、REALITY 的組合,Android 裝置建議優先使用搭載 Xray 核心的 v2rayNG。如果現有設定以 V2Fly 架構為基礎,且不依賴這些 Xray 功能,則可使用 v2flyNG。VMess 設定目前運作正常時,無須只因名稱不同就遷移。

Xray 核心環境

建議選用

針對本文介紹的 VLESS、Vision 與 REALITY 使用情境,Android 裝置建議選用 v2rayNG;桌面端則在 v2rayN 中確認對應節點實際呼叫的 Xray 核心。

適用情況:伺服器明確要求使用 Xray 擴充功能的節點。

V2Fly 核心環境

Android 裝置使用 v2flyNG,延續現有 V2Fly 設定的使用方式。基本協定能否連線,仍取決於傳輸方式與參數是否相符。

適用情況:已有可用的 V2Fly 設定,且不依賴 Vision 或 REALITY。

檢查方式:分別在桌面與 Android 裝置上驗證

桌面端:v2rayN
  • 匯入後確認協定、傳輸方式、安全方式與 flow。
  • 啟動連線,查看記錄中的核心名稱與版本。
  • 確認系統代理指向目前的本機監聽連接埠。
Android 裝置:依核心選擇
  • REALITY 或 Vision 節點請使用 v2rayNG。
  • 在 v2flyNG 中確認 V2Fly 設定的匯入結果。
  • 允許 VPN 連線後,再確認應用程式代理範圍。

同一份訂閱可供兩端使用,但兩端顯示相同的節點名稱,不代表解析出的欄位與支援能力完全一致。

五、切換核心後無法連線:從連接埠到交握逐層檢查

先分辨「核心未啟動」與「核心已啟動,但遠端連線失敗」。前者應檢查 JSON、欄位支援情況、檔案路徑與本機連接埠是否被占用;後者則應檢查伺服器位址、安全層參數、網路連線與系統時間。若將所有問題都歸因於核心速度,就會忽略真正能修正的設定錯誤。

443
本文範例的遠端 TLS 連接埠
10808
本機 SOCKS 檢查範例連接埠
127.0.0.1
本機回送監聽位址

上述本機位址與連接埠僅用來說明檢查方式,並非所有用戶端的預設值。請先查看目前用戶端顯示的 SOCKS 監聽連接埠;若實際連接埠不是 10808,請修改下方指令。遠端連接埠 443 與本機代理連接埠屬於兩段不同的連線,不可互換。

curl --proxy socks5h://127.0.0.1:10808 https://example.com/
  1. 檢查本機監聽:若立即顯示無法連線至本機代理,請先確認核心已成功啟動、連接埠設定一致,並關閉占用同一連接埠的舊執行個體。
  2. 檢查匯入結果:比對原始節點參數,確認 UUID、伺服器連接埠、flow、SNI 與 REALITY 參數。Base64 只是一種編碼方式,無法補上缺少的欄位。
  3. 檢查遠端交握:若出現 TLS 或驗證錯誤,請確認系統時間、網域與金鑰資料;不要把關閉驗證當成通用解決方法。
  4. 檢查代理涵蓋範圍:若指令可以連線,但瀏覽器無法連線,請再檢查系統代理、應用程式代理、路由規則與 DNS;此時不宜先更換伺服器協定。

測試核心差異時,應使用相同節點、網路與目標,並選擇相近時段;先關閉 Mux 等額外變因,再觀察記錄與連線結果。節點負載、網路路徑、伺服器限速與目標網站回應都可能影響速度;支援較多協定,不代表任何線路都能有更高的傳輸量。

六、核心選擇常見問題

訂閱上寫著 VLESS,為什麼在 v2flyNG 裡不能用?

先展開節點詳細資料,確認是否還包含 REALITY 或 xtls-rprx-vision。這些擴充功能不等同於基本 VLESS。若節點需要這些功能,請改用 v2rayNG 匯入原始連結,再確認各欄位是否完整。

v2rayN 已更換核心檔案,為什麼啟動時仍然出錯?

先查看啟動記錄,確認實際呼叫的檔案與版本確實已變更,再檢查產生的設定。舊版用戶端可能仍依舊欄位產生 JSON;單獨替換執行檔,不代表用戶端的設定產生器一定與新核心相容。

REALITY 可以連上連接埠,但開啟網頁一直逾時,該怎麼辦?

連接埠可連通,只能表示基本網路連線已建立。請接著檢查 SNI、shortId、金鑰資料、指紋與 flow,再查看遠端交握記錄。若直接代理測試成功、應用程式卻無法使用,請改查系統代理與分流規則。

原本的 VMess 節點運作正常,有必要遷移至 Xray 嗎?

沒有只因協定名稱就必須遷移的理由。請先保留可正常使用的設定;只有在伺服器提供新節點、現有用戶端不支援所需功能,或確認存在相容性問題時,才逐一測試節點並遷移。

最後可將選擇流程歸納為一連串檢查:先確認伺服器需求,再確認用戶端能產生哪些欄位,最後確認實際啟動的核心是否接受這些欄位。將這三個層面分開確認,通常比依用戶端名稱猜測相容性更可靠。

下載用戶端v2rayN / v2rayNG