Shadowrocket(小火箭)訂閱清單空白,不代表需要重新購買 App。本文適用於已有服務商帳戶與訂閱的使用者,依「連結、回應、解析、更新路徑」逐步排查,分辨請求失敗、回傳空內容與清單顯示問題,並說明如何保留現有設定及確認問題是否排除。
先釐清:沒有取得內容,還是內容沒有顯示
訂閱更新包含兩個不同步驟:先從訂閱網址取得回應,再將回應中的有效項目解析並顯示於 Home。請求失敗時,App 可能仍保留舊項目;即使請求成功,回傳內容也可能是登入頁面、錯誤說明或空白。因此,「看得到清單」不代表剛才更新成功;「清單空白」也不能直接證明網路完全無法連線。
- 首次匯入後清單空白:先確認匯入的是訂閱網址,而非帳戶頁面或 Config 設定網址,再確認服務商是否確實回傳可用項目。
- 原本有項目,更新卻失敗:記下錯誤訊息與發生時間,暫時保留舊項目,不要先刪除整個訂閱。
- 顯示更新完成,卻找不到項目:返回 Home,展開對應的訂閱群組並清除搜尋條件,確認查看的不是其他群組。
- 看得到項目但連線失敗:這屬於後續的連線診斷。訂閱網址可以存取,不代表其中每個伺服器網址都能連線。
檢查連結:保留完整參數,確認匯入的內容
從自己的服務商帳戶頁面重新複製標示為 Shadowrocket 或相容訂閱格式的網址。不要複製瀏覽器網址列中的帳戶首頁,也不要將「點擊後匯入」的網頁入口當成實際訂閱網址。若頁面提供多種格式,請依照服務商對 Shadowrocket 的格式說明選用。
https://example.com/sub?token=xxxx
上方內容僅是假值,用來說明網址結構,不能作為訂閱使用。網址通常包含通訊協定、主機名稱、路徑與查詢參數;其中 token 可能是存取憑證。複製時少了一個字元、混入換行,或將半形符號改成全形符號,都可能導致請求無效。
- 檢查開頭與結尾:移除複製時帶入的空格、引號與說明文字,但不要自行刪除查詢參數。
- 檢查參數:
?token=後的值必須完整;多個參數之間的&不應被聊天軟體中的排版文字取代。 - 確認連結是否已重設:服務商重新產生網址後,原有憑證可能失效。請對照帳戶頁面目前顯示的網址,不要只比對網域。
- 區分訂閱與設定:Home 中的伺服器訂閱與 Config 中的規則設定用途不同。不要只因網址以某個檔名結尾,就認定它一定能作為伺服器訂閱匯入。
返回 Home,檢查該訂閱的 URL,必要時以剛複製的網址取代,再手動更新一次。若需新增訂閱進行測試,請使用容易辨識的名稱;待新清單與連線都確認無誤後,再處理原有項目。
檢查回應:狀態碼與回傳內容各代表什麼
如果錯誤詳情或服務商診斷紀錄中包含 HTTP 狀態碼,可參考下列說明縮小排查範圍。這裡列出的是標準 HTTP 狀態文字,不代表每個版本都會在介面中逐字顯示。若沒有狀態碼,請保留原始提示,不要只憑「清單空白」就推斷是哪一種錯誤。
錯誤:401 Unauthorized
原因與解法:請求缺少有效授權,或目前憑證已失效。請前往自己的服務商帳戶頁面確認訂閱狀態與目前使用的連結,更新 URL 後再試一次。
錯誤:403 Forbidden
原因與解法:伺服器拒絕目前的請求,可能與帳戶權限、來源位址限制或存取防護有關。請向服務商確認拒絕原因,不要只憑此狀態碼就認定是 App 故障。
錯誤:404 Not Found
原因與解法:請求路徑不存在,或伺服器以此狀態碼隱藏無法存取的資源。請重新複製完整網址,確認網域、路徑及連結是否已更換。
錯誤:429 Too Many Requests
原因與解法:更新請求觸發流量限制。請停止連續重新整理;若回應中包含 Retry-After,請依其指示等待,否則依服務商說明選擇重試時間。
即使回傳 200 OK,正文仍可能是要求登入的 HTML 頁面、帳戶狀態說明,或不含任何項目的訂閱內容。瀏覽器能開啟帳戶頁面,只代表目前瀏覽器工作階段可以存取該頁;瀏覽器中儲存的登入狀態,不會自動成為 App 發送訂閱請求時的授權。
結論:收到回應後,先確認內容再調整網路
如果服務商確認請求已送達,但回傳的是登入頁面或空清單,應先修正連結、帳戶狀態或輸出格式。反覆切換網路,無法讓錯誤內容變成有效訂閱。
檢查網路:每次只變更一項更新條件
訂閱網址的存取路徑,可能與項目的連線路徑不同。現有項目仍可連線,但訂閱網域暫時無法解析或存取,兩種情況可能同時發生。請先確認目前的 Wi-Fi 不需要網頁認證,再與行動網路比較;不要在同一輪測試中同時切換網路、修改連結及重設設定。
- 記錄基準狀態:記下目前網路、連線開關狀態、Global Routing 的目前選項,以及手動更新時顯示的完整訊息。
- 切換網路測試:確認允許使用行動數據後,分別透過 Wi-Fi 與行動網路手動更新一次。若只有其中一種網路失敗,優先檢查該網路的認證、DNS 或存取限制。
- 檢查更新路徑:前往 Settings → Subscribe 檢查 Update via Proxy。只有在已有可用連線,且確實需要透過 Proxy 存取訂閱網址時,才啟用此選項進行測試。
- 一次只變更一項:每次測試只調整一個條件。記錄成功或失敗後,再決定是否保留該設定,避免無法判斷是哪項變更生效。
Global Routing 中的 Proxy、Direct、Config、Scene 是不同的流量路由選項,並非四種訂閱格式。不要把切換到 Proxy 當成通用解法。排查訂閱時,應同時確認專用的更新選項與目前可用的連線,而非只看系統是否顯示 VPN 狀態。
遇到憑證驗證錯誤時,先確認裝置日期與時間,再請服務商檢查憑證效期及網域是否相符。不要關閉憑證驗證來掩蓋問題。連線逾時則須分辨網域解析、建立連線與等待回應等階段;不能只憑「逾時」就判定帳戶已到期。
更新成功但清單仍空白:檢查格式、群組與更新時機
取得回應卻沒有項目時,應檢查回傳內容與解析結果。訂閱可能採用不同的編碼與編排方式;檔案能以文字開啟,不代表內容符合用戶端的預期。服務商輸出其他類型的設定、編碼遭截斷,或正文只有狀態說明,都可能無法產生可用清單。
- 確認格式:詢問服務商該網址是否用於 Shadowrocket 的伺服器訂閱,並確認回應中確實包含項目,而非僅提供規則檔案。
- 確認通訊協定參數:例如 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 各有不同的參數需求;只出現通訊協定名稱,無法證明項目完整。若缺少位址、連接埠或必要憑證,仍須由內容提供者修正。
- 確認 Home 顯示內容:展開目標訂閱群組、清除搜尋條件,再查看項目數量。不要將摺疊的群組標題誤認為空清單。
- 確認生效時間:帳戶續期、連結重設或伺服器端調整後,先確認服務商頁面已顯示生效,再手動更新一次。不要以持續重新整理取代狀態確認。
手動更新可作為診斷基準,因為能將操作與當時結果對照。自動更新會受到 App 執行狀態、系統排程及當時網路條件影響;沒有觀察到背景更新,不能直接推斷連結失效。On Demand 用來依條件建立連線,並非訂閱的定時更新開關。
結論:手動更新恢復後,再觀察自動更新
先在確定的網路條件下,使用同一個連結完成一次手動更新,並確認實際項目。只有這個步驟成功後,才適合繼續檢查自動更新設定與背景執行時機。
常見問題:保留舊內容,避免重複操作
更新失敗時,要先刪除訂閱再重新匯入嗎?
先不要刪除。記下 Home 中現有的群組與項目,並檢查 URL 和錯誤訊息。若需重新匯入以進行驗證,請保留原有項目;待新項目能更新且連線正常後,再清除重複內容。
瀏覽器可以開啟,為什麼 Shadowrocket 裡仍是空白?
確認瀏覽器開啟的是訂閱正文,還是登入後的網頁。請向服務商確認該 URL 是否能在不依賴網頁工作階段的情況下回傳相容內容,並檢查是否有重新導向、存取防護或輸出格式差異。
啟用 Update via Proxy 後反而無法更新,該怎麼辦?
先確認現有項目能正常連線,再比較啟用與關閉此選項時的結果。若 Proxy 連線本身無法使用,請還原原設定,改用已確認能存取訂閱網址的網路測試。
重新購買 Shadowrocket 能修復訂閱問題嗎?
重新購買無法解決連結失效、伺服器端拒絕或格式錯誤。App 買斷不等於連線方案;App 購買與使用者既有的訂閱分別管理。應依照錯誤發生的環節排查,而非重複購買。
提供排查資訊,並確認問題是否排除
如果仍無法恢復,請向自己的服務商提供足以查明請求狀況的資訊,不要只說「無法匯入」。若已確認伺服器端回傳的內容相容且完整,但 App 仍無法解析,請整理最精簡的重現步驟,以便進一步確認用戶端的行為。
- 環境:裝置型號、系統版本、App 內可確認的版本資訊,以及目前使用 Wi-Fi 或行動網路。
- 時間與狀況:發生時間與時區、首次匯入或更新既有訂閱、完整錯誤文字,以及舊項目是否仍保留。
- 測試條件:Update via Proxy 的狀態、目前的 Global Routing 選項、切換網路前後的差異,以及伺服器端是否查得到請求。
- 隱私保護:截圖時請遮住訂閱憑證、帳戶資訊及不必要的伺服器資訊。敏感資料僅應透過已確認身分的私人支援管道,依需要提供。
修復後,請在 Home 對目標訂閱手動更新一次,確認沒有錯誤且群組中出現預期項目,再選取其中一項測試連線。最後清除測試項目,並還原不需保留的暫時設定。更新成功與連線成功是兩個檢查項目,請分別確認。