2026-07-22 · 故障排除 · 約 8 分鐘

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

新增訂閱後清單空白或顯示解析失敗?依序檢查連結格式、服務商狀態與更新時機,並了解各步驟的檢查方式。

本文重點

Shadowrocket(小火箭)的訂閱清單空白時,先確認儲存的是完整訂閱網址,再確認服務商回傳的內容可供解析,最後核對更新是否確實完成。本文以使用者已有自己的服務商與訂閱為前提,區分網址錯誤、請求失敗、內容異常與顯示問題;排查時保留原有項目,每次只變更一個條件,避免混淆訂閱取得失敗與連線失敗。

先釐清失敗環節

訂閱更新包含三個環節:讀取已儲存的網址、向該網址送出請求,以及將回應內容解析為項目。清單空白只代表目前看不到可用項目,不能直接證明不支援該協定,也不能據此判定所有連線參數都失效。先確認 Home 中是否保留訂閱群組、是否仍有舊項目,以及更新時顯示了什麼提示。

3 個環節
讀取網址 → 請求回應 → 解析內容
2 種匯入
Home 中的 Subscribe 與 Config 中的設定檔
1 項變更
每輪只變更一個條件,並記錄更新結果

結論:先核對回應,再調整連線參數

如果訂閱尚未產生項目,先檢查網址、請求結果與回傳格式。此時修改單一項目的連接埠、密碼或協定,無法解決訂閱伺服器回傳登入頁面或空白內容的問題。

如果仍有舊項目但更新失敗,請保留現有訂閱並先記下錯誤提示;如果項目已出現,只是無法連線,則應改查連線參數與網路路徑。這兩種情況的檢查方向不同,不宜反覆刪除並重新新增訂閱來代替判斷。

核對完整訂閱網址

從自己的服務商帳戶頁複製 Shadowrocket 專用訂閱網址。帳戶首頁、說明頁面與訂閱網址可能使用相同網域,但回傳內容不同。網址以 https:// 開頭,不代表它一定是訂閱網址;應核對的是路徑、查詢參數與服務商標示的用途。

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

上方僅為結構範例,不能用於匯入。example.com 是範例網域,xxxx 是虛構值。實際網址中的 token 常用於驗證,請保留服務商提供的完整值;參數名稱也可能不同,請勿將範例中的名稱或內容代入自己的網址。

  1. 複製完整網址

    使用自己服務商帳戶頁上的複製訂閱網址功能,避免從聊天預覽或截圖抄寫。檢查網址開頭與結尾是否帶有空格、換行、中文標點或說明文字。

  2. 確認匯入類型

    前往 Home → 右上角「+」→ Type → Subscribe。這裡新增的是訂閱網址;Config 用於設定檔,兩種入口不可混用。

  3. 核對 URL

    在 URL 欄位貼上完整網址,確認 ?、&、= 與參數值都有保留。若網址含有百分比編碼,請使用原始複製內容,不要手動解碼或改寫。

  4. 儲存並更新

    儲存後返回 Home,對該訂閱執行更新並等待結果。可使用 Home 的下拉重新整理功能;實際更新入口請以目前 App 內顯示為準。記下提示與項目變化,不要連續重複送出。

特別留意從網頁原始碼或富文字複製的網址:參數分隔符號可能變成字面上的 &,而實際 URL 通常應為 &。不要只看外觀判斷;重新使用服務商帳戶頁的複製功能,再逐字比對 App 中儲存的網址,會更可靠。

核對服務商回應

即使網址正確,請求仍可能失敗。登入自己的服務商帳戶頁,確認訂閱權限、有效期限與網址是否已重設。如果服務商剛重新產生訂閱網址,舊網址可能已失效;App 中保留的舊值不會自動更新為新網址,請依帳戶頁目前提供的網址重新核對。

以下英文是 HTTP 狀態的原文,用來辨識伺服器回應,不代表 Shadowrocket 一定會顯示相同文字。只有在實際提示、回應記錄或服務商回覆中看到相應狀態時,才依該項處理;若無法取得狀態,不要只憑「清單空白」猜測狀態碼。

錯誤:401 Unauthorized

原因與解法:請求未通過該介面的驗證,可能是參數遺漏或憑證失效。重新複製自己的有效訂閱網址,核對驗證參數,並向服務商確認訂閱權限。

錯誤:403 Forbidden

原因與解法:伺服器拒絕此次存取,實際原因取決於伺服器端的存取政策。記下發生時間與使用的網路,請服務商確認限制條件,不要透過修改協定參數處理。

錯誤:404 Not Found

原因與解法:伺服器找不到請求路徑對應的資源。檢查網址是否遭截斷、路徑是否已變更,再從服務商帳戶頁重新複製完整網址。

錯誤:429 Too Many Requests

原因與解法:伺服器限制了請求頻率。停止連續重新整理;若回應包含 Retry-After,請依指示等待,否則向服務商確認允許的更新間隔。

HTTP 請求成功也不代表解析成功。例如伺服器回傳 200 OK,但正文是登入頁、帳戶提示頁或維護頁面,App 仍無法將其解析為訂閱項目。請服務商確認訂閱介面實際回傳的內容類型,不要把「瀏覽器能開啟頁面」視為訂閱可用的充分證據。

區分格式與空白內容

訂閱內容的封裝格式與項目使用的協定是不同層次。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 是協定名稱,不能據此直接推斷訂閱回應一定可以匯入。即使 App 支援相應協定,回應仍須採用 App 可辨識的訂閱格式,並包含有效項目。

實際觀察 優先核對 下一步處理方式
回應是 HTML 登入頁 是否誤複製帳戶頁網址,或遭重新導向至登入頁 重新取得專用訂閱網址,並向服務商確認介面不需要瀏覽器登入狀態
回應正文空白 帳戶是否有可回傳的項目,介面是否異常 請服務商核對該帳戶的訂閱內容,並保留原有項目
正文有內容但無法解析 匯出格式、編碼與內容完整性 確認選擇的輸出格式適用於 Shadowrocket
更新後只出現部分項目 伺服器回傳的項目數量與 App 內的篩選條件 清除搜尋條件、展開群組,再核對服務商預期回傳的內容

不要盲目地重複編碼或解碼訂閱正文,也不要刪除其中看似多餘的換行或分隔符號。這類操作可能改變原始格式,讓原本的伺服器問題變成新的解析問題。排查時應優先重新取得未經編輯的訂閱網址,再請服務商核對原始回應。

規則檔不等於節點訂閱。DOMAIN-SUFFIX、GEOIP、IP-CIDR、FINAL 用於規則比對與策略選擇;設定內容包含這些關鍵字,不代表它會在 Home 的 Subscribe 群組中產生連線項目。遇到格式混淆時,先確認服務商提供的是訂閱還是設定檔。

核對更新時機

服務商變更帳戶權限、重設網址或調整訂閱內容後,App 必須再次送出請求才可能取得新結果。儲存訂閱網址、開始更新與完成解析是不同動作,應以實際完成提示及項目變化為準。清單沒有變化也不一定代表失敗:伺服器可能仍回傳相同內容。

也應記錄連線狀態。Home → Global Routing 中的 Proxy、Direct、Config、Scene 與路由選擇有關;Settings → On Demand 則與依條件建立連線有關,兩者都不是訂閱內容解析器。On Demand 可能影響測試期間的連線狀態,請先觀察實際狀態再比較結果,不要誤以為它是訂閱定時更新開關。

結論:使用相同網址進行單一變因複查

同一訂閱在某個網路可更新、另一個網路卻失敗時,先檢查失敗網路連往訂閱網域的存取路徑;若兩個網路都能取得回應卻無法解析,應優先請服務商核對輸出內容與格式。

確認清單空白是否為顯示問題

如果更新沒有出現明確錯誤,但 Home 看不到項目,先排除顯示範圍問題,再判斷是否真的回傳空清單。檢查搜尋欄是否有輸入、訂閱群組是否已展開,以及目前查看的是否為剛更新的群組。多個訂閱名稱相近時,很容易混淆不同群組的更新結果與清單內容。

  1. 清除 Home 中的搜尋條件,展開目標訂閱群組,確認目前不是只查看名稱相符的結果。
  2. 確認目標群組儲存的網址是否為剛才複製的網址;檢查時不要公開含有敏感參數的截圖。
  3. 記錄更新前後的項目數量與具體提示。若沒有顯示更新時間,不要把裝置目前時間當成 App 回報的更新完成時間。
  4. 向服務商確認該帳戶本次預期回傳哪些項目;若伺服器回傳空白,本機重新整理也不會憑空補上內容。

項目已出現但某個項目無法連線時,應另外核對協定、伺服器位址、連接埠與驗證資訊。訂閱請求使用的 HTTPS 連接埠通常是 443,但網址也可以明確指定其他連接埠;該連接埠與訂閱中各伺服器的連線連接埠沒有必然關係,不要將所有項目一律改成 443。

回報前保留紀錄

完成以上檢查仍無法找出問題時,請整理一份可供查核的紀錄。回報時應讓服務商確認請求是否送達、驗證是否通過,以及當時回傳了什麼內容,而不只是傳送一句「無法使用」。提供準確的時間、現象與重現步驟,可減少來回詢問,也能避免將連線問題誤判為訂閱問題。

Shadowrocket 是 Apple 平台上的閉源商業 App,主要供 iPhone/iPad 使用,唯一取得管道是 App Store。系統需求與購買適用性請以 App Store 頁面標示為準。需要確認 App 來源時,請核對開發者 Shadow Launch Technology Limited、官方 App 圖示與 App ID 932747118,再繼續處理訂閱問題。

核對 App Store 正版