Shadowrocket 節點連結格式解析:ss://、vmess://、vless://、trojan:// 與訂閱網址的差異

解析 ss://、vmess://、vless://、trojan:// 分享連結的結構與欄位,並比較單一節點連結和訂閱網址的匯入方式與更新機制。範例皆為虛構資料。

本文重點

本文適合已持有服務商提供的設定,並需要判斷匯入類型的使用者。先分辨單一分享連結與訂閱網址,再了解 Shadowsocks、VMess、VLESS、Trojan 的欄位,最後在 Shadowrocket 中完成匯入、更新與連線測試。文中的網域、密碼與 UUID 均為教學用虛構資料,無法用於實際連線。

一、先分辨連結描述的是連線,還是設定清單

Shadowrocket(小火箭)中的單一伺服器項目會儲存協定、伺服器位址、連接埠與驗證資訊。以 ss://、vmess://、vless:// 或 trojan:// 開頭的分享連結,通常會將這些欄位直接編碼在連結中。匯入的作用是還原本機欄位,不代表已確認伺服器可用。

訂閱網址通常是 HTTPS 網址。Shadowrocket 連線至該網址並讀取回傳內容後,會建立或更新一組伺服器項目。因此,「分享連結能否解析」和「訂閱伺服器能否連線」是兩回事。HTTPS 只是存取方式,一般網頁和登入頁面也會使用 HTTPS,不能只憑網址開頭就認定它是訂閱網址。

4 種
本文解析的分享連結前綴:ss / vmess / vless / trojan
443
本文 TLS 範例使用的連接埠,並非所有連線的固定連接埠
2 個步驟
處理訂閱:請求網址,再解析回傳內容

單一項目通常不會因原伺服器更換位址而自動變更;訂閱項目則可在更新時重新取得參數。更新也可能移除舊項目,或覆寫由訂閱管理的欄位,因此不宜將本機手動修改視為長期維護方式。本文僅說明如何使用使用者已有的設定,不提供、不販售也不推薦連線服務或訂閱。

二、ss://:辨識 Shadowsocks 的驗證資訊與連接埠

ss:// 是 Shadowsocks 分享格式。常見的 SIP002 格式會將加密方式與密碼放在 Base64 編碼的使用者資訊中,後面接著 @伺服器:連接埠。以下範例的驗證資訊解碼後為 aes-128-gcm:password;網域與密碼均為虛構資料。

ss://[email protected]:8388#Example-SS

部分舊格式的連結會將「加密方式、密碼、伺服器、連接埠」整段編碼,因此看不到明顯的 @。格式不同不代表使用不同協定。Base64 只是文字編碼,並非保密措施;取得完整連結的人通常也能還原其中的連線憑證。

三、vmess://:先解碼 JSON,再分辨傳輸方式與 TLS

常見的 VMess 分享格式是在 vmess:// 後接上 Base64 編碼的 JSON。這與 VLESS 的 URI 格式不同,不能只把前綴改成 vless:// 就轉換協定。以下是解碼後的教學用 JSON,並非可直接貼上匯入的完整分享連結。

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

add 和 port 指定連線目標,id 是用於驗證的 UUID,ps 是備註。net=ws 表示使用 WebSocket,path 是對應路徑,host 是該傳輸方式的 Host 資訊。只有 tls=tls 才表示啟用 TLS;僅將連接埠設為 443,不會自動補上 TLS 設定。

匯入後若位址和 UUID 都已填入,但仍無法連線,請一併檢查傳輸類型、路徑、Host 與 SNI。只有伺服器位址正確,仍不足以讓使用 WebSocket 和 TLS 的設定成功連線。

四、vless:// 與 trojan://:格式相似,驗證方式不同

VLESS 和 Trojan 常見的分享格式都近似標準 URI:@ 前是驗證資訊,後面是伺服器與連接埠;問號後是參數,井字號後是備註。以下兩行僅為結構範例,不能用來建立連線。

vless://[email protected]:443?encryption=none&security=tls&type=ws&host=ws.example.com&path=%2Fconnect&sni=tls.example.com#Example-VLESS
trojan://[email protected]:443?security=tls&type=tcp&sni=tls.example.com#Example-Trojan
欄位位置VLESS 範例Trojan 範例
@ 之前UUID 驗證識別碼連線密碼
security=tls本例的 TLS 設定本例的 TLS 設定
typews,WebSockettcp,本例使用 TCP 傳輸
sniTLS 伺服器名稱TLS 伺服器名稱
# 之後顯示用備註顯示用備註

VLESS 範例中的 encryption=none 描述的是 VLESS 本身的加密欄位,不代表整條連線沒有 TLS。本例另外以 security=tls 指定傳輸安全設定。分享參數可能因實作而異;若來源還提供 flow 等欄位,請保留原值並核對匯入結果,不要從其他連結拼湊參數。

%2Fconnect 解碼後是 /connect。若密碼包含 @、#、& 等保留字元,通常必須正確進行百分比編碼,否則解析器可能會將部分密碼誤認為分隔符號。IPv6 字面位址放入 URI 時也需要方括號,例如 [2001:db8::1]:443;此位址同樣僅供文件示例使用。

五、在 Home 分別匯入單一連結與訂閱網址

操作前請先確認手上的內容類型。Config 用於管理規則設定,不能因為內容也是 URL,就把伺服器訂閱網址當作規則設定匯入。Home 中的伺服器項目、訂閱群組,以及 Config 中的路由規則,各有不同用途。

兩種匯入內容:單一連線參數與遠端訂閱清單

單一分享連結
  • 完整複製原始連結;若出現剪貼簿匯入提示,先確認協定類型。
  • 在 Home 完成匯入後,開啟項目檢查伺服器、連接埠與驗證欄位。
  • 接著檢查 TLS、SNI 與傳輸參數,不要根據備註名稱判斷協定。
  • 參數變更時,請重新匯入或編輯該項目,不要依賴訂閱更新。
使用者已有的訂閱網址
  • 前往 Home → +,將 Type 設為 Subscribe。
  • 在 URL 欄貼上完整訂閱網址,填入方便辨識的備註後儲存。
  • 更新訂閱,確認所屬群組中出現伺服器項目。
  • 之後透過原訂閱更新參數,不要每次重新整理都新增一筆訂閱。

匯入成功只代表欄位或回傳內容可供解析;完成連線測試與實際存取後,才能判斷目前的設定是否可用。

常見訂閱網址格式如下:https://example.com/sub?token=xxxx,其中網域與 token 均為虛構資料。實際使用的 token 可能直接代表存取權限,請保留完整查詢參數,但不要貼到公開討論區。瀏覽器能開啟網址,也不保證應用程式能讀取有效訂閱:回傳內容可能是登入頁、錯誤頁或不支援的格式。

  1. 儲存訂閱後,記下群組名稱與項目數量,方便比對下次更新結果。
  2. 執行更新,留意是否出現錯誤,以及伺服器位址或項目是否有所變動。
  3. 選取一個項目執行 Connectivity Test,再開啟連線開關進行實際存取。
  4. 如需修改訂閱項目,請先保留原始參數;後續更新可能會覆寫由訂閱管理的欄位。

六、如何選擇手動更新或自動更新

更新訂閱會重新向遠端請求清單,不會測試所有伺服器,也不會讓單一分享連結具備自動同步功能。首次匯入建議先手動更新,確認來源與回傳內容無誤;建立可重複執行的檢查方式後,再依需求調整 Settings → Subscribe 中的更新設定。

手動更新 Subscribe

建議

首次匯入或疑難排解時,可手動觸發更新,將錯誤提示、項目變化與這次操作直接對照,避免尚未核對參數就反覆更新。

適用情境:首次匯入、核對參數、排查訂閱更新失敗

自動更新 Subscribe

確認現有訂閱可正常更新後,可依照應用程式提供的更新設定維護清單。實際更新仍會受到網路與執行狀態影響,不能視為保證持續在背景輪詢。

適用情境:已確認可用,需要持續維護遠端清單

若必須透過現有代理連線才能連上訂閱伺服器,可檢查 Settings → Subscribe → Update via Proxy。啟用前必須已有可正常運作的連線;此設定無法修復失效的 token,也無法讓全部失效的伺服器自行恢復。若目前的連線不可用,強制透過它更新反而可能造成逾時。

七、常見問題:從解析失敗到更新後無法連線

已複製連結,為什麼匯入後沒有任何項目?

先檢查開頭的協定前綴是否完整、結尾是否遭通訊軟體截斷,以及連結中是否混入換行、引號或說明文字。若是 VMess,請確認取得的是完整編碼內容,而不是截取的 JSON 片段。請回到原始來源重新複製,不要靠修改前綴來猜測協定。

訂閱更新成功,為什麼單一伺服器仍然逾時?

更新成功只代表訂閱網址可連線,且回傳內容能夠解析。前往 Home 選取指定項目,執行 Connectivity Test,再檢查位址、連接埠、驗證資訊與 TLS 參數。若只有部分項目失敗,應逐一檢查,而不是連續更新整份訂閱。

連接埠已是 443,為什麼還要檢查 SNI?

連接埠只決定連線目標的連接埠號碼。使用 TLS 時,SNI、憑證名稱與驗證結果仍會影響交握。開啟項目檢查 TLS 與伺服器名稱,依照原始設定還原正確值;不要將停用憑證驗證當作一般修復方式。

更新後,為什麼自己修改的名稱或參數改變了?

由訂閱管理的項目可能在更新時重新建立或遭到覆寫。請先比對更新前保存的資訊,確認變動的只是備註,還是伺服器、連接埠或驗證資訊也有變更。需要長期保留的個別調整,應與訂閱管理的項目分開維護;原服務參數變更後,仍須手動同步。

可以把連結傳給別人協助排查嗎?

請勿直接傳送原始連結。先隱藏密碼、UUID、token 等敏感資訊,只保留協定類型、連接埠、傳輸方式與錯誤狀況。若完整訂閱網址已經外洩,請透過原服務商提供的帳戶管理方式重設存取憑證,再到 Home 更新訂閱 URL。

排查時可依序進行「辨識類型 → 完整複製 → 核對欄位 → 請求訂閱 → 測試單一項目 → 實際存取」。分享連結包含連線參數,訂閱網址則提供取得清單的入口;先釐清故障發生在哪一層,才能避免把路由問題誤認為格式錯誤,或把遠端伺服器故障當成匯入失敗。

前往 App Store