本文適合已有自己的服務商與訂閱,但在 Shadowrocket 中無法取得節點清單的使用者。依序檢查連結完整性、請求結果、回應格式、服務商狀態與更新環境,區分取得失敗、解析失敗和連線失敗。保留現有設定後再進行單次測試,避免反覆刪除或重新整理而掩蓋問題原因。
一、先區分訂閱失敗與節點連線失敗
Shadowrocket(小火箭)是 Apple 平台的付費用戶端,唯一取得管道為 App Store,開發者為 Shadow Launch Technology Limited,採一次買斷制。購買 App 不等於取得連線服務;本文以使用者已有自己的服務商與訂閱為前提。相容裝置與系統需求請以 App Store 頁面標示為準。
訂閱更新的目的是取得並解析伺服器資訊,不是確認每台伺服器都能成功連線。Home 完全沒有項目,和清單中有項目但連線逾時,是兩種不同問題。前者應先檢查訂閱網址及回應內容;後者才需要檢查伺服器位址、連接埠、驗證參數與網路連線狀況。
處理流程中的任何環節發生異常,都可能導致更新失敗或清單沒有新增項目。HTTP 請求成功只代表伺服器有回傳內容,不保證內容可解析為訂閱;反之,舊項目仍在也不代表這次更新成功。
- 首次新增就顯示空白:優先檢查貼上的網址、訂閱格式,以及服務商實際回傳的項目數量。
- 原本正常,更新後出現異常:優先確認驗證資料是否已重設、訂閱資格是否變動,以及服務商介面是否正在維護。
- 項目存在但無法連線:先停止反覆更新,改為檢查該伺服器的連線錯誤。
二、確認連結完整,避免手動修改編碼
請從自己的服務商帳戶頁面複製供 Shadowrocket 使用的訂閱網址,不要複製帳戶首頁、訂單頁面或按鈕上顯示的簡短標題。訂閱網址通常含有驗證資料;外觀看似相同的兩個網址,可能分別回傳帳戶頁面和伺服器資料,用途並不相同。
https://example.com/sub?token=xxxx
以上僅為無效格式範例。確認實際網址時,請檢查從 https:// 到最後一個字元是否完整,尤其是 ? 後方的查詢參數。透過聊天訊息轉傳時,容易誤帶末尾標點、換行或截斷內容;請重新從原始位置複製,不要憑記憶補齊。
- 檢查空白字元:網址前後不應有空格,網址中也不應混入實際換行。文字欄位自動換行,不代表網址中真的插入了換行。
- 保留大小寫:網域以外的路徑、參數名稱和驗證資料可能區分大小寫,不可統一轉換。
- 保留編碼:
%2B、%2F、%3D可能是驗證資料的一部分,請勿手動解碼或再次編碼。 - 辨識網頁跳脫字元:網頁原始碼中的
&不是應直接貼上的參數分隔符號;請優先使用服務商提供的複製功能。 - 區分網址類型:單一伺服器分享內容與訂閱 URL 並非同一種輸入,不應一律透過 Subscribe 新增。
三、依照介面路徑重新驗證匯入
Shadowrocket 的 Home 用於檢視及管理伺服器,Config 用於管理設定檔,Settings 則是 App 設定。請在 Home 中以 Subscribe 新增訂閱網址;將網址當成 Config 設定檔匯入,無法取代伺服器訂閱解析。驗證前先記下舊訂閱名稱、目前項目數量與錯誤訊息,不要先清空所有內容。
-
保留舊項目
在 Home 確認原有訂閱與項目仍在。若目前連線仰賴這些項目,請先保留原狀,不要一開始就刪除後重建。
-
選擇 Subscribe
進入 Home,點選右上角的「+」,在 Type 中選擇 Subscribe。輸入容易辨識的名稱,並將自己複製的完整訂閱網址貼到 URL 欄位。
-
儲存並更新
儲存後返回 Home,向下滑動以觸發更新,並等待這次請求完成。記錄成功或失敗,以及項目數量是否變動;請勿在請求尚未完成時連續重新整理。
-
檢查清單顯示
清除 Home 中的搜尋條件,並展開對應的訂閱群組,確認清單空白不是篩選或摺疊所致。即使名稱沒有變化,也要比對項目數量。
-
區分後續問題
若已顯示伺服器項目,代表訂閱解析已取得結果。接下來請另外測試連線,不要再把連線逾時歸類為「訂閱空白」。
如果只是服務商重設了現有訂閱網址,請修改該訂閱所儲存的 URL,而非長期保留多個同名群組。確實需要並行測試時,請為測試項目取清楚易辨識的名稱,測試結束後再清理,避免將舊清單誤認為新結果。
四、依 HTTP 狀態碼與回應內容找出原因
若能查看請求詳細資料,請先記錄狀態碼,再確認回應內容。以下是標準 HTTP 狀態說明,不代表 Shadowrocket 在所有情況下都會逐字顯示;只有實際錯誤詳細資料或服務商紀錄出現相應狀態時,才依該項處理。請勿為了取得狀態碼而將完整驗證資料提交至第三方網站。
HTTP 401 Unauthorized
原因:請求缺少有效驗證,或訂閱驗證資料已失效。解決方法:返回自己的服務商帳戶頁面確認目前使用的網址,必要時重新產生驗證資料,再更新已儲存的 URL。
HTTP 403 Forbidden
原因:伺服器拒絕目前的請求,可能與帳戶權限或存取限制有關。解決方法:請自己的服務商依請求時間查明遭拒原因,不要一概將 403 判定為訂閱到期。
HTTP 404 Not Found
原因:請求路徑不存在,可能是網址遭截斷或介面路徑已變更。解決方法:重新複製目前使用的訂閱網址,確認路徑與查詢參數,不要自行猜測介面名稱。
HTTP 429 Too Many Requests
原因:伺服器限制了請求頻率。解決方法:停止反覆向下滑動;若回應中有 Retry-After,請依指定時間等待,否則向自己的服務商確認何時恢復。
判斷重點:200 不代表訂閱有效
若服務商確認回應內容是登入頁、驗證頁或錯誤說明,應先修正存取入口與權限,再更新訂閱;此時反覆調整伺服器協定參數無法解決解析問題。
即使回應本文非空,也可能只有提示文字、空白資料集合,或是不受目前入口支援的格式。Base64 只是編碼方式,不代表其中一定包含有效的伺服器資訊;請勿自行替全文補上字元、反覆解碼或拼接協定前綴。應請自己的服務商確認回傳格式與實際有效項目數量。
五、向自己的服務商確認訂閱資格與回傳格式
能登入帳戶,不代表訂閱介面目前一定會回傳伺服器資訊。訂閱資格、流量狀態、有效期限、服務維護及驗證資料重設都可能影響介面回應。付款或續訂後,也應先確認帳戶端已生效,不要以反覆重新整理取代確認。
- 確認資格:帳戶中的相關服務是否有效,是否有流量限制、暫停狀態或尚未完成的狀態同步。
- 確認驗證資料:最近是否重設過訂閱連結,以及 Home 儲存的是否仍是舊 token。
- 確認回應內容:介面回傳的是伺服器資料,還是登入頁、驗證頁、錯誤說明或零項目結果。
- 確認格式:取得適用於 Shadowrocket 的現有訂閱格式。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 都是協定名稱,單純修改名稱不代表已完成格式轉換。
- 確認變更:介面網域、路徑、憑證或回應格式是否曾變更,以及服務商是否需要修正產生的結果。
回報問題時,請提供錯誤原文、發生時間與時區、使用的網路、是否為首次新增,以及「舊項目是否保留、更新前後數量是否變動」。這些資訊比只說「不能用」更有助於找出原因。截圖前請遮住完整訂閱 URL、token、伺服器密碼及其他驗證資料;需要查核帳戶時,請使用自己的服務商提供的私人支援管道。
六、排除網路與更新時機干擾,再進行最後測試
取得訂閱內容本身也需要網路。網域解析失敗、TLS 憑證異常、連線逾時,或需要登入的 Wi-Fi,都可能導致無法取得本文。請先確認裝置日期與時間正確,並完成目前網路所需的登入,再更新一次。若遇到憑證錯誤,請確認裝置時間並請服務商檢查憑證,不要以停用安全性檢查作為解決方式。
Global Routing 決定連線流量的處理方式,無法修正錯誤的訂閱格式;Settings → On Demand 控制隨選連線行為,也不是訂閱更新開關。若測試時需要暫停連線,請先記錄原有設定,並確認 On Demand 是否會重新建立連線。排查完成後請恢復原狀。
- 固定輸入條件:使用剛確認過的同一個訂閱網址,並記錄目前時間與 Home 中的項目數量。
- 完成一次請求:在目前的網路環境更新一次,並等待明確結果。不要同時修改網址、連線狀態與網路,否則難以判斷是哪項變更造成影響。
- 單獨切換網路:情況允許時,從 Wi-Fi 切換到行動網路,或反向切換,再測試一次。若只有某個網路失敗,請優先檢查該網路的解析與存取條件。
- 避免觸發頻率限制:若已出現請求受限或服務維護提示,請依服務商提供的時間再試,不要設定過於頻繁的自動更新。
- 確認結果:確認訂閱群組中已出現預期項目,再另外測試伺服器連線。若仍顯示空白,請提供兩次測試的時間與錯誤結果,聯絡自己的服務商。
判斷原則:每次只變更一個條件
網址不變、只切換網路後成功,請先檢查網路路徑;兩種網路都回傳相同的驗證錯誤,請先檢查帳戶與驗證資料;取得有效清單後仍無法連線,則改為排查伺服器連線問題。
最後應能將問題歸納至明確環節:網址不完整、請求未送達、存取遭拒、本文格式不符,或伺服器連線異常。依此順序處理,可保留仍可使用的設定,也能避免將服務商回傳內容的問題誤判為用戶端安裝問題。