Shadowrocket(小火箭)的訂閱問題可分成連結、請求、回應內容與列表顯示四個環節檢查。本文以你已有服務商與訂閱為前提,說明如何確認連結是否完整、分辨逾時與解析失敗、檢查 Settings → Subscribe 中的更新方式,以及如何保留現有設定並確認問題是否排除。
先分辨解析失敗與列表為空
更新訂閱時,應先取得資料,再將資料解析為伺服器項目。請求未完成、伺服器回傳登入頁面,或回應內容無法辨識,都可能導致無法取得新項目;列表為空也可能是搜尋篩選條件、訂閱群組收合,或伺服器實際回傳空內容所致。只看最後顯示的列表,無法直接判斷是哪個步驟出錯。
先返回 Home,清除目前的搜尋條件、展開相應的訂閱群組,再確認是所有項目都不見了,還是只有某個群組沒有項目。記下這次更新時顯示的完整提示與發生時間;如果舊項目仍在,請暫時保留,不要把「更新失敗」當成「舊設定已失效」。
- 等待一段時間後才失敗:優先確認目前的網路是否能連上訂閱網址,以及更新是否需要透過現有代理連線。
- 很快就顯示解析失敗:優先確認回應內容是否為訂閱資料,而非帳戶頁面、錯誤說明或存取驗證頁面。
- 更新後項目數為零:先檢查顯示條件,再向自己的服務商確認該訂閱目前是否確實有可用項目。
- 有項目但無法連線:這是下一階段的連線問題,應檢查伺服器參數並使用 Connectivity Test,不宜反覆重新匯入訂閱。
確認訂閱連結:完整網址與驗證參數
前往自己的服務商帳戶頁面,重新複製適用於 Shadowrocket 的訂閱網址,並逐項比對 App 內儲存的網址。帳戶首頁、方案說明頁和單一伺服器分享內容都不是訂閱網址。複製時請確認已選取完整內容,尤其是問號後方的驗證參數。
https://example.com/sub?token=xxxx
上方是不可用於匯入的示意網址。此處的 https:// 是通訊協定部分,example.com 是網域,/sub 是路徑,?token=xxxx 代表查詢參數。實際網址的路徑與參數名稱由你的服務商決定,不能直接照著範例修改。訂閱網址中的 token 通常與存取權限相關,請妥善保護,視同帳戶憑證。
- 檢查網址前後是否多出引號、空格、換行或通訊軟體附加的標點符號。不要刪除 URL 原本有效的編碼字元。
- 確認
?、&、=等分隔符號都完整。若複製的是網頁原始碼中的文字,請留意參數分隔符號是否被誤存為字面文字&。 - 保留原始 token 的大小寫與編碼格式,不要任意解碼
%2F、替換加號,或重新排列含有簽章的參數。 - 如果服務商最近重設了訂閱網址,請重新複製新網址;舊網址即使看起來相似,也可能已遭撤銷。
在瀏覽器開啟網址可作為輔助檢查,但不能據此下定論。瀏覽器可能使用已登入帳戶的 Cookie,App 發出的訂閱請求不一定具有相同的登入狀態;反過來說,瀏覽器顯示一長串編碼文字或觸發儲存內容,也不代表回應有問題。需要確認的是該網址能否獨立回傳 App 支援的訂閱內容。
檢查回應:逾時、驗證失敗與內容不符
能連上網域不代表訂閱介面可用,收到回應也不代表取得有效訂閱。如果 App 提示、診斷記錄或服務商提供的資訊中有 HTTP 狀態碼,請連同發生時間一併記錄。以下列出的是標準 HTTP 狀態碼或網路錯誤字詞,不代表 Shadowrocket 每次都會顯示完全相同的文字。
HTTP 401 Unauthorized
原因:伺服器未接受目前請求的身分驗證憑證,可能與 token 失效或缺少驗證資訊有關。
處理方式:前往自己的帳戶頁面重新複製訂閱網址,並請服務商確認該網址的驗證狀態。
HTTP 403 Forbidden
原因:伺服器拒絕目前的請求,可能與帳戶權限、來源限制或存取政策有關,不能只憑狀態碼就判定是方案到期。
處理方式:確認帳戶狀態,並向服務商提供請求時間與狀態碼,確認是否有存取限制。
HTTP 429 Too Many Requests
原因:伺服器限制了請求頻率,連續重新整理可能讓排查耗時更久。
處理方式:停止重複發送請求,依照伺服器的等待提示或服務商說明稍後再更新一次。
Request timed out
原因:請求未能在等待時間內完成,問題可能出在網路路徑或訂閱伺服器。
處理方式:先比較 Wi-Fi 與行動網路,再確認是否需要透過已可用的代理連線使用 Update via Proxy。
如果回應是帳戶登入頁面、維護通知或存取驗證頁面,即使 HTTP 狀態為 200,也不代表內容能解析為伺服器列表。請服務商確認提供的網址回傳的是適用於 Shadowrocket 的訂閱格式,而非需要互動操作的網頁。不要將錯誤頁面中的文字當成伺服器參數手動填入。
結論:先確認收到的內容,再調整解析相關設定
如果回傳的不是訂閱資料,反覆匯入同一個網址也無法解決問題。先請自己的服務商確認回應內容與授權狀態,再重新更新一次。
檢查 Settings → Subscribe 與更新路徑
在 Settings → Subscribe 中檢查訂閱更新相關設定,尤其是 Update via Proxy。此設定會影響更新請求所走的路徑,但無法修正網址,也不會將不支援的回應內容轉換為有效訂閱。排查時一次只變更一個條件,並記下更新結果。
- 先保留目前設定並更新一次:在 Home 更新訂閱,例如下拉重新整理,留意是否出現錯誤提示,不要連續觸發多次請求。
- 直接連線逾時時,再考慮改走代理:如果已有可用伺服器,先選取並建立連線,再前往 Settings → Subscribe 檢查並啟用 Update via Proxy,然後重新更新。
- 確認代理確實可用:使用 Home 中的 Connectivity Test 輔助判斷。測試有結果,只能說明在該測試條件下的連線狀況,不代表一定能連上訂閱介面。
- 代理路徑失敗時,反向比較:如果目前網路允許直接連線至訂閱介面,請關閉 Update via Proxy 後再試一次。不要同時修改 DNS、Global Routing 和訂閱網址。
如果列表已空,沒有任何可用的既有伺服器,只啟用 Update via Proxy 並不能建立可用連線。此時應先檢查直接連線的路徑,或向自己的服務商確認訂閱介面的存取條件。取得訂閱與連線至伺服器是兩個環節;尚未取得後者所需的設定時,無法只靠一個開關略過前者。
選擇更新時機,避免把舊結果誤認為新問題
服務商剛恢復帳戶權限、重設 token 或調整訂閱內容後,應先確認變更已生效,再手動更新。不要假設所有訂閱都有相同的更新間隔,也不要把讓 App 停留在前景等待當成更新已完成。自動更新行為請以 Settings → Subscribe 中目前的實際設定為準。
| 目前情況 | 先做什麼 | 接著確認什麼 |
|---|---|---|
| 帳戶狀態剛恢復 | 確認服務商帳戶頁面顯示的權限已生效 | 手動更新後是否出現預期項目 |
| 訂閱網址剛重設 | 將 App 儲存的網址替換為新網址 | 是否仍在請求舊 token 對應的網址 |
| 網路剛從 Wi-Fi 切換至行動網路 | 等目前的網路連線穩定 | 相同網址在新網路下是否仍然逾時 |
| 收到 HTTP 429 | 停止連續重新整理,依提示等待 | 下一次請求是否仍受限制 |
| 服務商確認訂閱內容已調整 | 手動更新一次 | 相應群組的項目與參數是否同步變更 |
更新失敗時,舊項目可能仍然顯示,因此「列表裡還有伺服器」不代表剛才更新成功;同樣地,項目名稱沒有變化,也不代表沒有更新,伺服器端可能只修改了連線參數。請綜合更新提示、實際項目與服務商確認的變更來判斷,不要只看名稱。
- 問題排除後,清除搜尋條件並展開相應的訂閱群組,確認預期的伺服器是否出現。
- 選取一個屬於該訂閱的伺服器,使用 Connectivity Test,再測試實際需要連線的服務。
- 如果項目已恢復但仍無法連線,請改為檢查伺服器位址、連接埠與協定參數,不要再重複處理連結格式。
常見問題與排查資訊整理
同一個網址在瀏覽器能開啟,為什麼 App 解析失敗?
先查看瀏覽器顯示的具體內容。如果是登入頁面或帳戶管理頁,就無法證明已取得訂閱資料;即使顯示訂閱文字,也應向自己的服務商確認格式適用於 Shadowrocket。不要直接將瀏覽器中的整頁內容貼到伺服器欄位。
啟用 Update via Proxy 後反而無法更新,該怎麼辦?
先確認選取的既有伺服器能否建立連線,並在 Home 執行 Connectivity Test。如果代理路徑無法使用,但訂閱介面可以直接連線,請前往 Settings → Subscribe 關閉 Update via Proxy,只更新一次,並記錄兩次結果的差異。
列表為空,要先刪除 App 再重新匯入嗎?
先清除 Home 的搜尋條件並展開群組,再確認訂閱網址與服務商帳戶狀態。重新安裝會增加還原原有設定的工作量,也無法改變伺服器回傳的內容;保留舊設定更方便比較問題發生前後的差異。
訂閱更新成功,為什麼 Connectivity Test 仍然逾時?
成功取得訂閱只代表已取得並解析設定,不表示每台伺服器都能連線。確認 Home 中選取的是預期的伺服器,再向自己的服務商確認位址、連接埠與協定所需參數。不要因連線測試失敗就擅自修改訂閱 token。
需要服務商進一步排查時,請提供足以定位問題的資訊,同時保護訂閱憑證。公開討論時不要貼出完整訂閱網址、QR Code 或含 token 的截圖;只有在確有必要時,才透過自己的服務商指定的私人支援管道提交完整網址。
- 問題狀況:是請求逾時、解析失敗,還是更新後顯示的項目為零。
- 時間與網路:記下發生時間,以及當時使用的 Wi-Fi 或行動網路,不必公開個人網路位址。
- 更新方式:說明 Update via Proxy 的狀態,以及當時是否已建立可用連線。
- 回應線索:提供完整錯誤文字或實際觀察到的 HTTP 狀態碼,並說明是否曾回傳登入頁面。
- 比較結果:說明切換網路或變更單一設定前後的結果,避免只寫「一直不能用」。
完成以上檢查後,處理方向應該很明確:網址錯誤就修正網址,權限問題請服務商確認,網路逾時則檢查更新路徑,格式問題則確認回應內容。原因未明時不要同時修改多項設定,否則無論成功或失敗都難以判斷原因。