選擇核心前,先確認節點要求的協定、傳輸方式與安全層,再檢查客戶端能否正確產生設定。本文適合正在使用 v2rayN,或打算在 Android 裝置上選用 v2rayNG、v2flyNG 的讀者,重點說明 REALITY 與 Vision 的相依條件、兩種設定無法直接互換的原因,以及切換核心時如何保留可還原的工作狀態。
先釐清客戶端、核心與伺服器
v2rayN 是桌面圖形介面客戶端,負責管理訂閱、編輯節點、切換代理及產生設定;Xray-core 與 V2Fly 維護的 V2Ray 則負責實際處理連線。客戶端視窗能正常開啟,不代表核心已成功啟動;節點顯示在清單中,也不代表目前使用的核心支援節點的所有欄位。
Xray 與 V2Fly 有共同的技術沿革,但已各自發展。將 Xray 視為「任何情況下都能替換的新版 V2Ray」並不準確;反過來說,兩份設定都出現 inbounds、outbounds,也不代表彼此完全相容。
- 桌面端:使用 v2rayN 時,請確認目前客戶端版本支援的核心與節點類型,並查看啟動記錄確認實際執行的核心,不要只看安裝資料夾中的檔名。
- Android 端:v2rayNG 採用 Xray 核心;v2flyNG 採用 V2Fly 核心。兩者不是同一個應用程式中的不同外觀主題。
- 伺服器端:客戶端不一定要與伺服器使用相同名稱的核心,但雙方必須支援相同的協定組合,並使用一致的驗證、傳輸與安全參數。
協定支援差異:不能只看 VLESS 或 VMess 名稱
節點完整的功能需求,通常由代理協定、傳輸方式與安全層共同決定。VLESS 是代理協定,WebSocket 是傳輸方式,TLS 與 REALITY 涉及連線安全機制,而 Vision 則是 Xray 在相關情境中使用的流量控制機制。這些項目屬於不同層級,不能互相取代。
| 節點需求 | Xray | V2Fly | 選擇前檢查 |
|---|---|---|---|
| VMess + WebSocket + TLS | 常見支援組合 | 常見支援組合 | 驗證參數、路徑、Host 與 TLS 名稱 |
| VLESS 基本協定 | 支援,並具備自身的擴充功能 | 部分版本或設定架構有相關實作,請確認使用的版本 | 不能只憑 VLESS 名稱判定完全相容 |
| VLESS + REALITY | 屬於 Xray 的典型使用情境 | 無法直接套用 Xray REALITY 設定 | 公鑰、服務名稱、短 ID 與傳輸需求 |
| xtls-rprx-vision | 需要使用支援該組合的 Xray 版本 | 不支援此 Xray 流量控制值 | 確認伺服器是否明確要求此 flow |
| SOCKS / HTTP 本機入口 | 支援常見的本機代理入口 | 支援常見的本機代理入口 | 監聽位址、連接埠與應用程式代理設定 |
尤其要避免將「V2Fly 是否支援 VLESS」簡化成不受版本限制的定論。實際排查時,應確認目前使用的執行檔、設定格式與節點需求;但如果訂閱明確帶有 security=reality 或 flow=xtls-rprx-vision,就不能把它當成一般 VLESS 節點交由 V2Fly 執行。
結論:依節點需求選擇核心
節點明確要求 REALITY 或 Vision 時,請選用支援該組合的 Xray 環境;若現有 VMess + WebSocket + TLS 節點運作穩定,就不必只為了更換核心名稱而重建設定。
設定欄位相容性:能讀取 JSON 不代表連線就能建立
兩邊的設定可能使用相似欄位,但欄位位置、可用值與執行時語意都可能不同。V2Fly 的不同設定格式也不能混為一談。客戶端產生的完整設定通常還包含 DNS、路由與本機入站設定,只複製單一出站物件並不等於完成遷移。
以下兩張卡片列出需要逐項確認的參數組合,不是可直接匯入的節點,也未包含伺服器位址與驗證資訊。WebSocket 路徑 /ws 僅供示範,實際設定請以伺服器端為準。
VLESS + REALITY + Vision
- 協定
- VLESS
- 傳輸方式
- TCP,介面名稱可能因版本而異
- 安全層
- REALITY
- Flow
xtls-rprx-vision- 檢查項目
- 服務名稱、公鑰、短 ID
此組合需要相應的 Xray 功能;不要藉由刪除安全欄位來嘗試相容其他核心。
VMess + WebSocket + TLS
- 協定
- VMess
- 傳輸方式
- WebSocket
- 路徑範例
/ws- 安全層
- TLS
- 檢查項目
- UUID、Host、服務名稱
兩種核心都有常見的支援情境,但仍須依各自的設定格式產生欄位。
- 協定欄位:確認 UUID、加密參數與 flow,不要將某種協定的驗證欄位直接套用到另一種協定。
- 傳輸欄位:路徑、要求標頭與傳輸名稱都要對照目前版本;舊教學使用的名稱不一定適用於新設定。
- 安全欄位:TLS 的服務名稱與 WebSocket 的 Host 用途不同;即使範例中填入相同網域,也不代表兩者一定相同。
- 路由欄位:確認出站標籤仍然存在。若規則引用了舊標籤,問題可能出在路由階段,而不是協定交握階段。
匯入訂閱與路由分流:切換後重新驗證
訂閱連結是分發節點的入口,不是實際執行的核心。訂閱更新成功,只能表示下載與解析的部分步驟已完成;某些版本的客戶端可能會忽略不認識的欄位,或無法產生相應的出站設定。因此,看到伺服器數量增加後,還要開啟節點編輯畫面核對重要參數。
- 保留原有群組:先匯出必要設定並妥善保存訂閱網址,在新群組中測試,不要覆寫唯一可用的設定。
- 檢查匯入結果:依照服務提供者的說明,確認協定、連接埠、傳輸方式、安全層與 flow。REALITY 節點也要確認公鑰、服務名稱與短 ID。
- 確認執行中的核心:重新啟動連線,查看記錄中的核心資訊、啟動錯誤與監聽狀態。只修改節點備註並不會切換核心。
- 分別驗證出站連線:先確認指定節點能否連上測試目標,再確認直連網域與代理網域是否符合預期規則。
路由分流取決於規則順序、DNS 解析策略、網域與 IP 規則資料,以及嗅探設定。若兩次測試使用不同的規則檔或 DNS,結果差異就不能直接歸因於 Xray 或 V2Fly。系統代理與 TUN 的接管範圍也不同;測試核心時應維持相同的接管方式。
本機連接埠與交握錯誤:依連線階段排查
「切換後無法連網」不足以判斷核心優劣。先區分核心啟動失敗、本機入口無法使用與遠端交握失敗,通常比反覆更換節點有效。以下數字是用來說明連線流程的設定範例,不代表所有客戶端的預設值。
| 記錄或現象 | 優先檢查項目 | 下一步處理方式 |
|---|---|---|
unknown field 或設定載入失敗 | 欄位位置、設定格式與核心版本 | 請目前的客戶端重新產生設定,不要直接刪除未知欄位 |
address already in use | 本機監聽連接埠是否已被占用 | 關閉重複執行的代理程序,或同步調整監聽與應用程式連接埠 |
connection refused | 錯誤指向本機位址還是遠端位址 | 先檢查本機監聽,再確認遠端服務是否已開放及連接埠是否正確 |
| 憑證名稱不相符 | TLS 服務名稱、憑證與系統時間 | 修正名稱與時間,不要把略過驗證當成一般修復方式 |
| 交握失敗或連線逾時 | 協定參數與網路連線狀況 | 確認參數後再檢查網路;單憑錯誤訊息無法判定原因 |
例如,應用程式連線至 127.0.0.1:10808 時遭到拒絕,應先確認核心是否正在該位址監聽,不必立刻懷疑遠端 443。若本機入口可用,但記錄顯示遠端交握失敗,再檢查 UUID、服務名稱與安全參數。這兩個階段的排查方向完全不同。
更新狀況與效能比較:一次只調整一個變數
Xray 與 V2Fly 各自維護發布記錄,版本編號不能直接比較,也不能只看發布日期判斷哪個更適合目前的節點。實際能否使用,還取決於圖形介面客戶端是否支援新增欄位、隨附核心是否相符,以及伺服器端是否採用相應功能。
效能也不能脫離環境直接下定論。線路壅塞、伺服器負載、傳輸方式、DNS 與路由都可能影響測速;若將不同協定、不同線路的測試結果放在一起,就無法得出某個核心固定快多少的結論。
- 建立基準:記錄客戶端與核心的實際版本、節點參數、代理模式及路由設定;保存目前可用的安裝檔與設定備份。
- 控制變數:只比較雙方都支援的相同協定組合,並固定伺服器、測試目標與接管方式。
- 重複測試:每種方案至少在相同條件下測試 3 次,分別記錄連線是否成功、回應時間與持續傳輸狀況,不要只看一次延遲數值。
- 確認更新內容:確認新版修正的問題與目前使用情境相關;升級後重新檢查啟動記錄、DNS、直連與代理連線。
結論:保留可還原狀態,再驗證升級結果
只升級客戶端或只替換核心,都可能造成設定產生能力與執行能力不相符。先依照客戶端說明確認支援範圍,再以備份為基礎進行測試;發生問題時,還原已知可用的組合,不要連續修改多項設定。
依實際節點選擇:三種使用情境
選擇核心時,最終應回到「現有節點需要什麼」以及「目前的客戶端能正確產生什麼」。不必為了統一名稱而替換所有裝置,也不應為了保留舊設定而忽略伺服器端已變更的連線需求。
- 節點要求 REALITY 或 Vision:桌面端使用 v2rayN 時,確認採用受支援的 Xray 組合;Android 端選用符合該功能需求的 v2rayNG,並逐項確認匯入的欄位。
- 現有 V2Fly 設定運作穩定:如果節點使用支援的協定組合,且沒有新增功能需求,可以繼續使用;Android 端的 v2flyNG 適合搭配符合其核心功能的節點。
- 準備跨核心遷移:優先從原始訂閱或伺服器參數重新產生設定,分別檢查協定、安全層、DNS 與路由,不要把整份舊 JSON 當成通用設定檔。
判斷選擇是否正確,可檢查核心是否正常啟動、節點參數是否完整、目標連線是否成功,以及分流結果是否符合預期。符合這些條件後,再考量更新便利性與設定維護成本,會比依專案名稱籠統排名實用。