本文速覽

本文適合正在選擇用戶端、匯入訂閱後遇到核心相容性問題,或分不清 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,同時形成獨立的功能迭代節奏。兩條路線具有歷史關聯,但發行版本、實作細節與功能可用性不能直接畫上等號。

2015
V2Ray 專案開始發展的年份
2020
社群分支逐漸明確的階段
10808
常見本機 SOCKS 監聽連接埠
10809
常見本機 HTTP 監聽連接埠

結論:先確認層級,再比較名稱

看到「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 設定與執行行為的一致性

結論:依設定能力選擇用戶端

桌面端需要切換核心並維護複雜規則時,使用 v2rayN;Android 端偏向 Xray 路線時選擇 v2rayNG,明確需要 v2fly 核心行為時選擇 v2flyNG。

在 v2rayN 中確認並切換 Core 類型

切換核心前先記錄目前可用節點與路由設定,然後查看用戶端日誌。日誌開頭通常會列出核心名稱、版本與設定載入結果。如果日誌只顯示連接埠監聽失敗,應先關閉佔用 10808 或 10809 的舊程序,不要不斷切換協定來掩蓋真正原因。

以下路徑以 v2rayN 7.x 的設定結構為例。小版本可能調整文字位置,但檢查順序不變:先確認 Core 類型,再重新啟動連線,最後透過日誌驗證實際啟動的核心。只修改下拉選單卻沒有重新連線,舊核心程序可能仍在處理流量。

  1. 停止目前連線

    在 v2rayN 主介面停止目前核心,等待狀態列從執行中切換為已停止,避免舊程序繼續佔用本機連接埠。

  2. 開啟核心設定

    進入「設定」→「參數設定」→「Core 類型」,查看目前節點類型對應的核心選項。

  3. 選擇目標核心

    依測試目標選擇 Xray 或 v2fly Core。若選項無法使用,先檢查目前用戶端版本是否包含對應的核心檔案。

  4. 重新連線節點

    儲存設定後返回伺服器清單,選取原有節點並重新啟動。不要同時修改協定、路由與 DNS,否則難以定位差異來源。

  5. 核對啟動日誌

    開啟日誌視窗,確認核心名稱與版本已變更,並檢查 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,減少排查分支。

  1. 在用戶端日誌中記錄核心名稱與版本系列,不要只記錄圖形用戶端版本。
  2. 核對節點編輯頁中的伺服器位址、遠端連接埠、協定、傳輸與安全參數。
  3. 確認本機監聽位址為 127.0.0.1,並記錄 SOCKS、HTTP 的實際連接埠。
  4. 使用同一個目標分別測試直連規則與代理規則,觀察出站標籤是否符合預期。
  5. 出現解析問題時,單獨檢查 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。釐清名稱後,大多數相容性問題都能落實到某項具體設定或一則日誌。