Shadowrocket 訂閱更新教學:手動更新、自動更新設定與失敗排解

了解如何手動更新訂閱、設定開啟 App 時自動更新,並排查連結失效、網路連線問題及格式無法辨識等原因。

本文重點

本文適合已持有自家服務商訂閱連結的使用者。先在 Home 手動更新目標訂閱,再前往 Settings → Subscribe 檢查開啟 App 時自動更新的選項;若更新失敗,可依序從連結、網路及回傳內容著手排查。更新完成後,還需另外確認伺服器連線狀態,不能將「訂閱更新成功」視為「連線已可使用」。

訂閱更新會變更哪些內容

Shadowrocket(小火箭)的訂閱更新,是重新連線至已儲存的訂閱 URL,並解析回傳的伺服器設定。這不會更新 App 本身,也不等同於重新整理 Config 中的規則檔案。本文僅說明如何管理使用者已有的訂閱,不提供、銷售或推薦訂閱及相關服務。

更新可能新增伺服器、移除舊項目,或變更位址、連接埠與連線參數。手動修改訂閱項目後,下次更新可能會重新載入遠端參數,因此重要設定請先記錄。若原本選取的項目遭到移除,也要重新檢查 Home 中的選取狀態,不能只看項目總數。

Home
檢查訂閱群組、更新結果與目前伺服器
Settings → Subscribe
檢查訂閱自動更新與請求路徑設定
Config
管理設定檔與規則,不等同於伺服器訂閱

結論:先確認更新對象

若要更新伺服器清單,請操作 Home 中的訂閱;若要修改 DOMAIN-SUFFIX、GEOIP、IP-CIDR 或 FINAL 的比對行為,則應檢查 Config 中目前使用的設定。不要反覆更新伺服器訂閱,試圖修正規則順序。

在 Home 手動更新訂閱

首次匯入後、服務端通知設定已調整,或自動更新結果不明確時,請先手動更新一次,確認目標明確。若有多個訂閱,請分別操作並記錄結果,避免將其他訂閱的成功提示誤認為目前訂閱已恢復。

  1. 確認群組

    開啟 Home,找到需要更新的訂閱群組。先核對備註與所屬項目,確認這是已匯入的訂閱,而不是單獨手動新增的伺服器。

  2. 確認連結

    查看該訂閱的編輯資訊,確認 URL 完整無誤。若要重新新增,請前往 Home → + → Type → Subscribe,輸入自己的訂閱 URL 後儲存。排查問題時,優先保留原有記錄,不要一開始就刪除。

  3. 執行更新

    在 Home 將訂閱群組標題列向左滑動,選擇 Update。請注意要操作訂閱列,而非群組中的個別伺服器列;兩者的操作對象不同。等待此次請求完成,不要連續觸發更新。

  4. 檢查結果

    查看是否出現失敗提示,並確認群組中預期的位址、連接埠或項目是否變更。清單沒有變化不一定代表失敗:若遠端回傳的內容相同,更新後也可能維持原樣。

  5. 驗證連線

    在 Home 重新確認選取的伺服器,再執行 Connectivity Test。若要實際測試連線,請確認連線開關已開啟,且已取得系統 VPN 授權;訂閱請求完成本身不代表資料連線已建立。

如何設定開啟 App 時自動更新

前往 Settings → Subscribe,找到控制開啟 App 時更新訂閱的選項 Update on Open,依需求開啟。介面上的大小寫與排列方式以目前安裝的版本為準。開啟後,請返回 Home,觀察下次開啟 App 時的結果,而非只根據開關位置判斷更新是否已執行。

開啟時更新是一種觸發條件,不是固定間隔執行的背景工作。它不保證 App 未開啟時持續更新,也不保證每次在前景與背景間切換時都會立即完成請求。網路連線正常、連結有效且回傳內容可解析,仍是更新成功的必要條件。

若開啟後仍不確定是否有更新,請先向自己的服務商確認遠端確實有可辨識的設定變更,再對照 Home。項目數量相同,不足以證明自動更新沒有執行;同樣地,數量增加也不代表每個項目都能連線。

更新逾時:先檢查請求的連線路徑

訂閱 URL 是否可連線,與清單中的伺服器是否可連線,是兩回事。透過直接連線可能無法存取訂閱網域,但既有連線可能可以;反過來說,目前選取的伺服器若已失效,經由代理發出的訂閱請求也可能失敗。

檢查項目操作位置判斷方式
目前網路裝置的 Wi-Fi 或行動網路設定只切換網路,再更新同一個訂閱;若結果不同,表示需要繼續檢查網路路徑。
既有連線Home → Connectivity Test先確認目前伺服器可用;若連線已失效,就不能依賴它取得替代設定。
透過代理更新Settings → Subscribe → Update via Proxy既有連線可用但直接請求失敗時,可開啟此選項後重試並比較結果。
路由模式Home → Global Routing記錄目前使用的是 Config、Proxy、Direct 還是 Scene,避免同時變更路由模式與更新設定。

Update via Proxy 不是通用的修復開關。啟用前,應先選取可用伺服器並建立連線;若目前只能直接連線至訂閱網址,則應測試關閉該選項後的結果。Global Routing 中的 Proxy 表示代理模式,Direct 表示直接連線,Config 依設定檔處理,Scene 則依指定的情境運作;這些選項都不等於「已開啟自動更新」。

建議每次只變更一個項目:記錄原始值、手動更新一次並保留結果,再進行下一步。不要同時切換網路、伺服器與多個開關,否則即使更新恢復,也無法判斷真正生效的條件。

依錯誤訊息判斷失敗原因

以下列出網路層或 HTTP 回應中可能出現的錯誤原文。實際提示的語言與顯示方式可能不同,請記錄裝置上顯示的完整訊息,不必要求每次都出現相同文字。只看到「更新失敗」,無法判斷是連結失效還是連線中斷。

錯誤:The request timed out.

原因與解法:請求未能在等待期限內完成,可能與網路、DNS 或遠端回應有關。先切換 Wi-Fi 與行動網路後重試;若已有可用連線,再比較 Settings → Subscribe → Update via Proxy 開啟前後的結果。逾時本身不代表訂閱已過期。

錯誤:A server with the specified hostname could not be found.

原因與解法:無法解析訂閱網域。確認 URL 中的主機名稱完整,且沒有空格或多餘標點,再更換網路測試;若仍然失敗,請向自己的服務商確認該網域是否仍在使用。

錯誤:HTTP 401 Unauthorized

原因與解法:伺服器要求有效授權。確認複製的是目前完整的訂閱 URL,而非登入頁面網址;若授權參數已重設,請從自己的帳戶頁面重新取得連結,並更新已儲存的值。

錯誤:HTTP 403 Forbidden

原因與解法:伺服器拒絕此次請求,可能與授權、存取限制或帳戶狀態有關。先確認連結完整,再向自己的服務商提供狀態碼與發生條件;不要只憑 403 就認定必須更換協定。

錯誤:HTTP 404 Not Found

原因與解法:請求路徑中沒有對應資源。檢查路徑是否遭截斷或遺漏查詢參數,並確認訂閱入口是否已變更;反覆更新同一個錯誤連結,通常不會改變結果。

若出現憑證相關錯誤,請檢查裝置日期與時間、訂閱網域,以及目前網路是否有登入攔截,再請自己的服務商檢查憑證。不要透過忽略安全性檢查來掩蓋原因。若公共網路要求登入,請先在系統中完成網路登入,再返回 App 重試。

連結可以開啟,為什麼仍無法解析?

HTTP 請求成功,不代表回傳內容就是可用的訂閱。伺服器可能回傳帳戶登入頁、到期提示頁或網路驗證頁;即使這些頁面可以正常顯示,也不是 Shadowrocket 可匯入的伺服器清單。

以下網址僅供說明結構,並非可用訂閱。實際連結中的查詢參數是憑證的一部分,複製時必須完整保留,也不應傳送至公開群組或不明的轉換頁面。

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

更新後驗證與常見問題

完成更新後,依序確認群組、選取的伺服器、Connectivity Test 與實際存取情況。若存取結果與規則有關,請回到 Config 檢查;若伺服器驗證或傳輸失敗,則請核對該項目的參數。將這些層面分開檢查,可避免把連線問題誤判為訂閱問題。

訂閱顯示成功,為什麼伺服器數量沒有變?

遠端可能只修改位址、連接埠或驗證參數,也可能完全沒有變更。請比對自己預期會變更的項目,而非只比較數量;若仍有疑問,請向自己的服務商確認該 URL 目前回傳的內容。

開啟自動更新後,還需要手動更新嗎?

排查問題時需要。先在 Home 對目標訂閱執行 Update,確認連結與網路運作正常,再返回 Settings → Subscribe 檢查 Update on Open。如此可區分請求失敗與自動觸發條件未達成。

更新後原本選取的伺服器不見了,怎麼辦?

先確認是否仍在正確的訂閱群組中,再從此次更新後保留的項目中重新選取伺服器,並執行 Connectivity Test。不要假設遠端刪除或重新命名項目後,原本的選取狀態仍然有效。

需要傳送完整訂閱連結給別人排查嗎?

通常只要提供錯誤原文、網路類型、手動更新結果,以及 Update via Proxy 的狀態即可。請隱藏 URL 路徑中的憑證、查詢參數、密碼與帳戶資訊;若完整連結已外洩,請在自己的帳戶中重設後重新儲存。

若要繼續檢查連線設定,可參閱設定手冊。Shadowrocket 是 Apple 平台上的閉源商業 App,主要供 iPhone、iPad 使用,唯一取得管道是 App Store。一次買斷客戶端不等於購買線路方案;價格、系統需求與購買適用性,請以 App Store 頁面標示為準。

App Store 正版查核