Shadowrocket(小火箭)的單一分享連結描述一筆連線項目;訂閱網址則用來取得並更新一組項目。本文適合已備妥服務商提供的設定或訂閱資料的使用者:先辨認連結前綴,再檢查位址、連接埠、驗證資訊與傳輸欄位,最後在 Add Server 核對單一設定,或透過 Subscribe 儲存訂閱。本文範例皆使用 example.com 與示範憑證,僅說明格式,無法用於實際連線。
一、先區分分享連結與訂閱網址
以 ss://、vmess://、vless://、trojan:// 開頭的文字,通常是單一連線的分享格式。它會將協定所需欄位組成一段可複製的文字;匯入後,Shadowrocket 會將欄位儲存為 Home 中的連線項目。名稱只是方便辨識的備註,不能取代位址、連接埠或驗證資訊。
訂閱網址通常以 https:// 開頭。Shadowrocket 發出請求後,會讀取伺服器回傳的訂閱內容,再解析其中的項目。因此,訂閱網址並非某種代理協定;同一份訂閱可以包含不同協定的項目。一般網頁網址也可能以 HTTPS 開頭,能在瀏覽器中開啟,不代表就能用於 Subscribe。
二、ss://:驗證欄位與伺服器位址
Shadowsocks 常見的 SIP002 分享格式會將加密方法與密碼組成 method:password,經 Base64URL 編碼後放在 @ 前;後面接伺服器位址與連接埠。以下範例的驗證部分解碼後為 aes-128-gcm:test,其中 test 僅為示範密碼。
ss://[email protected]:8388#SS%20Demo
| 位置 | 範例內容 | 核對方式 |
|---|---|---|
| 協定前綴 | ss:// | 對應 Shadowsocks,不是 HTTPS 網址。 |
| 驗證部分 | YWVzLTEyOC1nY206dGVzdA | 解碼後可取得加密方法與密碼,匯入後請分別核對。 |
| 伺服器 | example.com:8388 | 網域名稱與連接埠都必須符合現有服務的參數。 |
| 備註 | #SS%20Demo | %20 代表空格,顯示名稱為 SS Demo。 |
也可能遇到較早期的格式:將 method:password@host:port 整段編碼,再接在 ss:// 後方。這種格式在編碼文字外看不到 @,但不能因此判定缺少伺服器位址。另有連結會透過查詢參數帶入外掛資訊;若現有服務要求使用外掛,只還原加密方法、密碼與連接埠,並不足以構成完整設定。
- 別因驗證文字看起來像亂碼,就把它當成另一個訂閱網址;它可能只是經過編碼的欄位。
- Base64URL 常以
-、_取代一般 Base64 中的部分字元,結尾的補位字元也可能省略,不建議手動改寫。 - 加密方法必須與伺服器設定一致。連接埠寫成 8388,不代表所有 Shadowsocks 服務都使用這個連接埠。
三、vmess://:經編碼的 JSON 描述
常見的 VMess 分享格式是 vmess:// 加上 Base64 編碼的 JSON。與前面的 Shadowsocks 範例不同,伺服器位址通常位於 JSON 的 add 欄位,而非直接出現在連結尾端。以下展示的是解碼後的結構,不是可直接貼到 Subscribe 的網址。
{
"v": "2",
"ps": "VMess Demo",
"add": "example.com",
"port": "443",
"id": "00000000-0000-4000-8000-000000000000",
"aid": "0",
"scy": "auto",
"net": "tcp",
"type": "none",
"host": "",
"path": "",
"tls": "tls",
"sni": "example.com"
}
v 描述分享格式,並非 Shadowrocket 的 App 版本。ps 是備註,add 與 port 是連線目標,id 是 UUID 驗證資訊,aid 對應 Alter ID。範例中的全零 UUID 僅用於說明格式,實際應使用現有服務提供的完整值;修改備註無法解決驗證錯誤。
net描述傳輸方式。若現有設定採用 WebSocket,通常還需核對host與path,不能直接套用上述 TCP 範例。tls與sni涉及 TLS 設定。連線位址與 TLS server name 可能不同,請依原始設定保留。scy描述 VMess 加密設定;它與 TLS 分屬不同層面的欄位,不能互相取代。- 編碼文字可能包含補位字元,或在轉傳時被換行。請複製完整原始連結,不要只取第一行,也不要連同外層引號一起複製。
四、vless:// 與 trojan://:外觀相似,驗證方式不同
VLESS 與 Trojan 常見的分享連結都採用近似 URI 的結構:前綴後方是驗證資訊,@ 後方是伺服器位址與連接埠,? 後方是查詢參數,# 後方是備註。外觀相似不代表只改前綴就能使用:VLESS 通常使用 UUID,Trojan 使用密碼,伺服器端的協定也必須相符。
vless://[email protected]:443?encryption=none&security=tls&type=tcp&sni=example.com#VLESS%20Demo
trojan://[email protected]:443?security=tls&type=tcp&sni=example.com#Trojan%20Demo
| 欄位 | VLESS 範例 | Trojan 範例 |
|---|---|---|
| 驗證資訊 | UUID | 密碼 demo-password |
| 目標 | example.com:443 | example.com:443 |
| 傳輸 | type=tcp | type=tcp |
| TLS | security=tls | security=tls |
| server name | sni=example.com | sni=example.com |
VLESS 範例中的 encryption=none 是協定欄位,不代表這條連線未使用 TLS。查詢參數也可能描述 WebSocket 路徑、Host、flow 或其他傳輸細節;不同分享格式對欄位名稱的規範可能不同。即使匯入成功,仍應開啟項目,確認這些資訊是否依原始設定保留。
- 密碼包含
@、#、?等保留字元時,必須依 URI 規則編碼,否則可能被誤認為欄位分隔符號。 - IPv6 位址在 URI 中通常以方括號括住,再接上連接埠,避免位址中的冒號與連接埠分隔符號混淆。
- 備註可改成容易辨識的名稱;UUID、密碼、SNI 與路徑則不可只憑名稱猜測。
- 443 只是範例連接埠。是否啟用 TLS、使用哪個連接埠,以及憑證對應的 server name,都由現有服務決定。
五、分別在 Add Server 與 Subscribe 中操作
先判斷取得的是單一分享連結還是訂閱網址,再選擇入口。Home 管理連線項目,Config 管理設定檔,Settings 管理 App 設定。將訂閱網址直接填入一般連線的伺服器欄位,App 不會因此自動將它解析為訂閱。
-
辨認前綴
查看文字開頭。四種協定前綴應視為單一分享連結;若是 HTTPS 網址,則先確認它確實是現有服務提供的 Subscribe 網址,而不是帳戶網頁。
-
核對單一連線
在 Home 右上角點選「+」進入 Add Server。手動新增時,於 Type 選擇相應協定,依現有參數填入位址、連接埠與驗證資訊;使用分享連結匯入後,也應開啟項目檢查這些欄位。
-
新增訂閱
在 Home →「+」→ Add Server 中,將 Type 設為 Subscribe,於 URL 填入自己的訂閱網址,並設定方便辨識的備註後儲存。請勿將單一
ss://連結填入訂閱 URL。 -
檢查更新
返回 Home,下拉以更新訂閱,並確認是否出現項目。更新完成後,檢查項目數量、協定與重要欄位;若伺服器端調整了內容,清單也可能隨之變動。
-
測試連線
選取要測試的項目,依系統提示允許新增 VPN 設定並開啟連線,再檢查實際請求結果。欄位解析成功、訂閱更新成功,以及目標網站可存取,是三種不同結果,請分別確認。
https://example.com/sub?token=xxxx
上述網址僅展示 HTTPS 訂閱的格式,並非可用訂閱。實際網址中的路徑、參數與 token 都應完整保留,不要刪除看似多餘的查詢參數。訂閱更新可能取代由訂閱管理的項目;若要長期保留手動修改,請先記下原值,再確認更新後的結果。
六、匯入後檢查 Global Routing,不要修改協定
連結解決的是「如何連線至伺服器」,Rule 解決的則是「請求採用什麼策略」。若項目已能連線,但請求未依預期經過該項目,請檢查 Home → Global Routing。以下建議僅針對已有規則設定時的日常使用方式,並非推薦任何協定或服務。
Config
推薦依目前設定處理請求。檢查 Config 中啟用的設定檔,以及 Rule 的順序與目標策略;設定中指定 DIRECT 的請求,不會因為選取某個連線項目就自動改走代理。
適用情況:已有明確規則,且需要依目標分別處理請求。
Proxy
採用代理路由模式,可暫時排除 Rule 分流對測試的影響。切換前先確認選取的代理或策略群組;測試結束後請恢復原本的路由設定。
適用情況:已核對連線欄位,並需要縮小規則問題的排查範圍。
Direct
採用直連路由模式。此時網頁能開啟,不代表剛匯入的代理項目可用;若要測試代理連線,應明確切換至相應模式。
適用情況:暫時確認直接網路存取的狀況。
Global Routing 中的 Scene 用於場景設定,請檢查 App 內相應的場景條件,不要將它當成分享連結中的協定參數。Settings → On Demand 用於管理隨選連線行為,也無法補上連結中缺少的 UUID、密碼或傳輸路徑。更多欄位說明請參閱設定欄位說明,基本概念請見概念速查。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
這段內容僅示範規則順序:連線至 example.com 及其子網域時使用 PROXY,其他未命中的請求則由 FINAL 指向 DIRECT。DOMAIN-SUFFIX 依網域後綴比對;GEOIP 與 IP-CIDR 是 IP 相關規則,不能寫入分享連結的驗證欄位。將連結備註改為 PROXY,也不會建立任何分流規則。
七、格式錯誤、更新失敗與憑證保護
複製後顯示格式錯誤,該檢查哪些地方?
先確認開頭是否完整,再檢查是否混入空格、換行、中文標點或訊息中的說明文字。VMess 請確認複製的是完整編碼文字;VLESS 與 Trojan 則要確認 @ 後方仍有位址與連接埠。請勿藉由更改協定前綴強行匯入。
訂閱網址可以開啟,卻沒有任何項目?
確認 Home →「+」→ Type 是否設為 Subscribe,以及 URL 是否為完整訂閱網址。導向登入頁、錯誤頁或一般 HTML 頁面的網址,都不代表有效訂閱。請向現有服務的管理方確認回傳內容格式,再回到 Home 重新整理檢查。
訂閱更新持續逾時,該怎麼辦?
先分辨是網路逾時,還是伺服器回傳驗證錯誤。若已有可用連線,可在 Settings → Subscribe 檢查 Update via Proxy,再回到 Home 重新整理;此設定只會改變訂閱請求的路徑,無法修復失效的 token、錯誤的 URL 或伺服器端異常。
匯入成功,卻仍無法存取?
開啟該項目,依序核對協定、位址、連接埠、驗證資訊、TLS server name 與傳輸參數,再檢查 Home → Global Routing。若切換模式後狀況不同,請繼續檢查 Config 中的 Rule;若該項目在所有模式下都無法建立連線,應回頭核對現有服務參數,而不是隨意更換連接埠。
分享截圖尋求協助時,哪些資訊要遮蔽?
請遮蔽密碼、UUID、完整訂閱 URL 與 token,也不要公開完整 QR code。QR code 通常只是分享文字的另一種載體。若憑證已公開,請透過現有服務的管理入口重設相關驗證資訊,再更新 Shadowrocket 中的項目。
Shadowrocket 取得與查核
Shadowrocket 是 Apple 平台的付費用戶端,唯一取得管道為 App Store。請核對開發者 Shadow Launch Technology Limited、官方圖示與 App ID 932747118。用戶端一次性購買不等於線路方案;系統需求請以 App Store 頁面標示為準。首次設定請使用自己已有的服務資料。