VLESS REALITY 是一種躲在別人網站 TLS 交握後面的 VLESS 代理伺服器。VLESS 是 Xray 專案的輕量代理協定,而 REALITY 取代了它原本的 TLS 層:伺服器回應時就像一個真實、毫不相干的網站,因此不需要自己的網域或憑證,只有握有它公鑰和 short ID 的用戶端才能連到代理。它通常會搭配 Vision 流控(xtls-rprx-vision)一起使用。

本文會逐一說明每個環節、它們如何組合在一起,以及它們的不足之處。

VLESS 是什麼?

VLESS 是一種無狀態的代理協定。每條連線都以一段簡短的標頭開始:版本、使用者 ID(UUID)、指令(TCP 或 UDP)和目的地,接著才是你的資料。

差不多就這樣而已。VLESS 沒有內建加密。它的前身 VMess 會自己加密每個封包;VLESS 則把這件事交給下面那一層,通常是 TLS 或 REALITY。不重複加密兩次,手機和伺服器都能省下一些運算。

VLESS 在 2020 年由 V2Ray 社群提出,目前在 Xray 中持續開發,sing-box 和 Mihomo 也都支援。想看兩種協定的並列比較,請讀 VMess 與 VLESS 比較。

傳輸

VLESS 可以直接跑在 TCP 上,也可以包在承載連線的傳輸裡:

  • WebSocket、HTTP Upgrade 和 gRPC,常用來穿過 CDN。
  • XHTTP(前身為 SplitHTTP),Xray 以 HTTP 為基礎的傳輸,在 Xray 中取代了 HTTP/2 和 QUIC。

REALITY 可搭配無傳輸、gRPC 或 XHTTP 使用。

XTLS Vision 是什麼?

當你透過 TLS 代理打開 HTTPS 網站時,瀏覽器自己的 TLS 連線會在代理的 TLS 連線裡傳送。這種「TLS 套 TLS」有可辨識的樣貌:內層交握的封包大小和時序,會透過外層加密顯露出來。

Vision 流控(xtls-rprx-vision)就是為此而生。它會填充內層 TLS 交握最初的幾個封包,讓封包大小不再那麼明顯。內層連線完成加密後,Vision 就能直接放行資料,不必再加密第二次。

Vision 需要 VLESS 不搭配傳輸,並使用 TLS 或 REALITY。另一個變體 xtls-rprx-vision-udp443 還允許傳往 443 連接埠的 UDP(QUIC)。較舊的 XTLS 流控,例如 xtls-rprx-direct,已從 Xray 中移除。

REALITY 是什麼?

一般的 TLS 代理需要網域名稱和憑證。架設起來很費工,而且網域和網站內容太單薄的伺服器,反而容易引人注意。

REALITY 在 2023 年加入 Xray,採取了不同的做法。伺服器會設定一個目標:一個它借用的真實網站,例如 www.example.com。接著:

  1. 你的用戶端以目標網站的名稱作為 SNI,發起一個 TLS 1.3 交握,交握的樣子模仿真實瀏覽器。
  2. 交握中藏著一個值,只有握有伺服器公鑰和有效 short ID 的用戶端才算得出來。
  3. 如果這個值正確,伺服器就自己完成交握,你的用戶端再用同一把共用金鑰驗證它。VLESS 連線就在裡面執行。
  4. 如果不正確,例如有人在探測伺服器,伺服器就把連線轉給真正的目標網站。訪客拿到的是真實的網站和它真正的憑證。

因此伺服器永遠不需要自己的憑證,而探測者看到的只是一個普通網站。

公鑰、short ID、SNI 與指紋

REALITY 伺服器會提供你四項設定,全部都必須和伺服器一致。

設定 連結參數 說明
公鑰 pbk 伺服器的 X25519 公鑰,是一串 43 個字元的 Base64 字串。私鑰那一半留在伺服器上。
Short ID sid 伺服器接受的一段短十六進位字串,最多 16 個字元。伺服器可以列出好幾個,每位使用者或每台裝置一個。
伺服器名稱(SNI) sni 伺服器借用的網站,必須是伺服器允許的名稱之一。
指紋 fp 要模仿哪一種瀏覽器的 TLS 交握,例如 chrome、firefox 或 safari。

指紋之所以重要,是因為 TLS 函式庫的交握和瀏覽器的交握看起來不一樣。模仿瀏覽器,才能讓交握和伺服器假扮的網站保持一致。

VLESS Encryption

Xray 在 2025 年加入了 VLESS Encryption,這是 VLESS 自己的選用加密層。它使用後量子金鑰交換(ML-KEM-768 搭配 X25519),用戶端的值以 mlkem768x25519plus 開頭。它可以不搭配 TLS 單獨使用,也可以疊在 TLS 之上,包括搭配 Vision。

它還很新,你遇到的大多數伺服器仍使用 TLS 或 REALITY,並設定 encryption=none。匯入連結、訂閱或 Xray 設定時,Potatso 會保留這項設定。支援的模式請見 VLESS 參考文件。

優點與缺點

優點:

  • 不需要網域或憑證。 REALITY 借用真實網站的交握。
  • 能抵抗主動探測。 沒有金鑰的用戶端會被轉給真實網站。
  • 輕量。 VLESS 幾乎不增加額外負擔,Vision 也避免了重複加密。
  • 彈性高。 同一個協定可以跑在原始 TCP、WebSocket、gRPC 或 XHTTP 上,搭配 TLS 或 REALITY。

缺點:

  • 更難偵測,但不是無法偵測。 流量模式仍可能被分析。而 IP 位址明顯不屬於被借用網站的伺服器,也可能顯得格格不入。
  • 選擇目標網站要謹慎。 它必須支援 TLS 1.3,選得不好可能讓伺服器更顯眼,甚至無法運作。
  • REALITY 不能走 CDN。 不像 TLS 上的 WebSocket,REALITY 伺服器必須直接連線。
  • 設定必須完全相符。 公鑰、short ID 或 SNI 有誤時,看起來只會像逾時或一般網站,不會有明確的錯誤訊息。
  • UDP 需要另外開啟。 許多用戶端(包括 Potatso)預設對 VLESS 關閉 UDP,要你自己打開。

VLESS REALITY 與其他協定比較

VLESS + REALITY VLESS + TLS Trojan VMess Hysteria 2
加密 REALITY(TLS 1.3) TLS TLS 內建加密,可選 TLS QUIC 中的 TLS 1.3
需要網域和憑證 否 是 是 僅搭配 TLS 時 是,或釘選的自簽憑證
可透過 CDN 否 可以,搭配 WebSocket、gRPC、XHTTP 可以,搭配 WebSocket 或 gRPC 可以,搭配 WebSocket 或 gRPC 否
執行於 TCP TCP TCP TCP UDP(QUIC)
遭探測時回應 被借用的網站 你自己的網站(若有設定) 備援網站(若有設定) 視設定而定 偽裝網站(若有設定)

想看更完整的比較,請見代理協定比較,或延伸閱讀 Trojan 和 Hysteria 2。

VLESS REALITY 連結長什麼樣子

服務商通常會給你一條 vless:// 連結。以下是一條搭配 REALITY 與 Vision、借用 www.example.com 的連結:

vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=reality&sni=www.example.com&fp=chrome&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&type=tcp&flow=xtls-rprx-vision#REALITY-Vision

從左到右依序是:

  • 3971e1b2-… 是你的使用者 ID。
  • vless.example.com:443 是伺服器與連接埠。
  • security=reality 開啟 REALITY。
  • sni=www.example.com 是被借用的網站。
  • fp=chrome 是指紋。
  • pbk 和 sid 是公鑰和 short ID。
  • type=tcp 表示不使用傳輸,flow=xtls-rprx-vision 開啟 Vision。
  • #REALITY-Vision 是伺服器在 App 中的名稱。

改用一般 TLS 的連結則會是 security=tls,而且沒有 pbk 或 sid。所有參數都列在 VLESS 參考文件中。

在 iPhone 上使用 VLESS REALITY

Potatso 是 iPhone 與 iPad 上的免費代理用戶端,支援搭配 REALITY、Vision、XHTTP 和 VLESS Encryption 的 VLESS,並已用 Xray 和 sing-box 伺服器實測。照著 iPhone 設定 VLESS REALITY 教學操作,幾分鐘內就能匯入連結並連線。

常見問題

VLESS REALITY 簡單來說是什麼?
就是用 REALITY 取代一般 TLS 的 VLESS 代理伺服器。伺服器會出示另一個真實、毫不相干的網站的 TLS 交握,所以不需要自己的網域或憑證;只有知道它公鑰和 short ID 的用戶端,才能連進代理。
VLESS 有加密嗎?
VLESS 本身沒有內建加密,而是靠底下的 TLS 或 REALITY 來加密你的流量。Xray 較新的 VLESS Encryption 另外提供選用的加密層,但大多數伺服器仍使用 TLS 或 REALITY。
xtls-rprx-vision 是什麼?
它是 Vision 流控,用於不搭配額外傳輸、走 TLS 或 REALITY 的 VLESS。它會填充你透過代理開啟的 TLS 連線開頭,讓代理 HTTPS 流量中「TLS 套 TLS」的特徵更難被辨識。
VLESS REALITY 能完全不被偵測嗎?
沒有任何協定能完全不被偵測。REALITY 讓伺服器很難透過主動探測辨識出來,因為陌生的訪客看到的是一個真實網站;但流量分析和其他線索,例如 IP 位址明顯不屬於被借用的網站,仍可能讓它露餡。
iPhone 可以用 VLESS REALITY 嗎?
可以,只要用支援 REALITY 的用戶端 App。Potatso 是 iPhone 與 iPad 上的免費代理用戶端,能匯入帶有 REALITY 和 Vision 的 vless:// 連結,並連上 Xray 與 sing-box 伺服器。

其他語言版本: English · 简体中文 · 日本語 · Русский