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

整理 Xray 與 V2Fly 兩個核心分支的由來,比較協定、傳輸方式及設定欄位的差異,協助你選擇 v2rayNG 或 v2flyNG。

本文重點

選核心先看節點參數,不要先看用戶端名稱。一般 VMess 與部分 VLESS 設定可由兩個分支處理;若節點使用 REALITY 或 xtls-rprx-vision,則需要支援相應功能的 Xray。本文適合匯入訂閱後無法連線、準備更換 Android 用戶端,或需要移轉設定的使用者,重點說明協定相容範圍、欄位核對順序,以及切換後的驗證方式。

一、Xray 與 V2Fly:核心不等於用戶端介面

V2Ray 是代理工具生態系中的專案名稱,也常用來泛指這類工具。V2Fly 是負責維護 V2Ray 的社群專案;核心負責接收入站連線、比對路由、處理協定及建立出站連線。Xray 從 V2Ray 程式碼分支發展而來,兩者有共同的發展歷程,但功能演進與設定慣例已各自獨立。不能把 Xray 當成只是換了名稱的 V2Fly。

用戶端負責管理訂閱、編輯節點及設定系統網路;核心則負責實際建立連線。Android 版 v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。桌面版 v2rayN 則需要確認目前設定實際呼叫的是哪個核心,不能只看主視窗標題。更新用戶端後,也應從啟動記錄確認實際載入的核心名稱與版本。

匯入訂閱產生設定載入核心比對路由遠端交握

這個流程可看出兩種不同的故障:節點出現在清單中,只代表用戶端成功解析訂閱;核心能載入設定並完成遠端交握,才代表節點可用。介面顯示某個協定名稱,不代表目前的核心一定能辨識該協定組合中的所有欄位。

二、VLESS、XTLS、REALITY 的支援範圍

協定、傳輸方式與安全層分屬不同層次。VMess、VLESS 是代理協定;TCP、WebSocket 是承載資料的傳輸方式;TLS、REALITY 則是連線安全相關方案。XTLS Vision 透過特定流量控制方式,改善符合條件的流量處理。節點備註寫著「VLESS」,仍不足以判斷該使用哪個核心,還要查看安全層與 flow。

兩個核心分支的常見功能比較
設定功能XrayV2Fly核對重點
VMess支援支援UUID、加密選項、傳輸方式與 TLS 參數一致
一般 VLESS支援有支援的實作確認實際版本與設定格式,不代表支援所有 VLESS 擴充功能
TCP / WebSocket + TLS支援常見組合支援常見組合網域、憑證驗證、路徑及 Host 必須與伺服器設定相符
XTLS Vision支援相應組合不支援 Xray 的 Vision 實作flow 設為 xtls-rprx-vision 時,請選擇相容的 Xray
REALITY支援不支援 Xray 的 REALITY 方案核對服務名稱、公鑰、shortId 與指紋

VLESS 本身不提供負載加密,常見設定需要搭配 TLS 或 REALITY 等安全方案。它與 VMess 並非「新版本取代舊版本」這麼簡單。判斷相容性時,應將節點視為完整組合,例如「VLESS + TCP + REALITY + Vision」,而不是只比較第一項。

結論:依 security 與 flow 選擇核心

若發現 security 設為 reality,或 flow 設為 xtls-rprx-vision,請優先使用支援該組合的 Xray;一般 VMess + WebSocket + TLS 則先核對參數,不必只為了更換核心而移轉。

三、兩種設定組合:必須成套核對的欄位

以下兩張卡片用於辨識參數,並非可直接使用的節點。網域使用保留的示範網域,路徑與連接埠也只是說明用數值。實際連線必須採用伺服器或訂閱提供的參數。尤其不可將一個節點的 UUID、另一個節點的公鑰,以及第三個節點的服務名稱拼湊在一起。

VLESS + REALITY + Vision

傳輸方式
TCP
安全層
reality
Flow
xtls-rprx-vision
指紋
chrome(示範)
驗證參數
伺服器端對應的公鑰與 shortId

請使用支援此組合的 Xray;服務名稱與驗證參數皆依節點資料填寫。

VMess + WebSocket + TLS

傳輸方式
ws
路徑
/proxy-ws(示範)
安全層
tls
服務名稱
node.example.com(示範)
VMess 加密
auto

兩類核心都能處理常見組合;路徑、Host 與憑證網域仍須與伺服器設定相符。

REALITY 用戶端不會填寫伺服器私鑰。用戶端持有與伺服器端對應的公鑰等驗證資訊;伺服器私鑰則應留在伺服器端。shortId 使用十六進位表示,實際可用值由伺服器端決定;不要把它當成備註,也不要自行產生其他值來取代訂閱內容。服務名稱通常會設定在 serverName 或連結參數 sni 中,並須符合伺服器端設定。

用戶端中的「指紋」通常是指模擬 TLS ClientHello 的特徵,並非裝置識別碼。將 fingerprint 改成 chrome,無法修正錯誤的公鑰、UUID 或連接埠。REALITY 也不代表一定要啟用 Vision,兩者是不同的設定項目;只有伺服器端採用相應組合時,用戶端才需要設定對應的 flow。

四、移轉設定:JSON 外觀相同,不代表可以通用

Xray 與 V2Fly 的傳統設定都能看到 inbounds、outbounds、routing 等結構,但結構相似不代表所有欄位都能互通。V2Fly 的不同設定格式也有所差異。移轉時,應先確認目標核心接受的設定格式,再檢查具體的協定與傳輸欄位。若將整份 Xray 設定直接交給 V2Fly,可能在載入階段就失敗。

以下展示的是 Xray 常見的 VLESS + TLS + Vision 出站片段,用來確認 flow 所在的層級。這不是完整設定;示範網域與全零 UUID 都是明顯的假資料,無法作為實際節點使用。此範例不包含 REALITY 參數,也不能只把 tls 改成 reality 就完成轉換。

{
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "node.example.com",
            "port": 443,
            "users": [
              {
                "id": "00000000-0000-0000-0000-000000000000",
                "encryption": "none",
                "flow": "xtls-rprx-vision"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "serverName": "node.example.com",
          "allowInsecure": false
        }
      }
    }
  ]
}
  1. 先儲存原有設定。記下用戶端版本、核心版本、目前節點與路由預設值;備份檔案可能包含存取憑證,請妥善保存。
  2. 先移轉一個節點。透過目標用戶端支援的節點連結或訂閱重新匯入,檢查產生的設定,不要先覆寫所有路由與 DNS 設定。
  3. 先確認核心能啟動。若記錄顯示未知協定、未知安全類型或不支援 flow,應修正設定或改用相容的核心,而不是一再測試網路延遲。
  4. 再還原分流設定。核對規則引用的出站 tag、網域與 IP 資料檔,以及 DNS 處理方式。節點能連線,不代表舊規則已正確移轉。

五、如何選擇與驗證 v2rayNG、v2flyNG

Android 使用者若已有 REALITY 或 Vision 節點,通常可選擇 v2rayNG。若已有 V2Fly 設定,節點也屬於一般相容組合且運作正常,則可繼續使用 v2flyNG。桌面使用者則要注意,v2rayN 是管理介面;判斷重點仍是目前節點呼叫哪個核心,以及該核心是否支援這組參數。

不要同時更換核心、節點、DNS 與路由預設值。一次只調整一項,才能判斷問題來源。以下數字僅用於說明各連接埠的用途,不是測速結果,也不代表所有用戶端的預設值。是否採用這些連接埠,應以目前設定為準。

443
本文範例的遠端 TLS 連接埠
10808
排查範例的本機 SOCKS 連接埠
53
傳統 DNS 服務常用連接埠

遠端 443 連接埠能建立 TCP 連線,只能證明該網路層可連通,無法證明 VLESS 驗證、TLS 或 REALITY 交握成功。本機 10808 若已被占用,可能導致核心無法啟動,這與遠端協定是否相容無關。DNS 請求也有獨立的傳輸路徑:瀏覽器能解析網域,不代表核心使用的解析器也能連線。

六、常見問題:能匯入、能啟動、能連線有何不同

V2Fly 支援 VLESS,為什麼 REALITY 節點還是不能用?

VLESS 是協定,REALITY 則是另一層功能。支援前者不代表支援後者,同樣也不代表支援 Vision。請檢查節點的完整組合,使用能處理該安全層與 flow 的 Xray,而不是只刪除 REALITY 欄位。

換成 Xray 後一定會更快嗎?

不一定。效能還會受到遠端負載、網路路徑、封包遺失、傳輸方式與用戶端資源限制影響。Vision 的處理機制不代表所有請求都會固定加快。先確認功能相容,再於相同網路條件下比較實際使用狀況。

將 flow 留空就能相容舊核心嗎?

不能把這當成通用的降級方式。如果伺服器端要求 Vision,用戶端留空可能會連線失敗。必須由伺服器端提供雙方都支援的設定組合;單方面刪除欄位,不會讓不相容的伺服器自動切換協定。

同一份訂閱可以同時用在兩個 Android 用戶端嗎?

這取決於訂閱格式與節點內容。能解析訂閱不代表每個節點都相容;一般 VMess 節點與 REALITY 節點可能同時出現在同一個群組中。請分別核對匯入後的協定、傳輸方式與安全參數,並避免兩個用戶端同時嘗試接管 VPN 通道。

結論:先確認一條連線,再還原整套設定

依序檢查「設定可載入、入口已接管、遠端交握成功、分流結果正確」。只要找出失敗的層級,就能判斷該更換核心、修正參數或排查網路,不必盲目重新安裝用戶端。

下載v2rayN