Shadowrocket 小火箭節點連結教學:ss://、vmess://、vless://、trojan:// 格式與訂閱差異

認識四種分享連結的結構與常見編碼方式,了解單一節點連結和訂閱網址在匯入方式及更新行為上的差異,並以虛構資料示範辨識方法。

本文重點

Shadowrocket(小火箭)中的單一節點分享連結用來描述一條連線;訂閱網址則用來取得並更新一組項目。本文適合已擁有服務商與訂閱的使用者,先依連結前綴辨識輸入類型,再說明認證、傳輸與編碼欄位,最後整理匯入核對及故障排查順序。所有網址、密碼與 UUID 範例都是虛構資料,無法用於連線。

先區分分享連結與訂閱網址

ss://、vmess://、vless:// 和 trojan:// 是常見的協定分享連結前綴,用來描述節點參數,不是網頁網址。QR code 只是承載這些文字的一種方式:掃描 QR code 不代表匯入訂閱,實際類型仍取決於 QR code 中的內容。

訂閱網址通常使用 https://,例如 https://example.com/sub?token=xxxx。Shadowrocket 會連線至該網址並解析回傳內容。只有 HTTPS 前綴無法確認它就是訂閱;登入頁面、錯誤提示頁和一般網頁也都使用 HTTPS,還是要依原提供方的說明及匯入結果判斷。

輸入類型實際內容後續更新
單一節點分享連結單一連線的網址、連接埠、認證及可選傳輸參數通常是匯入當下的參數快照,不會自動追蹤原始文字的變動
訂閱網址取得遠端項目清單的入口,可能包含存取憑證更新時重新連線至該網址,項目如何變動取決於回傳內容
QR code文字的圖像載體,內容可能是分享連結,也可能是訂閱網址取決於其中承載的輸入類型

節點訂閱與 Config 中的規則設定並非同一項目。前者主要管理連線項目,後者用來設定規則等行為。匯入節點不會自動替使用者撰寫 DOMAIN-SUFFIX、IP-CIDR 或 FINAL 規則。

ss://:先解析認證資訊,再核對連接埠

Shadowsocks 分享連結常見的 SIP002 格式,是先將加密方法與密碼組合後進行 Base64 編碼,再接上伺服器網址、連接埠及可選參數。以下範例的認證資訊解碼後為 aes-128-gcm:password;8388 僅為示範連接埠,並非固定值。

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

認證資訊解碼:
aes-128-gcm:password

對應欄位:
method = aes-128-gcm
password = password
server = example.com
port = 8388

Base64 是編碼方式,不是保密措施。能讀取連結的人通常也能還原其中的認證資訊。排查時可以記錄 Type、連接埠及是否有其他參數,但不要將完整分享連結貼到公開留言區或線上解碼網站。

vmess://:常見內容是以 Base64 編碼的 JSON

常見的 VMess 分享連結會在 vmess:// 後放入以 Base64 編碼的 JSON。下方是解碼後的結構範例,不是可直接貼上匯入的完整分享連結。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"
}

其中 v 表示分享資料格式,不是 Shadowrocket 版本;add 與 port 分別對應連線網址和連接埠;id 是 UUID;aid 對應 alterId,範例值為 0。請勿為了讓連結「看起來正常」而任意修改這些認證欄位。

欄位類別範例核對重點
認證id、aid、scy分別核對 UUID、alterId 與加密選項,三者不能互相取代
傳輸net=ws、path=/demoWebSocket 路徑須與伺服器設定相符,大小寫與斜線也要保留
HTTP 主機資訊host=example.com用於相應傳輸的 Host,不一定與連線網址相同
TLStls=tls、sni=example.com分別確認是否啟用 TLS、Server Name 及憑證驗證

連接埠 443 本身不代表已啟用 TLS,也不代表傳輸方式一定是 WebSocket。範例中的 net、tls 與連接埠各自代表不同資訊,匯入後請在節點編輯頁面逐項核對。

vless:// 與 trojan://:認證位置相同,意義不同

這兩類連結通常採用 URI 結構:@ 前是認證資訊,後方是伺服器與連接埠,問號後是參數,井字號後是備註。VLESS 的認證欄位通常放 UUID,Trojan 則放密碼。不能只更換連結前綴,就將一種協定轉換為另一種協定。

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

trojan://[email protected]:443?security=tls&type=tcp&sni=example.com#Demo-Trojan

結論:匯入成功後,先核對認證與傳輸欄位

在 Home 開啟新項目的編輯頁面,先確認 Type、網址、連接埠、UUID 或密碼,再確認 TLS、Server Name、傳輸類型及路徑。儲存成功只代表項目已建立,不表示伺服器已接受連線。

在 Home 匯入:保留原始內容與訂閱關聯

先從現有服務的管理頁面取得原始文字,避免複製到含說明文字的整段訊息。分享連結中不要混入引號、中文標點、空格或通訊軟體插入的換行。若 QR code 承載的是訂閱網址,也應以訂閱方式處理,而不是新增一般協定項目。

  1. 確認輸入類型。協定前綴用來辨識單一連線;已有訂閱則應使用原提供方標示的完整訂閱 URL。
  2. 複製完整內容後,在 Home 使用剪貼簿匯入提示;使用 QR code 時,從 Home 的掃描入口讀取。匯入前請核對辨識出的項目類型。
  3. 需要手動新增時,在 Home 點選 + 進入 Add Server。單一節點請選擇對應的 Type 並核對欄位;訂閱請將 Type 設為 Subscribe,並在 URL 欄位填入完整網址。
  4. 儲存後返回 Home。單一節點請檢查編輯頁面的參數;訂閱則確認是否建立了對應分組,以及項目數量和名稱是否與現有服務提供的內容相符。
  5. 更新訂閱時,使用該分組的更新功能。更新後再次確認目前選取的項目,尤其留意原項目遭到刪除、更名或替換的情況。

兩種輸入方式的管理方法

已有的單一節點分享連結
  • 匯入後核對 Type 與所有連線參數。
  • 原提供方調整參數時,重新取得原始連結。
  • 替換前確認舊項目,避免同名項目混淆。
已有的訂閱網址
  • 使用 Subscribe 類型儲存完整 URL。
  • 透過訂閱更新取得遠端項目的變動。
  • 在原提供方修改憑證後,確認訂閱 URL 是否也有變動。

同一訂閱反覆新增可能會出現多個來源群組;管理時優先更新原有群組,不要每次重新整理都當成新訂閱匯入。

訂閱能否成功更新,還取決於網址是否有效、存取憑證是否過期、目前網路能否連線至該網址,以及回傳格式是否可解析。HTTP 請求成功也可能只取得登入頁面,因此「網址能開啟」不能取代對匯入結果的檢查。

匯入後仍無法連線:區分參數問題與Global Routing

若 Home 已顯示項目,但網頁無法開啟,請先確認目前選取的項目與連線狀態,再檢查 Global Routing。節點連結提供連線參數,Global Routing 則決定流量的處理方式;路由設定不正確時反覆更改 UUID,無法驗證原本的問題。

Config

建議

使用目前選取的設定處理流量。若已設定並核對規則,可依規則讓不同目標使用指定策略。

適用情境:日常使用已設定的規則,檢查特定目標命中的策略

Proxy

將 App 接管的流量交由目前的代理策略處理,暫時降低規則分流對測試的影響;這無法修復伺服器認證或 TLS 參數。

適用情境:暫時測試目前項目,區分節點連線與規則選擇問題

Direct

使用直接連線,不經過目前的代理節點。此時目標可連線,不代表剛匯入的節點也能連線。

適用情境:建立直連對照,確認目前網路能否直接連線至目標

排查時一次只變更一個變數。若暫時使用 Proxy 能連線至同一目標,但 Config 無法連線,請檢查設定中的規則順序與策略;若兩者都無法連線,則逐一核對認證、TLS、傳輸方式、服務狀態與網路連線能力。測試完成後,請恢復原本需要的設定模式。

連結匯入常見問題:依症狀排查

已複製連結,為什麼沒有辨識成節點?

先確認內容是否從協定前綴開始,以及是否混入訊息標題、引號或換行。重新複製完整原始連結;若取得的是 HTTPS 網址,先確認它是訂閱還是一般網頁,再前往 Home → + → Type → Subscribe 處理已有訂閱。

vmess:// 後面看不到伺服器網址,是連結壞掉了嗎?

不一定。常見 VMess 分享格式會將整段 JSON 以 Base64 編碼,因此不會直接顯示網址。建議先用 Shadowrocket 匯入,再於編輯頁面檢查網址、連接埠、UUID、alterId 與傳輸欄位,不要將編碼文字手動填入網址欄位。

訂閱更新後,為什麼手動新增的項目沒有變動?

手動新增的項目不屬於訂閱來源,不會因另一個訂閱更新而自動替換。返回 Home 確認所屬群組,並使用訂閱群組中的對應項目;若要保留手動項目,請自行核對原提供方提供的新參數。

網址和連接埠相同,為什麼另一個連結可以使用?

接著比較 Type、UUID 或密碼、加密選項、TLS、Server Name、Host 與路徑。網址和連接埠相同,只代表連線入口相同,不表示認證與傳輸設定也相同;請先逐項比對,不要直接互換協定前綴。

可以把完整訂閱網址傳給別人協助檢查嗎?

不應公開完整網址。訂閱 URL 中的 token 可能允許他人讀取服務資訊,分享連結本身也含有認證資料。尋求協助時,只提供已遮蔽敏感資訊的結構、Type、連接埠、傳輸選項及錯誤現象;若憑證已外洩,請至原提供方的管理頁面重設。

完成辨識、匯入及連線測試後,再設定自動連線等使用習慣。Settings → On Demand 用於按需連線,無法修復錯誤的分享連結,也不會替使用者更新已失效的認證資訊。

App Store 正版確認