Project V 是理解整個生態的起點;V2Fly 與 Xray 是需要區分的核心專案,v2rayN、v2rayNG、v2flyNG 則提供圖形化操作介面。本文適合正在挑選用戶端、確認節點相容性或準備更換核心的讀者:先釐清專案層級,再從協定、傳輸、安全設定與開源授權逐項檢查實際安裝的版本,不要把用戶端名稱當成相容性保證。
Project V 的起源:專案、核心與協定各有不同層級
Project V 最初以 V2Ray 為基礎,打造網路代理工具及相關元件。V2Ray 核心的用途不是提供訂閱清單視窗,而是依據設定建立入站連線、選擇路由並執行出站連線。在日常對話中,「V2Ray」有時指專案,有時指核心程式,也有人用來泛稱一類代理設定;討論問題時,務必先確認指的是哪一項。
圖形用戶端則屬於另一個層級,負責顯示伺服器清單、儲存訂閱、產生設定、啟動核心及顯示日誌。實際處理 VMess、VLESS 等協定連線的是核心及其對應實作。用戶端介面上出現某個協定名稱,不代表目前隨附的核心必然支援該協定的所有傳輸與安全組合。
- 專案層:Project V 提供歷史與技術背景;V2Fly 和 Xray 各自維護不同範圍,發布時程也不相同。
- 核心層:V2Fly-core、Xray-core 會讀取設定並處理連線,實際功能取決於使用的版本。
- 介面層:v2rayN、v2rayNG、v2flyNG 負責管理設定與執行狀態,並不等同於同名協定。
- 設定層:伺服器位址、連接埠、使用者識別碼、傳輸方式、安全參數與路由規則,共同決定連線如何建立。
因此,只說「已安裝 V2Ray」不足以釐清問題。更有效的描述方式是提供用戶端名稱與版本、目前執行的核心名稱與版本、節點協定及錯誤日誌。分享日誌前,請先移除訂閱網址、使用者識別碼及其他登入憑證。
V2Fly 與 Xray:源自相關專案,各自演進
V2Fly 是延續維護 V2Ray 核心的社群專案,其核心通常稱為 V2Fly-core,程式與文件中也會繼續出現 V2Ray 這個名稱。Xray-core 於 2020 年從相關程式碼基礎分支,之後作為獨立專案持續發展。兩者雖有歷史淵源,但不代表它們是同一發布線上的一般版與進階版。
| 比較項目 | V2Fly-core | Xray-core |
|---|---|---|
| 專案定位 | 延續維護 V2Ray 核心的社群專案 | 從相關程式碼基礎分支的獨立核心 |
| 相容性判斷 | 依據對應版本的協定與設定文件確認 | 依據對應版本的協定與設定文件確認 |
| 常見關注項目 | 既有 V2Ray 設定的維護與遷移 | VLESS、XTLS Vision、REALITY 等相關設定 |
| 核心授權 | MIT License | Mozilla Public License 2.0 |
VMess 與 VLESS 是協定名稱;TCP、WebSocket 等屬於傳輸選項;TLS 則是連線安全相關設定。REALITY 與 XTLS Vision 還涉及特定實作及設定要求,不能把它們和 VMess 簡單並列,當成幾個可以任意替換的選項。尤其使用 REALITY 或 Vision 參數的節點,應確認核心支援完整的參數組合,而不只是看用戶端能否匯入連結。
判斷方式:先確認節點參數,再選擇核心
先整理服務商提供的協定、傳輸方式、安全設定及其他參數,再確認目前核心的支援範圍。不要只因兩個核心有共同淵源,就直接替換執行檔或沿用整份設定。
三款圖形用戶端在生態中的定位
v2rayN 適用於 Windows、macOS、Linux 桌面環境;不同平台的安裝方式、權限與系統代理行為各有差異。它提供訂閱與路由管理功能,並可在支援範圍內使用不同核心。能否切換特定核心,須視目前的用戶端版本、安裝套件內容及節點類型而定,不能只從名稱中的 N 推斷。
| 用戶端 | 平台 | 核心關係 | 使用前確認 |
|---|---|---|---|
| v2rayN | Windows、macOS、Linux | 桌面管理介面,可依支援情況選擇核心 | 系統架構、核心檔案、節點支援與代理入口 |
| v2rayNG | Android | 使用 Xray 核心 | 節點參數、核心版本與系統 VPN 權限 |
| v2flyNG | Android | 使用 V2Fly 核心 | 既有設定的相容性與系統 VPN 權限 |
v2rayNG 與 v2flyNG 的介面和操作流程有些相似,但它們不是同一個安裝套件中的兩種佈景主題。更換 Android 用戶端時,應重新確認訂閱匯入結果、個別應用程式設定、路由及 DNS;不要假設另一個應用程式會自動沿用原本儲存在本機的偏好設定。
Android 用戶端通常透過系統 VPN 介面接收裝置流量,這種本機流量接入方式,不等於遠端節點使用的協定。桌面環境的「系統代理」則主要影響遵循系統代理設定的應用程式。這兩種流量入口都會再經過用戶端設定的路由處理,因此不能只看連線開關判斷最終流量走向。
- 桌面訂閱與路由管理:先確認 v2rayN 是否支援目前的系統與節點組合。
- Android 使用 Xray 設定:優先確認 v2rayNG 隨附的核心與節點需求是否相符。
- Android 延續 V2Fly 設定:確認 v2flyNG 支援既有設定後,再遷移規則。
透過連接埠範例了解用戶端、核心與遠端伺服器
以下以一組明確的連接埠範例說明各層之間的關係。這些不是所有用戶端的出廠預設值,也不是安裝時必須照抄的設定。本機監聽位址可設為 127.0.0.1,連接埠則以實際設定為準;遠端連接埠必須與伺服器設定一致。
在上述設定中,瀏覽器會先將請求送至本機 HTTP 入站 127.0.0.1:10809。核心收到請求後會檢查路由:符合直連規則時,直接連線至目標;符合代理規則時,才可能連線至遠端服務的 443 連接埠。把本機 HTTP 連接埠改成遠端連接埠,無法解決連線到伺服器的問題。
應用程式
→ 本機 HTTP 入站:127.0.0.1:10809
→ 核心路由判斷
→ 直連出站 → 目標網站
→ 代理出站 → 遠端伺服器:443 → 目標網站
有些版本使用混合入站,同一個監聽連接埠可接收多種代理請求,因此不一定有兩個獨立連接埠。若出現「位址已被使用」,應先檢查本機監聽連接埠是否衝突;若出現遠端交握或驗證錯誤,再檢查伺服器參數。兩種問題發生的位置不同,排除方式也不同。
切換與疑難排解:先記錄,再逐項測試
切換核心不是萬用的修復方法。用戶端能儲存節點,不代表核心已成功啟動;核心成功啟動,也不代表遠端驗證已成功。以下以 v2rayN 常見的介面操作路徑為例,實際標籤可能因版本與平台而異;若找不到相應選項,請勿自行建立同名設定欄位。
-
記錄目前狀態
開啟「說明」→「關於」,記下用戶端版本;再從啟動日誌記下核心名稱與版本。備份目前的設定,並記錄正在使用的節點與路由選項。
-
確認核心
前往「設定」→「參數設定」,尋找「Core 類型」或相應的核心類型設定頁面,確認目標協定所用的核心。若介面中沒有這個選項,請先查閱目前版本的說明文件以確認支援範圍,不要直接覆蓋核心檔案。
-
檢查入站設定
在「設定」→「參數設定」中檢查本機監聽位址與連接埠。若採用前述範例,請確認 HTTP 請求送至 10809;若使用混合入站,則以介面顯示的數值為準。
-
逐項測試
保留同一個節點與路由,只調整已確認相容的核心選項,儲存後重新啟動服務。查看第一筆錯誤日誌,再分別測試代理連線與直連,不要同時更動 DNS、傳輸方式及路由。
訂閱只是分發設定的入口,無法保證不同核心取得的有效設定完全一致。匯入時,用戶端需要解析欄位並產生核心設定;缺少傳輸路徑、服務名稱或安全參數等資訊,匯入時可能不會報錯,卻在連線階段失敗。排查時請逐項比對原始節點說明,不要公開貼出完整訂閱網址。
開源授權:核心與圖形介面分開確認
開源不代表所有元件都採用相同授權。V2Fly-core 使用 MIT License,Xray-core 使用 MPL 2.0;v2rayN、v2rayNG 專案採用 GPLv3。重新散布 v2flyNG 時,也應確認所用版本的授權條款及繼承程式碼聲明。應用程式內附的第三方相依套件也可能各自有授權義務,不能只看安裝套件名稱就下定論。
- 個人使用:優先留意相容性、設定來源與更新說明;一般使用軟體,不等於對外散布修改版本。
- MIT 授權程式碼:複製或散布時,須依授權保留著作權與授權聲明。
- MPL 2.0 授權程式碼:對外散布時,須留意受授權涵蓋的檔案,以及修改部分的原始碼提供等要求。
- GPLv3 程式:散布受授權涵蓋的程式或修改版本時,須依授權提供相應原始碼與授權文字;不能以核心採用較寬鬆的授權,取代圖形介面本身的義務。
以上是辨識授權條款時可參考的線索,並非針對所有組合與散布方式的法律結論。若準備二次開發、企業散布或重新打包,應檢查對應版本的 LICENSE、COPYING、第三方聲明及建置說明。網站上的品牌文字也不表示與這些上游專案有授權或營運關係。
常見問題:名稱相近時如何判斷
安裝 v2rayN,就代表正在使用 V2Fly 嗎?
不一定。請查看啟動日誌中的實際核心名稱,再確認核心類型設定。v2rayN 是圖形用戶端的名稱,無法據此判斷目前執行的核心;回報問題時,請一併提供用戶端與核心版本。
同一個訂閱,換到另一款 Android 用戶端就不能用了嗎?
先比較匯入後的節點數量與協定,再確認傳輸方式、安全參數及核心支援情況。接著檢查系統 VPN 權限與個別應用程式的涵蓋範圍。不要因為訂閱更新成功,就略過節點相容性檢查。
使用 Xray,就一定要把節點換成 VLESS 嗎?
不必因為核心名稱而更換協定。保留伺服器實際提供的協定,並確認目前核心是否支援即可。若只在用戶端將 VMess 改成 VLESS,而伺服器端未配合調整,就會造成連線失敗。
換了核心後可以連線,為什麼有些應用程式仍走直連?
先確認應用程式是否納入系統代理或 Android VPN 的接管範圍,再檢查路由是否將該應用程式或目標設為直連。若要進一步排查,請依照疑難排解中的層級逐項檢查,不要接連更換核心。