Android 客戶端選核心,先看節點參數,再看設定來源。需要 VLESS、REALITY 與 Vision 組合時,優先確認 v2rayNG 內建的 Xray 是否支援;若已有依照 V2Fly 文件維護的設定,可選擇 v2flyNG。本文分別說明客戶端、核心與訂閱,並提供欄位檢查、設定範例及切換驗證步驟,避免把「匯入成功」誤認為「連線相容」。
Project V、V2Fly 與 Xray 的關係
Project V 是以網路代理工具為核心的專案體系,V2Ray 是其中的核心軟體。V2Fly 延續 V2Ray 的社群開發;Xray 則從 V2Ray 分支發展,後續形成自己的協定擴充與實作路線。兩者有共同的設定沿革,但並非只換名稱的同一套程式,也不能只因設定檔都叫 config.json 就互相替換。
客戶端負責介面、訂閱管理與系統網路接管等工作;核心負責解析設定、建立連線與執行路由。v2rayNG 在 Android 上整合 Xray,v2flyNG 則整合 V2Fly。桌面版 v2rayN 的核心選擇,需依實際版本、節點類型與核心設定判斷,不能直接把桌面版可選核心的使用經驗套用到這兩款 Android 客戶端。
| 層級 | 具體項目 | 主要職責 |
|---|---|---|
| 專案與實作 | V2Fly、Xray | 維護協定實作、設定解析與連線處理邏輯。 |
| Android 客戶端 | v2rayNG、v2flyNG | 管理節點與訂閱、申請 Android VPN 權限,並啟動內建核心。 |
| 桌面客戶端 | v2rayN | 管理桌面代理入口、節點與核心執行設定。 |
| 連線設定 | VMess、VLESS、傳輸與 TLS 參數 | 描述客戶端如何與伺服器協商,必須依實際核心能力產生。 |
兩條開發路線的版本號也不能直接比較。應分別記錄應用程式版本與核心版本:應用程式更新可能只更新介面,未切換核心系列;節點連線錯誤則可能與內建核心支援的欄位有關。排查時保留兩項版本資訊,比只說「已安裝最新版」更有幫助。
協定支援:依完整連線組合判斷
VMess、VLESS 是代理協定;WebSocket、gRPC 等屬於傳輸層選項;TLS、REALITY 則涉及連線安全設定。選型時需要一併確認這些層級。只看到一個 vless:// 連結,還不足以判定所有支援 VLESS 的實作都能連上同一台伺服器。
Xray 核心/v2rayNG
建議選用節點明確要求 VLESS、REALITY、Vision 時,優先選擇這條路線,並確認客戶端內建的 Xray 符合伺服器需求。建議的依據是協定組合相符,不代表在所有網路環境下都會更快。
適用情況:節點說明指定 Xray,或使用 VLESS + REALITY + Vision。
V2Fly 核心/v2flyNG
適合繼續使用依照 V2Fly 文件撰寫且已驗證可用的設定。常見的 VMess 與 WebSocket/TLS 設定,仍須逐項比對傳輸方式、路徑與憑證參數,不可省略檢查。
適用情況:現有設定以 V2Fly 為基礎,且不依賴 Xray 專屬功能。
| 節點資訊 | 檢查重點 | 選型判斷 |
|---|---|---|
| VMess + WebSocket + TLS | 使用者 ID、伺服器連接埠、路徑、Host 與 TLS 伺服器名稱。 | 兩條路線都有相應實作;請以具體版本與設定驗證為準。 |
| VLESS + REALITY + Vision | flow、security、伺服器名稱、金鑰相關參數與短 ID。 | 優先選用 v2rayNG/Xray,不要視為可直接遷移至 V2Fly 的通用設定。 |
| 完整自訂 JSON | 設定格式、協定欄位、傳輸欄位與資源檔案路徑。 | 依產生設定時的目標核心選擇,不要只看副檔名。 |
結論:先確認伺服器相容,再比較使用體驗
先記下「協定+傳輸+安全層+flow」四項資訊。只要有一項超出目標核心的支援範圍,就應先處理相容性問題;不要用延遲測試取代欄位檢查。
config.json:相似結構與遷移限制
常見設定包含 inbounds、outbounds 與 routing。入站接收本機應用程式流量,出站決定如何連線至目標,路由則決定使用哪個出站。以下是採用兩者常見傳統 JSON 結構的本機 SOCKS 直連範例,僅供理解欄位之用,不含遠端代理節點,也不會建立加密代理連線。
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"tag": "local-socks",
"listen": "127.0.0.1",
"port": 10808,
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": true
}
}
],
"outbounds": [
{
"tag": "direct",
"protocol": "freedom",
"settings": {}
},
{
"tag": "block",
"protocol": "blackhole",
"settings": {}
}
],
"routing": {
"rules": [
{
"type": "field",
"ip": ["127.0.0.0/8"],
"outboundTag": "direct"
}
]
}
}
此處的 listen 用來限制本機監聽範圍,tag 是設定內部的參照名稱,outboundTag 則必須對應出站標籤。範例將直連出站設為第一項,因此未符合規則的流量也會直連。遷移時若只複製路由、沒有複製參照的出站,可能導致設定載入失敗,而不會自動補上缺少的節點。
- 共用欄位仍須確認格式:V2Fly 的不同設定格式不能與 Xray 的設定說明混用;請先確認客戶端接受的 JSON 格式。
- 擴充欄位不可直接搬用:
security: "reality"和flow: "xtls-rprx-vision"應依照 Xray 對應版本的文件設定。 - 金鑰欄位須依版本確認:REALITY 客戶端金鑰相關欄位的命名與相容性,應以實際核心版本為準,不要只憑舊截圖補上欄位。
- 資源也要一併遷移:路由參照的地理資料檔、檔案路徑與標籤名稱都需要確認;JSON 語法正確,不代表執行所需條件完整。
匯入訂閱與 Android VPN 接管
訂閱是散布節點資訊的方式,不是核心協定。相同的訂閱網址可以加入兩款客戶端,但不代表兩邊都能識別所有節點欄位;部分轉換流程也可能遺失傳輸參數。若匯入後節點數量相同卻無法連線,請開啟節點編輯資訊,對照原始連線參數檢查,不要反覆更新訂閱。
遷移方式:分別驗證訂閱與網路規則
保留現有客戶端
- 記錄應用程式與核心版本。
- 備份節點參數與訂閱網址。
- 記下分應用程式清單、DNS 與路由模式。
- 保留一組已驗證可用的設定。
驗證目標客戶端
- 先匯入一個節點,逐項確認欄位。
- 先停止原有客戶端,再啟動 VPN 服務。
- 先確認連線正常,再恢復分應用程式與分流規則。
- 更新訂閱後,重新檢查重要參數。
相同訂閱只能處理節點散布;分應用程式清單、DNS 與路由不會因此自動保持一致。
Android VPN 接管與代理核心是兩個不同層級。客戶端透過系統 VPN 介面接收流量,再交由內部處理流程處理;這不代表遠端節點使用某種傳統 VPN 協定。同一使用者或設定檔通常只能有一個啟用中的 VPN 服務。切換 v2rayNG 與 v2flyNG 時,請先停止前者,再授權並啟動後者,避免系統撤銷原服務後,被誤認為連線隨機中斷。
- 首次啟動時確認系統 VPN 授權,接著留意客戶端是否顯示啟動錯誤。
- 若要排除特定應用程式,請查看客戶端的分應用程式代理設定,確認清單使用的是包含或略過邏輯。
- 若離開介面後連線就中斷,請檢查 Android 的背景執行限制與電池最佳化設定,不要先修改伺服器協定。
- 測試期間暫停其他使用 VPN 介面的工具,降低網路接管衝突。
連線失敗:依序檢查連接埠、交握與 DNS
選擇核心不能取代網路排查。連線逾時可能是伺服器連接埠無法連線;TLS 錯誤可能與伺服器名稱或裝置時間有關;網頁無法開啟也可能只是 DNS 路徑不符合預期。以下三個數字是檢查參考值,不代表客戶端預設值,也不是效能測試結果。
| 現象 | 優先檢查項目 | 下一步 |
|---|---|---|
| 啟動後立即失敗 | 未知欄位、設定格式、連接埠遭占用。 | 查看第一則明確錯誤訊息,確認核心版本與欄位來源。 |
| 連線至遠端逾時 | 位址、連接埠、目前網路與伺服器監聽狀態。 | 保持節點設定不變,分別測試不同網路,避免同時修改 DNS 與協定。 |
| TLS 或驗證失敗 | 裝置時間、伺服器名稱、使用者 ID、安全層與金鑰參數。 | 逐項比對伺服器設定,不要以關閉憑證驗證作為修復方式。 |
| 部分網域無法連線 | DNS 解析路徑、IPv6 可連線性、路由規則順序。 | 固定測試網域,檢查解析結果與套用的出站。 |
| 只有特定應用程式無法連線 | 分應用程式清單、UDP 需求與應用程式本身的網路行為。 | 先確認該應用程式是否納入代理接管範圍。 |
比較效能時也要控制測試條件:使用相同網路、伺服器、時段與測試目標,分別記錄連線成功率、延遲與持續傳輸表現。單次延遲測試無法證明哪種核心更省電或吞吐量更高;行動網路切換、裝置溫度與背景工作都可能影響結果。對外分享診斷記錄前,請移除訂閱網址、使用者識別資訊與金鑰等連線資料。
v2rayNG 與 v2flyNG 的選擇
如果伺服器明確提供 Xray 專用連線組合,選擇 v2rayNG 較直接。若長期使用 V2Fly 設定,且沒有新增協定需求,選擇 v2flyNG 可減少遷移變數。兩者都應以實際連線狀況與欄位相容性為判斷依據,不必只為了核心名稱更換已驗證可用的設定。
- 建立新的 VLESS + REALITY + Vision 連線:選擇 v2rayNG,並確認伺服器要求的 Xray 功能及客戶端內建版本。
- 沿用 V2Fly 自訂設定:先在 v2flyNG 中驗證;確實需要遷移時,再逐項轉換欄位與資源。
- 只有 VMess 訂閱:先確認傳輸與 TLS 參數完整,再比較客戶端的分應用程式與路由操作是否符合日常需求。
- 桌面與 Android 共用節點:分別在 v2rayN 與 Android 客戶端驗證核心、DNS 與路由設定,不要把同步訂閱當成完整設定同步。
操作順序:一個節點、一套規則、切換一次
先在目標客戶端驗證一個節點,再加入訂閱與分流規則。保留原有設定,直到目標方案完成實際連線測試;若發生問題,才能快速還原並找出差異。