ss://、vmess://、vless://、trojan:// 格式解析:單一節點分享連結與訂閱連結差異

了解單一節點分享連結包含哪些欄位、訂閱連結如何批次更新,以及兩者在 Shadowrocket 中的匯入入口有何不同。範例均使用 example.com 虛構資料。

本文重點

本文適合已從服務商取得訂閱連結或連線參數,準備匯入 Shadowrocket(小火箭)的使用者。先依連結前綴辨識內容,再核對認證、傳輸與 TLS 欄位,最後分清單筆匯入與訂閱更新。文中的網域、密碼與 UUID 僅用來說明格式,不能作為實際連線參數。

一、單一節點分享連結與訂閱連結的主要差異

單一節點分享連結會將單筆連線所需的參數寫入 URI。ss://、vmess://、vless://、trojan:// 前綴會告訴匯入器應採用哪種格式解析;匯入後取得的是伺服器記錄,而非持續取得新內容的網址。

訂閱連結通常是 HTTPS 網址。Shadowrocket 會向該網址發出請求、讀取回應內容,再解析其中的伺服器記錄。訂閱更新是重新請求並處理遠端內容,不會讓已匯入的單一節點連結自行變更。訂閱連結需向服務商取得;僅憑網址以 https:// 開頭,無法確認它提供的是節點訂閱、設定檔還是一般網頁。

4 種
本文解析的 URI 前綴:ss / vmess / vless / trojan
1 筆
單一節點分享連結通常描述一筆伺服器記錄
443
HTTPS 的預設連接埠,不代表所有代理服務都使用此連接埠

二、ss://:認證欄位、伺服器位址與備註

Shadowsocks 常見的 SIP002 格式包含經 Base64URL 編碼的認證資訊、伺服器位址、連接埠,以及可選的備註。以下範例中,認證部分解碼後為 aes-256-gcm:password,位址為 example.com,連接埠為 8388。這些示範參數不能用於連線。

ss://[email protected]:8388#Example-SS
片段說明核對方式
ss://Shadowsocks 分享格式識別標記確認 Add Server 中的 Type 設定為 Shadowsocks。
YWVzLTI1Ni1nY206cGFzc3dvcmQ編碼後的方法與密碼確認方法和密碼與伺服器端設定一致。
example.com:8388伺服器位址與連接埠連接埠須依服務商提供的參數填寫,不能一律改成 443。
#Example-SS可選備註用來辨識記錄,不參與伺服器端認證。

另一種較早期的格式會將「方法、密碼、位址、連接埠」整體編碼,外觀看不到 @ 也有可能。遇到無法匯入的連結時,應先確認採用哪種格式,而不是直接拼接分隔符號。部分連結也包含外掛程式參數;即使位址與密碼正確,遺漏這些參數仍可能無法連線。

三、vmess://:Base64 中的 JSON 參數

常見的 VMess 分享格式是在 vmess:// 後方接上一段 Base64 文字。解碼後通常是 JSON,而不是一般的「使用者名稱@伺服器」。以下展示的是編碼前的示範 JSON,並非可直接貼上匯入的完整連結。

{
  "v": "2",
  "ps": "Example-VMess",
  "add": "example.com",
  "port": "443",
  "id": "11111111-2222-4333-8444-555555555555",
  "aid": "0",
  "scy": "auto",
  "net": "ws",
  "type": "none",
  "host": "example.com",
  "path": "/connect",
  "tls": "tls",
  "sni": "example.com"
}

如果連結來自經過排版的訊息,換行、智慧引號或遭截斷的 Base64 都可能導致解析失敗。請先重新複製完整原文,再核對匯入結果。不要把 VMess JSON 當成設定檔內容貼到 Config,也不要將 JSON 裡的 port 誤認為訂閱 URL 的連接埠。

四、vless:// 與 trojan://:可讀欄位也要逐項核對

VLESS 和 Trojan 常見的分享連結採用較直觀的 URI 結構:認證資訊位於 @ 前方,後方則是位址、連接埠與查詢參數。範例中的 & 在頁面上代表連結參數之間的分隔符號;實際複製時請保留完整原始連結。

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

trojan://[email protected]:443?security=tls&type=tcp&sni=example.com#Example-Trojan
核對項目VLESS 範例Trojan 範例
認證資訊UUID密碼 demo-password
目標位址example.com:443example.com:443
傳輸參數type=ws,需要 Host 與 Pathtype=tcp
TLS 參數security=tls 與 snisecurity=tls 與 sni

path=%2Fconnect 中的 %2F 是斜線的百分比編碼。密碼若含有 @、# 等 URI 保留字元,也須正確編碼,否則解析器可能會將部分密碼誤判為位址或備註。不了解欄位界線時,不要手動解碼整條連結後再匯入。

重點:匯入成功後,還要核對傳輸與 TLS

記錄出現在 Home,只表示連結已成功解析。若連線失敗,請開啟記錄編輯頁,依序核對位址、連接埠、認證資訊、傳輸類型、Host、Path 與 SNI;不要先關閉憑證驗證來掩蓋參數錯誤。

VLESS 範例中的 encryption=none 描述的是協定對應參數,不代表此範例沒有 TLS。不同分享格式對參數名稱的約定也可能不同,不能只替換前綴就將 VLESS 連結轉成 Trojan 連結。

五、Shadowrocket 匯入入口:節點訂閱與 Config 不同

Home 用來管理伺服器記錄與連線選擇,Config 用來管理規則設定,Settings 用來管理 App 設定。節點訂閱用於批次維護伺服器記錄;遠端設定也可能包含 [General]、[Rule] 等區段。兩種內容都可能透過 HTTPS 取得,但不能只因網址看起來相似,就從同一個入口匯入。

Add Server → Type → Subscribe

建議方式

適用於已持有節點訂閱 URL 的情況:在 Home 點選新增按鈕,進入 Add Server,將 Type 設為 Subscribe,輸入 URL 後儲存。後續更新可透過該訂閱記錄進行。

適用情況:已有節點訂閱,且需要保留批次更新入口

Add Server → 選擇對應的協定 Type

依現有參數選擇 Shadowsocks、VMess、VLESS 或 Trojan,並填寫位址、連接埠與認證資訊。單筆分享連結也可以透過剪貼簿匯入提示或掃描 QR Code 解析;匯入後請檢查對應欄位。

適用情況:已有單筆分享連結,或需要手動核對一筆伺服器記錄

Config → 遠端設定

用於匯入規則設定檔。先確認遠端回傳的是設定內容,再到 Config 新增並選擇使用;不要將一般節點訂閱 URL 當成規則設定檔網址。

適用情況:明確取得包含設定區段的遠端設定網址

剪貼簿與相機權限由系統管理。複製完整連結後返回 Home,依畫面出現的匯入提示操作;掃描 QR Code 則使用 Home 中的掃描入口讀取原始文字。若沒有出現辨識提示,請先檢查前綴、空格與換行;不要將訂閱 URL 填入單一伺服器的 Address 欄位。

兩種現有資料的處理方式

已有單一節點分享連結
  • 確認前綴與連結完整,再透過剪貼簿或掃描 QR Code 匯入。
  • 在 Home 開啟記錄,核對位址、連接埠與傳輸欄位。
  • 伺服器端參數變更後,取得新連結並重新核對記錄。
已有節點訂閱 URL
  • 向服務商取得訂閱,並保留完整查詢參數。
  • 使用 Type 設為 Subscribe 的入口儲存 URL。
  • 執行該訂閱的更新操作後,檢查記錄是否如預期變更。

需要持續更新時,請保留訂閱記錄;只有單一節點分享連結時,不應期待它自動變成可更新的訂閱。

六、訂閱更新原理、敏感參數與排查順序

以下是明確的示範網址。token=xxxx 代表認證參數所在位置,並非真實憑證。伺服器收到請求後,可能會回傳經編碼的節點清單或其他可供用戶端辨識的訂閱內容;HTTPS URL 本身無法說明回傳格式。

https://example.com/sub?token=xxxx
  1. 先確認資源類型。向服務商確認該網址是節點訂閱還是遠端設定。若回傳登入頁面、錯誤訊息或空白內容,就不能視為有效的節點清單。
  2. 再確認請求是否成功。若逾時,先檢查目前網路是否能連線至訂閱網域;HTTP 401 或 403 通常需要核對授權與連結狀態。不要只因瀏覽器能顯示網頁,就認定訂閱有效。
  3. 接著檢查解析結果。請求成功卻沒有記錄,可能是回傳內容不受目前入口支援,也可能確實沒有可用記錄。請核對格式說明,不要反覆新增重複的訂閱。
  4. 最後檢查連線與規則。更新成功不代表每筆記錄都能連線。先在 Home 檢查選取的記錄,再查看 Global Routing;Config 會套用設定中的規則,Proxy 會將可代理的流量交由代理策略處理,Direct 則使用直連,Scene 會依選取的情境設定處理。節點分享連結本身不會自動建立完整的分流規則。

七、連結匯入與訂閱更新常見問題

將 ss:// 貼到 Subscribe 的 URL 欄位,為什麼無法更新?

ss:// 描述的是單筆記錄,並非供 HTTP 請求讀取的訂閱網址。請移除這筆錯誤的訂閱輸入,返回 Home,透過剪貼簿或掃描 QR Code 匯入原始分享連結,再核對 Shadowsocks 的方法、密碼與連接埠。

訂閱更新後,手動修改過的名稱或參數會保留嗎?

訂閱記錄會依遠端回傳內容維護;更新時,本機修改可能會被取代,實際情況取決於更新與保留設定。需要測試參數時,請先記下原始值,並使用獨立記錄測試;不要將訂閱中的暫時修改當成長期設定來源。

QR Code 掃描成功但無法連線,需要重新掃描嗎?

先檢查匯入的記錄是否完整,尤其是 WebSocket Path、Host 與 TLS SNI。若文字內容沒有遭截斷,重複掃描不會改變伺服器端參數。接著核對服務狀態與目前選取的記錄;若仍有問題,請參閱疑難排解。

有節點連結後,還需要設定 DOMAIN-SUFFIX 或 FINAL 嗎?

節點定義連線目標,規則則定義請求的去向,兩者用途不同。使用 Global Routing → Config 時,請檢查目前設定中的規則順序與策略目標。DOMAIN-SUFFIX 用於比對網域後綴,FINAL 則處理先前未比對到的請求;匯入節點不代表這些規則已設定完成。

前往 App Store