Project V 是一套專案體系,V2Fly 與 Xray 是不同的維護路線;v2rayN、v2rayNG、v2flyNG 則是用來管理設定的用戶端。本文適合正在挑選用戶端、確認節點需求或準備切換核心的使用者:先釐清介面、核心與協定的差別,再依伺服器參數確認相容性。
Project V、V2Fly 與 Xray:先釐清專案層級
先說結論:這些名稱不是同一款軟體換了不同介面。Project V 最初以 V2Ray 為核心,發展出一套網路代理工具;日常所說的「V2Ray」可能指整個專案,也可能特指負責處理連線的核心。安裝與排除問題時,務必分清這兩種用法。
約在 2020 年,V2Fly 社群逐步接手原專案的維護工作。V2Fly 延續 V2Ray 核心的開發;Xray 則在 2020 年以 V2Ray 程式碼為基礎分支,走上獨立發展路線。兩者源自同一脈絡,但發布時程、功能與設定支援不盡相同,不能把其中一方的文件當成另一方目前適用的規範。
Project V / V2Ray 專案體系
└─ V2Ray 程式碼基礎
├─ V2Fly:延續維護 V2Ray 核心
└─ Xray:2020 年分支出的獨立核心路線
圖形操作層
├─ v2rayN:桌面用戶端,依版本與節點類型呼叫支援的核心
├─ v2rayNG:Android 用戶端,主要使用 Xray 核心
└─ v2flyNG:Android 用戶端,使用 V2Fly 的 V2Ray 核心
上圖呈現的是程式碼沿革與各自職責,不代表三款用戶端由同一個專案統一發布。用戶端版本與核心版本也採用不同的編號。更新介面程式,不一定代表目前執行的核心也已同步更新;請查看啟動記錄確認實際版本,不要只看視窗標題。
用戶端與核心:介面設定如何轉成網路連線
圖形用戶端負責訂閱、節點清單、參數編輯、系統代理與程序管理;核心則負責本機監聽、協定交握、DNS 與路由執行。按下「連線」後,用戶端通常會先產生執行設定,再啟動或呼叫核心。Android 用戶端還會透過系統 VPN 服務接收裝置流量;這與遠端節點使用哪種協定是兩回事。
| 名稱 | 主要職責 | 確認位置 |
|---|---|---|
| v2rayN | 管理桌面節點、訂閱與系統代理,並調度核心;支援範圍依版本而異 | 「設定」→「參數設定」及啟動記錄 |
| v2rayNG | 管理 Android 節點,主要呼叫 Xray,並透過系統 VPN 服務接收流量 | 側邊選單中的「設定」與「記錄」 |
| v2flyNG | 管理 Android 節點,呼叫 V2Fly 核心 | 應用程式設定與核心啟動記錄 |
| V2Fly / Xray | 解析設定、建立連線、執行 DNS 與路由規則 | 實際執行設定與核心記錄 |
v2rayN 支援多種核心,實際可選項目請以目前版本為準。需要切換時,先查看「設定」→「參數設定」中與 Core 或核心相關的項目;各版本的子頁名稱可能不同。不要只把一個執行檔改名成另一種核心的檔名,這不會轉換設定格式,也不會增加協定支援。
- 用戶端無法開啟:先檢查執行環境、資料夾權限與程式記錄;問題可能尚未進入核心層。
- 核心啟動後立即結束:檢查設定解析、欄位支援情況,以及監聽連接埠是否被占用。
- 核心正常執行但節點逾時:接著檢查遠端位址、連接埠、傳輸方式、TLS 與驗證參數。
VMess、VLESS 與 REALITY:支援協定不代表整組參數都相容
VMess、VLESS 是代理協定名稱,不是用戶端名稱。WebSocket、gRPC 等屬於傳輸方式;TLS 與 REALITY 則涉及連線安全層的設定。節點能否使用,取決於協定、傳輸方式、安全層與具體版本的組合,不能只看「清單上有 VLESS」就下結論。
尤其要分清 VLESS 與 REALITY。VLESS 本身不負責加密,實際部署時需要搭配適當的安全傳輸。遇到 VLESS + REALITY 節點,應使用明確支援此組合的核心,並完整保留 serverName、publicKey、shortId,以及伺服器要求的 flow 等參數。不能把它當成一般 VLESS + TLS 匯入後,再多勾選一個選項就算完成。
Xray 核心
建議若伺服器明確提供 VLESS + REALITY,或要求使用 Xray 特定功能,建議選擇相符版本的 Xray。此建議是以節點參數相容性為依據,不代表適用於所有網路環境或保證連線速度。
適用情況:伺服器明確要求 Xray,或節點需要 REALITY 設定
V2Fly 的 V2Ray 核心
適合已依照 V2Fly 文件部署並驗證的設定。若已有 VMess 等節點,請先確認傳輸方式與版本支援情況,不必只因核心名稱不同就更換伺服器。
適用情況:已部署 V2Fly,且需要讓設定與文件保持一致的環境
結論:先取得完整參數,再決定使用哪種核心
向服務提供者確認協定、傳輸方式、安全層與核心最低版本要求。確認這四項資訊後再匯入用戶端,比反覆切換核心、猜測缺少的欄位更容易找出問題。
訂閱、JSON 與路由:哪些設定可以轉移
訂閱是批次取得節點資訊的方式,不是另一種代理協定。訂閱內容可能是分享連結集合,也可能是某種完整設定。用戶端能否讀取,取決於內容格式與解析器。Base64 只是一種編碼方式,不會讓不同用戶端的設定自動相容。
- 在 v2rayN 的「訂閱分組」→「訂閱分組設定」中檢查訂閱網址;在 v2rayNG 中,從側邊選單開啟「訂閱分組設定」。不同版本的項目名稱可能略有差異。
- 更新後開啟任一節點的編輯視窗,逐項確認位址、連接埠、使用者識別碼、傳輸類型與 TLS 參數;不要只確認節點名稱有出現在清單中。
- 遇到「無法解析」時,先確認伺服器回傳的是訂閱內容,而不是登入頁面、到期提示或網頁錯誤訊息。訂閱網址含有存取憑證,不應公開貼到論壇。
- 從完整 JSON 移轉時,先確認目標核心與設定格式。成功解析訂閱,不代表自訂 DNS、路由與本機入站設定也會一併移轉。
在常見的 V2Ray / Xray JSON 設定中,inbounds 定義本機入口,outbounds 定義連線出口,routing.rules 則決定符合條件的流量要走哪個出口。以下僅展示路由片段,表示將來自 local-socks 的流量交給 proxy 出站;這不是可獨立啟動的完整設定。
{
"routing": {
"rules": [
{
"type": "field",
"inboundTag": ["local-socks"],
"outboundTag": "proxy"
}
]
}
}
配套設定必須包含 tag 為 local-socks 的入站,以及 tag 為 proxy 的出站。標籤拼字不同,路由就無法依預期運作。完整欄位與路由規則請參閱路由分流設定參考;若切換到設定格式不同的核心,請勿直接複製這段 JSON。
系統代理、TUN 與連接埠:如何確認連線路徑
桌面系統代理會讓遵循系統代理設定的應用程式,將流量送到本機監聽連接埠;TUN 則透過虛擬網路介面接收流量,需要用戶端與對應核心共同支援。兩者都不等同於 VMess 或 VLESS,也不是匯入訂閱後就一定會自動啟用的功能。
以下三個連接埠僅用來說明一條連線路徑,不代表所有版本的預設值。請先從實際設定確認本機監聽連接埠,再對照應用程式代理與遠端節點連接埠;不要把遠端的 443 填入瀏覽器的本機代理連接埠欄位。
- 本機路徑:應用程式 →
127.0.0.1:10808的 SOCKS 監聽 → 核心。若用戶端使用混合入站,HTTP 與 SOCKS 可能共用連接埠,請以目前設定為準。 - 遠端路徑:核心 → 節點位址與遠端連接埠 → 目標網站。變更本機監聽連接埠,不會改變伺服器端的監聽連接埠。
- Android 路徑:應用程式流量 → 系統 VPN 服務 → 用戶端核心。看到 VPN 圖示只代表本機流量接管已建立,不能光憑圖示判斷節點是否連得上。
- TUN 疑難排解:檢查虛擬介面、權限、DNS 與路由接管,再檢查節點交握。不要憑空假設所有核心都通用同一個 TUN JSON 欄位。
用戶端選擇與切換:常見問題
選擇順序應是平台、節點參數、核心支援,最後才考慮介面偏好。桌面用戶端先確認目前版本的 v2rayN 支援哪些核心;Android 則依節點需求選擇 v2rayNG 或 v2flyNG。移轉前先備份訂閱分組與自訂規則,測試時一次只變更一項。
已安裝 v2rayN,還需要另外安裝 V2Ray 介面嗎?
通常不需要。先啟動已安裝的 v2rayN,選擇節點後查看記錄中的實際核心名稱與版本。若提示缺少核心檔案,請依目前版本的說明補齊相應元件;不要為了解決同一個檔案缺漏,重複安裝多個介面。
v2rayNG 和 v2flyNG 只是名稱不同嗎?
不是。兩者分別以 Xray 與 V2Fly 核心運作,支援功能也會隨版本改變。取得 REALITY 節點時,先確認 Xray 支援情況;若已有 V2Fly 設定,則先用對應核心驗證,不要只憑應用程式圖示或名稱相似度來選擇。
同一份訂閱在桌面可用,為什麼 Android 會逾時?
先比對兩台裝置上的節點編輯資訊,特別是傳輸類型、伺服器名稱與安全層參數;接著查看各自記錄中的核心版本。若參數一致,再檢查 Android 的 VPN 權限、個別應用程式設定、裝置時間與目前網路;不要直接認定訂閱已失效。
切換核心後,需要把所有規則重寫一次嗎?
先分清由用戶端管理的規則與手動撰寫的 JSON。前者可能由用戶端重新產生,仍須檢查實際執行結果;後者則必須依目標核心文件逐項驗證。先測試一個節點與一條明確的路由,再恢復複雜分流,可減少多個錯誤同時發生的情況。
最後請保留三項記錄:用戶端版本、記錄顯示的核心版本,以及已去識別化的節點參數。回報問題時附上這些資訊與相關錯誤行,比只寫「V2Ray 連不上」更有助於判斷問題出在介面、設定、協定還是網路層。