Xray 與 V2Fly 核心差異:分支由來、功能比較與用戶端核心選擇

整理 V2Fly 與 Xray 在 Project V 生態中的發展脈絡,比較 REALITY、XTLS 等功能支援,並說明 v2rayN、v2rayNG、v2flyNG 如何選擇核心。

本文重點

節點包含 REALITY 或 xtls-rprx-vision 時,建議優先確認 Xray 支援情況;若只有 VMess、WebSocket、TLS 等常見參數,兩種核心都可能適用。本文協助需要選擇用戶端、切換核心或移轉設定的使用者,依序檢查協定、傳輸方式、安全層與記錄檔,不以用戶端名稱判定相容性。

先分清 V2Ray、V2Fly、Xray 與用戶端

核心負責代理連線、協定處理、DNS 與路由執行;用戶端則管理節點清單、匯入訂閱、編輯參數與管理處理程序。v2rayN 視窗顯示某個節點,不代表目前執行的核心一定能解析該節點的所有欄位。選擇核心前,應先確認節點需求,再查看用戶端實際呼叫的程式。

Project V 是這個生態系的專案背景,V2Ray 則是其中的代理軟體。V2Fly 社群延續 V2Ray 的開發;Xray 在 2020 年從 V2Ray 相關程式碼分支出來,成為獨立發展的核心專案。兩者保留不少相似的設定概念,但並非同一程式的兩種介面,也不能只憑共同來源,就認定設定完全相容。

功能差異:先確認 REALITY 與 Vision,再檢查傳輸組合

最直接的判斷依據,是節點是否需要 Xray 專有功能。REALITY 是安全層方案,不是 VMess 或 VLESS 的替代名稱;xtls-rprx-vision 是流量控制參數,不是獨立的傳輸協定。節點能否連線,取決於協定、傳輸方式、安全層與流量控制的組合是否都受支援。

Xray 與 V2Fly 常見選型檢查項目
檢查項目XrayV2Fly實際判斷
VMess支援支援接著確認傳輸方式、TLS 與驗證參數,不能只看協定名稱。
VLESS支援支援,但功能組合不完全相同支援基本 VLESS,不代表也支援 REALITY 或 Vision。
Trojan支援支援確認密碼、TLS 服務名稱,以及伺服器端使用的傳輸設定。
REALITY支援,需符合實際版本與欄位設定無法直接使用 Xray 的 REALITY 設定節點要求 REALITY 時,在本文比較的兩種核心中選擇 Xray。
XTLS Vision支援相應的 VLESS 設定組合不支援 Xray 的 Vision 流量控制若看到 xtls-rprx-vision,請確認 Xray 與傳輸方式的需求。
WebSocket + TLS支援支援仍須確認路徑、Host、服務名稱與伺服器端設定。
DNS 與路由具備對應模組具備對應模組欄位、預設行為與擴充功能請參閱各自的文件。

舊教學中的「XTLS」可能指早期設定,不能直接視為目前的 Vision。也不要為了讓設定通過解析,就把 security 從 reality 改成 tls:這會改變交握方式,伺服器端不會因此自動變更。正確做法是改用相符的核心,或向伺服器管理者索取另一份確實存在的節點設定。

如何選擇用戶端:依節點需求決定核心

若已有可用的訂閱,先開啟節點編輯視窗查看關鍵欄位。只有「VLESS」並不足以完整描述節點,還要確認傳輸類型、安全層與流量控制。以下建議適用於需要 REALITY 或 Vision 的情境,不代表所有一般節點都應移轉。

Xray 核心

建議使用

適用於明確要求 REALITY、xtls-rprx-vision 的節點。桌面端請確認 v2rayN 實際呼叫的核心;Android 端可選用 v2rayNG,並確認隨附核心符合節點需求。

適用情境:已有 REALITY 或 Vision 節點,需要相符的功能組合。

V2Fly 核心

適用於已按 V2Fly 設定並驗證的環境。常見的 VMess、VLESS 或 Trojan 節點仍須逐項確認傳輸方式與安全參數;Android 端對應的用戶端為 v2flyNG。

適用情境:維護現有 V2Fly 設定,且伺服器端不要求 Xray 專有功能。

在 v2rayN 中,部分版本可在「設定」→「參數設定」中尋找核心相關選項;實際名稱與支援範圍會隨版本而異。若介面沒有提供某種核心,別以為重新命名程式檔就能切換。請確認用戶端支援範圍、安裝包內容與啟動記錄,必要時以符合現有設定的方式安裝用戶端。

桌面與 Android 雙端選擇:分別驗證同一訂閱中的節點

桌面端:v2rayN
  • 先確認節點協定、傳輸方式與安全層。
  • 確認設定類型所對應的核心選項。
  • 啟動後查看記錄中的核心名稱與版本。
Android 端:v2rayNG / v2flyNG
  • REALITY 或 Vision 節點請使用相符的 v2rayNG。
  • 已有 V2Fly 環境時,可使用 v2flyNG 檢查設定。
  • 首次連線時,確認系統 VPN 授權與應用程式代理範圍。

同一個訂閱網址可用於不同用戶端,但格式解析方式、支援欄位與更新時間可能不同,請分別確認節點清單與連線結果。

切換核心前:分開記錄本機與遠端連接埠

切換後若「網頁無法開啟」,不一定是遠端協定不相容。應用程式仍連到舊的本機連接埠、監聽位址變更或連接埠遭占用,都可能造成相同狀況。以下設定範例僅用來說明檢查位置,不是用戶端預設值,也不是實測結果。

10808
本機 SOCKS 監聽連接埠範例
443
遠端 TLS / REALITY 伺服器連接埠範例
127.0.0.1
本機迴圈監聽位址範例
  1. 記下本機入口。若應用程式使用 SOCKS,應連線至範例中的 127.0.0.1:10808,而非伺服器的 443 連接埠;HTTP 代理則應使用實際啟用的 HTTP 或混合入口。
  2. 記下節點參數。保留伺服器位址、連接埠、使用者識別碼或密碼、傳輸類型、服務名稱與流量控制設定。REALITY 也須確認伺服器端提供的公鑰、短 ID 等參數。
  3. 記下路由與 DNS 設定。切換前匯出或備份用戶端設定,並區分訂閱資料、自訂路由與自訂 JSON,避免只備份節點清單。
  4. 逐項切換。先暫停 TUN 等額外接管方式,透過明確的本機代理入口完成一次連線驗證,再恢復原有路由與接管設定。

伺服器在 443 連接埠監聽,不代表節點一定使用一般 TLS,也不表示可以將任意瀏覽器要求直接傳送至該連接埠。連接埠只是連線目標的一部分,實際交握方式仍由協定與安全層共同決定。

JSON 能否直接沿用:結構相似不代表欄位相容

兩種核心常見的 inbounds、outbounds、routing、dns 概念相近,但擴充欄位、設定格式與預設處理方式會隨專案發展而改變。用戶端匯入分享連結時,還會先轉換成執行設定;因此「成功匯入連結」與「產生的 JSON 能啟動」是兩個不同階段。

一般使用者較穩妥的移轉方式,是保留原設定備份,在目標用戶端重新匯入節點並檢查參數,而非直接覆寫整份產生的設定。使用自訂 JSON 時,則應依目標核心文件逐項核對欄位,並透過目前執行檔的說明資訊確認設定測試指令,避免照抄另一個核心分支的指令參數。

故障排除:先看啟動,再查交握,最後檢查路由

請依連線階段查看記錄。核心尚未成功啟動時,調整遠端服務名稱沒有幫助;遠端交握已成功時,一再切換核心也未必能解決路由或 DNS 問題。每次只修改一組相關欄位,並保留修改前後的記錄時間點。

節點可以匯入,啟動時卻提示不認得欄位?

查看啟動記錄中的核心名稱與版本,再確認發生錯誤的欄位。若節點要求 REALITY 或 Vision,應選擇支援相應設定的 Xray;若已使用 Xray,則檢查版本是否符合用戶端產生的設定。不要直接刪除錯誤欄位。

換成 Xray 後仍持續逾時,該先查哪裡?

先確認伺服器位址與連接埠是否可連線,再檢查 TLS 服務名稱或 REALITY 參數、使用者識別碼與流量控制。單純逾時不能證明核心選錯;遠端未監聽、網路路徑中斷或本機防火牆也可能造成逾時。

記錄出現 address already in use,應修改哪個連接埠?

檢查錯誤訊息所指的本機監聽位址。若範例連接埠 10808 已被其他處理程序占用,請先停止重複執行的核心,或修改本機監聽連接埠,並同步調整使用該代理的應用程式設定;不要任意修改遠端 443。

核心已啟動、測試也通過,卻只有部分網站無法開啟?

先確認應用程式確實使用代理,再查看目標網域名稱符合哪條路由,以及使用哪個輸出。使用同一節點比較暫時代理規則與原有規則,再檢查 DNS。Android 端還應檢查分應用程式代理是否排除了目標應用程式。

選型結論:保留可驗證的設定組合

需要 REALITY 或 XTLS Vision 時,在本文比較範圍內選擇相符的 Xray;若現有 V2Fly 設定運作穩定,且節點不要求這些功能,就沒有只為了更換名稱而移轉的必要。使用 VMess、VLESS、Trojan 時,也應繼續檢查傳輸方式、安全層與驗證參數。

需要確認欄位結構,可接著閱讀V2Ray JSON 設定手冊;若不熟悉入站、出站與路由的差異,可先查看名詞解釋。請依實際安裝包與節點需求選擇版本,不要將舊教學中的選項位置當成所有用戶端版本的固定介面。

下載v2rayN依作業系統選擇用戶端