Shadowrocket 訂閱解析失敗、節點空白:檢查連結格式、服務商狀態與更新時機

新增訂閱後顯示空白或提示解析失敗時,先確認連結完整、編碼正確,再向服務商確認訂閱狀態,最後檢查更新時機與網路環境,逐步縮小問題範圍。

本文重點

本文適合已有自己的服務商與訂閱,但在 Shadowrocket 中無法取得節點清單的使用者。依序檢查連結完整性、請求結果、回應格式、服務商狀態與更新環境,區分取得失敗、解析失敗和連線失敗。保留現有設定後再進行單次測試,避免反覆刪除或重新整理而掩蓋問題原因。

一、先區分訂閱失敗與節點連線失敗

Shadowrocket(小火箭)是 Apple 平台的付費用戶端,唯一取得管道為 App Store,開發者為 Shadow Launch Technology Limited,採一次買斷制。購買 App 不等於取得連線服務;本文以使用者已有自己的服務商與訂閱為前提。相容裝置與系統需求請以 App Store 頁面標示為準。

訂閱更新的目的是取得並解析伺服器資訊,不是確認每台伺服器都能成功連線。Home 完全沒有項目,和清單中有項目但連線逾時,是兩種不同問題。前者應先檢查訂閱網址及回應內容;後者才需要檢查伺服器位址、連接埠、驗證參數與網路連線狀況。

讀取訂閱網址 發出網路請求 接收回應內容 解析伺服器項目 顯示節點清單

處理流程中的任何環節發生異常,都可能導致更新失敗或清單沒有新增項目。HTTP 請求成功只代表伺服器有回傳內容,不保證內容可解析為訂閱;反之,舊項目仍在也不代表這次更新成功。

二、確認連結完整,避免手動修改編碼

請從自己的服務商帳戶頁面複製供 Shadowrocket 使用的訂閱網址,不要複製帳戶首頁、訂單頁面或按鈕上顯示的簡短標題。訂閱網址通常含有驗證資料;外觀看似相同的兩個網址,可能分別回傳帳戶頁面和伺服器資料,用途並不相同。

https://example.com/sub?token=xxxx

以上僅為無效格式範例。確認實際網址時,請檢查從 https:// 到最後一個字元是否完整,尤其是 ? 後方的查詢參數。透過聊天訊息轉傳時,容易誤帶末尾標點、換行或截斷內容;請重新從原始位置複製,不要憑記憶補齊。

三、依照介面路徑重新驗證匯入

Shadowrocket 的 Home 用於檢視及管理伺服器,Config 用於管理設定檔,Settings 則是 App 設定。請在 Home 中以 Subscribe 新增訂閱網址;將網址當成 Config 設定檔匯入,無法取代伺服器訂閱解析。驗證前先記下舊訂閱名稱、目前項目數量與錯誤訊息,不要先清空所有內容。

  1. 保留舊項目

    在 Home 確認原有訂閱與項目仍在。若目前連線仰賴這些項目,請先保留原狀,不要一開始就刪除後重建。

  2. 選擇 Subscribe

    進入 Home,點選右上角的「+」,在 Type 中選擇 Subscribe。輸入容易辨識的名稱,並將自己複製的完整訂閱網址貼到 URL 欄位。

  3. 儲存並更新

    儲存後返回 Home,向下滑動以觸發更新,並等待這次請求完成。記錄成功或失敗,以及項目數量是否變動;請勿在請求尚未完成時連續重新整理。

  4. 檢查清單顯示

    清除 Home 中的搜尋條件,並展開對應的訂閱群組,確認清單空白不是篩選或摺疊所致。即使名稱沒有變化,也要比對項目數量。

  5. 區分後續問題

    若已顯示伺服器項目,代表訂閱解析已取得結果。接下來請另外測試連線,不要再把連線逾時歸類為「訂閱空白」。

如果只是服務商重設了現有訂閱網址,請修改該訂閱所儲存的 URL,而非長期保留多個同名群組。確實需要並行測試時,請為測試項目取清楚易辨識的名稱,測試結束後再清理,避免將舊清單誤認為新結果。

四、依 HTTP 狀態碼與回應內容找出原因

若能查看請求詳細資料,請先記錄狀態碼,再確認回應內容。以下是標準 HTTP 狀態說明,不代表 Shadowrocket 在所有情況下都會逐字顯示;只有實際錯誤詳細資料或服務商紀錄出現相應狀態時,才依該項處理。請勿為了取得狀態碼而將完整驗證資料提交至第三方網站。

200
HTTP 請求成功,仍須檢查本文格式
401 / 403
優先確認驗證資料與存取權限
429
請求受到限制,應停止連續重新整理

HTTP 401 Unauthorized

原因:請求缺少有效驗證,或訂閱驗證資料已失效。解決方法:返回自己的服務商帳戶頁面確認目前使用的網址,必要時重新產生驗證資料,再更新已儲存的 URL。

HTTP 403 Forbidden

原因:伺服器拒絕目前的請求,可能與帳戶權限或存取限制有關。解決方法:請自己的服務商依請求時間查明遭拒原因,不要一概將 403 判定為訂閱到期。

HTTP 404 Not Found

原因:請求路徑不存在,可能是網址遭截斷或介面路徑已變更。解決方法:重新複製目前使用的訂閱網址,確認路徑與查詢參數,不要自行猜測介面名稱。

HTTP 429 Too Many Requests

原因:伺服器限制了請求頻率。解決方法:停止反覆向下滑動;若回應中有 Retry-After,請依指定時間等待,否則向自己的服務商確認何時恢復。

判斷重點:200 不代表訂閱有效

若服務商確認回應內容是登入頁、驗證頁或錯誤說明,應先修正存取入口與權限,再更新訂閱;此時反覆調整伺服器協定參數無法解決解析問題。

即使回應本文非空,也可能只有提示文字、空白資料集合,或是不受目前入口支援的格式。Base64 只是編碼方式,不代表其中一定包含有效的伺服器資訊;請勿自行替全文補上字元、反覆解碼或拼接協定前綴。應請自己的服務商確認回傳格式與實際有效項目數量。

五、向自己的服務商確認訂閱資格與回傳格式

能登入帳戶,不代表訂閱介面目前一定會回傳伺服器資訊。訂閱資格、流量狀態、有效期限、服務維護及驗證資料重設都可能影響介面回應。付款或續訂後,也應先確認帳戶端已生效,不要以反覆重新整理取代確認。

回報問題時,請提供錯誤原文、發生時間與時區、使用的網路、是否為首次新增,以及「舊項目是否保留、更新前後數量是否變動」。這些資訊比只說「不能用」更有助於找出原因。截圖前請遮住完整訂閱 URL、token、伺服器密碼及其他驗證資料;需要查核帳戶時,請使用自己的服務商提供的私人支援管道。

六、排除網路與更新時機干擾,再進行最後測試

取得訂閱內容本身也需要網路。網域解析失敗、TLS 憑證異常、連線逾時,或需要登入的 Wi-Fi,都可能導致無法取得本文。請先確認裝置日期與時間正確,並完成目前網路所需的登入,再更新一次。若遇到憑證錯誤,請確認裝置時間並請服務商檢查憑證,不要以停用安全性檢查作為解決方式。

Global Routing 決定連線流量的處理方式,無法修正錯誤的訂閱格式;Settings → On Demand 控制隨選連線行為,也不是訂閱更新開關。若測試時需要暫停連線,請先記錄原有設定,並確認 On Demand 是否會重新建立連線。排查完成後請恢復原狀。

  1. 固定輸入條件:使用剛確認過的同一個訂閱網址,並記錄目前時間與 Home 中的項目數量。
  2. 完成一次請求:在目前的網路環境更新一次,並等待明確結果。不要同時修改網址、連線狀態與網路,否則難以判斷是哪項變更造成影響。
  3. 單獨切換網路:情況允許時,從 Wi-Fi 切換到行動網路,或反向切換,再測試一次。若只有某個網路失敗,請優先檢查該網路的解析與存取條件。
  4. 避免觸發頻率限制:若已出現請求受限或服務維護提示,請依服務商提供的時間再試,不要設定過於頻繁的自動更新。
  5. 確認結果:確認訂閱群組中已出現預期項目,再另外測試伺服器連線。若仍顯示空白,請提供兩次測試的時間與錯誤結果,聯絡自己的服務商。

判斷原則:每次只變更一個條件

網址不變、只切換網路後成功,請先檢查網路路徑;兩種網路都回傳相同的驗證錯誤,請先檢查帳戶與驗證資料;取得有效清單後仍無法連線,則改為排查伺服器連線問題。

最後應能將問題歸納至明確環節:網址不完整、請求未送達、存取遭拒、本文格式不符,或伺服器連線異常。依此順序處理,可保留仍可使用的設定,也能避免將服務商回傳內容的問題誤判為用戶端安裝問題。

App Store 正版確認