小火箭節點連結格式:如何辨識 ss://、vmess://、vless://、trojan:// 與訂閱網址

認識各類分享連結的前綴與編碼方式,分辨單一節點連結和訂閱網址,並了解如何在 Shadowrocket 中辨識及匯入。文中範例皆為虛構資料。

本文重點

Shadowrocket(小火箭)的單一節點分享連結會直接帶有連線參數;訂閱網址則指向需要取得的設定內容。本文適合已備有自用連線設定的使用者,逐一說明如何從前綴、編碼、欄位與匯入入口辨識連結。看完即可判斷應使用連結匯入、Type → Subscribe,或透過 Add Server 手動填寫,也能了解為什麼成功匯入不代表連線成功。文中的網址、密碼、UUID 與連接埠皆為示範用虛構資料,無法用於實際連線。

先看前綴,再確認網址用途

連結開頭的 scheme 會決定解析方式。ss:// 對應 Shadowsocks 參數,vmess:// 對應 VMess 參數,vless:// 對應 VLESS 參數,trojan:// 對應 Trojan 參數。這類連結通常各自代表一筆伺服器項目;即使把多條連結排成多行,也不會自動變成可持續更新的訂閱網址。

以 https:// 開頭的網址只能表示透過 HTTPS 取得內容,不能只看前綴就認定它是訂閱網址。網頁、帳戶管理頁面和訂閱端點都可能使用 HTTPS。只有在設定提供者明確標示為訂閱,且回應內容可供用戶端辨識時,才應將網址填入 Subscribe。

4 種
本文解析的分享連結前綴:ss / vmess / vless / trojan
443
以下 TLS 範例連接埠並非所有連線的固定連接埠
8388
以下 Shadowsocks 範例連接埠;實際數值請以原始參數為準
外觀通常包含的內容優先檢查項目
ss://…Shadowsocks 的加密方式、密碼、位址與連接埠編碼內容是否完整,以及是否帶有 plugin 參數
vmess://…常見格式為 Base64 編碼的 JSON 參數位址、UUID、傳輸方式與 TLS 是否齊全
vless://…UUID、位址、連接埠與查詢參數type、security、flow 等欄位
trojan://…密碼、位址、連接埠與 TLS、傳輸參數密碼編碼、SNI 與憑證驗證條件
https://example.com/sub?token=xxxx訂閱端點示意;實際內容須送出請求後讀取確認是否為訂閱網址,而非登入頁面或錯誤頁面

ss://:辨識 Base64 內容與伺服器位址

Shadowsocks 分享連結常見格式為 ss://使用者資訊@主機:連接埠#名稱,其中使用者資訊可能是以 Base64 表示的 method:password。以下範例的使用者資訊解碼後為 aes-128-gcm:demo-pass;example.com 是示範主機,8388 是示範連接埠,Demo-SS 則是名稱。

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

部分較早期的格式會將包含主機與連接埠的整段內容一併編碼。因此,不是每一條 ss:// 連結都能直接看到 @。Base64 與 URL-safe Base64 的呈現方式可能不同,結尾的 = 也可能省略;不要只憑這些外觀差異就判定參數失效。

vmess://:解碼後依 JSON 欄位核對

常見的 VMess 分享格式是在 vmess:// 後方接上以 Base64 編碼的 JSON。以下展示的是解碼後的示範內容,不是可直接貼到訂閱欄位的連結。實際匯入時請保留完整原始分享文字,不必先手動解碼再重新編碼。

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

add 和 port 是連線目標,id 是 UUID,aid 對應 alterId。net 用來描述傳輸方式;若值為 ws,才需依 WebSocket 參數解讀 host 和 path。tls 和 sni 用於核對 TLS 設定。這些欄位彼此相關,不是只填 UUID 就足夠。

如果解碼結果不是預期的 JSON,也不要立刻改寫原始內容。分享格式可能有不同變體,或文字已遭截斷。請先重新取得原始連結,再核對用戶端匯入後顯示的欄位;比起反覆修改編碼內容,這樣更容易找出問題。

vless:// 與 trojan://:重點查看查詢參數

VLESS 與 Trojan 常以可直接閱讀的 URI 格式分享。@ 前方分別放置 UUID 或密碼,後方接主機與連接埠;? 後方是查詢參數,多個參數以 & 分隔。以下兩條連結僅示範格式,不代表可連線的伺服器。

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
欄位判讀方式常見誤判
encryption=none此處表示 VLESS 本身不提供這一層的資料加密不能因此判定沒有 TLS
security=tls連線要求使用 TLS,仍須核對相關參數連接埠為 443,不代表 TLS 已正確設定
type=ws使用 WebSocket 傳輸,請核對 host 與 path不能只把 ws 改成 tcp,卻保留原密碼
sniTLS 交握時使用的伺服器名稱不一定等同連線位址,也不等同 WebSocket Host
flow部分 VLESS 設定會使用的流量控制參數不是每條 VLESS 連結都需要加入此欄位
%2F百分比編碼後,解碼結果是斜線手動填寫 path 時,不要重複編碼成 %252F

如果 Trojan 密碼包含 @、# 或 & 等保留字元,必須正確進行 URI 編碼。複製後若擅自將這些字元「還原得更好看」,可能會改變解析邊界。手動填寫時,應輸入欄位所需的實際值,而不是把整條 URI 填進 Password。

結論:依欄位核對,不要靠連接埠猜協定

如果位址與連接埠相同,連線結果卻不同,請繼續比對 UUID 或密碼、type、SNI、path 和 flow。連接埠 443 可供不同協定使用,不能據此將 VLESS 改成 Trojan。

訂閱網址:取得的是內容,不是固定的一筆節點

訂閱網址是一個可重複送出請求的端點。用戶端取得回應後,會再解析其中的伺服器項目;回應可能是多條分享連結組成的文字、上述內容的 Base64 表示,或用戶端支援的其他格式。能否辨識取決於回傳內容,不能依網址長短判斷。

例如 https://example.com/sub?token=xxxx 中的 token 只是示範用的參數名稱。實際網址可能將憑證放在路徑中,也可能使用其他查詢參數。刪除看似無關的參數、修改大小寫,或漏掉 & 後方的內容,都可能讓請求回傳錯誤頁面,而不是節點清單。

Type → Subscribe

建議做法

儲存自己已有的訂閱網址,並透過更新重新取得項目。此處建議僅適用於已確認持有訂閱網址的情況,不代表推薦任何連線服務。

適用情況:已有明確標示的訂閱端點,且需要日後同步項目

Type → 對應協定

在 Add Server 中選擇 Shadowsocks、VMess、VLESS 或 Trojan 等相應類型,逐項儲存連線參數。手動新增的獨立項目不會只因原訂閱有所變更,就自動取得新參數。

適用情況:已有完整參數清單,需要逐欄核對單一伺服器

從訂閱中分享單一節點,通常只會取得該節點當下的參數快照,無法據此還原完整訂閱網址。反過來說,持有訂閱網址也不代表只有一個節點;更新時可能新增、移除或修改項目。手動修改訂閱產生的項目之前,建議先記錄差異,因為後續更新可能會覆寫這些修改。

在 Shadowrocket 中辨識並匯入

先保留一份自己的原始文字,再選擇匯入入口。Home 主要用於管理伺服器與連線狀態;Config 用於管理規則設定,不應將任意規則檔網址當成節點訂閱。掃描 QR Code 和從剪貼簿貼上只是讀取文字的方式,最後建立哪種類型的項目仍取決於文字內容。

  1. 確認原始內容

    檢查開頭是 ss://、vmess://、vless://、trojan://,還是用途已明確說明的 HTTPS 訂閱網址。移除通訊軟體附加的引號與說明文字,但不要刪除連結內的參數。

  2. 新增訂閱

    訂閱網址請依序前往 Home → 右上角「+」→ Add Server → Type → Subscribe,在 URL 欄位輸入自己的完整網址,儲存後更新該訂閱。請勿將整條 HTTPS 網址填入一般伺服器的 Address 欄位。

  3. 匯入單一連結

    完整複製單一節點連結後,切回 Shadowrocket,依提示匯入;若系統詢問剪貼簿存取權限,請按需要允許。使用 Home 頂部的掃描入口讀取 QR Code,確認辨識結果後再儲存;不要直接覆寫尚未核對的項目。

  4. 核對參數

    開啟已匯入項目的編輯頁,檢查 Type、Address、Port,以及相應的 UUID 或 Password,再核對 TLS 與傳輸參數。若無法自動辨識,可從 Home →「+」→ Add Server 選擇對應 Type,依據現有參數手動填寫。

  5. 測試連線

    返回 Home,選取目標伺服器並連線。首次新增 VPN 設定時,請依系統提示授權,再使用 Connectivity Test 輔助檢查;同時確認 Global Routing 目前的選擇符合測試目的。

如果已複製完整連結,卻沒有出現匯入提示,請先檢查系統是否允許讀取剪貼簿,以及文字是否遭換行、空格或富文字標點截斷。不要反覆將相同內容加入 Subscribe;可解析的單一 URI 不會因此變成可更新的訂閱端點。

分別排查匯入失敗、更新結果為空與連線失敗

這三類問題發生在不同階段。匯入失敗表示文字未正確解析;更新結果為空表示取得或解析訂閱內容時,未能取得預期項目;連線失敗則發生在伺服器項目已建立之後。依階段排查,能避免在錯誤的位置反覆修改設定。

Global Routing 中的 Proxy、Direct、Config、Scene 會決定流量如何選擇路徑,無法將錯誤連結轉換成正確參數。尤其在 Direct 模式下,目標可正常存取並不能證明剛匯入的伺服器可用;在 Config 模式下,請求也可能符合 DIRECT 規則。驗證伺服器時,應同時確認選取的項目與目前的路由方式,不要只看瀏覽器能否開啟頁面。

結論:保留原始內容,每次只修改一項

依照「辨識文字 → 取得內容 → 核對欄位 → 測試連線」的順序檢查。記錄具體錯誤與修改項目,先還原為現有設定的原始參數,再逐項排除問題;不要同時更改協定、連接埠和 TLS 設定,否則無法判斷是哪項變更影響結果。

在 App Store 確認正版查看購買與恢復說明