V2Fly 與 Xray 是從共同技術基礎發展出的兩大核心家族,v2rayN、v2rayNG 和 v2flyNG 則是負責設定、訂閱與系統代理的客戶端介面。本文適合看過這些名稱卻分不清層級的使用者,讀完即可判斷目前執行的是哪個核心、訂閱是否相容,以及升級時該注意哪一層。
先拆解四個容易混淆的概念
先說結論:Project V 是生態背景,V2Fly 和 Xray 是核心家族,VMess、VLESS 屬於協定或設定能力,v2rayN、v2rayNG、v2flyNG 才是使用者日常操作的客戶端。它們不在同一個層級,不能直接互相比較。
核心負責實際處理資料。它會讀取入站、出站、DNS、路由與傳輸設定,監聽本機連接埠,再依規則決定流量去向。例如客戶端將本機 SOCKS 入口設為 127.0.0.1:10808 後,真正接收連線、比對網域規則並建立遠端連線的是核心,而不是介面上的按鈕。
客戶端介面負責把複雜設定轉成可操作的選單。新增訂閱、選擇節點、切換系統代理、查看日誌、產生核心設定,通常都由客戶端完成。關閉介面後連線是否繼續,則取決於客戶端的執行方式,以及核心程序是否仍在執行。
名稱所屬層級
- Project V:圍繞代理核心、協定、設定格式與配套工具形成的開源技術生態。
- V2Fly:由社群維護的核心家族,核心專案通常稱為 v2ray-core,延續 V2Ray 的模組化架構。
- Xray:從相近的程式碼基礎發展出的獨立核心家族,核心專案通常稱為 Xray-core。
- VMess、VLESS:節點設定可能使用的協定。協定名稱無法單獨說明客戶端名稱,也不能代表所有傳輸參數都相容。
- v2rayN、v2rayNG、v2flyNG:面向桌面或 Android 的客戶端,負責訂閱管理、節點編輯與呼叫核心。
結論:先確認層級,再排查問題
匯入失敗時先確認客戶端能否識別訂閱;啟動失敗時再查看核心日誌;網頁分流不正確則檢查路由與 DNS。把三種問題混在一起,最容易反覆重裝卻仍找不到設定錯誤。
Project V 如何分成 V2Fly 與 Xray 兩條路線
Project V 早期以 V2Ray 為核心名稱,重點是將入站、出站、路由、DNS 與底層傳輸拆分成可組合的模組。使用者看到的 inbounds、outbounds 和 routing.rules 等設定結構,正是這種設計思路的體現。
約在 2020 年前後,原有社群的維護組織與貢獻方式發生變化。V2Fly 社群持續維護 v2ray-core,並朝相容性、模組維護與既有設定演進的方向發展。Xray-core 則在共同技術基礎上獨立發展,形成自己的發布節奏、擴充能力與實作選擇。
「源自共同基礎」不代表「如今完全相同」。兩者仍共用不少概念,例如入站、出站、路由規則、VMess、VLESS、SOCKS 與 HTTP 本機入口,但具體欄位、預設值、傳輸擴充與新功能的支援時間可能不同。複製設定時,核心能啟動不代表每個欄位都會如預期生效。
| 比較項目 | V2Fly 家族 | Xray 家族 |
|---|---|---|
| 常見核心名稱 | v2ray-core | Xray-core |
| 版本辨識 | 目前常見為 5.x 版本線 | 目前常見為 1.x 版本線 |
| 主要授權條款 | MIT | MPL-2.0 |
| 設定基礎 | JSON 設定與模組化入站、出站 | JSON 設定與模組化入站、出站 |
| 相容性判斷 | 檢查協定、傳輸、安全參數與版本 | 檢查協定、傳輸、安全參數與版本 |
| 建議做法 | 沿用已驗證的 V2Fly 設定時,維持相同的核心家族 | 訂閱明確要求 Xray 能力時,依要求使用 |
授權條款差異代表什麼
MIT 與 MPL-2.0 都允許公開使用、研究及再發布程式碼,但進行二次開發時,須履行的聲明與原始碼公開義務並不相同。一般使用者安裝客戶端時通常不必據此選擇;開發者將核心嵌入自己的程式、修改原始碼或重新發布時,才需要逐項閱讀專案附帶的授權條款。
客戶端也有自己的授權條款。v2rayN、v2rayNG 與 v2flyNG 目前常見的發布程式碼採用 GPL-3.0,客戶端授權與核心授權需要分開理解。介面採用哪種授權,不會自動將其呼叫的獨立核心改成相同授權。
結論:相容性看設定能力,不看家族名氣
既有節點運作穩定時,不必因另一條路線新增功能就立即切換。只有在訂閱明確要求特定傳輸欄位、目前核心無法識別設定,或日誌指出功能缺失時,切換核心才是有依據的做法。
v2rayN、v2rayNG、v2flyNG 分別搭載哪些核心
v2rayN 是桌面客戶端,支援 Windows、macOS 與 Linux。它不是協定,也不是單一核心的別名。7.x 版本線提供訂閱、路由、系統代理、TUN 與核心管理等介面功能,常見設定以 Xray-core 執行,也能在相應設定中選擇受支援的 V2Fly 核心。
v2rayNG 是 Android 客戶端,主要呼叫 Xray-core。它將分享連結、訂閱群組、路由設定與 VPN 服務入口集中在行動版介面中。v2flyNG 同樣面向 Android,但核心路線對應 V2Fly。兩者介面可能相近,核心來源與功能支援時間卻不因此相同。
訂閱服務提供的是節點資料,不會把特定客戶端一併安裝到裝置上。一個標準的 VMess 或 VLESS 分享連結可能被不同客戶端識別,但涉及特定傳輸擴充時,必須核對核心能力。能顯示節點名稱只代表連結解析成功,不代表連線參數已獲完整支援。
| 客戶端 | 平台 | 主要核心關係 | 適用情境 |
|---|---|---|---|
| v2rayN | Windows、macOS、Linux | 桌面端可管理受支援的核心,常見使用 Xray-core | 桌面訂閱管理、系統代理、路由與 TUN |
| v2rayNG | Android | Xray-core | 訂閱明確適配 Xray,或需要相應能力 |
| v2flyNG | Android | v2ray-core | 採用 V2Fly 路線並維持核心家族一致 |
如何確認目前執行的核心
查看版本
在 v2rayN 7.x 開啟「說明」→「關於」,先記錄客戶端版本;客戶端版本與核心版本是兩個獨立數字,不要混為一談。
檢查類型
進入「設定」→「參數設定」→「Core 類型」,查看目前節點設定所對應的核心選擇。不同小版本的欄位位置可能調整,但名稱通常會包含 Core 或核心。
讀取日誌
啟動節點後開啟執行日誌,開頭通常會顯示
Xray 1.x或V2Ray 5.x。這比根據客戶端圖示猜測可靠得多。核對行動版
在 v2rayNG 或 v2flyNG 中進入「設定」→「關於」,記錄客戶端版本;接著查看啟動日誌中的核心名稱與版本號。
測試入口
確認日誌顯示本機入口已在監聽。常見 SOCKS 範例為
127.0.0.1:10808;若提示連接埠已被占用,應修改連接埠或關閉占用它的舊程序。
如何判斷訂閱、協定與核心的相容性
訂閱通常是一組節點項目。客戶端更新訂閱後,會先解析 VMess、VLESS 等分享內容,再產生核心可讀取的設定。這個流程有兩道門檻:客戶端必須認得訂閱格式,核心則必須支援轉換後的協定與傳輸參數。
以 VLESS 為例,只看到 vless:// 開頭還不夠,還要檢查伺服器位址、連接埠、使用者識別碼、加密欄位、傳輸方式、伺服器名稱與安全層參數。任何關鍵欄位缺失,都可能表現為連線逾時、握手失敗或日誌回報設定錯誤。
VMess 也不是「只要支援 V2Ray 就一定能連線」。系統時間偏差、使用者識別碼錯誤、傳輸路徑不一致、TLS 伺服器名稱錯誤,都可能導致失敗。排查時應從日誌中的第一個錯誤開始,不要同時修改 DNS、路由與協定參數。
{
"inbounds": [{
"listen": "127.0.0.1",
"port": 10808,
"protocol": "socks"
}],
"routing": {
"domainStrategy": "AsIs",
"rules": [{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
}]
}
}
四步驟相容性檢查
- 先看解析:更新訂閱後是否出現節點,節點位址與連接埠是否完整。沒有節點通常是訂閱位址、內容格式或更新流程的問題。
- 再看啟動:選擇節點後觀察核心日誌。設定欄位不受支援時,日誌通常會在建立連線前直接回報錯誤。
- 接著看握手:若核心正常啟動但連線失敗,請核對協定、安全層、傳輸方式、伺服器名稱與系統時間。
- 最後看分流:節點已連線但部分網站異常時,再檢查 DNS、路由規則、系統代理與 TUN,不要回頭反覆更換訂閱格式。
結論:節點出現、核心啟動、連線成功是三種狀態
節點出現在清單中,只代表客戶端完成解析;日誌出現監聽連接埠,只代表核心啟動成功;目標請求獲得正常回應,才代表協定、傳輸、DNS 與路由共同運作正常。
一般使用者該如何選擇與維護
桌面端優先使用 v2rayN,核心選擇則依已驗證的設定與訂閱要求決定。Android 端若訂閱文件明確依 Xray 能力提供參數,使用 v2rayNG;若現有設定基於 V2Fly 且長期穩定,使用 v2flyNG 可減少移轉變因。
升級時先區分客戶端升級與核心升級。客戶端升級可能改變選單、訂閱儲存方式與系統代理行為;核心升級可能改變設定驗證、協定實作與路由能力。一次只升級一個層級,更容易從日誌判斷變化來源。
移轉前應記錄客戶端版本、核心版本、本機監聽連接埠、目前路由模式與 DNS 設定。以桌面端為例,至少記錄 SOCKS 連接埠是否為 10808、系統代理模式是全域還是規則,以及 TUN 是否開啟。只儲存訂閱連結,無法完整還原這些本機選項。
- 穩定優先:現有節點、DNS 與路由都正常時,按固定週期升級即可,不必頻繁切換核心家族。
- 需求優先:需要特定協定擴充時,先確認伺服器與訂閱說明,再選擇能實作該能力的核心。
- 日誌優先:連線失敗時先保留啟動日誌與第一個錯誤,避免連續修改多個參數。
- 設定優先:同名節點在不同客戶端中可能產生不同設定,應核對實際欄位,而不是只比較節點名稱。
- 分層升級:客戶端、核心與訂閱分開更新,每次更新後完成一次連線與分流測試。
v2rayN 就等於 V2Fly 核心嗎?
不等於。v2rayN 是桌面客戶端,7.x 版本線可以管理核心與設定。進入「設定」→「參數設定」→「Core 類型」,並透過啟動日誌確認目前實際執行的是 Xray-core 還是 v2ray-core。
同一個訂閱可以匯入三款客戶端嗎?
標準 VMess、VLESS 項目通常可以由多款客戶端解析,但特定傳輸欄位未必相容。匯入後先檢查節點數量,再逐一啟動並讀取日誌,不要把「成功顯示」當成「完整支援」。
為什麼更換核心後原設定無法啟動?
先找出日誌中的 unknown field、invalid value 或 unsupported 等錯誤,再檢查傳輸、安全層與路由欄位。恢復原核心即可執行時,表示問題較可能出在設定差異,而不是訂閱帳戶。
連接埠 10808 被占用該怎麼處理?
先退出仍在背景執行的舊客戶端或核心程序;若必須並行執行,請在本機監聽設定中改用未占用的連接埠,並同步修改瀏覽器或系統代理的指向。
需要同時安裝 v2rayNG 和 v2flyNG 嗎?
通常不需要。依訂閱所需的核心選擇其中一款即可。需要進行相容性比對時可以分別測試,但不要讓兩款客戶端同時接管 Android 的網路連線。
歸根究柢,Project V 是一張技術關係圖,不是一套需要單獨安裝的軟體。V2Fly 與 Xray 負責核心實作,三款客戶端則將訂閱、節點、路由與系統網路入口整理成可操作的介面。遇到問題時依序確認客戶端、核心、協定、傳輸、DNS 與路由,排查路徑會比單純更換軟體清楚得多。