ss://、vmess://、vless://、trojan:// 分享連結格式解析:與訂閱連結有何不同

解析常見分享連結的結構與欄位,說明單一連結和訂閱網址的差異,以及如何匯入 Shadowrocket。

本文重點

本文適合已持有自有服務商連線資料,並需要匯入 Shadowrocket(小火箭)及核對參數的使用者。先從連結前綴區分單一連線資料與訂閱網址,再確認伺服器、連接埠、憑證及傳輸參數,最後依序檢查匯入、更新與連線測試。文中的 example.com 網址與示範憑證僅用於說明語法,無法用來連線;本站不提供、不販售,也不推薦節點或訂閱服務。

1. 分享連結與訂閱連結:一個包含參數,一個取得清單

ss://、vmess://、vless://、trojan:// 是本文討論的四種分享連結前綴。這類連結通常會將單一連線所需資料直接寫在連結中。匯入後,客戶端會讀取資料並建立一筆本機伺服器記錄。修改連結中的備註,不會改變遠端伺服器設定。

訂閱網址通常以 https:// 開頭,例如 https://example.com/sub?token=xxxx。客戶端會先連線至該網址,再解析伺服器傳回的連線清單。回傳內容可能是多筆分享連結的編碼文字,也可能是客戶端支援的其他訂閱格式。它不是把「https 改成某個協定前綴」就能變成單一分享連結。

檢查項目單一分享連結訂閱網址
資料存放位置主要寫在連結文字中由網址對應的伺服器傳回
匯入時的處理方式解析參數並儲存一筆連線記錄連線至網址、解析並儲存一組記錄
伺服器資料變更後通常需要重新匯入或手動修改執行訂閱更新後同步,實際結果取決於伺服器回傳內容
敏感資料密碼、UUID、伺服器資料存取權杖、路徑中的憑證,以及可取得的連線資料

只看到 https:// 還不能確認這是訂閱網址。帳戶登入頁、付款頁面和說明文件同樣會使用 HTTPS。判斷依據是服務商提供的用途說明,以及連線後是否會傳回 Shadowrocket 可解析的訂閱內容。若開啟的是登入頁面或驗證碼頁面,請先確認複製的是否為訂閱網址。

2. 先看懂結構:前綴、憑證、主機、連接埠與參數

不同協定的欄位配置不盡相同,但檢查順序可以一致。先確認前綴,再查看驗證資料,接著核對伺服器位址與連接埠,最後比對 TLS 和傳輸設定。備註通常位於 # 之後,只用來辨識記錄,不是驗證密碼。

4 種
本文解析的前綴:ss / vmess / vless / trojan
443
後文 TLS 範例所用的連接埠,並非所有服務的固定值
8388
後文 Shadowsocks 範例所用的連接埠,實際值由伺服器決定

3. ss://:查看加密方式與密碼

ss:// 對應 Shadowsocks。常見的 SIP002 分享格式會將「加密方式:密碼」以 Base64 或 URL-safe Base64 編碼,再接上 @伺服器:連接埠。也有較舊的格式會將更長的資料整段編碼,因此不能只憑連結中是否看得到 @,就判斷連結已損毀。

ss://[email protected]:8388#demo-ss

上例僅用於示範語法。YWVzLTEyOC1nY206ZGVtby1vbmx5 解碼後為 aes-128-gcm:demo-only:加密方式是 aes-128-gcm,密碼是 demo-only,伺服器是 example.com,連接埠是 8388。請勿將整段編碼文字填入密碼欄。

  1. 匯入後開啟記錄詳細資料,確認 Type(類型)顯示為 Shadowsocks。
  2. 對照自己的連線資料,確認加密方式、密碼、伺服器與連接埠。
  3. 若原始連結包含 plugin 參數,請繼續確認外掛名稱與選項。基本欄位正確,不代表外掛設定也已完整。

Base64 編碼結尾有時不會加上 = 補位,URL-safe 變體也會使用 - 和 _。這些差異不應靠逐字替換來「修復」。請先保留服務商提供的原始內容,交由匯入程式辨識;只有確認文字遭截斷時,才重新複製完整連結。

4. vmess://:常見格式為 Base64 編碼的 JSON

vmess:// 對應 VMess。常見分享格式會將 JSON 物件編碼後,放在前綴之後。下方展示的是解碼後的結構,並非可直接貼上匯入的完整分享連結。不同產生端也可能採用其他變體,不能將其中一種格式的欄位解讀方式套用到所有連結。

{
  "v": "2",
  "ps": "demo-vmess",
  "add": "example.com",
  "port": "443",
  "id": "00000000-0000-4000-8000-000000000001",
  "aid": "0",
  "scy": "auto",
  "net": "ws",
  "type": "none",
  "host": "example.com",
  "path": "/demo",
  "tls": "tls",
  "sni": "example.com"
}

JSON 結構中的引號與逗號都必須完整。聊天工具自動換行、複製時漏掉結尾,或將英文引號換成中文引號,都可能導致解析失敗。若匯入後伺服器位址空白,請先檢查原始連結是否完整,而不是先修改 Global Routing(全域路由)。

5. vless:// 與 trojan://:外觀相似,憑證不同

vless:// 和 trojan:// 的常見分享格式都近似「憑證@伺服器:連接埠?參數#備註」。前者通常使用 UUID,後者通常使用密碼。外觀相似不代表可以互換前綴,也不代表兩者的傳輸參數可以直接通用。

vless://[email protected]:443?encryption=none&security=tls&type=ws&host=example.com&path=%2Fdemo&sni=example.com#demo-vless

trojan://demo%[email protected]:443?security=tls&type=tcp&sni=example.com#demo-trojan
欄位說明確認方式
VLESS 憑證範例使用 UUID逐段確認,保留連字號
Trojan 憑證範例密碼為 demo@only連結中的 %40 解碼後是 @,請勿將分隔符號誤認為密碼內容
security=tls描述 TLS 傳輸安全設定同時確認 SNI 與憑證所對應的名稱
type=ws / type=tcp描述傳輸方式不能只因連接埠都是 443 就互換
path=%2Fdemo解碼後的路徑為 /demo保留開頭的斜線及大小寫

VLESS 範例中的 encryption=none 描述的是 VLESS 本身的加密欄位,不代表整條連線沒有 TLS。請搭配 security 參數一起理解。其他安全模式可能還需要額外參數,不能直接將本例的 TLS 設定套用到自己的服務。

伺服器位址、SNI 和 WebSocket Host 可以相同,也可以不同,三者用途並不相同。請勿為了讓欄位「看起來一致」而統一修改。不同匯入程式支援的參數也不盡相同:記錄能夠儲存,只代表語法已被接受,之後仍須核對詳細資料並實際測試連線。

6. 在 Shadowrocket 匯入:區分單一記錄與訂閱群組

以下以 Home(首頁)的匯入操作為例。Home 用來管理伺服器記錄,Config(設定檔)用來管理規則設定,Settings(設定)則用來管理 App 選項。一般伺服器分享連結和訂閱網址不應匯入 Config 作為規則設定檔。

匯入單一分享連結

  1. 從自己已有的服務資料中複製完整連結,只複製連結本身,不要一併複製說明文字、引號或句尾標點。
  2. 開啟 Shadowrocket,進入 Home。若出現剪貼簿匯入提示,確認後檢查新增的記錄;若沒有提示,請使用 App 提供的匯入功能,或掃描該連結對應的 QR Code。
  3. 開啟記錄詳細資料,依序確認 Type、伺服器、連接埠、憑證,以及 TLS 和傳輸參數。不同協定的詳細欄位不盡相同。
  4. 儲存並選取該記錄,再啟用連線。單一記錄不會因服務商修改資料,就自動變成由訂閱管理的記錄。

匯入及更新訂閱

  1. 複製自己的訂閱網址,例如結構類似 https://example.com/sub?token=xxxx 的網址。此處僅為虛構範例,不是服務入口。
  2. 前往 Home → +,在 Type 中選擇 Subscribe(訂閱),將完整網址填入訂閱網址欄位,儲存後等待取得清單。
  3. 確認訂閱群組中已出現記錄,再選取要使用的記錄。訂閱匯入成功,不代表已選取其中一筆連線。
  4. 服務資料有變更時,請在 Home 的訂閱群組操作中執行更新。先確認回傳內容與更新結果,再檢查原有記錄是否有所變動。

7. 匯入後驗證:先檢查資料,再比較路由模式

匯入成功只代表資料可以解析,不代表伺服器連得上、憑證有效,或規則符合預期。請先選取記錄並測試連線,再檢查 Home → Global Routing。以下比較的是 Shadowrocket 本身的設定,不是協定速度排名。

Config(設定檔)

建議

依目前設定檔中的規則選擇策略。符合 DOMAIN-SUFFIX、IP-CIDR、GEOIP 等規則時,會套用對應策略;若前面的規則都未命中,則由 FINAL 決定流量去向,不一定會直連。

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

Proxy(代理)

由客戶端接管的連線會採用代理模式,可暫時排除一般分流規則對測試目標的影響。但這無法修正錯誤的密碼、連接埠或 TLS 參數。

適用情境:暫時確認代理連線是否可用,縮小規則排查範圍

Direct(直連)

由客戶端接管的連線會採用直連模式。網頁可以開啟,也不能因此證明剛匯入的代理記錄可用。

適用情境:確認本機網路本身是否正常

結論:每次只調整一個檢查項目

如果同一個測試目標在 Proxy 下可用、在 Config 下失敗,請保留連線參數,改查匹配規則、策略與 DNS;若兩種模式都失敗,先確認伺服器、連接埠、驗證資料和 TLS。測試結束後請恢復原本的路由模式,避免將暫時設定當成長期配置。

Global Routing 也包含 Scene(場景)模式,其行為取決於既有場景設定,並非本文用來排除變因的固定測試模式。Settings → On Demand(隨選連線)會依條件控制連線,不會補齊分享連結中的參數。排查期間若連線狀態自動變更,也請一併檢查既有的 On Demand 設定。

8. 分享連結匯入與訂閱更新常見問題

複製連結後,為什麼沒有自動新增?

先確認前綴及內容完整,移除連結外的引號和說明文字。接著檢查系統是否允許讀取剪貼簿,然後回到 Home 使用匯入功能,或掃描由原始連結產生的 QR Code。不要為了觸發辨識而將 https 訂閱網址改成 ss 前綴。

訂閱更新顯示成功,但記錄沒有變,是不是沒有重新整理?

不一定。更新成功代表本次取得及解析已完成,伺服器仍可能傳回相同清單。請檢查群組中的伺服器及連接埠是否確實變更,再確認複製的訂閱網址是否正確。不要靠反覆刪除並重建群組來判斷伺服器是否已更新。

訂閱網址在瀏覽器中可以開啟,為什麼 App 匯入失敗?

瀏覽器能顯示頁面,不代表收到的內容就是訂閱資料。若看到登入表單、HTML 錯誤頁或存取驗證頁面,請重新確認服務商標示的訂閱入口。若要求回應 401 或 403,請檢查權杖與帳戶權限;若逾時,請確認網路是否可連線,不要先修改協定密碼。

可以把完整連結傳給別人協助檢查嗎?

請先在本機副本中遮蔽密碼、UUID、訂閱權杖及其他驗證參數,只保留需要確認的欄位結構。QR Code 同樣包含原始資料。若完整憑證已公開,請透過自己的服務帳戶撤銷或更換相關憑證,再到 Home 更新記錄或訂閱。

完成檢查後,應能分別回答三個問題:匯入的是單一資料還是訂閱網址;儲存的欄位是否與自己的服務資料一致;目前的路由模式是否會使用這筆連線。依照這個順序處理,就能避免將格式、服務連線狀態與規則問題混為一談。

下載 Shadowrocket