2026-08-02 · 生態科普 · 約 10 分鐘

Project V 生態解析:V2Fly、Xray 核心與 v2rayN、v2rayNG、v2flyNG 的分工

帶你認識 Project V、V2Fly 社群與 Xray 分支,釐清 v2rayN、v2rayNG、v2flyNG 使用的核心、開源授權與彼此差異。

本文速覽

Project V 是理解這套工具的起點;V2Fly 與 Xray 代表不同的核心發展路線,而 v2rayN、v2rayNG、v2flyNG 則負責管理設定與連線。本文將從專案、核心、用戶端、協定四個層面逐一說明,並整理桌面與 Android 的選擇方式。適合已取得訂閱,卻不確定該安裝哪款用戶端或選用哪種核心的使用者。

Project V、V2Fly 與 Xray:先釐清彼此關係

Project V 著重網路通訊工具與模組化代理功能,V2Ray 是其中的核心專案。日常交流提到「V2Ray」時,有時指核心程式,有時泛指整個工具生態。排查問題時,應先釐清實際使用的用戶端、用戶端呼叫的核心,以及核心採用的設定檔。

V2Fly 是持續維護並發展 V2Ray 的社群;一般所說的 V2Fly 核心,就是其維護的 v2ray-core。Xray-core 則從 v2ray-core 分支發展,後來形成獨立的功能演進路線。兩者有部分共同的歷史與設定概念,但不代表新功能、欄位或預設行為始終一致。

用戶端與核心:介面設定如何轉化為實際連線

用戶端主要負責互動與管理:儲存訂閱網址、顯示伺服器清單、設定系統代理、產生設定檔,以及啟動或停止核心。核心則負責監聽本機入口、比對路由、執行協定交握並轉送資料。介面即使能正常開啟,核心仍可能因連接埠衝突或設定錯誤而無法啟動。

用戶端主要平台核心關係選擇重點
v2rayNWindows、macOS、Linux桌面多核心管理,包含 Xray 等支援路線;實際選項依發行版本而異確認安裝套件的平台與架構,以及目前設定呼叫的核心
v2rayNGAndroid使用 Xray 核心,由 Android 端負責介面與流量接管確認節點參數、應用程式代理範圍及 VPN 授權
v2flyNGAndroid使用 V2Fly 的 v2ray-core 路線確認該核心是否具備節點所需功能

v2rayN 的跨平台桌面介面與 Windows WPF 介面,是另一個層面的差異。介面技術會影響視窗、系統匣與平台整合方式,但不會直接決定遠端交握使用 VMess 還是 VLESS。切換介面版本,也不能取代對核心及節點參數的檢查。

Android 上的流量接管也不單靠協定核心完成。v2rayNG 與 v2flyNG 通常透過系統 VPN 介面接收應用程式流量,再交由核心處理。系統顯示 VPN 已連線,只代表流量接管通道已建立,不能據此判定遠端節點交握成功。

判斷方式:先記錄用戶端,再記錄核心

回報問題前,請一併記錄用戶端名稱、用戶端版本、執行記錄中的核心版本,以及節點協定。只說「V2Ray 連不上」,無法判斷問題出在介面、流量接管、設定或遠端服務。

VMess、VLESS、TLS 與 REALITY:不可混為一談

一組連線設定至少包含代理協定、傳輸方式與安全設定。VMess 與 VLESS 是代理協定;WebSocket 是傳輸方式;TLS 與 REALITY 則是連線安全設定層面的選項。這些項目並非可以互換的同類開關,也不是名稱越長效能就越好。

例如,訂閱提供 VLESS + REALITY 設定時,實際需要確認伺服器位址、連接埠、使用者識別碼、伺服器名稱、公鑰、短 ID 與流控等欄位。欄位是否必填及其實際名稱,應以該設定與核心文件為準。只將協定下拉選單改成 VLESS,並不會自動補齊其他參數。

依節點需求選擇 v2rayN、v2rayNG 或 v2flyNG

選擇時先看作業系統,再看節點需求。桌面使用者可用 v2rayN 管理訂閱分組與路由;Android 使用者則需確認 v2rayNG 與 v2flyNG 各自支援的核心功能。以下建議針對需要 Xray 功能的 Android 設定,並非所有使用情境的效能排名。

v2rayNG

推薦

Android 端採用 Xray 核心。節點明確要求 REALITY 或 Vision 時,應優先確認此路線的支援情況與實際核心版本。

適用情境:Android,且節點明確依賴 Xray 功能。

v2flyNG

Android 端採用 V2Fly 核心。若既有設定是依照 V2Fly 的功能與行為維護,可繼續使用這條路線,但仍須確認具體的傳輸與安全選項。

適用情境:Android,且已有可驗證的 V2Fly 設定。

v2rayN

在桌面端管理訂閱、系統代理與路由分流。選擇符合 Windows、macOS 或 Linux 作業系統及處理器架構的安裝套件,再確認執行時呼叫的核心。

適用情境:桌面環境,需要集中管理訂閱與路由。

不能只看用戶端名稱就判定速度。網路路徑、伺服器負載、傳輸設定與本機流量接管方式都會影響結果。比較時應使用同一台伺服器、相同網路與相同測試目標,每次只變更一個條件;否則即使結果不同,也無法確認是否由核心造成。

v2rayN 檢查步驟:從設定頁找到執行記錄

以下流程用於確認「目前設定實際交由哪個核心執行」。不同發行版本的選項位置可能不同;若介面沒有對應項目,請先確認用戶端版本與介面類型,不要依照其他版本的截圖猜測設定位置。自訂設定也可能略過一般伺服器設定的預設選擇。

  1. 記錄版本

    在「說明」→「關於」記下用戶端版本,並記錄使用的平台與介面類型。核心版本則應從啟動記錄確認,不要把用戶端版本當成核心版本。

  2. 確認核心

    前往「設定」→「參數設定」,檢查「Core 類型」相關選項;若依協定指定核心,請確認目前節點協定對應的項目。不同版本的名稱或位置可能不同,請以實際設定頁面為準。

  3. 檢查節點

    開啟目前伺服器的編輯視窗,確認協定、位址、遠端連接埠、傳輸方式,以及 TLS 或 REALITY 參數。保留訂閱提供的原始設定,不要為了消除錯誤訊息而任意修改使用者識別碼或安全參數。

  4. 查看記錄

    重新啟動目前設定,查看主畫面記錄中的核心啟動資訊與錯誤。先確認設定已被接受、監聽已建立,再判斷遠端連線是否成功。

切換核心後某個節點能連線,不代表訂閱中的所有節點都適用。不同節點可能使用不同協定或傳輸方式。請依各節點的實際需求逐一確認,不要假設「同一家提供的節點設定都完全相同」。

本機連接埠、系統代理與路由分流的界線

為了區分入口與出口,以下使用兩個明確的本機連接埠作為範例。這些數字是說明用的手動設定值,不代表任何發行版本的預設連接埠。只有實際設定對應的監聽服務後,應用程式才能使用這些位址。

10808
範例 SOCKS 本機監聽連接埠
10809
範例 HTTP 本機監聽連接埠

例如將 SOCKS 入口設為 127.0.0.1:10808、HTTP 入口設為 127.0.0.1:10809 後,應用程式還必須使用正確的代理類型。若將 HTTP 代理要求送到只支援 SOCKS 的入口,會在本機協定階段發生錯誤,尚未連到遠端伺服器。部分版本提供混合入口,此時應依實際監聽類型填寫。

排查順序:先確認流量有進入,再檢查出口

應用程式無法連線時,先查看記錄中是否有對應的連線項目。若沒有,請檢查應用程式代理設定與流量接管方式;若已有記錄,再檢查路由目標、DNS 與交握錯誤,避免反覆更換不相關的訂閱網址。

開源授權:用戶端與核心分開確認

網路協定與開源授權是兩回事。VMess、VLESS 描述通訊方式;MIT、MPL-2.0、GPL-3.0 則規範程式碼的使用與散布條件。能夠互通,不代表兩個專案採用相同授權;用戶端呼叫某個核心,也不代表所有隨附元件都適用同一份授權。

專案主要授權標示確認範圍
V2Fly v2ray-coreMIT核心本身及相依套件隨附的授權聲明
Xray-coreMPL-2.0授權涵蓋的檔案,以及修改與散布條件
v2rayNGPL-3.0用戶端程式碼、發行套件與隨附元件
v2rayNGGPL-3.0Android 用戶端及整合核心各自的授權聲明
v2flyNGGPL-3.0Android 用戶端及其相依套件的授權

上表用於辨識專案的主要授權,不取代個別發行套件中的 LICENSE、NOTICE 與相依套件清單。一般使用者安裝時,重點是選擇符合平台、架構與節點需求的用戶端;若要修改或重新散布,則應逐項閱讀實際程式碼版本的授權條件,不能只看介面上的專案名稱。

選擇流程可簡化為三步:先確認平台,再確認節點要求的協定與安全組合,最後檢查用戶端實際執行的核心。訂閱提供資料,用戶端負責管理,核心負責執行,路由負責選擇出口;釐清這些層次,升級版本與排查連線問題時就更有依據。

下載v2rayN