單一節點分享連結通常直接包含連線參數;訂閱連結則通常指向需要連線取得的內容。本文適合已持有服務商提供之設定的使用者:先依前綴判斷輸入類型,再核對位址、驗證資料、傳輸與 TLS,最後在 Shadowrocket 中選擇相應的匯入方式。範例僅供格式說明,無法用於連線。
一、先分清單一節點連結、訂閱網址與設定檔
ss://、vmess://、vless://、trojan:// 是分享格式的 scheme,也就是冒號前的類型標記。它們告訴用戶端如何解析後續字元,並不等於網頁網址,也不會直接指定所有傳輸細節。匯入 Shadowrocket(小火箭)時,這些字元會還原為可編輯的連線欄位。
常見的訂閱網址則以 https:// 開頭,例如 https://example.com/sub?token=xxxx。它通常不是節點參數,而是取得內容的網址。伺服器回傳的內容可能包含多個分享連結,也可能經過整體 Base64 編碼;單憑網址結尾無法判斷回傳格式。
| 輸入類型 | 主要內容 | 更新方式 |
|---|---|---|
| 單一節點分享連結 | 一組位址、驗證資料與連線參數 | 重新匯入新連結,或手動修改對應欄位 |
| 訂閱網址 | 取得伺服器維護清單的 URL | 透過原網址重新發出請求,更新訂閱清單 |
| 設定檔 | 可能包含 General、Rule、DNS 與策略相關設定 | 重新載入本機檔案或更新遠端設定 |
HTTPS 網址也可能指向網頁或遠端設定,而非訂閱。請先確認服務商對該網址用途的說明。節點訂閱更新不會自動替你設定分流規則;匯入遠端設定也不只是新增一條連線。
判斷方式:先確認內容用途,再選擇匯入方式
取得 HTTPS 網址時,先確認它回傳的是節點清單還是完整設定;取得四種分享 scheme 時,則先視為單一節點解析。不要只因網址能在瀏覽器中開啟,就認定它可用作訂閱。
二、ss://:Shadowsocks 的驗證資訊與位址
常見的 SIP002 格式連結會將驗證資訊與伺服器位置分開。驗證部分通常以 method:password 的 Base64 或 URL-safe Base64 編碼表示,後面接著 @host:port。例如,以下字串的編碼部分解碼後為 aes-128-gcm:test;其中的密碼僅為示範值。
ss://[email protected]:8388#Demo
aes-128-gcm:加密方法,應與伺服器設定一致,並非節點名稱。test:示範用密碼。真實密碼中的特殊字元應依分享格式正確編碼。example.com與8388:伺服器位址與連接埠;8388 僅為範例,並非固定要求。#Demo:備註片段,通常用於清單顯示,不負責驗證。
也可能遇到將 method:password@host:port 整段編碼的舊式分享格式。兩種格式中 @ 是否直接顯示有所不同,但不能因此判定其中一種必定無效。有些連結還會帶有 plugin 查詢參數;只有在確實支援並正確設定對應擴充功能時,這些參數才有作用。
三、vmess://:先解碼 JSON,再檢查欄位類型
常見的 VMess 分享格式是在 vmess:// 後接上 Base64 編碼的 JSON。位址、連接埠、UUID、傳輸與 TLS 資訊都在這個物件中,不能像一般 URL 那樣只找 @ 分隔符號。以下展示的是解碼後的結構,並非可直接貼上匯入的完整分享連結。
{
"v": "2",
"ps": "Demo",
"add": "example.com",
"port": "443",
"id": "00000000-0000-4000-8000-000000000000",
"aid": "0",
"scy": "auto",
"net": "ws",
"type": "none",
"host": "example.com",
"path": "/demo",
"tls": "tls",
"sni": "example.com"
}
add、port、id分別代表連線位址、連接埠與 UUID;ps是備註。- 當
net為ws時,path與host通常分別對應 WebSocket 路徑及 HTTP Host,必須與伺服器設定相符。 tls與sni用於描述 TLS 設定;使用 443 連接埠本身不代表已啟用 TLS。v是分享 JSON 的格式欄位,不是 Shadowrocket 的應用程式版本;aid不應被當作提升效能的調整項目。
不同產生工具可能省略選填欄位,或將連接埠存成字串。解碼後若不是完整 JSON,請先確認是否複製了完整連結,尤其留意結尾是否遭通訊軟體截斷。不要將整份 JSON 當成伺服器位址填入。
四、vless:// 與 trojan://:URL 外觀相似,驗證方式不同
這兩種分享連結常採用「驗證資訊、位址、查詢參數、備註」的 URL 結構。兩者外觀相近,但 @ 前的內容不可互換:VLESS 通常放 UUID,Trojan 通常放密碼。以下位址、驗證資訊與路徑皆為示範值。
vless://[email protected]:443?encryption=none&security=tls&type=ws&host=example.com&path=%2Fdemo&sni=example.com#Demo
trojan://[email protected]:443?security=tls&type=tcp&sni=example.com#Demo
| 欄位 | VLESS 範例說明 | Trojan 範例說明 |
|---|---|---|
@ 前的內容 | UUID,用於使用者驗證 | Password,用於使用者驗證 |
security=tls | 指定 TLS 安全層 | 說明此範例使用的 TLS 設定 |
type | 範例使用 ws | 範例使用 tcp |
sni | TLS 握手使用的伺服器名稱 | TLS 握手使用的伺服器名稱 |
host / path | 此例用於 WebSocket | 此 TCP 範例不需要這些參數 |
VLESS 中的 encryption=none 指的是協定層的這項設定,不代表 URL 中的 TLS 會自動失效;是否啟用 TLS,須查看安全層參數及實際匯入結果。Trojan 通常使用 TLS,排查問題時應一併核對 Password、SNI 與憑證對應的網域,不能只確認連接埠可連線。
查詢參數會使用百分比編碼,例如 %2Fdemo 解碼後為 /demo。如果密碼含有 @、# 或 ?,產生連結時必須依所在位置的規則編碼,否則解析器可能會提早結束驗證區段。IPv6 位址放在 URL 主機位置時,通常需要加上方括號,例如 [2001:db8::1]:443。
- Address 是實際連線目標,不一定與 SNI 相同。
- HTTP Host 屬於應用層請求資訊,與 TLS 的 SNI 不同。
- 參數名稱與擴充格式可能因分享規範而異;成功辨識前綴,不代表所有擴充欄位都會保留。
五、在 Shadowrocket 中匯入與更新
以下操作以已持有服務商提供的參數或訂閱為前提。Shadowrocket 是閉源商業應用程式,透過 App Store 一次買斷取得;買斷用戶端 ≠ 線路方案。本網站不提供、販售或推薦節點或訂閱。
單一節點分享連結
- 複製完整連結,不要連同說明文字、引號或程式碼區塊一起複製。QR Code 只是字串的另一種載體,也要先判斷其中的內容。
- 開啟 Home,使用可用的剪貼簿匯入提示或掃描入口。若沒有出現提示,可前往右上角
+的 Add Server,選擇正確的 Type 後,依現有參數手動填寫。 - 儲存前請核對 Address、Port、驗證欄位,以及 TLS、SNI 和傳輸設定。單一節點連結中的備註不應填入 Password 或 Address。
- 返回 Home 確認新增的紀錄,並選取該紀錄進行測試。成功儲存僅表示用戶端接受這些欄位,不代表伺服器驗證已通過。
訂閱網址與遠端設定
- 節點訂閱通常從 Home →
+→ Add Server 開始,將 Type 設為 Subscribe,再把完整網址填入 URL 並儲存。實際選項請以目前應用程式畫面為準。 - 匯入後請檢查對應的訂閱群組是否顯示預期紀錄。若要取得清單更新,應更新原有訂閱群組,而非重複建立相同 URL 的訂閱。
- 若取得的是含規則的遠端設定網址,請前往 Config,依設定用途新增並載入;不要把完整設定網址當成單一節點的 Address。
訂閱會重新從伺服器取得清單,手動修改過的訂閱內紀錄可能在更新後被取代。若要保留差異,請先記下必要欄位,再決定是否建立獨立紀錄;不要假設本機修改會同步回伺服器。訂閱 URL 中的 token 也應視為憑證妥善保管。
六、匯入異常時,依解析、連線與規則分層排查
排查時,先確認「是否解析出紀錄」,再檢查「是否能建立連線」,最後確認「請求實際採用哪項策略」。這樣可避免將 Base64 字元問題誤判為網路故障,也能避免在規則未選用代理時反覆修改密碼。
複製了 vmess://,為什麼沒有新增紀錄?
先檢查前綴與結尾是否完整,並移除複製時附帶的換行與標點。若要核對內容,請在可信任的本機環境確認 Base64 解碼結果是否為完整 JSON,重點檢查 add、port 與 id;不要將真實連結提交至公開解碼網站。
匯入 vless:// 後,Path 顯示不正確怎麼辦?
開啟新增紀錄的編輯頁面,確認傳輸方式為 ws,再檢查 Path 與 Host。URL 中的 %2F 解析後應為斜線;若欄位仍顯示錯誤或空缺,請依服務商提供的參數修正,並確認沒有漏掉 TLS 與 SNI。
訂閱更新後,手動修改的名稱和參數為什麼變了?
訂閱更新會重新載入伺服器清單,本機修改不一定會保留。先確認更新的是原有訂閱群組,再與伺服器目前的參數比對;若要固定保留本機差異,應另存為獨立紀錄,而非持續修改會被更新的項目。
已選取節點,為什麼網站流量仍未經過它?
前往 Home 檢查 Global Routing。Direct 不會透過已選取的代理轉送;Config 依目前設定中的規則運作;Proxy 用於代理路由模式;Scene 則依場景設定決定行為。先確認目前模式,再檢查連線開關與對應規則。
在 Global Routing 使用 Config 時,規則順序也會影響結果。例如 DOMAIN-SUFFIX,example.com,DIRECT 會讓符合條件的網域採用 DIRECT;後面的 FINAL,PROXY 只會處理未符合前面規則的請求。匯入新的分享連結,不會自動覆蓋既有的 DOMAIN-SUFFIX、GEOIP 或 IP-CIDR 規則。
- 沒有紀錄:檢查字串是否完整、scheme、編碼與匯入類型。
- 有紀錄但無法連線:檢查 Address、Port、Password 或 UUID、傳輸方式、TLS 與 SNI,並確認服務狀態。
- 可以連線但路由不符預期:檢查 Global Routing 與 Config 中實際啟用的規則,不要先修改驗證資訊。
- 準備回報問題:保留錯誤現象與欄位名稱,遮蔽密碼、UUID 和訂閱 token;只提供定位問題所需的資訊。