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 分支發展,後來形成獨立的功能演進路線。兩者有部分共同的歷史與設定概念,但不代表新功能、欄位或預設行為始終一致。
- Project V:專案背景與技術體系,不是需要另外安裝的桌面用戶端。
- V2Fly:社群及其維護路線;討論連線能力時,應進一步指出使用的是 v2ray-core。
- Xray:獨立發展的核心專案;REALITY 與 XTLS Vision 等功能,須依其實際支援情況設定。
- v2rayN 等用戶端:將伺服器資訊、訂閱分組與路由設定轉換成核心可執行的設定。
用戶端與核心:介面設定如何轉化為實際連線
用戶端主要負責互動與管理:儲存訂閱網址、顯示伺服器清單、設定系統代理、產生設定檔,以及啟動或停止核心。核心則負責監聽本機入口、比對路由、執行協定交握並轉送資料。介面即使能正常開啟,核心仍可能因連接埠衝突或設定錯誤而無法啟動。
| 用戶端 | 主要平台 | 核心關係 | 選擇重點 |
|---|---|---|---|
| v2rayN | Windows、macOS、Linux | 桌面多核心管理,包含 Xray 等支援路線;實際選項依發行版本而異 | 確認安裝套件的平台與架構,以及目前設定呼叫的核心 |
| v2rayNG | Android | 使用 Xray 核心,由 Android 端負責介面與流量接管 | 確認節點參數、應用程式代理範圍及 VPN 授權 |
| v2flyNG | Android | 使用 V2Fly 的 v2ray-core 路線 | 確認該核心是否具備節點所需功能 |
v2rayN 的跨平台桌面介面與 Windows WPF 介面,是另一個層面的差異。介面技術會影響視窗、系統匣與平台整合方式,但不會直接決定遠端交握使用 VMess 還是 VLESS。切換介面版本,也不能取代對核心及節點參數的檢查。
Android 上的流量接管也不單靠協定核心完成。v2rayNG 與 v2flyNG 通常透過系統 VPN 介面接收應用程式流量,再交由核心處理。系統顯示 VPN 已連線,只代表流量接管通道已建立,不能據此判定遠端節點交握成功。
判斷方式:先記錄用戶端,再記錄核心
回報問題前,請一併記錄用戶端名稱、用戶端版本、執行記錄中的核心版本,以及節點協定。只說「V2Ray 連不上」,無法判斷問題出在介面、流量接管、設定或遠端服務。
VMess、VLESS、TLS 與 REALITY:不可混為一談
一組連線設定至少包含代理協定、傳輸方式與安全設定。VMess 與 VLESS 是代理協定;WebSocket 是傳輸方式;TLS 與 REALITY 則是連線安全設定層面的選項。這些項目並非可以互換的同類開關,也不是名稱越長效能就越好。
- VMess:V2Fly 與 Xray 都有相關實作。能否連線仍取決於使用者識別碼、傳輸方式、安全設定與伺服器端設定是否相符。
- VLESS:協定本身不提供負載加密,須搭配適當的安全層使用。不能把 VLESS 簡化成「會自動加密的 VMess」。
- REALITY:不能把它當成通用 TLS 選項套用到所有核心。取得 VLESS + REALITY 參數時,應選擇明確支援此組合的實作。
- Vision:屬於 XTLS 相關的流控功能,不是獨立的訂閱格式;伺服器端與用戶端的流控設定必須一致。
例如,訂閱提供 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 檢查步驟:從設定頁找到執行記錄
以下流程用於確認「目前設定實際交由哪個核心執行」。不同發行版本的選項位置可能不同;若介面沒有對應項目,請先確認用戶端版本與介面類型,不要依照其他版本的截圖猜測設定位置。自訂設定也可能略過一般伺服器設定的預設選擇。
-
記錄版本
在「說明」→「關於」記下用戶端版本,並記錄使用的平台與介面類型。核心版本則應從啟動記錄確認,不要把用戶端版本當成核心版本。
-
確認核心
前往「設定」→「參數設定」,檢查「Core 類型」相關選項;若依協定指定核心,請確認目前節點協定對應的項目。不同版本的名稱或位置可能不同,請以實際設定頁面為準。
-
檢查節點
開啟目前伺服器的編輯視窗,確認協定、位址、遠端連接埠、傳輸方式,以及 TLS 或 REALITY 參數。保留訂閱提供的原始設定,不要為了消除錯誤訊息而任意修改使用者識別碼或安全參數。
-
查看記錄
重新啟動目前設定,查看主畫面記錄中的核心啟動資訊與錯誤。先確認設定已被接受、監聽已建立,再判斷遠端連線是否成功。
切換核心後某個節點能連線,不代表訂閱中的所有節點都適用。不同節點可能使用不同協定或傳輸方式。請依各節點的實際需求逐一確認,不要假設「同一家提供的節點設定都完全相同」。
本機連接埠、系統代理與路由分流的界線
為了區分入口與出口,以下使用兩個明確的本機連接埠作為範例。這些數字是說明用的手動設定值,不代表任何發行版本的預設連接埠。只有實際設定對應的監聽服務後,應用程式才能使用這些位址。
例如將 SOCKS 入口設為 127.0.0.1:10808、HTTP 入口設為 127.0.0.1:10809 後,應用程式還必須使用正確的代理類型。若將 HTTP 代理要求送到只支援 SOCKS 的入口,會在本機協定階段發生錯誤,尚未連到遠端伺服器。部分版本提供混合入口,此時應依實際監聽類型填寫。
- 系統代理:將代理位址提供給會讀取系統設定的應用程式,但不保證所有程式都會採用。
- TUN:透過虛擬網路介面接收流量,仍會受到路由、DNS 與排除規則影響,不代表所有連線都會轉送至代理伺服器。
- 核心路由:決定已進入核心的流量要直連、代理或封鎖;未進入核心的流量不會套用這些規則。
- 遠端連接埠:是伺服器的監聽連接埠,不需要與本機範例中的 10808、10809 相同。
排查順序:先確認流量有進入,再檢查出口
應用程式無法連線時,先查看記錄中是否有對應的連線項目。若沒有,請檢查應用程式代理設定與流量接管方式;若已有記錄,再檢查路由目標、DNS 與交握錯誤,避免反覆更換不相關的訂閱網址。
開源授權:用戶端與核心分開確認
網路協定與開源授權是兩回事。VMess、VLESS 描述通訊方式;MIT、MPL-2.0、GPL-3.0 則規範程式碼的使用與散布條件。能夠互通,不代表兩個專案採用相同授權;用戶端呼叫某個核心,也不代表所有隨附元件都適用同一份授權。
| 專案 | 主要授權標示 | 確認範圍 |
|---|---|---|
| V2Fly v2ray-core | MIT | 核心本身及相依套件隨附的授權聲明 |
| Xray-core | MPL-2.0 | 授權涵蓋的檔案,以及修改與散布條件 |
| v2rayN | GPL-3.0 | 用戶端程式碼、發行套件與隨附元件 |
| v2rayNG | GPL-3.0 | Android 用戶端及整合核心各自的授權聲明 |
| v2flyNG | GPL-3.0 | Android 用戶端及其相依套件的授權 |
上表用於辨識專案的主要授權,不取代個別發行套件中的 LICENSE、NOTICE 與相依套件清單。一般使用者安裝時,重點是選擇符合平台、架構與節點需求的用戶端;若要修改或重新散布,則應逐項閱讀實際程式碼版本的授權條件,不能只看介面上的專案名稱。
選擇流程可簡化為三步:先確認平台,再確認節點要求的協定與安全組合,最後檢查用戶端實際執行的核心。訂閱提供資料,用戶端負責管理,核心負責執行,路由負責選擇出口;釐清這些層次,升級版本與排查連線問題時就更有依據。