本文適合正在選擇用戶端、匯入訂閱後遇到核心相容性問題,或分不清 V2Ray、V2Fly、Xray 名稱的使用者。讀完即可判斷專案、核心、用戶端與協定各自所處的層級,並能在 v2rayN 中檢查 Core 類型、日誌版本、監聽連接埠與實際執行狀態。
Project V、V2Ray、V2Fly 與 Xray 的名稱層級
Project V 是這套技術體系早期使用的專案名稱,V2Ray 則是其中最廣為人知的網路代理核心。許多教學會把兩者視為同一套軟體,日常操作通常不受影響;但討論維護分支、設定相容性與用戶端選擇時,必須區分專案名稱與具體核心。
V2Ray 最早於 2015 年公開發展,核心程式負責入站監聽、協定交握、路由比對、DNS 查詢與出站連線。本身並不是帶有完整桌面視窗的用戶端。使用者看到的訂閱清單、延遲測試、系統匣選單與系統代理切換,通常由 v2rayN 等圖形用戶端提供。
約在 2020 年,原有生態進入社群維護階段,V2Fly 成為延續 v2ray-core 的社群專案體系。此後文件中常見的 V2Fly、v2fly-core 與 V2Ray 5.x,通常指向這條社群維護路線。名稱變化不代表舊設定會立即失效,但設定格式、功能模組與版本支援範圍仍會持續演進。
Xray 則是在相同技術基礎上發展出的另一個核心家族。它保留了許多使用者熟悉的設定概念,包括 inbounds、outbounds、routing 與 dns,同時形成獨立的功能迭代節奏。兩條路線具有歷史關聯,但發行版本、實作細節與功能可用性不能直接畫上等號。
結論:先確認層級,再比較名稱
看到「V2Ray」時,先判斷它指的是生態統稱、v2fly-core 核心,還是用戶端中的 Core 選項。只有落實到具體核心與版本後,協定支援與設定相容性才有比較基礎。
核心與圖形用戶端各自負責什麼
核心是實際處理網路流量的程式。應用程式將請求送到本機 SOCKS 或 HTTP 連接埠後,核心讀取目標網域與 IP,依路由規則選擇直連、代理或阻斷出站,再執行 VMess、VLESS 等協定所需的連線流程。DNS 分流、網域嗅探與連線日誌也主要由核心完成。
圖形用戶端負責將這些功能轉化為可操作的介面。它會儲存訂閱網址、將訂閱內容轉換為節點清單、產生核心設定、啟動或停止核心程序,並修改系統代理。關閉圖形介面後是否繼續執行,取決於用戶端的系統匣設定與核心程序狀態,不能只看視窗是否存在。
因此,「用戶端版本」與「核心版本」是兩組數字。以 v2rayN 7.x 為例,介面上的版本號屬於 v2rayN;執行日誌中顯示的 Xray 25.x 或 v2fly-core 5.x,才是目前呼叫的核心版本。排查故障時只提供用戶端版本,往往不足以判斷設定欄位是否受支援。
| 層級 | 主要職責 | 常見可見內容 | 故障表現 |
|---|---|---|---|
| 圖形用戶端 | 訂閱管理、節點選擇、產生設定、切換系統代理 | 伺服器清單、系統匣選單、延遲結果 | 訂閱未更新、節點未選取、系統代理未啟用 |
| 代理核心 | 協定連線、路由分流、DNS 解析、流量轉送 | 啟動日誌、監聽位址、連線錯誤 | 設定欄位不相容、交握失敗、連接埠被佔用 |
| 訂閱內容 | 傳遞伺服器位址、連接埠、使用者識別與傳輸參數 | VMess、VLESS 節點及群組名稱 | 欄位缺失、參數過期、目前核心無法辨識 |
設定提示:看到「啟動成功」只代表核心程序已執行。還要確認日誌中存在 127.0.0.1:10808 或用戶端設定的實際監聽連接埠,並檢查目標應用程式是否使用該連接埠。
v2rayN、v2rayNG 與 v2flyNG 分別對應哪些核心
v2rayN 是桌面端圖形用戶端,核心優勢是設定管理功能較完整。它可以管理訂閱、路由規則、系統代理與 TUN 模式,並透過 Core 類型決定由哪個核心處理目前節點。不同 v2rayN 版本提供的選項可能有所變化,因此不能只憑用戶端名稱判定目前一定執行哪條核心路線。
v2rayNG 是 Android 用戶端,常見發行版本使用 Xray 核心。使用者在介面中匯入 VMess 或 VLESS 節點後,用戶端會將分享參數轉換為 Xray 可讀取的執行設定。協定能否連線仍取決於傳輸層、安全參數與伺服器設定,不是看到「Xray」名稱就代表能自動相容所有節點。
v2flyNG 同樣面向 Android 端,但定位更接近 V2Fly 社群核心路線。需要驗證 v2fly-core 行為、使用相應設定能力,或希望行動端與伺服器維持同一核心家族時,可以優先考慮它。兩款 Android 用戶端的介面操作相似,但底層實作與功能更新節奏仍需分別判斷。
| 用戶端 | 平台定位 | 常見核心關係 | 適用情境 |
|---|---|---|---|
| v2rayN | 桌面端 | 可在支援的版本中選擇 Xray 或 v2fly Core | 訂閱管理、複雜路由、系統代理與 TUN |
| v2rayNG | Android 端 | 以 Xray 核心為主 | 使用 Xray 功能與常見分享連結 |
| v2flyNG | Android 端 | 使用 v2fly 核心路線 | 維持 V2Fly 設定與執行行為的一致性 |
- 同一份訂閱可以包含多種協定節點,用戶端名稱不等於訂閱協定名稱。
- 同一個 VMess 節點可能同時受到兩條核心路線支援,但傳輸參數與邊界欄位仍可能存在差異。
- VLESS 只是協定識別,還要繼續核對傳輸方式、安全設定、伺服器版本與用戶端核心能力。
- 路由規則屬於本機設定。更換用戶端後,舊用戶端中的自訂直連與阻斷規則通常需要重新匯入或建立。
結論:依設定能力選擇用戶端
桌面端需要切換核心並維護複雜規則時,使用 v2rayN;Android 端偏向 Xray 路線時選擇 v2rayNG,明確需要 v2fly 核心行為時選擇 v2flyNG。
在 v2rayN 中確認並切換 Core 類型
切換核心前先記錄目前可用節點與路由設定,然後查看用戶端日誌。日誌開頭通常會列出核心名稱、版本與設定載入結果。如果日誌只顯示連接埠監聽失敗,應先關閉佔用 10808 或 10809 的舊程序,不要不斷切換協定來掩蓋真正原因。
以下路徑以 v2rayN 7.x 的設定結構為例。小版本可能調整文字位置,但檢查順序不變:先確認 Core 類型,再重新啟動連線,最後透過日誌驗證實際啟動的核心。只修改下拉選單卻沒有重新連線,舊核心程序可能仍在處理流量。
停止目前連線
在 v2rayN 主介面停止目前核心,等待狀態列從執行中切換為已停止,避免舊程序繼續佔用本機連接埠。
開啟核心設定
進入「設定」→「參數設定」→「Core 類型」,查看目前節點類型對應的核心選項。
選擇目標核心
依測試目標選擇 Xray 或 v2fly Core。若選項無法使用,先檢查目前用戶端版本是否包含對應的核心檔案。
重新連線節點
儲存設定後返回伺服器清單,選取原有節點並重新啟動。不要同時修改協定、路由與 DNS,否則難以定位差異來源。
核對啟動日誌
開啟日誌視窗,確認核心名稱與版本已變更,並檢查 SOCKS 連接埠 10808、HTTP 連接埠 10809 或自訂連接埠是否監聽成功。
注意:Core 類型不是越新越合適。訂閱節點依賴特定欄位時,切換後若出現「unknown field」「failed to parse config」或出站建立失敗,應恢復原核心,再逐項核對設定能力。
協定、訂閱與路由為什麼不能混為一談
VMess 和 VLESS 描述用戶端與伺服器之間如何建立代理連線;訂閱描述節點參數如何批次分發;路由分流描述本機流量應送往哪個出站。三者位於不同層級。訂閱更新成功只表示用戶端取得了內容,不代表每個節點都能被目前核心解析並連線。
例如,瀏覽器存取某個網域時,請求可能先進入本機 HTTP 連接埠 10809,再由核心進行網域嗅探與 DNS 查詢。路由規則比對到直連後,該請求不會使用訂閱節點;比對到代理後,才會進入 VMess 或 VLESS 出站。此時連線結果還會受到位址、連接埠、傳輸層與伺服器設定影響。
DNS 也不是附屬開關。若本機網域解析結果與路由規則預期不一致,使用者可能誤判為核心不相容。比較 V2Fly 與 Xray 時,應使用同一個節點、同一套 DNS、相同路由規則與相同測試目標,每輪只替換 Core 類型,測試結果才具參考價值。
| 概念 | 回答的問題 | 典型設定 | 驗證方式 |
|---|---|---|---|
| VMess、VLESS | 代理連線依哪種協定建立 | 位址、連接埠、使用者識別、傳輸與安全參數 | 查看交握與出站日誌 |
| 訂閱 | 節點如何批次加入用戶端 | 訂閱網址、群組、更新策略 | 核對更新時間與節點數量 |
| 路由分流 | 某個請求要走直連、代理還是阻斷 | 網域規則、IP 規則、入站標籤 | 查看規則命中與出站標籤 |
| DNS | 網域由哪個解析器查詢 | 伺服器群組、查詢策略、比對網域 | 比較解析結果與核心日誌 |
結論:一次只修改一個變數
比較 V2Fly 與 Xray 時固定節點、DNS、路由與本機連接埠,只切換 Core 類型並重複存取同一個目標。若同時更新訂閱或修改規則,測試便無法說明差異來自哪個環節。
選擇用戶端時應檢查的五項設定事實
一般使用者不需要根據專案歷史做抽象式選邊。真正影響連線的是目前用戶端能否正確產生設定、核心能否辨識訂閱欄位、伺服器是否支援相同參數,以及本機路由與 DNS 是否符合使用情境。選擇時從設定事實出發,比只看名稱更可靠。
第一項是協定與傳輸參數。節點標記為 VMess 或 VLESS 後,還要檢查 TCP、WebSocket、gRPC 等傳輸方式及相應安全設定。第二項是核心版本,同一核心家族的舊版本也可能缺少新欄位。第三項是用戶端轉換邏輯,匯入分享連結後應開啟節點編輯頁,核對位址、連接埠與傳輸參數。
第四項是本機接管方式。系統代理只影響遵循系統代理設定的應用程式;TUN 模式則透過虛擬網路介面接管更多流量。第五項是路由與 DNS。測試核心前可以暫時使用簡單規則,確認基本連線後再恢復網域分組、IP 規則與自訂 DNS,減少排查分支。
- 在用戶端日誌中記錄核心名稱與版本系列,不要只記錄圖形用戶端版本。
- 核對節點編輯頁中的伺服器位址、遠端連接埠、協定、傳輸與安全參數。
- 確認本機監聽位址為
127.0.0.1,並記錄 SOCKS、HTTP 的實際連接埠。 - 使用同一個目標分別測試直連規則與代理規則,觀察出站標籤是否符合預期。
- 出現解析問題時,單獨檢查 DNS 日誌,不要直接歸因於節點速度或核心分支。
測試建議:首次比較可連續執行三輪相同任務,每輪記錄連線是否成功、首次回應時間與日誌錯誤。三輪都在同一個步驟失敗後,再針對該設定欄位檢查相容性。
常見問題與具體處理方法
名稱相近造成的問題通常集中在三類:把圖形用戶端當成核心、把訂閱匯入成功當成節點可用,以及切換 Core 後沒有檢查日誌。以下問題都可以透過用戶端介面與本機日誌進行初步定位。
安裝了 v2rayN,執行的一定是 V2Fly 嗎?
不一定。進入「設定」→「參數設定」→「Core 類型」查看選項,重新連線後再從啟動日誌確認實際執行的是 Xray 還是 v2fly Core。
同一份訂閱為什麼有些節點能連線,有些不能?
逐一開啟節點編輯頁,比較協定、遠端連接埠、傳輸方式與安全參數。訂閱只是批次傳遞設定,不同節點可能依賴不同核心能力或伺服器版本。
切換核心後提示連接埠被佔用,該怎麼辦?
先停止目前核心並結束殘留程序,再檢查 10808 與 10809 是否被其他程式監聽。也可以在參數設定中改用未被佔用的連接埠,儲存後重新啟動。
節點已連線但瀏覽器沒有流量,該怎麼辦?
先確認系統代理已啟用,再檢查瀏覽器是否使用獨立代理設定。手動設定時,HTTP 代理應填入用戶端顯示的 HTTP 連接埠,SOCKS5 則填入對應的 SOCKS 連接埠。
Android 端應該選 v2rayNG 還是 v2flyNG?
訂閱明確依賴 Xray 功能時,優先測試 v2rayNG;需要與 v2fly-core 環境保持一致時,選擇 v2flyNG。匯入後仍要核對節點欄位並執行實際連線測試。
總結來說,Project V 是理解生態歷史的入口,V2Fly 與 Xray 是沿著不同維護路線發展的核心家族,v2rayN、v2rayNG、v2flyNG 則是使用者直接操作的用戶端。選擇時先確認平台與用戶端,再看實際執行核心,最後核對協定、訂閱、路由與 DNS。釐清名稱後,大多數相容性問題都能落實到某項具體設定或一則日誌。