先確認節點使用的協定、傳輸方式、安全層與 flow,再決定採用哪種核心。需要 REALITY 或 XTLS Vision 時,請選用支援相關功能的 Xray;既有 VMess、WebSocket 與 TLS 節點則應依實際設定確認相容性。本文整理桌面與 Android 的選擇方式、JSON 遷移限制,以及切換後無法連線時的排查順序。
先分清楚用戶端、核心與節點協定
v2rayN、v2rayNG、v2flyNG 都是用戶端,負責管理訂閱、編輯設定、顯示記錄與控制連線。核心則負責實際建立代理連線、套用路由規則及處理流量。節點清單中的 VMess、VLESS 是協定名稱,不是用戶端名稱;更換用戶端介面,不會自動改變伺服器接受的協定。
V2Fly 社群維護 V2Ray 專案,本文以「V2Fly 核心」稱呼這項實作。Xray 則是從 V2Ray 專案分支發展而來的獨立核心。兩者有共同的發展歷程,但如今不能視為「同一個程式的兩種名稱」。協定擴充、設定欄位與版本演進都可能不同。
- 桌面端:v2rayN 負責管理節點,並呼叫指定的核心。介面能填寫某個欄位,不代表目前執行的核心一定支援該欄位。
- Android 端:v2rayNG 使用 Xray 核心;v2flyNG 使用 V2Fly 核心。請依節點需求選擇應用程式,不要把兩者當成可任意切換核心的同一個外殼。
- 伺服器端:決定協定、監聽連接埠、識別參數、傳輸方式與安全層。用戶端必須設定相符的參數。
協定支援:VLESS 不等於 REALITY,XTLS 不等於 TLS
比較核心時,最容易混淆的是把協定與安全層當成同一個概念。VLESS 屬於代理協定層;TCP、WebSocket 等是傳輸方式;TLS、REALITY 是連線安全相關設定;xtls-rprx-vision 則是需要相應實作支援的 flow 值。要看懂節點設定,必須分別確認這些層次。
| 功能支援 | Xray 核心 | V2Fly 核心 | 選擇重點 |
|---|---|---|---|
| VMess | 支援常見設定組合 | 支援常見設定組合 | 接著確認傳輸方式、TLS 與伺服器參數 |
| 基本 VLESS | 支援 | 有相應實作,需確認版本與設定格式 | 支援 VLESS 不代表支援所有擴充功能 |
| XTLS Vision | 請使用支援此功能的版本 | 不能直接取代 Xray Vision 設定 | 看到 xtls-rprx-vision 時,請選用相符的 Xray |
| REALITY | 請使用支援此功能的版本 | 不直接相容於 Xray 的 REALITY 節點設定 | 公鑰、serverName、shortId 等參數都必須相符 |
| WebSocket + TLS | 支援常見組合 | 支援常見組合 | 確認 Host、路徑、SNI 與憑證驗證設定 |
基本 VLESS 本身不提供傳輸加密。看到 VLESS 不代表可以省略安全層設定,也不能把 REALITY 下拉選單改成 TLS 當作相容處理。伺服器要求 REALITY 時,用戶端必須使用相應實作,並填入伺服器提供的參數。
XTLS 舊版設定也不能與現行 Vision 設定混用。舊教學中的 flow 值、傳輸名稱或安全欄位,可能已不適用於目前版本。遷移時請以節點提供方給的完整參數及核心記錄為準,不要因名稱相似就認定可以替換。
選擇用戶端:依節點實際需求選用 Xray 或 V2Fly
以下建議僅適用於「需要 REALITY 或 Vision」的情境,不代表某個核心在所有線路與硬體上都比較快。若伺服器已有可用的 V2Fly 設定,且目前沒有新增功能需求,保留原有組合通常比直接更換核心更容易掌握變因。
Xray 核心
建議適用於節點明確要求 REALITY、XTLS Vision 等功能的情況。桌面端請在 v2rayN 確認目前協定所使用的核心設定;Android 端選用 v2rayNG,並確認內建核心版本能處理節點參數。
適用情況:VLESS + REALITY、明確指定 Vision 的節點
V2Fly 核心
適用於使用 V2Fly 設定格式部署且已完成驗證的連線。常見的 VMess、WebSocket、TLS 組合可依伺服器參數逐項確認,不必因訂閱名稱改變就遷移。
適用情況:既有 V2Fly 設定、常見協定與傳輸組合
- 查看欄位:開啟節點編輯頁面,確認是否有
security=reality或flow=xtls-rprx-vision。若有,請優先依 Xray 設定處理。 - 確認桌面端設定:在 v2rayN 開啟「設定」→「參數設定」,尋找目前版本的核心相關選項;若該版本支援依協定指定核心,請確認此節點協定對應的核心。不同版本的介面選項位置可能不同。
- 確認執行結果:儲存節點並設為作用中的伺服器,查看記錄中的核心名稱、版本與啟動錯誤。不要只看設定頁上的選項。
- 確認 Android 應用程式:在 v2rayNG 或 v2flyNG 的節點清單中長按目標節點,進入編輯介面查看參數。若應用程式無法設定必要欄位,請改用相符的用戶端,不要刪除該欄位。
設定相容性:分享連結可匯入,不代表 JSON 能直接互換
匯入訂閱與遷移完整設定是兩回事。分享連結通常只描述單一出站節點;用戶端解析連結後,還會建立本機入站、DNS、路由及其他設定。完整 JSON 則可能包含特定核心專用的擴充欄位。即使兩端都能匯入同一條 VMess 連結,也不代表兩份完整 JSON 可以直接互相取代。
遷移方式:區分節點參數與完整執行設定
節點連結或訂閱
- 保留原始網址與存取參數。
- 重新匯入後,檢查協定、連接埠與安全層。
- 確認用戶端是否忽略不認識的欄位。
- 依新用戶端重新設定本機監聽與路由。
完整 JSON 設定
- 先備份原設定,再建立獨立的測試副本。
- 逐項檢查 inbounds、outbounds 與 routing。
- 確認 DNS 格式、標籤參照及擴充欄位。
- 確認目標核心支援相應設定格式後再啟動。
優先遷移可逐項確認的節點參數;完整設定必須依目標核心重新驗證,不能只改程式檔名。
例如以下三個欄位來自 Xray 的 REALITY 與 Vision 設定情境,只用於說明辨識方式,不是可執行的設定,也不能據此組裝節點:
"protocol": "vless"
"security": "reality"
"flow": "xtls-rprx-vision"
遷移失敗時,先分辨是「設定解析失敗」還是「遠端交握失敗」。記錄若出現未知欄位、未知安全類型或不支援的 flow,代表問題仍在本機設定階段;若核心能啟動但交握失敗,再檢查位址、連接埠、識別參數、安全層與系統時間。不要以停用憑證驗證來掩蓋問題。
效能取向:在相同條件下測試,不按核心名稱排名
Xray Vision 針對特定 TLS 流量處理路徑進行最佳化,但不代表所有協定與負載都會有同樣的效益。線路壅塞、伺服器負載、傳輸封裝、裝置 CPU 與網路切換,帶來的影響都可能大於核心差異。比較兩個不同節點的延遲,無法得出核心效能的結論。
先統一測試入口。以下是排查時可用的連接埠範例,不是用戶端預設值:實際數字請以設定頁與啟動記錄為準。遠端使用 443,也不代表一定是一般 TLS 服務。
- 固定連線條件:使用相同裝置、網路、伺服器,以及雙方都支援的協定組合,再比較核心。不要一端使用 WebSocket,另一端卻使用不同的傳輸方式。
- 固定測試負載:每組測試 3 次,每次下載同一份測試內容 30 秒,記錄吞吐量中位數、CPU 使用率與錯誤次數。這裡說明的是測試方法,並非本站實測結果。
- 區分測試指標:TCP 交握延遲只反映連線入口;實際連線測試還會受到目標網站與安全交握影響;下載吞吐量則較能反映持續傳輸能力。
- 控制背景作業:暫停訂閱自動更新及其他下載。Android 端盡量維持相同電源模式,避免將系統降頻誤判為核心差異。
如果只有 REALITY 節點可用,就沒有「維持相同協定並改用 V2Fly」的有效比較條件。此時應評估 Xray 在目前裝置上的連線穩定度與資源使用量,而不是為了比較而修改伺服器協定。
切換後的排查方式:先檢查核心啟動,再檢查路由與 DNS
核心能正常啟動,不代表應用程式流量已經進入代理。桌面系統代理只會影響遵循該設定的應用程式;Android VPN 連線與個別應用程式範圍,則決定哪些應用程式會經過代理。切換核心時若同時更動路由、DNS 與代理模式,問題就難以重現,建議一次只變更一項。
- 檢查啟動記錄:先排除設定解析失敗與
address already in use。如果範例連接埠 10808 已被舊程序占用,請先停止舊程序,再啟動新設定。 - 確認流量入口:桌面端檢查系統代理或應用程式的手動代理位址;Android 端確認已授權 VPN,並檢查個別應用程式清單是否包含測試應用程式。
- 確認路由標籤:自訂設定中的出站標籤必須存在。遷移後若規則仍參照舊標籤,可能導致啟動失敗或流量未依預期分流。
- 檢查 DNS:確認 DNS 伺服器的存取路徑,以及網域規則與網域解析策略之間的關係。DNS 查詢失敗不能一概歸因於 VMess 或 VLESS。
- 重新測試單一節點:暫時停用自動選擇與複雜分流,先使用明確的代理出站連線至固定目標。確認正常後,再逐條加回路由規則。
若要了解網域、IP 與出站規則之間的關係,可參閱協定詳解中的路由說明。若要重新設定代理入口,請依入門指南檢查用戶端設定,不要直接覆寫整份執行設定。
常見問題:訂閱、交握與 Android 端選擇
同一份訂閱,為什麼 v2rayNG 可以用,v2flyNG 卻不行?
先在節點編輯頁面檢查安全層與 flow。若是 REALITY 或 Vision 節點,應使用支援這些功能的 v2rayNG。若是兩者都支援的 VMess 組合,請比較匯入後的傳輸方式、Host、路徑與 TLS 參數,並查看啟動記錄;不能只看節點數量相同,就認定設定一致。
把 VLESS 改成 VMess,舊設定就能連線嗎?
不能只修改用戶端或伺服器其中一端的協定。協定由伺服器入站與用戶端出站共同決定,識別參數的結構也可能不同。請還原原設定,向節點提供方索取明確支援 VMess 的獨立設定,再透過訂閱匯入或手動新增節點。
更新用戶端後仍顯示不支援 flow,該怎麼查?
先中斷連線,再重新啟動並查看記錄中的實際核心版本。桌面端請確認 v2rayN 目前協定呼叫的核心是否仍是舊檔案;Android 端則確認使用的應用程式符合節點需求。接著比對伺服器提供的 flow 值,並確認沒有把舊教學中的參數套用到新節點。
填入 REALITY 公鑰後,為什麼仍然交握失敗?
請一併檢查位址、連接埠、UUID、serverName、shortId 與指紋設定,確認沒有複製到空格,也沒有誤用另一台伺服器的參數。校準裝置時間後再查看記錄。不要任意清空 shortId,也不要切換安全層至 TLS 來試圖繞過參數不符的問題。
最終選擇可歸納為兩步:先確認用戶端與核心符合節點的協定需求,再在相同條件下驗證連線與效能。REALITY、Vision 是明確的功能選擇依據;一般 VMess 或基本 VLESS 設定則應繼續確認傳輸方式、安全層與設定格式,而不是只看核心名稱做決定。