Shadowrocket 訂閱更新教學:手動更新、開啟時自動更新與失敗排除

了解如何手動更新訂閱及設定開啟應用程式時自動更新,並依序檢查連結失效、網路問題與回傳格式錯誤等常見更新失敗原因。

本文快速導覽

已經有自己的服務商與訂閱的使用者,可以先在 Home 手動重新整理,再前往 Settings → Subscribe 檢查 Update on Open。更新失敗時,依序確認連結授權、請求使用的網路與回傳內容;若更新成功但無法連線,則改查連線參數與路由設定,別把兩種問題混為一談。

訂閱更新的範圍:取得清單,不等於建立連線

Shadowrocket(小火箭)的訂閱更新,是透過已儲存的訂閱 URL 向伺服器請求內容,再解析其中的伺服器項目。手動重新整理適合在首次匯入後確認結果、服務商通知項目有調整時,或追查單次更新失敗;開啟應用程式時自動更新,則適合日常檢查清單是否有變動。

更新請求成功,只能表示這次請求取得了可處理的內容,不能證明每台伺服器都能連線,也不能證明帳戶剩餘流量、伺服器憑證及遠端連接埠都正常。反過來說,已儲存的項目仍可連線,也不代表訂閱 URL 仍有效:訂閱授權與連線憑證可能分開管理。

手動更新:先確認群組,再檢查重新整理結果

首次匯入時,請複製服務商提供的完整訂閱 URL,而非帳戶登入頁、付款頁或單一伺服器的分享連結。網址結尾的查詢參數通常包含授權資訊,不能只因網址太長就刪除。以下以虛構值說明網址結構,請勿用於連線:

https://example.com/sub?token=xxxx
  1. 確認來源

    從自己的服務商帳戶頁面複製訂閱 URL。保留通訊協定、路徑與查詢參數,並檢查網址前後是否多了空格、換行或聊天訊息中的標點符號。

  2. 儲存訂閱

    首次新增時,前往 Home → 右上角「+」→ Type → Subscribe,在 URL 欄位貼上完整連結並儲存。已有訂閱則直接使用原群組,不必重複新增。

  3. 下拉重新整理

    返回 Home,在清單中下拉以開始重新整理,並等待請求完成。排查期間請勿連續下拉,以免混淆多次請求的結果。

  4. 檢查內容

    展開目標訂閱群組,核對項目名稱、數量及預期調整。若清單沒有變動,先確認伺服器是否真的發布了新內容,再判斷是否需要繼續排查。

下拉一次可能會更新多個已儲存的訂閱。某個群組更新失敗,不代表其他群組也失敗;請記下具體群組與提示訊息。清單數量不變也不一定表示沒有更新,因為伺服器可能只調整位址、連接埠或連線參數,而未變更名稱與數量。

請勿反覆刪除再匯入,以此確認是否更新成功。這麼做會失去更新前後的比較依據,也可能產生名稱相同的群組。先保留現有項目,確認新的訂閱 URL 能正確解析後,再處理舊群組。

開啟時自動更新:設定位置與觸發時機

前往 Settings → Subscribe,啟用 Update on Open。此選項會在開啟應用程式時觸發訂閱更新,不應視為固定間隔的背景輪詢。啟用後仍須確認實際請求結果,不能只看開關已開啟,就認定清單已更新。

若自動更新失敗,但稍後手動重新整理成功,請比較兩次請求時的網路狀況。例如,開啟應用程式時 Wi-Fi 尚未完成登入,或代理連線尚未建立,都可能使首次請求與稍後的請求得到不同結果。先重現這項差異,再調整選項,比同時變更多個開關更容易找出原因。

更新失敗:依提示區分授權、網路與內容問題

先記下提示原文、發生時間及當時使用的網路。以下列出可用來判斷問題的提示或 HTTP 狀態;實際顯示語言與詳細說明可能不同,HTTP 狀態也可能只出現在伺服器回應或診斷紀錄中。不要只憑籠統的載入失敗提示,就認定訂閱已到期。

Failed to load subscription

原因與處理方式:這是對載入失敗的概括描述,單憑這句話無法區分授權、網路或格式問題。先確認完整 URL,再檢查是否同時出現逾時、HTTP 狀態或解析提示。

The request timed out.

原因與處理方式:請求未能在指定時間內完成,可能與目前網路、連線路徑或伺服器回應有關。先換用其他可用網路重試,再判斷是否需要啟用 Update via Proxy。

401 Unauthorized

原因與處理方式:伺服器未接受這次請求的授權。請從自己的帳戶頁面重新複製目前有效的訂閱 URL,並確認 token 是否遺漏、失效或已重設。

403 Forbidden

原因與處理方式:伺服器拒絕存取,可能與帳戶權限或存取限制有關。請向自己的服務商確認限制條件,不要把反覆重新整理當成解除權限限制的方法。

404 Not Found

原因與處理方式:請求路徑找不到對應資源。請檢查網址是否遭截斷、路徑是否已變更,並從原帳戶頁面重新取得訂閱 URL。

HTTP 狀態有助於縮小問題範圍,但不能取代帳戶確認。例如,失效連結可能回傳錯誤狀態,也可能回傳狀態為 200 的說明網頁。後者表示網路請求已完成,但在訂閱解析層面仍無法使用。

Update via Proxy:僅在已有可用連線時測試

Settings → Subscribe → Update via Proxy 可用來調整訂閱請求的存取路徑,並非修復無效 token 或轉換訂閱格式的開關。若目前網路無法直接連線至訂閱網域,但已有項目可正常建立代理連線,才適合用此選項進行對照測試。

觀察條件 下一步操作 如何判斷結果
目前網路可直接更新 保留已確認可用的設定,檢查自動更新 排查時不必額外變更請求路徑
直接請求逾時,但已有可用代理連線 建立連線後啟用 Update via Proxy,再手動重新整理 若只有此路徑成功,應優先檢查訂閱網域的網路連線狀況
兩種路徑都回傳 401 或 403 停止反覆重新整理,確認授權與存取限制 變更路徑無法取代伺服器授予的存取權限
沒有任何可用的連線項目 先測試其他可用網路,並聯絡自己的服務商 無法依賴尚未建立的代理連線完成首次取得

結論:每次只變更一項條件

保持訂閱 URL 不變,先比較網路,再比較 Update via Proxy,並記錄每次顯示的提示。若同時變更連結、切換網路及更換設定檔,就無法確認是哪項變更解決了問題。

也請確認 Home → Global Routing 目前選取的模式。Direct 表示直接連線;Proxy、Config 與 Scene 則各有不同用途。連線開關已開啟,不代表所有請求一定會經過代理。排查時,請依據實際選取的路由模式、設定檔及可用連線觀察結果;不要為了重新整理訂閱而任意改寫整份 Config。

格式檢查與連線檢查:更新成功後還要確認什麼

訂閱 URL 必須回傳 Shadowrocket 可辨識的內容。若把服務商登入頁當成訂閱網址,或複製了必須使用瀏覽器工作階段才能存取的臨時頁面,即使瀏覽器顯示了文字,也不代表應用程式能解析其中的伺服器資訊。請向自己的服務商確認適用於 Shadowrocket 的訂閱輸出格式,不要自行猜測編碼或刪改內容。

若清單已正常取得,但連線測試失敗,應改查帳戶狀態、伺服器連線狀況、驗證資訊、TLS 與傳輸參數。此時繼續重新整理同一份內容,通常不會改變結果。Config 中的 DOMAIN-SUFFIX、GEOIP、IP-CIDR 與 FINAL 用於比對規則,無法修復伺服器回傳的錯誤訂閱格式。

常見問題:自動更新、清單變動與失敗後的處理方式

開啟應用程式後清單沒有變動,代表沒有更新嗎?

先前往 Settings → Subscribe 確認 Update on Open,再到 Home 手動重新整理一次。若伺服器內容沒有變更,更新成功後清單也可能維持原樣;請依據請求提示與服務商公布的具體調整一併判斷。

更新失敗後,應先刪除原訂閱嗎?

先不要刪除。記下原有群組與錯誤訊息,確認目前 URL 與帳戶授權,再檢查網路和格式。刪除無法修復已過期的授權,還可能讓原本可用的已儲存項目失去比對依據。

瀏覽器可以開啟連結,為什麼仍然更新失敗?

確認瀏覽器顯示的是訂閱內容,還是登入、驗證頁面。瀏覽器可能使用已登入的工作階段,但應用程式送出的請求不一定具備相同條件;網頁能成功顯示,不代表訂閱內容已成功解析。

啟用 On Demand 就會自動重新整理訂閱嗎?

不會,此選項不負責安排訂閱更新。Settings → On Demand 用於管理隨選連線;開啟應用程式時更新訂閱,請前往 Settings → Subscribe → Update on Open 設定;臨時更新則返回 Home 下拉重新整理。

重新整理後少了幾個項目,需要重新安裝嗎?

先向自己的服務商確認回傳清單是否已移除或更名這些項目,再確認目前查看的是正確群組。重新安裝無法恢復伺服器已移除的內容;處理前請先保存必要的個人設定紀錄。

App Store 正版確認 →