VMess 內建協定層驗證與資料加密機制;常見的 VLESS 設定則由 TLS 或 REALITY 負責保護連線,協定本身較精簡。一般使用者應先依照訂閱原設定匯入,不要直接把 VMess 節點改成 VLESS。以下將依序說明兩者的加密範圍、時間要求、速度差異,以及 v2rayN 中需要確認的欄位,適合第一次匯入訂閱或遇到連線失敗時逐項檢查。
一分鐘看懂:差異在哪一層?
兩者都是代理協定,不是用戶端名稱。v2rayN 是用來管理節點、訂閱與代理設定的桌面用戶端,實際連線由選定的核心執行;協定則規範用戶端與伺服器如何驗證、封裝及傳送資料。因此,「安裝了 v2rayN」不代表伺服器同時支援 VMess 和 VLESS。
| 比較項目 | VMess | VLESS |
|---|---|---|
| 驗證資訊 | 通常透過 UUID 等參數識別使用者 | 通常透過 UUID 等參數識別使用者 |
| 常見加密方式 | 協定層可加密資料,也可搭配 TLS | 常見的 encryption=none 設定依賴 TLS 或 REALITY 保護連線 |
| 時間要求 | 驗證會參照時間,時間差異過大可能導致失敗 | 傳統驗證不採用 VMess 的時間窗口,但外層安全機制仍可能依賴時間 |
| 常見附加欄位 | 加密方式、alterId、傳輸與 TLS 參數 | encryption、flow、傳輸與 TLS 或 REALITY 參數 |
| 能否直接互換 | 不能;伺服器必須提供相符的協定入口與完整參數 | |
協定、傳輸方式與安全層要分開理解。例如「VMess + WebSocket + TLS」分別代表代理協定、承載方式與連線保護;「VLESS + TCP + REALITY」也是由多項設定組成的連線方案。只看到 VLESS 這幾個字母,還無法判斷使用哪個連接埠、是否需要公鑰,或是否支援某種 flow。
VLESS 的 none 代表未加密嗎?
encryption=none不代表整條連線都是明文;首先表示常見的 VLESS 設定沒有在該協定欄位啟用額外加密。若連線使用 TLS 或 REALITY,用戶端與代理伺服器之間仍受到相應保護。反過來說,如果沒有這些保護,也沒有可信任的外部安全通道,就不能只憑 VLESS 這個名稱判斷連線是否安全。
- VMess 的加密方式:常見值包括
auto、aes-128-gcm和chacha20-poly1305。這些設定與外層 TLS 開關並非同一項,不應直接照抄到 VLESS 欄位。 - VLESS 的 encryption:常見部署會使用
none。部分新版核心也提供其他擴充選項,是否可用須視伺服器設定與實際核心支援而定,不要自行切換。 - TLS 的 SNI:用來指定伺服器名稱,通常須符合伺服器提供的參數與憑證驗證要求;不一定與節點清單顯示的備註相同。
- REALITY 的參數:常見設定需要伺服器提供的公鑰或相應驗證欄位、shortId 與伺服器名稱。這裡使用的是公開驗證資訊,不應在用戶端填入伺服器私鑰。
HTTPS 網站的加密與代理連線的加密並非同一回事。瀏覽 HTTPS 網站時,瀏覽器與網站之間還有網站本身的 TLS;代理協定的安全層則保護用戶端到代理伺服器這一段。VMess 搭配 TLS 可能在這段連線上形成額外的加密封裝,但不能因此推論所有情況都應關閉 TLS。
為什麼 VMess 更需要確認系統時間?
VMess 驗證會使用與時間相關的資訊;用戶端與伺服器的時鐘差距過大時,即使參數正確也可能驗證失敗。別把「顯示的時區不同」和「實際時間錯誤」混為一談:兩台裝置顯示不同的當地時區,只要代表同一個時間,通常不會造成驗證時間差。
- 先在 Windows 同步時間:開啟「設定」→「時間與語言」→「日期與時間」,啟用「自動設定時間」,再選擇「立即同步」。若同步失敗,先排除裝置網路或時間服務問題。
- 先在 Android 啟用網路時間:通常可在「設定」→「系統」→「日期與時間」中啟用自動設定時間;不同裝置的選單名稱可能略有差異。
- 有伺服器管理權限再檢查伺服器:Linux 可執行
timedatectl status查看時間同步狀態。用戶端時間正確,不代表伺服器時間也正確。 - 重新建立連線:同步時間後重新連線,檢查新產生的記錄,不要繼續依據同步前留下的錯誤記錄判斷。
VLESS 也不能忽略裝置時間。傳統 VLESS 驗證不像 VMess 那樣採用時間窗口,但 TLS 憑證有效期限檢查、REALITY 相關驗證,以及部分新擴充功能仍可能受時間影響。排除問題時先校正時間,成本低,也不會破壞節點參數。
VLESS 一定比 VMess 快嗎?
不一定。協定封裝較精簡,只會影響部分效能。在相同線路與安全設定下,減少重複加密可能降低處理負擔;但實際下載速度還會受到頻寬、封包遺失、往返延遲、伺服器負載、傳輸方式及裝置加密效能影響。不同出口的兩個節點不能直接用來證明哪種協定較好。
保留已確認可用的訂閱設定
建議現有 VMess 或 VLESS 節點能穩定應付日常需求時,先維持原設定。選擇應依據實際連線結果,而不是只看協定名稱就更換。
適用對象:一般使用者、沒有伺服器管理權限的訂閱用戶。
在可控制的條件下比較 VLESS 方案
只有在伺服器確實提供兩種入口時,才固定出口、測試目標與測試時段進行比較。若只有一組可用參數,就無法只靠用戶端升級協定。
適用對象:自行維護伺服器、需要找出效能瓶頸的使用者。
測試時可讓每個入口各完成 3 輪相同操作,記錄首次連線是否成功、下載固定檔案所需時間及記錄中的錯誤,再比較中位數。這是測試方法,並非本站提供的實測結果。延遲測試有回應,不代表網頁瀏覽、網域解析與大型檔案傳輸都正常。
判斷方式:先排除線路差異,再討論協定負擔
如果兩個節點的伺服器或出口不同,先記錄為「節點表現不同」,不要據此修改 encryption 或 flow。只有在可控制條件下進行比較,才能判斷更換協定是否值得。
v2rayN 中哪些欄位必須確認?
優先匯入完整訂閱或分享連結,再開啟節點編輯視窗確認,不要依照截圖拼湊參數。v2rayN 常見操作方式是選擇「訂閱分組」→「訂閱分組設定」新增訂閱,再透過「訂閱分組」選單更新;選取節點後按右鍵選擇「編輯伺服器」。不同版本的介面選單文字可能略有差異,請以實際顯示為準。
| 欄位 | 檢查項目 | 常見誤區 |
|---|---|---|
| 位址與連接埠 | 須與伺服器入口完全一致 | 看到 TLS 就把連接埠硬改成 443;443 只是常見連接埠,並非必要設定 |
| 使用者 ID/UUID | 完整匯入,不要增刪任何字元 | 把訂閱帳號密碼填入 UUID |
| VMess alterId | 現代 AEAD 設定通常為 0,請依照提供方參數確認 | 照抄舊教學中的非零數值 |
| VLESS encryption | 須與伺服器及核心支援相符,常見值為 none | 改成 VMess 的 auto 或 AES 名稱 |
| VLESS flow | 僅在伺服器指定時填寫,例如 xtls-rprx-vision | 替所有 VLESS 節點一律新增 Vision |
| 傳輸方式與路徑 | 確認 TCP、WebSocket 等方式;使用 WebSocket 時也要確認 path 和 Host | 把 WebSocket Host 與 TLS SNI 當成同一個欄位 |
| TLS / REALITY | 確認安全類型、伺服器名稱及必要的驗證參數 | 只修改安全類型,漏掉其他必要欄位 |
flow=xtls-rprx-vision不是通用的加速按鈕。伺服器與用戶端核心都必須支援相應組合,也不是所有 WebSocket 節點都能使用。若出現「不支援 flow」之類的錯誤,先比對原始訂閱與核心支援情況,不要隨意嘗試欄位值。
節點入口連接埠也不同於本機監聽連接埠。例如伺服器入口使用 443,本機代理監聽則使用 127.0.0.1:10808,兩者可以同時存在。這裡的 10808 僅為範例;瀏覽器或終端機應填入用戶端實際顯示的本機連接埠,不要把伺服器連接埠當成本機代理連接埠。
桌面版與 Android 能共用同一份訂閱嗎?
可以嘗試共用,但同一份訂閱不保證每個節點都受不同核心支援。v2rayN 是桌面版用戶端,v2rayNG 在 Android 上使用 Xray 核心,v2flyNG 則在 Android 上使用 v2fly 核心。協定擴充、安全層與傳輸能力取決於核心版本;尤其不能假設某個平台可用的 REALITY 或 Vision 設定在所有平台都適用。
同步方式:共用訂閱來源,分別確認連線
桌面版:v2rayN
- 在訂閱分組中新增提供方提供的原始連結。
- 確認目前使用的核心是否支援節點的完整設定組合。
- 確認本機監聽連接埠與系統代理狀態,再瀏覽目標網站。
Android:v2rayNG 或 v2flyNG
- 從訂閱管理入口新增相同來源,再執行更新。
- 先確認核心支援情況,再處理不支援的協定擴充。
- 啟動連線並授予系統要求的 VPN 權限,再分別確認連線。
訂閱同步的是節點參數,不會同步桌面版的系統代理、Android 的分應用程式設定,或兩端的核心支援能力。
訂閱連結應妥善保密。向他人求助時,可提供錯誤類型、用戶端與核心版本、傳輸方式及已去識別化的記錄;不要公開完整訂閱 URL、UUID 或含有驗證資訊的 QR Code。參數經過截斷或去識別化後,也不適合再當成可直接匯入的節點使用。
匯入後無法連線,先檢查哪裡?
先分辨「無法連上伺服器」和「已連線,但應用程式沒有走代理」。前者著重檢查位址、連接埠、驗證及傳輸安全參數;後者則檢查系統代理、應用程式本身的代理設定、DNS 與路由分流。每次只修改一項,並保留原始訂閱設定,才能確認哪個步驟真正有效。
VMess 昨天還能用,今天卻一直驗證失敗?
先到系統日期與時間設定中同步時間,再更新訂閱並重新連線。若仍然失敗,請確認 UUID、alterId 與帳戶狀態;不要只憑「驗證失敗」就斷定節點已失效。
把 VMess 改成 VLESS 後,為什麼反而連不上?
還原原始節點,重新匯入提供方提供的完整分享連結。兩種協定的交握方式與參數不同;只有伺服器另外提供 VLESS 入口時,才能使用相應的位址、連接埠與安全設定連線。
VLESS 顯示 none,需要手動選 AES 嗎?
不需要。先確認 TLS 或 REALITY 是否依照訂閱啟用,並保留伺服器提供的 encryption 值。VMess 的加密選項不能套用到 VLESS;若來源只提供未加密的連線參數,請向提供方確認安全方案。
節點測試有回應,瀏覽器卻無法開啟網頁?
在 v2rayN 主畫面或系統匣選單中檢查「系統代理」,確認應用程式使用的本機連接埠與用戶端監聽連接埠一致。接著查看記錄中的 DNS、連線與路由錯誤;系統代理不會自動套用至所有終端機程式。
同一份訂閱在另一台裝置上少了幾個節點?
先確認兩端都已完成更新,再比較用戶端與核心版本,並檢查匯入記錄是否指出不支援的協定或欄位。不要把節點匯入失敗和連線逾時混為一談,也不要刪除安全參數來強行匯入。
最後應依據完整方案選擇,而不是只看名稱。現有 VMess 節點穩定可用,就維持原設定;取得完整 VLESS 設定後,則確認外層安全機制與核心支援情況。若還需要整理用戶端基本設定,可先閱讀快速入門教學;路由與 DNS 的進一步檢查請參閱進階設定。