當訂閱中同時出現 VMess、VLESS、Trojan、WebSocket、gRPC 與 REALITY 節點時,真正決定節點能否啟動的,不只是客戶端名稱,還包括客戶端呼叫的核心程式、核心支援的傳輸與安全層,以及訂閱轉換後產生的設定欄位。Xray 與 V2Fly 有許多共同基礎,但並不是可以任意互換的兩個檔案。
本文適合正在選擇 v2rayN、v2rayNG 或 v2flyNG,或遇到「同一份訂閱在一台裝置可用、另一台裝置卻報錯」的使用者。重點在於辨識節點依賴的協定欄位,判斷 XTLS Vision 與 REALITY 的核心要求,並在遷移設定前完成相容性檢查。
同源分支:兩套核心的關係
V2Ray 最初建立了由入站、出站、路由、DNS、策略與傳輸層組成的設定模型。專案後續進入社群維護階段後,V2Fly 延續這套模型並持續維護 V2Ray Core。Xray 則從相同的技術基礎分支而出,保留大量設定物件與常見協定,同時持續擴充 VLESS、XTLS、REALITY、傳輸實作與效能路徑。
因此,兩者更接近「共享基礎語法、分別擴充能力」的關係,而不是一個單純取代另一個。VMess over TCP、VMess over WebSocket、一般 VLESS over TCP、SOCKS 入站,以及依網域路由等設定通常相當接近;一旦涉及 Xray 專屬的安全層或流控欄位,相容性的界線就會明顯浮現。
Xray 核心
推薦涵蓋 VLESS、XTLS Vision 與 REALITY 等常見的新型節點組合,v2rayN 和 v2rayNG 的主流設定流程也較完整。
適合:日常主力、REALITY 節點、混合協定訂閱
V2Fly 核心
延續 V2Ray 設定體系,適合 VMess、WebSocket、gRPC、一般 TLS,以及既有的 V2Fly 設定。
適合:既有節點、V2Fly 伺服器、優先維持設定一致性
- 共同基礎:兩者都採用 JSON 設定概念,包含 inbounds、outbounds、routing、dns、policy 等主要物件。
- 分支重點:Xray 新增並維護 XTLS 與 REALITY 相關能力,部分欄位只有 Xray 能解析。
- 選擇原則:先看節點需要哪些能力,再確認客戶端預設呼叫的核心,不要只用「新舊」來判斷。
判斷步驟:先展開節點參數
看到 security=reality、flow=xtls-rprx-vision 或 REALITY 公鑰欄位時,直接按 Xray 節點處理;只有 VMess、WebSocket 與一般 TLS 時,再依現有伺服器端與設定維護習慣選擇。
協定與安全層差異:XTLS、REALITY、VLESS
VMess 是兩套核心都能處理的基礎協定之一。只要位址、連接埠、使用者識別碼、傳輸方式、TLS 參數與伺服器端一致,VMess over TCP 或 WebSocket 通常都能在兩邊產生結構相近的出站設定。這裡的「相近」不代表整份設定可以直接複製,因為日誌、DNS、傳輸細節與實驗性欄位仍可能不同。
VLESS 本身是一種輕量協定。一般 VLESS 與 TLS 的組合不等同於 XTLS Vision;訂閱中出現 VLESS,也不代表一定需要 Xray。真正需要注意的是 flow 欄位、安全層名稱與對應的設定物件。流控值為 xtls-rprx-vision 時,應使用支援該流控的 Xray 核心,並確認客戶端在匯入過程中沒有捨棄 flow。
REALITY 位於傳輸安全層。除了位址、連接埠與使用者識別碼,客戶端還必須取得 serverName、fingerprint、公鑰、shortId 等參數。典型的伺服器端監聽連接埠是 443,但連接埠並不是判斷協定的依據;部署者也可以使用其他連接埠。僅憑連接埠號碼無法判斷節點是否為 REALITY。
| 能力或設定 | Xray 核心 | V2Fly 核心 | 操作判斷 |
|---|---|---|---|
| VMess + TCP/WebSocket | 支援 | 支援 | 核對傳輸路徑、Host、TLS 與連接埠 |
| 一般 VLESS + TLS | 支援 | 需依目前核心能力與設定進行檢查 | 不要將一般 TLS 與 Vision 混為一談 |
| VLESS + XTLS Vision | 支援 | 無法解析 Xray 專屬流控 | 選擇 Xray,並保留 flow 欄位 |
| VLESS + REALITY | 支援 | 不支援對應的安全層 | 使用 v2rayN 或 v2rayNG 的 Xray 核心 |
| 路由與 DNS 基礎物件 | 結構相近 | 結構相近 | 逐項檢查欄位,不要盲目覆蓋整份設定 |
設定相容性:哪些欄位可以重複使用
兩套核心都使用分層設定。inbounds 接收本機應用程式的流量,outbounds 定義遠端節點或直連出口,routing 依網域、IP、連接埠與網路類型選擇出口,dns 決定查詢方式。只使用這些基礎物件時,設定遷移通常有較高的成功率。
風險主要來自擴充欄位。Xray 的 REALITY 設定會在 streamSettings 中將 security 宣告為 reality,並使用 realitySettings 儲存伺服器名稱、客戶端指紋、公鑰與短識別碼。XTLS Vision 則常在 VLESS 使用者物件中出現 flow。V2Fly 遇到無法辨識的關鍵設定時,可能在啟動階段直接回報欄位或安全層錯誤,也可能由客戶端在產生設定時拒絕建立節點。
一般檢查路徑
outbounds → protocol → settings → 使用者與伺服器參數
outbounds → streamSettings → network → 傳輸方式
outbounds → streamSettings → security → 安全層
outbounds → streamSettings → tlsSettings / realitySettings
VLESS 使用者參數 → encryption / flow
訂閱連結本身也不是核心設定檔。伺服器端通常會回傳分享連結清單或訂閱資料,客戶端解析後才會產生執行時 JSON。同一份訂閱在 v2rayN 與 v2flyNG 中呈現不同結果,可能是解析器不支援對應欄位,也可能是底層核心不支援節點需求。排查時應先比較單一節點的詳細資料,而不是反覆刪除後重新加入整份訂閱。
可優先重複使用的部分
- 路由規則中的 domain、ip、port、network 與 outboundTag 等基礎條件。
- VMess 節點的位址、連接埠、使用者識別碼、alterId、傳輸方式與一般 TLS 參數。
- SOCKS 與 HTTP 本機入站連接埠,但遷移後要確認沒有被其他程序佔用。
- 一般 DNS 伺服器位址與查詢策略,但需重新確認對應版本接受的欄位名稱。
必須重新核對的部分
- security 是否為 reality,以及是否存在 realitySettings。
- VLESS 使用者物件是否包含 xtls-rprx-vision 流控。
- 傳輸層是否使用目標核心目前支援的網路類型與參數。
- 路由規則引用的 outboundTag 是否確實存在於目標設定中。
- DNS 出站、直連出站與阻斷出站的標籤是否與規則保持一致。
遷移結論:複製參數,不複製假設
位址、連接埠與使用者資訊可以逐項遷移;安全層、流控、DNS 與路由物件則必須依目標核心重新產生。這比直接替換整份 JSON 更容易定位報錯欄位。
客戶端選擇:v2rayN、v2rayNG 與 v2flyNG
v2rayN 是桌面端設定管理器,可管理訂閱、節點、路由與多個核心。面對同時包含 VMess、VLESS Vision 與 REALITY 的訂閱,相關節點應優先保留 Xray 作為執行核心。常見檢查路徑是「設定」→「參數設定」→「Core 類型設定」,確認 VLESS 與相關節點類型沒有被指定給不相容的核心。
執行節點後,可在日誌區確認實際啟動的核心名稱。若本機 SOCKS 連接埠使用 10808、HTTP 連接埠使用 10809,還要檢查系統代理是否指向目前的連接埠。當連接埠被瀏覽器擴充功能、舊核心程序或其他網路工具佔用時,即使節點設定正確,也無法正常接管流量。
v2rayNG 面向 Android 裝置,使用 Xray 核心,適合匯入 REALITY、VLESS Vision、VMess 與常見訂閱。匯入後進入節點編輯頁,重點核對傳輸協定、偽裝網域、指紋、公鑰、shortId 與流控。在長按節點執行實際連線測試前,應先啟動服務,並確認狀態列中的即時流量有所變化。
v2flyNG 面向需要 V2Fly 核心的 Android 環境,適合與 V2Fly 伺服器端及既有 VMess 設定保持一致。若訂閱同時包含 REALITY 節點,應將這類節點交由 v2rayNG 處理,而不是嘗試刪除欄位後連線。刪除 security、flow 或公鑰並不會把 REALITY 節點轉換成一般 TLS 節點,因為伺服器端的握手方式並未改變。
推薦方案:依節點能力分配客戶端
桌面端 v2rayN
- REALITY 與 Vision 節點使用 Xray
- 固定本機連接埠後再設定系統代理
- 更新訂閱後檢查核心日誌
Android 客戶端
- 由 v2rayNG 處理 Xray 節點
- 由 v2flyNG 處理既有的 V2Fly 設定
- 分別執行一次實際流量驗證
訂閱可以相同,但不要求每個客戶端都執行其中的所有節點;依核心能力篩選,比強行轉換設定更穩定。
v2rayN 的實際檢查順序
- 開啟訂閱群組,更新一次節點清單,確認目標節點沒有被解析成空白位址或零連接埠。
- 進入「設定」→「參數設定」→「Core 類型設定」,檢查 VLESS 對應的核心選擇。
- 雙擊節點,核對 security、flow、serverName、fingerprint、公鑰與 shortId。
- 啟動節點並開啟日誌,確認核心成功監聽 10808 或自訂的本機連接埠。
- 啟用系統代理後存取實際目標,再觀察上行與下行位元組數是否增加。
Android 端的實際檢查順序
- 在 v2rayNG 或 v2flyNG 中更新訂閱,記錄無法匯入的節點類型。
- 開啟單一節點詳細資料,對照服務提供者提供的協定與傳輸參數。
- 啟動服務後執行連線測試,避免只依賴訂閱清單中的延遲數字。
- 若連線失敗,先查看日誌中的第一筆核心錯誤,再處理 DNS 或路由問題。
效能與穩定性:核心名稱不是唯一變數
在相同伺服器、相同網路與相同傳輸方式下,兩套核心的日常吞吐量差異通常沒有協定是否相符來得重要。伺服器負載、線路丟包、往返延遲、壅塞控制、TLS 握手、DNS 查詢路徑與客戶端裝置效能都會影響結果。只用一次延遲測試替核心排序,結論很容易失真。
建議固定一個節點,在同一網路下連續測試三輪。記錄連線建立時間、網頁首個封包時間、持續下載速度與失敗次數。例如往返延遲約 53 毫秒、丟包率低於 1% 時,VMess over WebSocket 的差異可能主要來自線路波動;若使用 REALITY 節點,選擇 V2Fly 根本無法形成可比測試,因為協定能力不相符。
- 先驗證協定:核心必須完整支援節點使用的協定、安全層與流控。
- 再統一條件:固定伺服器、測試時間、網路連線方式與 DNS 設定。
- 最後查看日誌:區分握手失敗、逾時、DNS 錯誤、路由誤分流與連接埠佔用。
常見問題:匯入、報錯與切換處理
多數相容性問題都能從「訂閱解析、核心啟動、握手建立、流量接管」四個階段定位。先找出失敗發生在哪一層,再修改對應參數,效率高於不斷切換節點或重新安裝客戶端。
同一份訂閱在 v2rayNG 能用,v2flyNG 為什麼連不上?
開啟節點詳細資料,檢查 security 和 flow。若為 REALITY 或 xtls-rprx-vision,該節點依賴 Xray 能力,應保留在 v2rayNG;不要刪除欄位後再嘗試連線。
v2rayN 匯入 VLESS 後提示核心啟動失敗,該怎麼辦?
進入「設定」→「參數設定」→「Core 類型設定」,確認 VLESS 使用 Xray,再檢查節點的位址、連接埠、公鑰、shortId、serverName 與 flow。接著重新啟動核心並讀取第一筆錯誤日誌。
刪除 Xray 設定中的 realitySettings,可以改成 TLS 嗎?
不行。客戶端與伺服器端必須採用相同的握手方式。若要使用一般 TLS,伺服器端必須另外提供相應入站與完整節點參數;客戶端單方面刪除欄位無法完成協定轉換。
VMess 舊節點應該固定使用 V2Fly 嗎?
不必依節點的新舊程度決定。先在目前核心下核對位址、連接埠、使用者識別碼、傳輸路徑與 TLS;若既有的 V2Fly 設定長期穩定,可以繼續使用;混合訂閱則可由 Xray 統一處理常見節點。
節點顯示延遲,但瀏覽器沒有流量,該怎麼查?
確認核心正在監聽本機連接埠,再檢查系統代理是否指向 127.0.0.1:10809 或目前的 HTTP 連接埠。接著查看路由是否將目標誤送至直連或阻斷出口,並確認 DNS 查詢是否成功。
最終選擇清單
- 訂閱包含 REALITY 或 XTLS Vision:選擇 Xray 核心。
- 使用 v2rayNG:依 Xray 節點參數核對訂閱內容。
- 使用 v2flyNG:優先執行與 V2Fly 能力相符的既有節點。
- 使用 v2rayN:依協定設定核心,不要只替換執行檔。
- 遷移路由與 DNS:逐項檢查標籤、欄位及目標版本的支援範圍。
- 測試效能:至少連續三輪,同時記錄日誌、丟包與實際流量。
最終結論:節點能力決定核心
REALITY 與 XTLS Vision 直接選擇 Xray;已有 V2Fly 伺服器端與穩定 VMess 設定則可繼續使用 V2Fly。客戶端名稱只是管理入口,協定欄位與執行日誌才是判斷相容性的依據。