2026-10-14 · 問題排查 · 約 9 分鐘

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

訂閱解析失敗或更新後清單為空?請依序確認連結是否完整、服務商端是否到期或受限,以及更新時的網路狀態與自動更新設定。

本文重點

Shadowrocket(小火箭)更新訂閱時,必須先取得伺服器回應,再解析其中的伺服器項目。本文假設您已有自己的服務商與訂閱,依照「保留現況、檢查網址、確認回應、測試網路、檢查自動更新」的順序排查。先分辨請求失敗、回傳內容不適用和成功回傳空清單,再決定下一步,避免反覆刪除訂閱而失去比對依據。

一、先分辨更新失敗、解析失敗與清單為空

訂閱更新失敗,不代表現有伺服器立即失效;清單為空,也不一定表示請求沒有送出。更新流程包含網路請求、身分驗證、內容解析與清單顯示等環節。某個環節出錯時,應記錄具體狀況,而不是一概認定「連結壞了」。

讀取網址向伺服器送出請求驗證回應解析項目顯示清單

先返回 Home,確認查看的是目標訂閱群組,而不是其他群組或篩選後的結果。接著分辨:舊項目仍在但顯示更新失敗,還是更新後目標群組確實沒有項目。如果 Config 中仍看得到設定檔,也不能據此判定訂閱正常;設定檔與 Home 中的伺服器清單是不同的檢查對象。

  1. 記下手動更新時間、目前使用 Wi-Fi 或行動網路,以及完整錯誤訊息。
  2. 記錄更新前目標群組的項目數量;若有可還原的設定,先保留副本,不要一開始就刪除訂閱。
  3. 只對目標訂閱手動更新一次,觀察錯誤提示與清單變化,避免同時更新多個來源。
  4. 如果只有某個項目連線失敗,請改為檢查該項目的網址、連接埠與驗證欄位,不要繼續當成「空訂閱」處理。

二、檢查訂閱網址是否完整及回傳內容類型

訂閱網址是取得一組項目的入口,不是服務商帳戶頁面,也不是單一分享連結。ss://、vmess://、vless://、trojan:// 通常代表單一連線資訊;即使可以匯入,也不能因此視為可定期更新的訂閱網址。HTTPS 網址也不一定是訂閱:登入頁、說明頁和錯誤頁面同樣可以使用 HTTPS。

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

以上是無法用於連線的格式範例。實際檢查時,請逐項比對通訊協定、主機名稱、路徑與查詢參數。特別留意複製時是否漏掉 ? 後面的內容、是否把 & 誤寫成字面上的 &,或連同聊天訊息中的句號、引號與換行一起貼上。不要自行刪除看似冗長的 token,也不要任意改寫百分比編碼。

如果瀏覽器顯示登入框、驗證碼或到期提示,請先處理帳戶端問題。不要把另存的網頁文字當成訂閱重新匯入。即使頁面顯示看似經過編碼的文字,也不能只憑外觀判定可解析;必須確認該網址確實是對應用戶端的匯出入口。

三、依 HTTP 回應檢查到期、限制與空內容

服務商端的帳戶有效期限、流量狀態、訂閱網址是否重設,以及請求頻率限制,都可能影響回傳結果。請在自己的帳戶頁面逐項確認,再依實際回應判斷。以下列出的是 HTTP 標準回應原文;只有錯誤詳細資訊或伺服器記錄確實出現相應狀態時才適用,不代表 Shadowrocket 一定會逐字顯示這些訊息。

錯誤:401 Unauthorized

原因:請求未通過身分驗證,可能是憑證遺漏或失效。解決方式:在自己的帳戶頁面確認訂閱網址是否已重設,重新複製完整網址後再試一次。

錯誤:403 Forbidden

原因:伺服器拒絕了這次請求,可能與帳戶權限、來源限制或存取政策有關。解決方式:確認帳戶狀態,並向自己的服務商提供已遮蔽敏感資訊的錯誤內容與發生時間;不要直接判定是用戶端解析問題。

錯誤:429 Too Many Requests

原因:請求觸發伺服器的頻率限制。解決方式:停止連續重新整理;若回應包含 Retry-After,請依其要求等待,再進行單次測試。

錯誤:503 Service Unavailable

原因:伺服器暫時無法處理請求,可能正在維護或負載過高。解決方式:保留現有項目,稍後再試,並確認自己的服務商是否公告目前的服務狀態。

即使狀態是 200 OK,也只代表 HTTP 請求已成功處理,不保證回應包含有效伺服器。回應本文可能是空白、帳戶提示文字,也可能是 HTML 頁面。如果項目數量從非零變成零,請一併確認帳戶端是否仍有可用項目,以及訂閱匯出是否回傳預期內容。

結論:先確認回應,再調整解析相關設定

如果實際回應是登入頁、權限提示或空白本文,修改規則與伺服器通訊協定無法補回缺少的項目;請先讓訂閱入口恢復有效回應,再手動更新一次。

四、以單一變因測試更新時的網路路徑

訂閱更新請求是否可連線,與訂閱內某個伺服器是否可連線,是兩回事。舊項目仍可連線,不代表訂閱網址一定可存取;訂閱更新成功,也不保證每個新項目都能建立連線。排查時請保留目前設定,每輪只變更一個條件並記錄結果。

443
HTTPS 未明確指定連接埠時的預設連接埠
2 類
分別檢查訂閱請求與伺服器連線
1 項
每輪測試只變更一項網路條件
  1. 確認基本網路:完成目前 Wi-Fi 的網頁驗證;如果網路本身無法使用,請先處理網路連線,再回到應用程式更新。
  2. 切換網路:條件允許時,從 Wi-Fi 切換至行動網路,使用同一個網址更新一次。只記錄兩次是否成功,不要同時更換網址。
  3. 檢查更新專用設定:前往 Settings → Subscribe,查看目前介面提供的更新選項。若有 Update via Proxy,先記下原本的狀態;只有在已有可用連線時才測試透過代理更新,再與原狀態比較。
  4. 檢查憑證與時間:若出現憑證或 TLS 錯誤,請檢查裝置日期與時間,以及目標網域是否正確。不要透過關閉憑證驗證來掩蓋錯誤。

不要把 Home → Global Routing 下的 Proxy、Direct、Config、Scene 當成訂閱解析格式的切換選項。這些項目涉及路由模式,無法修復遭截斷的 token,也不能將 HTML 轉成伺服器清單。訂閱更新請求是否透過代理,還需配合更新專用設定與目前連線狀態判斷,不能只看某個模式名稱就推斷所有請求的路徑。

同樣地,修改 DOMAIN-SUFFIX、GEOIP、IP-CIDR 或 FINAL 並不是處理空回應的第一步。只有確認訂閱網域受到目前路由路徑影響時,才需要進一步檢查相關設定,並在修改前保留副本。

五、手動更新成功後,再檢查自動更新時機

自動更新不能取代有效網址與可用網路。請先在應用程式前景完成一次手動更新,確認清單出現預期項目,再檢查 Settings → Subscribe 中實際提供的自動更新選項與間隔。不同介面的文字可能不同,請以裝置上顯示的項目為準,不要假設所有裝置都會在某個固定時間執行。

如果自動更新失敗但手動更新成功,請優先比較兩次更新時的網路、連線狀態與更新路徑。如果手動更新也失敗,請回頭檢查網址與回應,不要繼續縮短更新間隔。恢復後抽查新項目的網址、連接埠與通訊協定欄位;訂閱更新成功只代表取得設定,仍須另行驗證連線是否可用。

六、常見問題與回報排查資訊

舊節點還能用,為什麼訂閱就是更新不了?

舊項目保存的是既有連線參數,更新請求存取的則是訂閱網址。請先在自己的帳戶頁面確認網址與 token 是否仍有效,再於 Home 對目標訂閱手動更新一次;不要為了測試更新而先清空可用項目。

瀏覽器開啟後看得到內容,為什麼應用程式裡還是空的?

先確認內容是否為登入頁面、錯誤說明或不適用的匯出格式。瀏覽器登入成功不代表應用程式請求也帶有相同的工作階段。請重新確認帳戶頁面中適用於 Shadowrocket 的訂閱入口,而不是複製瀏覽器網址列中的帳戶頁面網址。

更新後數量變少,需要馬上反覆重新整理嗎?

先確認目標群組與篩選狀態,再查看帳戶端實際提供的項目數量。記下變化時間並停止連續重新整理;數量減少可能是伺服器端調整了內容,也可能是部分內容無法解析,需配合回應與錯誤詳細資訊判斷。

可以把完整訂閱連結傳給別人檢查嗎?

請勿公開傳送含有 token 的完整網址。回報時提供已遮蔽敏感資訊的網域、發生時間、網路類型、原始錯誤訊息,以及更新前後的項目數量即可。若存取憑證已外洩,請先透過自己的服務商帳戶重設,再替換應用程式中儲存的網址。

向自己的服務商回報時,請將「不能用」改成可供查證的描述,例如:「在行動網路前景手動更新,回應顯示 403,原有項目仍保留;切換至 Wi-Fi 後結果相同。」如果沒有觀察到狀態碼,就記下實際提示,不要猜測錯誤類別。這類記錄有助於區分帳戶、網路與內容格式問題,也能減少他人反覆索取敏感網址。

Shadowrocket 正版辨識與操作教學

Shadowrocket 是 Apple 平台上的閉源商業應用程式,唯一取得管道為 App Store,主要適用於 iPhone、iPad。請確認開發者為 Shadow Launch Technology Limited,應用程式 ID 為 932747118;系統需求與購買適用範圍請以 App Store 頁面標示為準。用戶端一次買斷 ≠ 連線方案;訂閱狀態需在使用者自己的服務商端確認。

前往正版辨識頁 查看教學
App Store 正版確認