· 生態選型 · 約 9 分鐘

Project V、V2Fly 與 Xray 有什麼關係?核心分支脈絡與三款用戶端選擇指南

從 Project V 的起源、V2Fly 社群維護到 Xray 分支,解析 v2rayN、v2rayNG、v2flyNG 使用的核心,帶你了解生態系並選對用戶端。

本文摘要

Project V 是一套專案體系,V2Ray 是其中的核心工具,V2Fly 接手社群維護,而 Xray 則是從 V2Ray 分出的獨立核心。選擇用戶端前,先確認伺服器要求的協定、傳輸方式與安全層,再確認用戶端實際使用的核心。本文適合正在挑選桌面或 Android 用戶端,或遇到「連結可以匯入,卻無法連線」問題的讀者。

先分清專案、核心與用戶端

日常所說的「安裝 V2Ray」,可能是安裝圖形介面用戶端,也可能是部署核心程式。兩者屬於不同層級:用戶端負責訂閱、節點清單、系統代理與介面操作;核心負責讀取設定、建立連線、執行 DNS 查詢與路由規則。訂閱服務則提供節點參數,並非核心本身。

排查問題時,必須確認具體是哪個環節。視窗能開啟,只代表用戶端介面正常執行;訂閱能更新,只代表訂閱網址可以連線。核心是否啟動、遠端交握是否成功,以及應用程式流量是否進入本機代理,都需要分別確認。

名稱所屬層級實際用途
Project V專案體系由網路通訊工具構成的專案與設計體系。
V2Ray / V2Fly核心工具與維護社群V2Fly 社群負責維護 V2Ray 核心及相關工作。
Xray獨立核心分支從 V2Ray 分出,獨立發展協定與傳輸功能。
v2rayN桌面用戶端管理節點與訂閱,並依版本及設定呼叫相應核心。
v2rayNG / v2flyNGAndroid 用戶端分別以 Xray 與 V2Fly 核心為基礎,提供 Android 代理管理功能。

從 Project V 到兩條核心分支

Project V 早期的開發奠定了 V2Ray 的設定架構與模組化設計。入站、出站、路由和 DNS 各有不同用途,而非把所有功能塞進一個「代理開關」。如今閱讀兩條核心分支的設定,仍能看出這套共同脈絡。

  1. Project V 與 V2Ray 的起步:V2Ray 是 Project V 的核心工具。VMess 協定,以及可組合的傳輸與路由設定,是理解早期生態系的重要起點。
  2. V2Fly 社群接手維護:V2Fly 持續開發並維護 V2Ray 核心。「V2Fly 核心」通常指由該社群維護的 V2Ray,而不是名為 V2Fly 的連線協定。
  3. Xray 於 2020 年分支發展:Xray 從 V2Ray 分出後獨立發展。VLESS、XTLS 相關流量控制與 REALITY 等功能,必須依實際分支與版本確認,不能只憑共同源頭推斷支援範圍。

這不是「舊軟體改名為新軟體」的單線升級關係。V2Fly 和 Xray 各有版本、設定文件與發布時程。一個分支新增的欄位,不會因為另一個分支也能讀取 JSON 就自動相容;同名欄位的可用值與行為,也應以對應核心的文件為準。

確認協定相容性時,整組參數都要核對

VMess、VLESS 是協定名稱;WebSocket 是傳輸方式;TLS、REALITY 則是需要另外確認的安全層設定。這些屬於不同面向。「支援 VLESS」不代表支援所有 VLESS 組合,更不表示兩端的任意設定都能直接互換。

訂閱連結只是分發節點參數的方式,並不保證相容。用戶端可能成功解析位址與連接埠,卻無法辨識其中某個擴充參數。匯入後仍應查看節點編輯頁,確認重要欄位是否保留,再檢查連線日誌。

判斷順序:先確認伺服器端組合,再選擇核心

伺服器要求 VLESS + REALITY 時,優先確認 Xray 路線;若現有設定是 VMess + WebSocket + TLS,逐項確認目前的核心是否符合需求即可,不必只為了更新名稱就整套遷移設定。

如何選擇三款用戶端

桌面端先依 Windows、macOS、Linux 和處理器架構選擇適用的 v2rayN 發行套件。各版本提供的核心選項、介面配置與平台功能可能不同;不能只看某個 Windows 版本的選單截圖,就認定其他平台完全相同。

Android 端的主要差異較明確:v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。名稱相似不代表只是介面不同。節點所需功能屬於哪條核心路線,通常比介面使用習慣更重要。

v2rayNG:Android Xray 路線

推薦

此處推薦僅適用於 Android 裝置,且節點需要 Xray 功能的情況。匯入後仍須確認 REALITY、流量控制與傳輸參數,不能只看節點名稱中的協定縮寫。

適用情境:Android 裝置連線至明確要求 Xray 功能的節點。

v2rayN:桌面端設定入口

用於管理 Windows、macOS、Linux 桌面上的節點與訂閱。實際執行的核心取決於發行版本、核心設定與節點類型,應以啟動日誌為準。

適用情境:桌面系統代理、訂閱分組與路由管理。

v2flyNG:Android V2Fly 路線

適合採用 V2Fly 設定並依其功能範圍維護的環境。匯入既有節點前,請確認目前核心支援該協定組合,尤其不要直接套用 Xray 專用參數。

適用情境:使用既有 V2Fly 伺服器與設定規範的 Android 裝置。

這裡比較的不是速度排名。傳輸量與延遲還會受到網路路線、伺服器負載、傳輸設定與本機網路影響。若測試條件不同,就不能只憑核心名稱推定固定百分比的效能差異。

桌面與 Android 共用訂閱的限制

同一份訂閱可以用於多部裝置,但前提是兩端都支援訂閱格式及其中的節點組合。訂閱通常不會同步各裝置的本機監聽連接埠、系統代理狀態或應用程式分流設定;這些屬於用戶端本機行為。

設定方式:共用節點參數,本機入口分開管理

桌面端:v2rayN
  • 匯入訂閱後,確認目前使用的節點實際呼叫哪個核心。
  • 先啟動節點,再確認系統代理或應用程式內的代理設定。
  • 記錄本機監聽位址、連接埠與路由模式。
Android 端:v2rayNG
  • 匯入相同的訂閱,確認目標節點的傳輸與安全層欄位。
  • 首次啟動時,確認已授權系統 VPN 連線。
  • 若啟用應用程式分流代理,請確認目標應用程式是否符合預期範圍。

共用訂閱可以減少重複輸入,但兩端仍須分別更新;節點清單、路由規則與代理狀態不會自動完全同步。

例如,桌面應用程式手動設定為 127.0.0.1:10808,只有在用戶端確實監聽該連接埠,而且應用程式選對 SOCKS 或 HTTP 類型時才會生效。此處的 10808 僅為核對範例,並非要求所有版本都使用相同的預設值。排查問題時,請勿任意將監聽位址改為 0.0.0.0;這可能擴大本機代理的可存取範圍。

路由也要分成兩個層次理解:系統代理或 Android VPN 入口決定哪些流量進入用戶端;routing.rules 則決定流量進入核心後要走哪個出站。節點可以連線,卻只有某個應用程式無法使用時,先檢查流量入口與應用程式分流範圍,不要立刻更換核心。

從匯入到連線的檢查步驟

遷移前先保留原用戶端設定,並用一個節點建立最基本的可用連線。不要同時修改訂閱、路由、DNS 與核心版本,否則很難從日誌判斷問題源自哪項變更。

  1. 記錄執行環境:記下作業系統、用戶端版本、核心名稱與核心版本。v2rayN 的核心啟動日誌,是確認實際執行程式的重要依據。
  2. 確認節點參數:檢查伺服器位址、遠端連接埠、協定、使用者識別碼、傳輸路徑與安全層。遠端連接埠與本機代理連接埠是不同欄位。
  3. 檢查啟動結果:若出現 address already in use,先關閉重複執行的執行個體,或調整發生衝突的本機監聽連接埠;這類錯誤發生在連線至伺服器之前。
  4. 確認流量入口:桌面端確認系統代理或應用程式的手動代理設定;Android 端確認 VPN 已啟動,並檢查目標應用程式是否遭排除。
  5. 逐步恢復進階規則:基本連線正常後,再逐項恢復自訂 DNS、路由分流與訂閱更新設定,每次變更後都檢查日誌。

選擇與遷移常見問題

安裝 v2rayN,就代表一定在使用 V2Fly 嗎?

不是。先啟動一個節點,再查看日誌中的核心名稱與版本。用戶端名稱不代表目前使用的核心;若要切換,請依目前發行版本提供的核心選項操作,並重新確認節點相容性。

VLESS 連結可以匯入,為什麼還是連不上?

開啟節點編輯頁,依序檢查傳輸方式、安全層、伺服器名稱與流量控制。若使用 REALITY,也要確認公鑰與短識別碼。接著檢查核心版本與日誌;僅憑「匯入成功」無法確認擴充參數已正確套用。

改用 Xray 後,原有的 VMess 節點需要重新建立嗎?

通常先保留伺服器設定,確認新核心支援原本的完整組合後,再匯入測試。不要自行把節點協定從 VMess 改成 VLESS;若伺服器端沒有相應調整,只修改用戶端欄位並不能完成遷移。

同一份訂閱在桌面端可用,Android 卻不行,該先檢查什麼?

先確認兩端選用的是同一個節點,再比較核心版本與重要參數。參數一致後,檢查 Android VPN 授權、應用程式分流範圍與裝置時間。桌面端能連線,只能證明該連線在該桌面環境中可用。

最後應依可驗證的條件做選擇:平台能正常執行、核心支援節點組合、入口設定正確,且日誌沒有設定或交握錯誤。了解分支脈絡的目的,是縮小排查範圍,而不是把分支名稱當成連線品質的保證。欄位說明請參閱設定參考;初次連線可依照使用指南逐步操作。

用戶端與安裝套件