PROTOCOL / CORE / CLIENT
V2Ray 協定
與核心參考
VMess · VLESS · Trojan · Shadowsocks
REALITY 安全層與 Xray / V2Fly 核心
本頁依參數與相容範圍整理,適合選擇方案與查閱設定。初次安裝請先依照使用文件的快速入門流程;遇到協定名稱、核心或訂閱欄位不一致時,再回到對應章節查閱。範例僅說明設定結構,不提供可連線的伺服器。
建議先閱讀協定分層,再依伺服器提供的協定類型查閱。比較表可左右捲動。
協定分層與參數範圍
用戶端中的「協定」並不能完整描述整條連線。一項伺服器設定通常包含代理協定、底層傳輸、安全層與用戶端路由四個部分。代理協定規範身分驗證與請求格式;傳輸決定資料如何承載;安全層處理交握與連線保護;路由則決定請求要交由哪個輸出端處理。VLESS、tcp、reality 同時出現並不矛盾,因為它們回答的是不同問題。先釐清這些層次,才能避免把不同類別的名稱放在一起比較。
從伺服器編輯視窗逐層檢查
以 v2rayN 的伺服器編輯視窗為起點,先確認協定類型,再核對「位址」、「連接埠」、「使用者 ID」或「密碼」。接著檢查「傳輸協定」,最後查看「傳輸層安全性」。位址是用戶端實際連線的目標;SNI 是安全交握時使用的伺服器名稱,兩者可以不同。若位址填入網域名稱,還需要先透過 DNS 解析。將 SNI 直接貼到位址欄,可能連到完全不同的主機;誤把伺服器監聽連接埠填成本機監聽連接埠,也會在建立連線前失敗。
常見的 tcp 代表使用 TCP 承載,部分介面也會採用較新的傳輸名稱。WebSocket 透過 HTTP 升級機制承載雙向資料,gRPC 則運用 HTTP/2 的相關機制。這些傳輸會改變部署路徑與請求封裝,不會自動將 VMess 變成 VLESS。path、Host、serviceName 等選項只適用於相應傳輸。伺服器採用哪種承載方式,用戶端就應選擇對應項目,不能只因某個名稱看起來較新就自行替換。
| 層級 | 常見名稱 | 需核對的內容 |
|---|---|---|
| 代理協定 | VMess / VLESS / Trojan / Shadowsocks | 驗證方式、使用者 ID、密碼、加密方法 |
| 傳輸 | TCP / WebSocket / gRPC | 承載類型、路徑、Host 或服務名稱 |
| 安全層 | TLS / REALITY | 伺服器名稱、驗證參數、指紋設定 |
| 用戶端策略 | 系統代理 / TUN / 路由 | 哪些程式會使用代理、網域與 IP 如何分流 |
設定成功不代表流量已進入用戶端
伺服器參數正確,只代表核心具備建立輸出連線的條件。瀏覽器是否使用這條連線,仍取決於系統代理、瀏覽器個別代理設定與本機監聽連接埠。TUN 則是另一種接入方式,透過虛擬網卡處理符合設定的流量。路由中的直連規則也可能讓部分請求不經過代理伺服器。因此,「網頁能開啟」不足以證明流量正經由預期輸出端傳送;「用戶端已啟動」也不代表所有應用程式都已導入代理,仍須搭配實際請求與記錄判斷。
安全層也不能只從協定名稱推斷。VLESS 本身不提供負載加密,通常需搭配 TLS 或 REALITY 等保護機制;Trojan 的常見部署則仰賴 TLS;Shadowsocks 使用其規定的驗證加密方法。應用程式本身的 HTTPS 是更內層的保護。外層代理連線加密不能取代網站憑證驗證,也無法保證目的網站可信。選擇設定時應檢視完整組合,而非只看單一協定標籤。
保留原始資訊,分別驗證各層
整理節點時,建議先記下伺服器提供的完整協定組合與所需核心,再確認編輯視窗中沒有遺漏欄位。連線錯誤可依序檢查位址解析、連接埠連通、交握、身分驗證與請求轉送。前一層尚未完成時,調整後一層通常沒有幫助。例如連線逾時,先檢查位址與伺服器是否可連線;憑證名稱錯誤,先核對 SNI;驗證失敗則不能靠切換路由模式解決。
本頁接下來會依協定逐一說明,最後再討論效能與使用情境。閱讀時可將現有設定對照這張分層表,暫時略過與目前傳輸方式無關的進階選項。若尚未安裝用戶端,桌面版可先前往安裝套件頁選擇 v2rayN,再依伺服器參數決定核心與協定;不要先選一組聽起來較快的設定,再反過來修改伺服器原本的要求。
VMess 的驗證與傳輸取捨
VMess 是 Project V 生態系中較早發展的代理協定,設計包含使用者身分、請求封裝與資料保護等機制。由於歷史應用廣泛,許多舊訂閱與部署說明仍以它為基礎。理解 VMess 時,要區分「協定仍可使用」與「舊教學仍適用」這兩件事。早期設定中出現的驗證方式與輔助欄位,可能已不適用目前的核心。選擇時應先確認伺服器實際採用的實作,不能只根據教學年份或節點名稱推斷相容性。
使用者 ID、加密方法與時間
「使用者 ID」通常填入 UUID,用於身分驗證,不是可任意取用的備註名稱。用戶端產生新的 UUID,不會因此自動取得伺服器授權,必須與伺服器的使用者設定相符。「加密方法」同樣有協定上的定義,不能與 TLS 開關混為一談。常見的自動選擇方式會由實作決定合適的方法;手動指定演算法前,應先確認雙方都支援。處理器是否具備對應的硬體加速,也會影響實際成本,單看名稱無法排出穩定的速度名次。
VMess 的驗證包含時間相關檢查,系統時鐘若嚴重偏差,可能導致驗證失敗。排除故障時,先啟用系統時間同步,並確認日期、時間與時區顯示是否合理。時區只影響顯示方式,真正需要準確的是系統時間基準。若只修改介面顯示,卻未修正實際時間,問題仍會存在。尚未檢查時鐘前,不要連續重建訂閱或更換加密方法,以免增加變因,讓錯誤更難重現。
舊分享資訊中常見 alterId。目前常見的 VMess AEAD 設定通常使用零值,或由用戶端依相應方式處理;它不是數值越大就越安全的調整項目。遇到保留舊欄位的訂閱,應確認伺服器是否已採用相應驗證方式,以及用戶端如何解讀該欄位。不要照搬多年前的非零設定。若伺服器說明與匯入結果不一致,應以伺服器實際部署及所用核心文件為準,不要讓雙方各改一項碰運氣。
為什麼 WebSocket 常與 TLS 搭配
VMess 可以透過不同傳輸方式承載。WebSocket 搭配 TLS 常見於需要反向代理的部署:用戶端先完成 TLS 交握,再送出正確的 HTTP 升級請求,最後進入 VMess 工作階段。因此,連接埠可連通不代表路徑正確。WebSocket 的 path 與 Host 必須符合部署要求,反向代理也必須將請求轉送至對應後端。路徑拼錯、結尾斜線不符,或選錯目標網站,都可能造成交握失敗或收到一般網頁回應。
這種組合多了幾層封裝與交握步驟,但不代表每次瀏覽都要重新承擔完整成本。長連線重複使用、連線池、應用程式的存取方式,以及中間代理的逾時設定,都會影響結果。反過來說,直接使用 TCP 的封裝較少,也不代表在所有環境下網頁載入時間都較短。若伺服器位置、連線品質或 DNS 不同,單憑兩種不同部署的結果,無法可靠判斷 VMess 本身的速度。
保留既有部署,還是遷移
若現有 VMess 設定在持續維護的用戶端與伺服器上運作正常,協定名稱較早並不是必須遷移的理由。更值得檢查的是是否仍使用舊驗證方式、設定能否穩定匯入、傳輸參數是否明確,以及伺服器是否持續維護。遷移至 VLESS 時,伺服器必須建立對應的入站並提供新參數,不能只把用戶端下拉選單改成 VLESS。兩種協定的驗證與請求格式不同,沒有只改名稱就能相容的捷徑。
建立新部署時,若目標功能仰賴 Xray 的 VLESS 與 REALITY 組合,可依相應方案設定;若需繼續連線至既有 VMess 服務,應優先維持協定與傳輸一致。遇到「匯入成功但連線失敗」,先比較原始分享內容與編輯視窗中的加密方法、傳輸、安全層及路徑,再查看記錄。其他常見問題可參考常見問題,避免將本機系統代理問題誤判為 VMess 協定不相容。
VLESS 與 REALITY 參數搭配
VLESS 的設計方向是精簡代理協定層,將連線保護交由合適的外層機制處理。它與 VMess 同屬代理協定,但不能沿用 VMess 的加密選項概念。REALITY 則是常與 VLESS 搭配的安全方案,並非可獨立取代 VLESS 的代理協定。因此,標示為 VLESS + REALITY 的設定至少包含兩層選擇,仍需補上傳輸、流控、位址、連接埠與身分參數,才能組成可執行的連線設定。
先核對身分,再檢查交握
「使用者 ID」必須與伺服器授權的使用者一致。「流控」不是速度等級;xtls-rprx-vision 代表特定處理方式,須由伺服器、用戶端核心與傳輸組合共同支援。常見的 VLESS + REALITY + Vision 使用 TCP 承載;不能任意將 Vision 加到 WebSocket 等組合上。若伺服器沒有要求這種流控,照抄其他節點的設定可能導致連線失敗。VLESS 的 encryption 常見值為 none,這不表示可以一併省略外層安全機制。
REALITY 設定中的「SNI」或「伺服器名稱」必須符合伺服器允許的名稱範圍,不能任意填入一個可連線的網站。「Fingerprint」用於選擇用戶端的交握指紋行為,chrome 是常見範例;這項設定不等同於瀏覽器身分驗證,也不能取代其他參數。不同用戶端與核心提供的選項可能不同,若匯入後欄位缺漏,應先確認實作是否支援,而不是在介面中找個名稱相近的選項代填。
「PublicKey」應填入伺服器提供的公開金鑰;部分新版介面可能使用不同標籤呈現對應的驗證參數,請依目前實作說明核對,切勿將伺服器私密金鑰複製到用戶端。ShortId 也應由伺服器提供,通常是符合指定長度範圍的十六進位字串;是否允許空值則由伺服器設定決定。「SpiderX」與相關存取路徑行為有關,不是 UUID 的替代品,也不是提高頻寬的開關。伺服器沒有要求時,不要自行編造。
| 欄位 | 來源 | 常見誤用 |
|---|---|---|
| 使用者 ID | 伺服器使用者設定 | 將新產生的 UUID 當成已獲授權的使用者 |
| 流控 | 伺服器協定組合 | 在不相容的傳輸方式上強制啟用 Vision |
| SNI | 伺服器允許的伺服器名稱 | 在位址欄任意填入網域名稱 |
| 公開金鑰 / ShortId | 伺服器提供的交握參數 | 漏字元、帶入空格或填錯金鑰 |
為什麼優先確認 Xray 核心
在本站三款用戶端的選擇範圍內,遇到 VLESS + REALITY 時,請優先確認 Xray 的支援方式:桌面版使用 v2rayN 並確認所選核心;Android 版則優先核對 v2rayNG 是否支援相應功能。不要因 V2Fly 來自相近的生態系,就假設它能解析相同的安全欄位。用戶端選單中看得到 VLESS,不代表目前執行的每個核心都支援 REALITY;協定名稱存在與完整組合可執行,是兩個不同層面的條件。
排除故障時,應從逐項比對交握參數開始。公鑰、ShortId、SNI 或流控只要有一項不同,都可能導致連線無法完成。複製時留意前後空格、換行與全形符號。若訂閱更新後突然無法連線,先比較新舊設定,不要立刻批次重設本機設定。記錄若顯示無法辨識設定欄位,請檢查核心與產生的設定;若已發出連線但交握失敗,再檢查伺服器參數與系統時間,按順序釐清問題。
安全機制不等於效能保證
REALITY 的技術特性不能直接換算成適用於所有網路的速度優勢。建立連線仍受往返延遲、伺服器負載與實際傳輸路徑影響。Vision 在相容情境中的資料處理方式,也不是能脫離設定條件單獨比較的按鈕。新手較穩妥的做法,是先使用伺服器明確提供且用戶端完整支援的組合,建立穩定基準,再於相同條件下比較其他組合;不要一開始就同時啟用流控、多路複用與 TUN。
若要從既有 TLS 部署遷移至 REALITY,應一併考慮伺服器設定、用戶端核心與訂閱輸出方式。只切換傳輸層安全性下拉選單並保留原憑證設定,通常不足以完成遷移。先保留可用設定,再新增獨立項目進行測試;確認解析、交握與目標請求都正常後,再考慮取代日常使用的設定。術語可在概念速查中查閱;首次連線步驟仍以快速入門文件為主。
Trojan 與 Shadowsocks 的差異
Trojan 與 Shadowsocks 是另外兩種常見選擇,但設計重點不同。Trojan 的常見部署以 TLS 連線與密碼驗證為核心,憑證與伺服器名稱是重要設定。Shadowsocks 則透過較精簡的代理轉送與驗證加密機制,形成廣泛的實作,且協定方法有不同世代。比較時,不能把「只需要密碼」理解為安全層完全相同,也不能將所有標示 SS 的節點視為採用相同演算法與功能的協定實作。
Trojan:除了密碼,還有憑證與名稱
在 v2rayN 或 v2rayNG 中新增 Trojan 時,通常需要設定位址、連接埠、密碼與 TLS 相關選項。密碼必須維持原樣,避免輸入法替換其中的符號;備註名稱不參與驗證。伺服器名稱須符合部署要求與憑證驗證方式。位址可以是 IP,而驗證使用網域名稱,但前提是伺服器確實如此部署。若憑證名稱不符,先檢查 SNI 與伺服器憑證,不要歸咎於密碼長度。
Trojan 初次連線通常會經過 TCP 建立連線與 TLS 交握。存取大量短請求時,連線是否重複使用會影響體驗;長時間持續傳輸時,連線吞吐量與伺服器資源則更重要。TLS 是成熟的通用安全基礎設施,但實際表現仍受實作、憑證部署、中間代理與交握恢復影響。不能只因為使用 TLS 就斷言一定較慢,也不能因常見設定欄位較少,就認為排除故障時只需檢查一組密碼。
Shadowsocks:加密方法必須完全相符
Shadowsocks 常見設定包括伺服器、連接埠、密碼與加密方法。較新的 AEAD 方法與早期的串流方法屬於不同世代設計;AEAD 除了加密,也會驗證資料。伺服器指定的方法必須同時受到用戶端與執行核心支援,不能把下拉選單中名稱相近的項目視為等價。方法選錯時,即使密碼正確也無法正常通訊。舊設定可以匯入,只代表用戶端辨識了分享格式,不代表目前的核心仍接受相應演算法。
AEAD 2022 等方法也可能對金鑰格式有明確要求,不能憑一般文字密碼的直覺任意輸入。部分部署採用多使用者金鑰等延伸形式,分享資訊必須完整保留。遇到這類設定時,先確認伺服器使用的方法與用戶端支援範圍,再逐字複製金鑰。若截掉含分隔符號的內容,或讓訂閱轉換工具重新解讀為傳統密碼,都可能改變其含義。金鑰格式是協定條件,不是可自由選擇的顯示格式。
基礎 Shadowsocks 設定中的 TCP 與 UDP 支援,也須搭配用戶端接入方式判斷。伺服器允許 UDP,不代表透過系統 HTTP 代理連入用戶端的程式就能透明轉送 UDP。部分分享連結也包含外掛參數;若本站使用的用戶端與核心未實作該擴充,只保留伺服器與密碼並不等同於完整設定。此時應要求提供雙方都支援的完整方案,而非刪除無法辨識的欄位後繼續使用。
| 檢查項目 | Trojan 常見設定 | Shadowsocks 常見設定 |
|---|---|---|
| 驗證資料 | 伺服器指定的密碼 | 與加密方法相符的密碼或金鑰 |
| 安全設定 | TLS、伺服器名稱、憑證驗證 | 指定的驗證加密方法 |
| 主要相容性限制 | 傳輸擴充與 TLS 參數 | 方法世代、金鑰格式與擴充參數 |
| 排除故障的起點 | 交握、名稱、密碼 | 方法、金鑰、連接埠與 UDP 路徑 |
依既有部署選擇,而非看欄位數量
若伺服器已提供妥善維護的 Trojan 設定,且用戶端完整支援其傳輸與 TLS 選項,就沒有必要只為了減少幾個參數而改用另一種協定。若伺服器採用 Shadowsocks,則應優先確認正確的方法與金鑰格式,尤其留意不同世代的差異。兩者都不應透過關閉安全檢查或刪除未知參數來「提高相容性」。保留錯誤提示,比把設定改成不再報錯、但含義已經改變,更有助於排除故障。
實際選擇還須考量管理成本:憑證更新是否有可靠流程、金鑰變更是否會同步至訂閱,以及目標核心是否支援所需擴充。對只需連線至既有服務的新手而言,最重要的是配合現有部署,而不是自行重設協定。若密碼或訂閱內容可能已外洩,應在伺服器端撤銷並重新發送,不能只修改本機備註。用戶端記錄與分享連結也可能包含敏感參數,提交問題前請先移除身分資訊與完整訂閱網址。
V2Fly、Xray 與用戶端的分工
Project V 是理解這個生態系的起點。V2Fly 延續了 V2Ray 相關實作與社群維護;Xray 則以相關程式碼為基礎發展出自己的功能方向。兩者有共同歷史,但在協定支援、設定結構與實作細節上已有差異。名稱相近不代表執行檔可以互換,更不代表同一份設定無須檢查就能在兩者之間執行。判斷相容性應回到具體協定組合與欄位,而非把「同一家族」當成相容保證。
圖形介面不是處理連線的全部程式
v2rayN 是本站優先推薦的桌面版圖形用戶端,負責管理伺服器記錄、訂閱、路由選項與核心啟動。真正解析輸出設定並轉送流量的是正在執行的核心。介面升級可能改變選單與設定產生方式;核心更新則可能改變欄位支援或協定行為,應分開理解這兩種變化。在「切換核心」或相關設定中選擇名稱後,也要確認啟動記錄顯示的實際執行項目符合預期,不能只看介面標籤。
v2rayNG 適用於 Android,是本站優先推薦的 Xray 選擇;v2flyNG 則是採用 V2Fly 路徑的替代方案。選擇依據不是介面是否相似,而是要連線的伺服器需要哪些功能。一般 VMess 等設定也須逐項核對傳輸與安全層;涉及 REALITY、Vision 時,則應明確選擇支援相應功能的 Xray 路徑。手機上的 VPN 授權是讓用戶端接入流量,不會替核心增加協定支援。
| 用戶端 | 平台 | 選擇重點 |
|---|---|---|
| v2rayN | Windows / macOS / Linux | 先選擇桌面安裝套件,再確認執行核心與協定組合 |
| v2rayNG | Android | Xray 路徑;核對 REALITY、流控等具體欄位 |
| v2flyNG | Android | V2Fly 替代路徑;確認伺服器設定在支援範圍內 |
JSON 相似不代表功能相同
兩類核心的設定中常會看到 inbounds、outbounds、routing、dns 等相似結構,但外層名稱相同只代表概念相近。內部物件、可用列舉值、預設行為與新增欄位都可能不同。REALITY 相關設定不能當作通用 TLS 欄位交給任意核心。即使設定能通過解析,路由順序、DNS 策略或傳輸預設值的差異,也可能使執行結果與原部署不一致。因此,「沒有語法錯誤」並非完成遷移的標準。
透過圖形用戶端管理的記錄,通常會先轉換成用戶端內部模型,再產生實際執行設定。這能簡化常見操作,但也有表達範圍限制:伺服器提供的複雜原生設定,不一定能完整轉換成一般節點編輯視窗中的欄位。若透過自訂設定匯入,可能會略過部分圖形介面選項;此時再調整介面中的路由開關,不一定會影響該設定。應先確認目前記錄屬於一般伺服器還是自訂設定。
切換核心前,先進行小範圍遷移
切換前先儲存目前可用的設定,並記下本機連接埠、系統代理模式、DNS 與路由方案。接著只選一個具代表性的伺服器進行測試,檢查核心能否啟動、交握能否完成,以及網域請求與所需的 UDP 應用是否正常。不要一次轉換全部訂閱並覆寫舊記錄。若記錄顯示未知欄位,先停用不相容功能;若只有部分請求走錯輸出端,則檢查路由與 DNS,不要把兩種問題都歸咎於核心故障。
核心更新不該只為了名稱上「最新」。先確認要解決的問題是否與該實作有關,並保留回復所需的設定資料。用戶端與核心彼此配套;過舊的介面可能無法產生新功能所需的結構,而更新介面卻仍啟動舊核心,也可能發生錯誤。本站安裝套件頁依系統與架構提供下載入口,可先用來確認安裝項目;啟動失敗的執行階段與權限問題,可參閱v2rayN 啟動閃退處理筆記。
維護狀況也應具體判斷。開放原始碼代表程式碼與授權條件可供查閱,不代表所有打包檔案都有相同的維護流程;某個核心持續發展,也不代表每份舊設定都能自動相容。對新手最有用的不是籠統的核心排名,而是釐清:「這份伺服器設定需要哪些功能?目前的用戶端能否完整產生設定?執行時是否確實啟用了這些功能?」把這三個問題記錄清楚,日後更換裝置與排除故障都會容易得多。
連線成本、資源使用與行動裝置耗電
「哪種協定最快」必須先定義測量項目。首次連線要看解析、建立連線與安全交握;網頁體驗還受目標網站、連線重複使用與資源數量影響;持續下載更看重吞吐量、封包遺失與伺服器容量;語音或即時應用則更在意抖動與 UDP 路徑。這些指標可能彼此獨立。用戶端顯示的單一延遲測試,不足以代表所有應用的表現,更不能用不同伺服器的兩個數字推導協定本身的速度差異。
分開看交握成本與持續傳輸
DNS、TCP 建立連線、TLS 或其他安全交握都會增加連線前的等待時間;WebSocket、gRPC 等承載方式也有各自的建立流程。不過,連線重複使用與交握恢復可能減少重複成本,網路重傳則可能放大單次失敗的耗時。對頻繁建立新連線的應用而言,減少不必要的往返可能有幫助;對已維持長連線的資料流來說,初始交握佔總耗時的比例會降低。測試時應保留這項差異,不能用一次長時間下載取代短連線體驗。
CPU 使用量與加密演算法、硬體指令、資料複製及實作最佳化有關。某種演算法在桌面處理器上成本較低,換到不同架構的手機上未必如此。記憶體使用量則受連線數、緩衝區、路由資料、DNS 快取與記錄規模影響,不只由協定決定。發現用戶端資源使用量上升時,先確認是否正在下載規則、保留大量連線或輸出詳細記錄,再判斷是否需要更換協定。
為什麼行動裝置不能只比加密成本
手機耗電的重要來源包括無線模組喚醒、訊號微弱時的重傳、背景連線、頻繁重新連線與其他應用程式活動。協定加密確實會消耗運算資源,但不一定是主要因素。連線穩定、喚醒次數少的組合,可能比理論封裝較精簡、卻不斷重試的組合更省電。行動網路與無線區域網路的耗電條件也不同,不能把不同網路與螢幕亮度下的電量變化直接歸因於 Xray 或 V2Fly。
Android 透過 VPN 介面接入流量時,用戶端也要負責讀取與轉送封包。桌面版 TUN 同樣會增加虛擬網卡、路由與 DNS 的配套處理。這些功能改變的是流量接入範圍與處理路徑,不是伺服器協定的升級方式。若系統代理已涵蓋目標程式,啟用 TUN 未必能提升速度;若目標程式不遵循系統代理,TUN 才可能解決流量接入範圍不足的問題。具體設定方式請參閱v2rayN TUN 模式設定。
Mux、連線保活與 UDP 的實際限制
多路複用會嘗試讓多個邏輯請求共用較少的底層連線,在特定短連線情境下可能減少重複建立連線的成本。但共用連線若遇到壅塞或封包遺失,也可能讓多個請求互相影響。某些協定與流控組合對 Mux 有使用限制,不應預設啟用。保活也有取捨:頻率過高會增加背景活動,間隔過長則可能無法維持部分網路中的閒置連線映射。優先使用相容的預設值,確認遇到具體問題後再調整。
即時應用若使用 UDP,應確認整條路徑都支援,包括本機流量接入、核心轉送、伺服器與目標網路。將 UDP 流量送進代理,不代表抖動一定會降低;伺服器繞路或連線壅塞也可能讓體驗變差。DNS 解析方式會影響目標位址與路由選擇,因此測試時也應保持一致。FakeDNS 涉及網域映射與快取行為,不能當成通用加速功能;相關原理可參閱FakeDNS 適用情境筆記。
| 觀察項目 | 應固定的條件 | 避免的誤判 |
|---|---|---|
| 首次請求 | 目標、DNS、快取與網路 | 把解析差異誤認為協定交握差異 |
| 持續傳輸 | 伺服器、時段、目標資源 | 把伺服器頻寬差異誤認為演算法差異 |
| 背景耗電 | 螢幕、訊號、應用程式與接入模式 | 把無線重試誤認為核心運算成本 |
比較時每次只變更一項條件,分別記錄啟動、首次請求、持續傳輸與待機表現,重複觀察,不要只保留最好的一次結果。若無法在可控條件下使用同一台伺服器,就將結果描述為「目前兩份設定的體驗差異」,不要進一步推論協定排名。日常使用中,連線穩定、功能完整且容易還原,通常比細微的測試差異更重要;這也是選擇方案時應先確認相容性,再比較效能的原因。
訂閱格式與設定相容性
訂閱是分發設定的方式,不是新的代理協定。訂閱網址傳回的內容可能是分享連結清單、經過編碼的文字,或特定用戶端專用設定。VMess、VLESS、Trojan、Shadowsocks 的連結也各有欄位規範。能下載訂閱、能辨識連結、能儲存內部記錄,以及核心能執行該設定,是四個獨立步驟。成功提示通常只代表其中一部分,不能視為伺服器已確認可用。
匯入流程中哪些資訊容易遺失
用戶端通常會先辨識訂閱格式,再將各項資料轉換成內部伺服器記錄,最後產生執行設定。每一層都可能限制欄位的呈現方式。例如,訂閱中包含 REALITY 參數,但舊版解析器無法辨識;分享連結含有傳輸擴充,但編輯視窗無法儲存;自訂設定包含多輸出端結構,卻被當成單一伺服器記錄處理。這些問題都無法靠重新輸入密碼解決,應先比對原始內容與匯入後的欄位。
VMess 分享連結常見編碼後的 JSON 格式;VLESS 與 Trojan 常見 URI 參數格式;Shadowsocks 連結則有不同的編碼與參數規範。名稱相同不代表所有分享格式都遵循完全一致的擴充規則。URI 中的特殊字元必須正確編碼,尤其是密碼、路徑、備註與查詢參數。分隔符號若被錯誤解讀,用戶端可能會截斷欄位。優先使用伺服器提供的完整連結,不要手動拆開再重新組合。
「Base64 訂閱」只代表外層文字可能經過編碼,不會自動補上缺漏參數,也不提供加密保護。取得可解碼內容的人通常能讀取其中的伺服器與驗證資訊。因此,訂閱網址應視為敏感憑證處理;截圖、記錄與求助內容都不要附上完整網址。網址失效時,先確認是否已過期、是否需要重新授權,以及回傳內容是否真的是訂閱文字;不要把登入頁面或錯誤網頁誤認為協定格式問題。
跨核心與跨格式轉換的限制
格式轉換的本質,是將一種表示方式映射至另一種表示方式。只有目標格式能表示相同的協定、傳輸、安全層與驗證欄位,轉換才可能保留原意。無法表示的選項可能遭到捨棄,也可能被轉換器寫成目標實作無法辨識的擴充。原生 JSON 中的 DNS、多輸出端、路由與特定傳輸設定,尤其不一定能放進單一分享連結。轉換完成後應逐項檢查,而非只看節點總數。
不同用戶端的完整原生設定,也不應互相當作訂閱使用。匯入一份包含完整路由的自訂設定,可能會改變本機接入連接埠、輸出端標籤與 DNS 行為;一般伺服器訂閱通常只會更新節點資料,不能因此推斷本機路由也會同步變更。更新後若網頁異常,先確認變更發生在伺服器參數還是本機策略。若只有部分網域異常,檢查路由與 DNS 通常比重新匯入整份訂閱更有針對性。
更新後的核對順序
在 v2rayN 中,先為訂閱群組設定清楚的備註,再更新對應群組。更新前保留一筆已知可用的獨立記錄,用來判斷問題來自訂閱變更還是本機環境變化。更新後選一筆記錄,核對協定、位址、連接埠、身分、安全層、傳輸與流控。節點名稱可能隨伺服器調整,無法可靠識別是否為同一份設定;更不應根據名稱中的地區或協定縮寫推斷實際欄位。
若更新成功但所有記錄都無法連線,請檢查回傳內容、解析結果與執行核心是否同時變更;若只有一種協定無法使用,優先檢查該協定新增欄位與支援範圍;若舊記錄可用、新記錄不可用,則比較身分與交握參數。網路連線正常但訂閱請求失敗,也可能是訂閱網址無法單獨連線或授權已失效。此時不必先修改 TUN、加密方法與系統代理,應將訂閱更新失敗與節點連線失敗分開處理。
日常管理時應保留來源分組,不要把不同來源的同名記錄混在一起。更換裝置時,分別轉移伺服器資料與本機策略,並重新確認流量接入權限。訂閱匯入的具體操作步驟請參閱使用文件;若匯入後顯示連線正常卻無法開啟網頁,可依照系統代理、DNS 與路由排除故障清單檢查流量路徑,避免反覆修改已正確的訂閱欄位。
依使用情境選擇協定與核心
選擇方案應從使用限制出發,而非從協定排名開始。先確認裝置平台、伺服器實際提供的組合、需要代理的應用程式類型,以及是否依賴 UDP。接著選擇能完整呈現這些參數的用戶端與核心,最後再比較管理成本與執行表現。沒有伺服器端配合時,使用者通常無法自由更換協定,只能從已提供的設定中選擇。用戶端的協定下拉選單是設定入口,不是能將遠端服務自動轉換成另一種協定的工具。
桌面版與 Android 的入門方式
桌面版優先推薦 v2rayN。先前往安裝套件頁,依作業系統與處理器架構選擇,再確認協定所需的核心。Windows 桌面版與傳統 WPF 版是介面與執行環境的選擇,不代表遠端協定不同;macOS 與 Linux 也要核對架構與系統條件。若系統代理已涵蓋一般瀏覽器的流量,可先不啟用 TUN,以較少變因建立基準,再決定是否擴大接入範圍。
Android 端應依伺服器功能優先選擇 v2rayNG,尤其需要 Xray 相關功能時。若部署明確要求 V2Fly 路徑,且設定位於支援範圍內,可考慮 v2flyNG。首次啟動時須授予系統 VPN 權限,並確認是否有其他 VPN 連線占用相同接入位置。接著檢查背景限制與網路切換狀況。應用程式切換至背景後斷線,不應立即歸因於協定;系統電源管理、背景權限與訊號變化都需要分別檢查。
既有服務、新部署與即時應用
連線至既有服務時,最穩妥的做法是維持原有協定與傳輸,先確認能完整匯入。現有 VMess + WebSocket + TLS 運作正常,就不必只為更換名稱而遷移;既有 Trojan 應優先維護憑證、名稱與密碼;既有 Shadowsocks 則要精確配對方法與金鑰格式。需要 VLESS + REALITY 時,選擇支援完整組合的 Xray 路徑,並依伺服器提供的值填入流控與交握參數,不要挪用其他設定的欄位。
新部署較適合從維護能力反推選擇:是否能管理憑證與名稱、是否需要透過反向代理承載、目標裝置是否都支援相同安全方案,以及訂閱工具能否完整輸出參數。把這些問題列成清單,比追求理論上的傳輸成本更實際。若需要即時語音或其他 UDP 應用,應優先驗證端對端 UDP 與路由,不能只因網頁能開啟就結束測試;應用程式本身的區域、目標線路與伺服器位置也會影響體驗。
| 情境 | 優先處理 | 暫緩調整 |
|---|---|---|
| 首次連線至既有服務 | 維持原有組合,核對完整參數 | 同時更換協定、DNS 與路由 |
| VLESS + REALITY | 確認 Xray、流控與交握欄位 | 用相似欄位代替缺漏參數 |
| 需要接管未使用代理的應用程式 | 評估 TUN、權限與路由 | 把 TUN 當成協定加速器 |
| 行動裝置待機異常 | 檢查重新連線、訊號與背景限制 | 只因一次耗電變化就更換核心 |
以最精簡設定建立可復原的基準
首次驗證時,使用單一伺服器、清楚的路由方案與預設相容設定。先確認核心能啟動,再確認請求進入本機連接埠,接著檢查伺服器交握與目標存取。以下 JSON 僅展示原生設定中 routing 物件的最小規則結構:將私人位址交由名為 direct 的輸出端處理。這不是完整連線設定;使用前必須先有對應標籤的直連輸出端,並檢查現有規則順序。圖形用戶端使用者建議透過路由設定完成相同操作。
{
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
}
]
}
}
這類規則也說明了協定之外的另一個限制:即使節點未變更,路由仍能決定請求是否經由節點傳送。規則會依實作的比對方式處理,前方較寬泛的條件可能先符合,後方的精確規則就沒有機會生效。實際使用時也要考慮地理資料檔是否可用。不要直接套用範例覆寫整個 routing 物件;應先了解現有規則,再新增明確條件,並分別測試區域網路與目標網路的連線。
發生問題時,根據線索還原設定
核心無法啟動時,檢查設定產生方式與連接埠占用;交握失敗時,檢查身分、安全層與時間;連線已建立但應用程式沒有回應時,檢查本機接入、DNS 與路由。本機監聽衝突可參閱連接埠占用與修改監聽連接埠筆記。每次只修改一項並保留上一個可用狀態;要還原時,先關閉新加入的進階功能,不要把所有協定欄位重新填一次。
最後可將選擇結果整理成一行完整組合:用戶端、核心、代理協定、傳輸、安全層、接入方式與路由方案。更換裝置時便能逐項核對,遇到問題也能清楚描述差異。選擇協定的目標不是讓名稱看起來越複雜越好,而是讓伺服器功能、用戶端實作與實際應用需求相符。建立這份基準後,再依效能章節的方法進行控制變因的比較;日常操作請返回快速入門文件,具體問題則可從常見問題繼續查閱。