選擇核心時,應先確認伺服器端的要求,而非只看用戶端名稱。本文適合準備匯入節點、切換核心或移轉 JSON 設定的使用者:先分清用戶端與核心,再核對協定、傳輸方式及安全層,最後透過設定檢查與連線記錄找出問題。節點標示 REALITY 或 xtls-rprx-vision 時,應使用支援相應功能的 Xray 執行環境;一般節點則仍須核對具體欄位與版本。
用戶端與核心:先分清各自負責的工作
v2rayN、v2rayNG、v2flyNG 是供使用者操作的用戶端。伺服器清單、訂閱匯入、系統代理開關與介面設定都屬於用戶端層;解析設定、建立連線、執行路由規則及轉送流量,則主要由核心負責。用戶端顯示某項選項,不代表目前執行的核心一定支援該功能。
在 Android 上,v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。桌面版 v2rayN 則須依版本、節點類型及實際執行記錄確認使用的核心,不能只憑桌面捷徑判斷。排查問題時,應分別記錄用戶端版本與核心版本,兩者的版本號並不相同。
- 訂閱匯入失敗:先檢查訂閱內容與用戶端的解析能力;此時核心可能尚未啟動。
- 核心啟動失敗:先檢查產生的設定、欄位型別、連接埠是否被占用,以及核心是否支援所需功能。
- 核心已啟動但連線失敗:接著檢查伺服器參數、握手記錄與實際網路連線。
Xray 與 V2Fly:源自同一脈絡,不代表設定始終相容
V2Fly 是延續 V2Ray 發展的社群專案,其核心程式通常稱為 V2Ray Core。Xray 於 2020 年從 V2Ray 的程式碼基礎分支而出,之後沿著自己的方向持續演進。兩者保留了不少相似概念,例如入站、出站、路由與 DNS,但具體功能及設定結構已存在差異。
因此,「都能處理代理流量」和「可以直接替換執行檔」是兩回事。移轉時,協定名稱相同只能表示第一層可能相對應,不能證明傳輸參數、安全層、路由規則與 DNS 設定也完全一致。
| 比較項目 | Xray | V2Fly | 實際影響 |
|---|---|---|---|
| 專案關係 | 從 V2Ray 分支發展而來 | 延續 V2Ray 的社群專案 | 基礎概念相近,不能因此假設所有欄位都通用 |
| VMess 等基礎協定 | 有對應實作 | 有對應實作 | 仍須核對傳輸方式、安全層與使用版本 |
| XTLS Vision | 支援相應的流控方案 | 不能視為同等替代品來執行 | 使用 Vision 的節點應搭配相容的 Xray |
| REALITY | 支援相應的安全層 | 無法直接執行 Xray 的 REALITY 設定 | 不能只改寫名稱來移轉 |
| 設定演進 | 依照 Xray 的欄位與版本要求檢查 | 須區分 V4、V5 等設定體系 | 移轉前先確認設定格式與載入方式 |
判斷方式:先列出節點相依功能,再決定是否切換核心
若現有節點依賴 REALITY 或 Vision,請先保留 Xray;只有伺服器端另外提供目標核心支援的連線方案時,才測試移轉,不要直接刪除「不認得」的欄位。
XTLS Vision 與 REALITY:一個是流控,一個是安全層
在常見的 VLESS 設定中,XTLS Vision 會以 flow: xtls-rprx-vision 表示。它會針對符合條件的流量採用相應的處理方式,不是獨立的訂閱格式,也不是能隨意套用到任意傳輸組合的加速開關。若伺服器端未設定相應的流控,單靠用戶端填入 Vision 並無法完成相容設定。
REALITY 位於安全層,涉及伺服器身分驗證與相關握手參數。用戶端通常需要核對伺服器名稱、公鑰、Short ID 等資訊;介面可能將公鑰資料標示為 Public key,或因版本不同而使用其他名稱,不能只因標籤不同就互換參數。伺服器私鑰不應填入用戶端的公鑰欄位。
VLESS + Vision + REALITY
- 協定
- VLESS
- 傳輸方式
- TCP,部分版本稱為 RAW
- Flow
xtls-rprx-vision- 安全層
- REALITY
- 核對重點
- 伺服器名稱、公鑰、Short ID
這是常見組合的欄位對應關係,並非完整的可連線設定;每個欄位都必須與伺服器端相符。
VMess + WebSocket + TLS
- 協定
- VMess
- 傳輸方式
- WebSocket
- 路徑範例
/ws- 安全層
- TLS
- 核對重點
- UUID、Host、路徑、伺服器名稱
路徑僅供示範,不能取代訂閱中的實際值;一般 TLS 與 REALITY 的參數不可互換。
- Vision 不等於 REALITY:Vision 也能用於相容的 TLS 組合;看到 Vision,不能直接判定安全層。
- REALITY 不等於特定連接埠:服務常使用 443,但連接埠本身無法決定協定與安全層。
- VLESS 不等於 Vision:只標示「支援 VLESS」,不足以證明支援
xtls-rprx-vision。 - 不要直接套用 WebSocket:不能只把上述 Vision 組合改成 WebSocket,卻仍預期能使用相同功能連線。
設定相容性:分四層檢查,不要全面取代欄位
分享連結、訂閱文字、用戶端儲存的資料,以及核心讀取的 JSON,分屬不同層次。vless:// 連結可以成功匯入,只表示用戶端解析成功;還要確認產生的執行設定是否保留流控、安全層與傳輸參數。反過來說,完整的 JSON 也不一定能以一般節點連結的方式匯入。
- 檢查協定層:確認使用 VMess 或 VLESS,以及使用者識別與驗證參數。舊版 VMess 設定可能包含歷史相容參數;移轉時應依據伺服器資訊與目前的實作確認,不要照抄舊教學中的固定值。
- 檢查傳輸層:核對 TCP/RAW、WebSocket 等類型,以及路徑、Host 等欄位。有些版本在名稱與設定表示方式上已有演進,不能只比較介面文字。
- 檢查安全層:確認使用 TLS、REALITY,或未啟用該層;核對伺服器名稱、憑證驗證、金鑰資料與指紋要求。略過憑證驗證並非通用的修復方式。
- 檢查執行環境:比較入站監聽位址、連接埠、路由標籤、DNS 與檔案路徑。即使協定握手參數正確,也可能因出站標籤參照失效,無法依預期分流。
V2Fly 的 V4 與 V5 設定體系也須分開看待。副檔名同為 .json,不代表欄位結構相同。移轉完整設定時,應依照目標核心的文件重新核對結構;一般使用者較適合匯入服務提供方提供的相容連結,讓用戶端產生相應的執行設定。
移轉驗證:分開測試本機監聽與遠端握手
比較兩種核心時,應固定伺服器、網路與測試目標,並記錄每次測試的參數。以下數值僅為本機對照測試的設定範例,不是用戶端預設值,也不是速度測試結果。範例將本機 HTTP 代理設為 10809,並只監聽迴路位址,避免測試連接埠暴露於區域網路。
先確認核心能否讀取設定
以下為命令列檢查範例,請先準備目標核心可讀取的 client.json。Xray 範例採用其命令列格式,V2Fly 範例則使用 V5 命令列格式;若實際發行版本有所差異,請先執行相應程式的說明命令確認。設定測試只會驗證載入階段,無法證明遠端伺服器可連線。
# Xray 設定檢查
xray run -test -config client.json
# V2Fly V5 命令列設定檢查
v2ray test -c client.json
接著確認請求是否經過本機代理
啟動測試設定後,透過明確指定的本機代理位址發出請求。以下假設 10809 提供 HTTP 代理;若實際使用的是 SOCKS 入站,請勿照抄 http://。範例網址 https://example.com/ 可替換為已確認可連線的 HTTPS 位址。
curl --proxy http://127.0.0.1:10809 --connect-timeout 10 --max-time 30 -I https://example.com/
- 本機拒絕連線:優先檢查核心是否已啟動、監聽連接埠是否正確,不要立刻更換遠端協定。
- 遠端連線逾時:檢查伺服器位址、連接埠、防火牆與網路連線;逾時本身無法證明核心不相容。
- 握手或驗證錯誤:逐項核對 UUID、Flow、伺服器名稱、公鑰與 Short ID,避免一次修改多個項目。
- 請求成功但部分網站無法使用:接著檢查 DNS、路由與目標網站的差異,不要把單一網站故障視為整個協定失效。
不要同時啟動兩組都使用 10809 的設定。進行對照前,先停止上一組設定,並維持相同的本機連接埠與測試命令;否則可能遇到連接埠占用,或請求仍進入舊程序,進而把本機狀態誤判為核心差異。
如何選擇:依節點功能與維護成本決定
目前運作正常的設定,不必因為「另一個核心更新了」就立即移轉。新版本的價值應依修正內容、協定支援與用戶端相容情況判斷。更新前記下目前的用戶端版本、核心版本與可用節點,並保留可還原的設定副本,就能大幅縮短復原時間。
| 使用情境 | 選擇方向 | 操作重點 |
|---|---|---|
| 節點明確要求 REALITY 或 Vision | 使用相容的 Xray | 核對用戶端支援情況與實際核心版本,保留完整節點參數 |
| Android 使用 Xray 功能的節點 | 查看 v2rayNG 的相容情況 | 匯入後檢查傳輸方式、安全層與 Flow 是否完整 |
| Android 使用 V2Fly 設定體系 | 查看 v2flyNG 的相容情況 | 確認節點功能、設定格式與內建核心的支援範圍 |
| 桌面環境需要管理不同節點 | 使用 v2rayN 並核對執行中的核心 | 從啟動記錄確認實際載入的核心,不要只看清單名稱 |
操作建議:每次只變更一項條件
先在原有核心下,對原節點完成基準測試,再測試目標核心支援的節點組合。不要同時更換訂閱、DNS、路由與傳輸方式,否則失敗後很難判斷是哪一層出了變化。
常見誤解:匯入成功、啟動成功與連線成功應分開判斷
將 v2rayNG 的節點匯入 v2flyNG,為什麼還是連不上?
先確認節點是否包含 REALITY 或 Vision。分享連結能被介面辨識,不代表 V2Fly 核心具備相應的實作。若是一般節點,再核對傳輸方式、安全層與驗證參數。需要更換的是伺服器提供的相容方案,而不是刪除專有欄位後繼續嘗試。
使用 Xray 就一定比 V2Fly 快嗎?
不能這樣推論。吞吐量與延遲還會受到伺服器負載、往返延遲、封包遺失、裝置效能與傳輸方式影響。Vision 的處理機制有其適用條件,不能把單次測速結果當成適用所有網路的固定結論。應固定測試環境、重複測試,並同時觀察連線錯誤。
同一個網域、同一個 443 連接埠,為什麼不能直接切換協定?
網域與連接埠只是連線入口。入口後方可能設定了特定協定、安全層或轉送規則。用戶端使用 VMess、VLESS、TLS 或 REALITY,都需要伺服器端有相應設定;連接埠相同,不代表握手方式也相同。
提供記錄請他人協助排查前,應先處理哪些內容?
保留用戶端與核心版本、錯誤類型、發生時間及必要的欄位名稱;隱藏訂閱網址、UUID、私鑰與其他憑證。完整訂閱網址可能包含存取權杖,不應直接貼到公開討論區。只提供與問題相關的記錄片段,更容易找出原因。