2026-09-15 · 故障排查 · 約 9 分鐘

Shadowrocket 訂閱匯入後顯示空白或解析失敗:連結格式、服務商狀態與更新時機排查

訂閱顯示空白或解析失敗時,依序檢查連結完整性、回應內容格式、服務商狀態與更新時機,並提供自我排查步驟。

本文重點

先保留現有訂閱與可用項目,再釐清問題是「請求未完成」、「取得的內容無法解析」,還是「回應內容沒有有效項目」。本文適用於已持有自己服務商訂閱的使用者,依序檢查 Home 中的 Subscribe 設定、網址、HTTP 回應、更新網路與重試時機;不必先重置 Config,也不必反覆刪除再重建訂閱。

先釐清:訂閱空白、解析失敗與連線失敗

Shadowrocket 更新訂閱時,會從既有訂閱網址取得內容並產生項目;連線測試則是使用某個項目建立連線。前者成功不代表後者一定成功,後者失敗也不能證明訂閱網址無效。排查時先確認問題發生在哪個步驟,不要把所有狀況都歸因於「節點不能用」。

Home 主要用於管理項目與連線,Config 用於設定檔,Settings 用於相關設定。修改 Config 中的 DOMAIN-SUFFIX 或 FINAL,無法將登入網頁轉換成訂閱內容。請先保留現有設定,只針對訂閱本身進行必要檢查,方便判斷每次操作是否有效。

連結格式:從 Subscribe 入口確認完整網址

從自己服務商的訂閱管理頁面重新複製網址,比手動修補不完整的連結可靠。請確認複製的是訂閱網址,而不是帳戶首頁、登入網址或帳單頁面。訂閱 URL 中的查詢參數通常用於驗證,少一個字元也可能改變伺服器回傳的結果。

  1. 保留原有記錄

    在 Home 記下目前的訂閱名稱、既有項目數量與這次的失敗提示。暫時不要刪除仍有可用項目的訂閱,也不要覆蓋既有 Config。

  2. 複製完整網址

    在自己的服務商頁面複製完整訂閱 URL,檢查開頭的通訊協定、網域、路徑,以及問號後的所有參數。移除複製時帶入的前後空白,不要任意修改參數。

  3. 確認輸入類型

    需要新增時,請在 Home 右上角點選「+」進入 Add Server,將 Type 設為 Subscribe,再將網址貼到 URL。若已有訂閱,請進入對應的編輯頁確認 URL,避免重複建立相同群組。

  4. 儲存後更新

    儲存並返回 Home,向下滑動以執行更新。等這次請求完成後,再檢查群組內的項目數量與提示;請勿在請求尚未完成時連續重新整理。

  5. 記錄這次結果

    記下這次更新的時間、使用的網路與提示原文。下次只變更一項條件,例如切換網路,才能判斷差異來自哪裡。

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

上方網址僅用於說明 URL 結構,不是可用的訂閱。? 後的參數、參數之間的 &,以及百分比編碼,都可能是原始網址的一部分。不要把聊天工具顯示的省略號當成連結內容,也不要自行解碼後重新組合。若從網頁原始碼複製到字面形式的 &,請回到頁面的複製入口重新取得網址,不要憑猜測修改權杖。

[Check]

ss://、vmess://、vless://、trojan:// 通常代表單一項目的分享內容,並不等同於可定期擷取的 HTTPS 訂閱網址。單一項目應使用相應的匯入方式處理;只把前綴改成 HTTPS,並不會因此取得訂閱更新功能。

回應內容:HTTP 成功不代表解析成功

請求抵達伺服器後,還需要確認伺服器實際回傳了什麼。HTTP 狀態碼描述請求的處理結果,訂閱能否解析還取決於回應本文是否包含可辨識的項目內容。因此,瀏覽器能開啟某個網址,只能表示該網址有回應,不能單憑頁面顯示正常就判定訂閱有效。

200
HTTP 請求成功後,仍須確認本文是否為訂閱內容
401
HTTP 驗證未通過,先確認權杖與授權狀態
429
HTTP 請求過於頻繁,依伺服器要求等待後再試

結論:先確認回應本文,再判斷解析器

如果回傳的是登入頁、驗證頁或維護公告,請先向自己的服務商確認訂閱介面狀態與適用格式;不要試圖反覆修改本機規則來處理伺服器頁面。

有些訂閱會將項目清單編碼後回傳,有些則回傳可直接讀取的文字;不能只憑「看起來像一長串字元」就判定內容損毀。反過來說,排版完整的 HTML 頁面也可能透過 HTTP 200 回傳,卻不包含任何可匯入項目。請向自己的服務商確認,該介面提供的是 Shadowrocket 可辨識的訂閱內容,而非僅供網頁閱讀的說明。

服務商端:依回應原文處理,不猜測故障原因

以下卡片列出標準 HTTP 回應狀態短語,不代表 Shadowrocket 一定會逐字顯示相同提示。只有在 App 提示、請求診斷結果或自己的服務商記錄中看到對應狀態碼時,才依該分支處理;若只有「解析失敗」,不能直接推斷是驗證失效或存取受限。

HTTP 401 Unauthorized

原因與處理方式:請求未通過驗證;請從自己的服務商頁面重新取得目前有效的訂閱網址,確認完整權杖,並確認授權狀態後再更新。

HTTP 403 Forbidden

原因與處理方式:伺服器拒絕了此請求,具體限制須由伺服器端確認;提供狀態碼與發生時間,請服務商檢查存取政策,不要單憑狀態碼認定帳戶已到期。

HTTP 404 Not Found

原因與處理方式:找不到請求的資源;確認網域與路徑是否完整,並確認服務商是否更換了訂閱入口,不要自行猜測新的路徑。

HTTP 429 Too Many Requests

原因與處理方式:觸發了請求頻率限制;停止連續重新整理。若回應提供 Retry-After,請依其要求等待;否則向服務商確認允許的重試間隔。

HTTP 503 Service Unavailable

原因與處理方式:伺服器目前無法處理請求;保留既有項目,向服務商確認恢復情況,待服務恢復後再更新一次。

如果服務商表示介面已恢復,但用戶端仍顯示空白,請進一步確認是「更新時沒有取得新內容」,還是「取得的新內容仍為空」。提供更新時間、狀態碼、項目數量變化與提示原文,有助於對方查明問題;截圖與記錄中的訂閱 token、密碼、UUID 等驗證資訊應先遮蔽,也不要在公開討論區貼出完整 URL。

更新時機:網路路徑、代理更新與自動連線

更新訂閱需要能連線至訂閱網域,連線至項目則需要能連線至該項目的伺服器;兩者的網域與網路路徑可能不同。某個項目可以連線,不代表目前能直接連線至訂閱網域;訂閱網域可以存取,也不代表每個項目的伺服器都正常。

若直接連線請求逾時,而既有項目仍可正常使用,可以先建立可用連線,再前往 Settings → Subscribe 確認 Update via Proxy,視需要啟用後返回 Home 更新。此設定會改變訂閱請求的存取方式,無法修復錯誤權杖、空白回應或伺服器端格式問題。若沒有可用連線,單獨啟用此設定也無法自動建立可用的更新通道。

不要因訂閱更新錯誤而關閉憑證驗證。出現 TLS 相關提示時,先確認裝置的日期與時間、訂閱網域是否正確,再請服務商檢查憑證與憑證鏈。若只有特定網路發生問題,保留該網路下的提示作為診斷資料,比略過安全檢查更有助於找出原因。

常見問題:保留資料並完成最後一輪檢查

瀏覽器能開啟連結,為什麼 Home 還是空白?

先確認瀏覽器顯示的是項目內容,而不是帳戶網頁或驗證頁面。瀏覽器的登入狀態不等同於訂閱請求的驗證條件;請從自己的服務商頁面重新複製用戶端訂閱網址,在 Home 的 Subscribe 編輯頁確認 URL 後再更新。

重新整理失敗後,需要刪除整個訂閱嗎?

先不要刪除。記下原有項目數量、提示與更新時間,並保留仍可使用的項目;重新匯入並非修復介面錯誤的必要步驟。確實需要重建時,請先確認網址有效,並妥善保存必要的原始資料。

已啟用 Update via Proxy,還是逾時怎麼辦?

先確認既有項目確實能建立連線,再確認目前的連線能否存取訂閱網域。若連線本身無法使用,請改用能存取該網域的網路測試;若只有該介面失敗,請將發生時間與提示提供給自己的服務商查核。

訂閱更新成功,為什麼選取的項目仍無法使用?

更新成功只代表已取得並處理訂閱內容。請進入對應項目的編輯頁,確認協定、位址、連接埠與驗證參數,再檢查伺服器狀態;例如 Trojan 的 TLS 參數應與自己的服務商資料一致,不能用再次重新整理代替參數檢查。

最後依序確認「完整 URL → Subscribe 類型 → 回應本文 → 伺服器狀態 → 更新網路 → 重試時機」。每次只變更一項條件,完成一次請求後再記錄結果。若需要回報問題,以下清單足以描述狀況,也能避免洩露完整驗證資料。

  1. 說明是首次匯入時顯示空白、既有訂閱更新失敗,還是更新後缺少部分項目。
  2. 提供問題發生時間、Wi-Fi 或行動網路等連線條件,以及是否使用 Update via Proxy。
  3. 保留提示原文與可確認的 HTTP 狀態碼;若沒有狀態碼,請明確註明「未取得」,不要猜測。
  4. 說明更新前後的項目數量,以及服務商是否確認目前應有有效項目。
  5. 只透過私人支援管道向自己的服務商提供必要資料;公開截圖請先遮蔽 token 與其他驗證欄位。
App Store 正版確認