ss://、vmess://、vless://、trojan:// 分享連結格式與訂閱連結差異

單一分享連結只描述一個節點;訂閱連結則是可定期更新的節點集合。本文拆解四種常見 scheme 的結構,並說明在 Shadowrocket 中各自的匯入方式。

本文重點

先從連結開頭辨別單一設定與訂閱,再依協定核對憑證、伺服器位址、連接埠和傳輸參數。本文適合已取得服務商提供的設定、準備匯入 Shadowrocket(小火箭)的使用者。閱讀後即可判斷文字內容應匯入為單一設定,還是儲存為 Subscribe,並找出常見的複製截斷與參數缺漏問題。以下設定範例僅用來說明語法,無法用於連線。

分享連結與訂閱連結:先辨別匯入內容

ss://、vmess://、vless://、trojan:// 中,冒號前的部分稱為 scheme,用來標示連結格式。它會告訴匯入器如何解讀後續文字,但不代表服務可用、憑證有效或連線品質良好。單一分享連結通常包含一台伺服器的連線參數,匯入後會新增一筆設定。

訂閱連結通常是 HTTPS 位址,連線後會傳回一組設定。Shadowrocket 儲存訂閱位址後,可以重新連線取得更新清單。清單不一定包含多個節點,也不一定使用相同協定;不能只因為內容只有一筆,就判定它不是訂閱。

辨識項目單一分享連結訂閱連結
常見開頭ss://、vmess://、vless://、trojan://https://,請依服務商說明確認
內容來源參數直接包含在連結中透過網路請求取得設定集合
後續變動原連結不會自行更新參數執行更新後可取得服務商調整過的清單
敏感資訊密碼、UUID、位址和連線參數可能含有可存取整組設定的 token

例如 https://example.com/sub?token=xxxx 只是訂閱位址的格式示意。一般網頁、帳戶管理頁面和訂閱位址都可能以 HTTPS 開頭,不能把任意網頁貼到 Subscribe,期待它自動產生節點。請使用既有服務商明確提供的訂閱位址;本站不提供、不販售也不推薦節點或訂閱。

ss://:辨別使用者資訊編碼與整段編碼

ss:// 對應 Shadowsocks。常見的 SIP002 格式會將加密方式與密碼編碼,伺服器位址和連接埠則以明文呈現。以下範例中,YWVzLTEyOC1nY206dGVzdA 解碼後為 aes-128-gcm:test,冒號左側是 method,右側是 password。

ss://[email protected]:8388#Example%20SS

也可能遇到舊格式連結,將 method:password@host:port 整段以 Base64 編碼。因此,看不到 @ 不代表連結一定有誤。請先讓匯入器解析,再核對結果;不要為了讓格式看起來完整而手動插入 @、冒號或斜線。含有 plugin 參數的連結也可能帶有經編碼的額外設定,不能只保留問號前的內容。

vmess://:先解碼 JSON,再檢查欄位意義

常見的 VMess 分享格式是在 vmess:// 後接上經 Base64 編碼的 JSON 物件。以下展示的是解碼後的內容,不是可直接貼上匯入的完整分享連結。請勿將原始 JSON 直接接在 scheme 後面,也不要把這段範例當成實際帳戶設定。

{
  "v": "2",
  "ps": "Example VMess",
  "add": "server.example.invalid",
  "port": "443",
  "id": "11111111-1111-4111-8111-111111111111",
  "aid": "0",
  "scy": "auto",
  "net": "ws",
  "type": "none",
  "host": "edge.example.invalid",
  "path": "/example",
  "tls": "tls",
  "sni": "edge.example.invalid"
}

add 和 port 指向實際連線目標,id 是身分識別碼,net 表示傳輸類型。範例使用 WebSocket,因此包含 host 和 path;啟用 TLS 時,也需核對 tls 和 sni。此處的 v 是分享格式欄位,不是 Shadowrocket 的應用程式版本號。

  1. 匯入完整的 vmess:// 文字,先確認位址、連接埠和 UUID 都有提供。
  2. 核對傳輸類型。若伺服器要求 WebSocket,請勿為了「簡化」設定而改用一般 TCP。
  3. 分別核對 WebSocket Host、路徑和 TLS Server Name;三者用途不同,值也不一定相同。
  4. 匯入後若有欄位缺漏,請向既有服務商確認原始參數,不要靠更換連接埠或關閉驗證來猜測。

不同分享格式或參數名稱可能有所差異;成功辨識連結,不代表每個擴充欄位都已正確對應。尤其是傳輸層、TLS 和身分參數,儲存前都應逐項檢查。Base64 文字換行、末尾字元遺失,或標點被通訊軟體替換,都可能導致 JSON 無法完整還原。

vless:// 與 trojan://:網址格式相似,憑證不同

VLESS 和 Trojan 分享連結通常接近一般網址:使用者資訊在 @ 前,伺服器位於 @ 後,問號後是連線選項,井字號後是備註。兩者外觀相似,但驗證欄位不能互換;VLESS 通常使用 UUID,Trojan 則使用密碼。

vless://[email protected]:443?encryption=none&security=tls&type=ws&host=edge.example.invalid&path=%2Fexample&sni=edge.example.invalid#Example%20VLESS

trojan://[email protected]:443?security=tls&type=tcp&sni=edge.example.invalid#Example%20Trojan
欄位意義與核對方式
encryption=noneVLESS 的協定參數,不代表外層未啟用 TLS。
security=tls表示範例使用 TLS;還需核對 Server Name 和憑證驗證。
type=ws / type=tcp表示傳輸類型,必須與伺服器端設定一致。
host 與 pathWebSocket 的 Host 和路徑;%2Fexample 解碼後是 /example。
sniTLS Server Name,不應只因連線目標是某個位址,就直接改成相同值。
# 後的文字通常是顯示名稱,不會決定驗證或傳輸方式。

密碼或備註含有 @、#、& 等保留字元時,應依所在位置正確進行百分比編碼。例如,使用者資訊中的 @ 字元可表示為 %40。不要反覆編碼或解碼整條連結,否則原本屬於密碼的字元可能被誤判為分隔符號。

4 種
本文介紹的 scheme:ss / vmess / vless / trojan
443
本文 TLS 範例使用的連接埠,不是所有設定的固定連接埠
%2F
網址中斜線 / 的百分比編碼表示法

結論:先核對參數,不要只憑 scheme 推斷所有設定

看到 vless:// 或 trojan:// 後,仍須檢查傳輸類型、TLS Server Name 和伺服器連接埠;不要因為範例使用 443,就把自己的設定也一律改成 443。

Shadowrocket 匯入步驟:分別處理單一設定與 Subscribe

以下以 iPhone / iPad 的操作順序說明。先從既有服務商複製完整連結,確認沒有混入說明文字、引號或句尾句號。ss://、vmess://、vless://、trojan:// 應匯入為單一設定;HTTPS 訂閱位址則應儲存為 Subscribe,而不是手動選擇某種 Proxy 協定。

  1. 匯入單一設定:複製完整分享連結後開啟 Shadowrocket;出現剪貼簿匯入提示時,點選確認。若系統詢問貼上權限,請允許此次讀取,否則應用程式無法取得連結。
  2. 沒有出現提示:在 Home 點選右上角的 + 進入 Add Server,使用頁面提供的 URL 匯入入口;如需手動填寫,請在 Type 選擇相應協定,再依原始設定逐項輸入。
  3. 匯入訂閱:在 Home → + → Type 選擇 Subscribe,在 URL 欄位輸入訂閱位址,設定易於辨識的備註後儲存,再執行訂閱更新。
  4. 儲存後檢查:返回 Home,確認單一設定或訂閱群組已出現;開啟項目核對位址、連接埠、驗證資訊和傳輸參數,不要只憑顯示名稱判斷設定是否正確。
  5. 更新時分辨項目:更新 Subscribe 會重新向遠端請求清單;獨立儲存的單一設定不會因訂閱更新而自動取得新密碼或伺服器位址。

QR Code 只是承載文字的方式,無法判斷內容是單一設定還是訂閱。掃描前後仍應檢查解碼內容的 scheme;若 QR Code 實際包含的是帳戶網頁位址,就不能當作節點設定。首次連線若出現系統 VPN 設定授權提示,請先確認目前操作的是 Shadowrocket,再完成授權。

匯入後無法連線:使用 Global Routing 區分規則與連線

「已出現在 Home」只能證明設定已成功儲存,不能證明驗證、TLS 或目標存取都正常。先選取要檢查的伺服器並執行 Connectivity Test,再觀察實際網頁請求的結果。測試有回應,也不代表所有應用程式、網域或傳輸方式都能正常運作。

Global Routing → Config

建議

依目前 Config 的規則選擇策略;未符合規則的流量由 FINAL 等預設規則決定去向,並非一律直連。先確認規則和所選伺服器,再恢復此模式日常使用。

適用情境:已核對規則,需要依目標分流的日常設定

Global Routing → Proxy

讓納入用戶端處理範圍的流量經由 Proxy,可暫時用來判斷問題是否來自 Config 分流。切換後仍無法連線,請繼續檢查憑證、伺服器、傳輸和 TLS 參數。

適用情境:短暫排查規則影響,完成後恢復原設定

Global Routing → Direct

讓納入用戶端處理範圍的流量直接連線;此時網頁能開啟,不能據此證明剛匯入的伺服器可以連線。核對分享連結時,不要把直連結果當成 Proxy 測試結果。

適用情境:比對基本網路狀態,而非驗證節點憑證

每次只變更一項設定,並記錄測試前後的狀況。例如,「使用 Config 時某個網域無法連線,切換到 Proxy 後可以存取」表示應檢查該網域符合的規則;「兩種模式都無法連線」則需進一步釐清是連線參數、基本網路還是目標服務出了問題。遇到 TLS 驗證錯誤,請核對 Server Name、憑證有效性和系統時間,不應把關閉驗證當成一般處理方式。

常見問題:連結截斷、重複匯入與更新差異

複製後提示格式錯誤,是不支援這種協定嗎?

先檢查開頭是否完整,例如是否漏了 vmess://,再確認尾端是否混入中文句號或換行。請回到原始來源重新複製整條連結,不要只複製通訊軟體訊息中看得到的一行。遇到格式錯誤,應優先檢查文字是否完整,不能直接認定協定無法使用。

訂閱更新了,為什麼手動新增的項目仍是舊密碼?

訂閱群組與獨立項目是不同的內容。先在 Home 確認目前查看的是哪個群組,再檢查訂閱更新結果;手動新增的項目需依既有服務商提供的新參數單獨修改,或重新匯入新的單一分享連結。

節點名稱和位址都有,為什麼仍然無法連線?

開啟該項目的編輯頁面,依序核對連接埠、密碼或 UUID、傳輸類型、TLS Server Name,以及 WebSocket Host 和路徑。名稱只是備註;即使位址正確,路徑不符仍可能導致交握失敗。核對完成後,再執行 Connectivity Test 和實際連線測試。

可以把完整連結貼到公開討論區請人檢查嗎?

請勿公開完整連結、QR Code 或訂閱 token。回報問題時,只需保留 scheme、傳輸類型、已遮蔽敏感資訊的錯誤訊息和重現步驟;若憑證已外洩,應透過既有服務商提供的帳戶管理方式重設或撤銷,再更新本機項目。

整理設定時,先保留目前可用的項目,再測試新匯入的設定,確認無誤後才清理重複內容。同名項目不一定相同,同一伺服器位址也可能對應不同連接埠、帳戶或傳輸參數。判斷是否重複時,應比較完整設定,而不只是備註名稱。

Shadowrocket 全平台下載