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

單一分享連結與訂閱連結的結構、用途各不相同。本文說明 ss://、vmess://、vless://、trojan:// 各自包含的欄位,以及匯入與更新方式的差異。

本文速覽

本文適合已持有服務商提供的連線資料或訂閱,並需要在 Shadowrocket(小火箭)中正確匯入的使用者。先從連結開頭判斷內容是單一連線還是遠端清單,再核對位址、連接埠、驗證資料與傳輸參數,最後分清「重新匯入」和「更新訂閱」。文中的網域、密碼與 UUID 均為教學用假資料,並非可用的連線資訊。

1. 分享連結與訂閱連結:單一連線和遠端清單

ss://、vmess://、vless://、trojan:// 是分享連結的 scheme,用來提示用戶端應以哪種格式解析後續內容。這類連結通常描述單一連線,包含伺服器位址、連接埠、驗證資料,以及必要的傳輸選項。匯入後,Shadowrocket 會將這些欄位儲存於本機;連結本身通常不會持續取得遠端變更。

訂閱連結通常是 https:// 位址。用戶端連線至該位址後,會讀取伺服器傳回的連線清單,再依支援的格式解析。訂閱網址的路徑名稱沒有統一標準,不能只看是否包含 /sub 就判斷用途;一般網頁、登入頁面和訂閱回應都可能使用 HTTPS。請以既有服務商提供的說明及實際回應內容為準。

核對項目單一分享連結訂閱連結
常見開頭ss://、vmess://、vless://、trojan://通常為 https://
主要內容單一連線的位址、連接埠與驗證參數遠端清單的存取位址,可能包含 token
匯入方式解析連結並建立本機項目取得遠端內容並建立訂閱中的項目
後續變更編輯本機欄位,或取得新連結後重新匯入更新訂閱,重新取得遠端清單
敏感資訊密碼、UUID、伺服器資料完整訂閱 URL,尤其是路徑或查詢參數中的存取憑證

例如 https://example.com/sub?token=xxxx 只是訂閱網址格式的示意,並非服務入口,也不能直接用來訂閱。訂閱內容可能包含多種協定的連線,不一定只是同一協定的多個位址;「訂閱」描述的是取得與更新方式,並非網路傳輸協定。

2. ss://:核對 Shadowsocks 加密方法與密碼

常見的 Shadowsocks 分享格式會將加密方法與密碼放在使用者資訊部分,再以 @ 接上伺服器位址與連接埠。符合 SIP002 格式的連結可使用 Base64URL 編碼使用者資訊;也可能遇到較早期、將更多欄位一併編碼的格式。因此,不要假設所有 ss:// 連結都能直接依照單一個 @ 拆解。

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

使用者資訊解碼後的教學內容:
aes-128-gcm:password

匯入後,在 Home 開啟對應項目的編輯頁面,核對協定類型、位址、連接埠、加密方法與密碼。若用戶端成功建立項目,只能代表解析成功;伺服器是否接受該密碼、連接埠是否可連通,仍須另外測試。

3. vmess://:先了解編碼後的 JSON 欄位

常見的 vmess:// 分享連結會在 scheme 後附上一段經 Base64 編碼的 JSON。編碼內容通常包含位址、連接埠、使用者 ID、傳輸方式與 TLS 等欄位。以下展示的是解碼後的教學物件,並非可直接貼上匯入的完整分享連結。

{
  "v": "2",
  "ps": "VMess Demo",
  "add": "server.example.com",
  "port": "443",
  "id": "123e4567-e89b-42d3-a456-426614174000",
  "aid": "0",
  "scy": "auto",
  "net": "ws",
  "type": "none",
  "host": "edge.example.com",
  "path": "/demo",
  "tls": "tls",
  "sni": "edge.example.com"
}
欄位用途與核對方式
add / port連線位址與連接埠。範例使用 443,不代表所有 VMess 服務都使用 443。
id / aid使用者 UUID 與 alterId。範例中的 alterId 為 0;請依照實際資料設定,不要自行改成其他數值。
scyVMess 的加密選項。這不等同於 TLS 開關,也不是 Shadowsocks 的 method 欄位。
net / host / path範例採用 WebSocket;Host 與路徑必須符合伺服器要求,路徑的大小寫及開頭斜線都不能任意變更。
tls / sniTLS 啟用狀態,以及 TLS 交握時使用的伺服器名稱。SNI 可能與連線位址不同。
v / ps分享格式的版本標記與備註。此處的 v 並非 Shadowrocket 應用程式版本。

上述欄位屬於常見分享格式之一,並非所有產生工具都會提供完全相同的 JSON。匯入後應檢查解析結果,不要只確認備註是否出現。如果實際資料要求 WebSocket 與 TLS,但匯入後缺少 path 或 TLS 狀態不符,請先確認原始連結是否遭截斷,再向既有服務商確認格式與參數。

4. vless:// 與 trojan://:查詢參數也是連線條件

常見的 VLESS 與 Trojan 分享格式接近可直接閱讀的 URI:驗證資料位於 @ 前,位址與連接埠在後,問號之後則是安全層與傳輸選項。兩者的驗證欄位並不相同:VLESS 通常使用 UUID,Trojan 則使用密碼,不能只更改前綴就將一種協定轉換成另一種。

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

trojan://[email protected]:443?security=tls&type=tcp&sni=edge.example.com#Trojan%20Demo
  1. 先核對驗證資料。VLESS 範例中的 UUID 與 Trojan 範例中的 demo-password 都是假資料;實際匯入時必須使用原始資料。
  2. 接著核對 server.example.com:443。此處的 443 是特定範例,不要以「通常使用 TLS」為由,改用不同於服務商提供的連接埠。
  3. 檢查 security=tls 與 sni。兩者會影響 TLS 交握與憑證核對,不只是顯示名稱。
  4. 檢查 type=ws 或 type=tcp。VLESS 範例中的 host 和 path 是 WebSocket 條件;%2Fdemo 解碼後為 /demo。
  5. 保留原始連結中的其他必要參數。如果原始資料包含 flow 或其他與安全層相關的欄位,請確認用戶端是否正確識別,不要依照這個簡化範例刪除。

VLESS 範例中的 encryption=none 指的是 VLESS 本身的加密選項,不代表範例沒有 TLS 保護;協定驗證、傳輸方式與 TLS 各屬不同層次。Trojan 通常依賴 TLS,憑證名稱與信任狀態同樣重要。遇到憑證錯誤時,請檢查位址、SNI 與伺服器憑證,不要直接關閉憑證驗證。

重點:匯入後一併核對驗證、傳輸與 TLS

如果項目已出現但無法連線,請先逐一比對 UUID 或密碼、連接埠、type、path 與 SNI;備註一致不代表連線參數也一致。只修改已確認有差異的欄位,每次變更後再測試,避免同時調整多個條件。

5. 在 Home 匯入:選擇單一連線或訂閱

開始前先確認手上的資料屬於哪一種。Home 用來管理及選擇連線項目,Config 用於設定檔與規則,Settings 則是應用程式設定。連線清單訂閱不是規則設定檔;將訂閱網址填入 Config 的設定檔入口,不能取代連線訂閱的匯入。

已有訂閱:透過 Subscribe 匯入

建議方式

在 Home → + 將 Type 設為 Subscribe,輸入使用者已有的訂閱 URL 並儲存,再確認是否成功取得遠端清單。此建議適用於已持有訂閱的使用者,目的是保留後續更新機制。

適用情況:已有遠端連線清單,需要同步位址、連接埠或憑證的變更

單一連線資料:匯入分享連結

複製完整的單一分享連結,回到 Shadowrocket 後依剪貼簿辨識提示確認匯入;也可以掃描使用者既有資料中的 QR Code。完成後請開啟項目檢查欄位,不要只確認名稱。

適用情況:只需儲存一條明確的連線,或核對某條連線的參數

結構化資料:手動填寫

在 Home → + 選擇對應的 Type,依照既有資料填入位址、連接埠與驗證資訊,並核對傳輸和 TLS 選項。手動建立本機項目不會自動取得訂閱更新機制。

適用情況:只有欄位清單,或需要逐項找出分享連結的解析差異

  1. 從原始資料複製完整連結。請勿包含中文引號、句末標點、聊天軟體的說明文字或程式碼圍欄。
  2. 儲存後返回 Home,確認顯示的是獨立項目,還是訂閱及其子項目。只看到訂閱名稱,並不足以證明清單已成功取得。
  3. 開啟單一連線的編輯頁面,核對類型、位址、連接埠與驗證欄位。若使用 WebSocket 或 TLS,也要確認相應選項。
  4. 選擇要測試的連線。首次開啟連線開關時,請依系統提示授權新增 VPN 設定,接著測試目標的連線情況。

QR Code 只是連結的另一種呈現方式,並非額外的協定。若 QR Code 包含訂閱 URL,匯入後仍應視為訂閱;若包含單一 ss://,也不會因掃描匯入而取得遠端更新功能。iPhone 與 iPad 請依實際介面操作,系統需求以 App Store 頁面標示為準。

6. 更新與排除問題:先分辨取得失敗或連線失敗

更新訂閱是再次請求遠端清單,不等於更新 Shadowrocket 應用程式,也不等於重新整理 Config 中的規則。遠端項目可能新增、刪除或替換;請勿假設訂閱項目上的所有本機修改都會在下次更新後保留。需要進行對照測試時,請先記錄修改前的欄位與結果。

兩種管理方式:本機項目與遠端訂閱

本機單一連線
  • 位址或密碼變更後,取得新的分享連結並重新匯入,或直接編輯現有欄位。
  • 重新匯入後,檢查是否產生同名重複項目,並以位址與連接埠區分。
  • 測試成功後,再移除不再使用的舊項目,避免誤刪目前使用的連線。
既有遠端訂閱
  • 在 Home 更新相應訂閱,並確認是否成功取得其下的項目。
  • 更新後核對目前選取的連線是否仍在清單中,以及參數是否有所變更。
  • 如果存取憑證已更換,請先更新訂閱 URL,再重新取得清單。

本機編輯會變更目前儲存的欄位;訂閱更新則會讀取遠端資料,兩者不能互相取代。

排除問題時,請分辨三個階段:URL 請求是否成功、回應能否解析,以及解析後的連線是否可用。例如 HTTP 401 或 403 通常表示存取授權可能有問題,但仍須參考服務商提供的回應說明;即使收到 HTTP 200,也可能只是取得登入 HTML 頁面。若清單已出現但網頁仍無法開啟,請繼續核對連線、Global Routing 與 Config 中的規則,不要反覆重新匯入同一連結。

複製連結後,為什麼 Home 沒有新增項目?

先確認連結是以完整的 scheme 開頭,並檢查是否混入換行、全形冒號或聊天說明。如果系統詢問是否允許從其他 App 貼上,請依實際需要允許。重新複製原始連結再匯入;不要手動修改 Base64 內容來嘗試排除問題。

訂閱更新逾時,是否代表其中的連線都失效了?

不一定。請先確認目前的網路能否連上訂閱網址;若需要透過既有的可用連線取得資料,可在 Settings → Subscribe 檢查 Update via Proxy,並在 Home 選擇可用連線、開啟連線開關後再更新。此選項只會改變更新請求的存取方式,無法修復失效的 token 或格式錯誤的回應。

已成功匯入,為什麼網頁仍然無法開啟?

先檢查所選項目的位址、連接埠、密碼或 UUID,再確認 TLS 與傳輸選項。接著核對 Home → Global Routing:Direct 會直接連線,Proxy 會將可代理的流量交由所選代理策略處理,Config 會依目前設定檔中的規則處理,Scene 則依已設定的情境處理。必要時可暫時切換至 Proxy 進行對照測試,測試完成後請恢復原設定。

修改備註後更新訂閱,名稱又恢復原狀,該怎麼辦?

先確認遠端清單是否仍提供舊備註。訂閱更新可能會重建或覆寫項目,本機備註並未修改遠端資料。如需保留對照紀錄,請另行記錄測試項目或儲存為獨立項目,並留意該項目不會再隨此訂閱自動更新。

可以把真實連結或 QR Code 傳給別人檢查嗎?

請勿公開完整資料。回報問題時,提供協定類型、連接埠、傳輸方式與已遮蔽敏感資訊的錯誤訊息,並隱去密碼、UUID、token、完整 URL 與 QR Code。如果資料已外洩,請透過既有服務商的管理入口更換相關憑證,再更新本機連線或訂閱。

App Store 正版核對