已有自己的服務商與訂閱時,先在 Home 手動更新並確認結果,再視需要啟用 Settings → Subscribe → Update on Open。更新失敗時,應依序檢查連結授權、網路請求與內容解析問題,先別刪除現有群組。本文說明更新入口、自動更新的適用範圍,以及保留現有設定的排查方式。
訂閱更新與連線測試各自檢查什麼
Shadowrocket(小火箭)的訂閱更新,是重新向使用者儲存的訂閱網址發出請求,並將傳回的伺服器項目載入 App。這不會更新 Shadowrocket 本身,也不等同於連線測試。伺服器能否連線,還取決於項目參數、網路環境與服務狀態。
訂閱網址是發出請求的入口,Home 展開的伺服器項目是讀取結果,而 Config 中選用的設定則涉及規則等內容。更新伺服器訂閱,不代表所有 Config 內容都會同步;同樣地,變更 Global Routing 也不會重新取得訂閱。先釐清操作對象,才能判斷問題出在哪個環節。
請求與解析都完成後,才能據此檢查清單變化。更新成功但名稱和數量沒有變化,可能只是遠端內容未更新;舊項目仍在,也不能單憑這點確認請求成功。請一併參照 App 顯示的更新結果,以及服務商提供的最新項目進行核對。
在 Home 手動更新現有訂閱
初步排查時建議手動更新:停留在 Home,觀察一次完整操作的結果,避免同時切換網路、修改規則和更新訂閱。本文以英文介面用語說明;按鈕位置與實際提示請以目前 App 畫面為準。
-
確認群組
開啟 Home,找到自己的訂閱群組。先核對群組名稱與現有項目,以免把手動新增的單一伺服器誤認為訂閱。
-
檢查網址
進入該訂閱的編輯畫面,核對 URL。不要任意修改網域、路徑或查詢參數;檢查後可返回 Home,無須為了測試先刪除群組。
-
開始更新
在 Home 清單頂端向下拉動後放開,即可更新訂閱。若有多個訂閱,請分別確認各群組的結果,不要把其中一個更新成功當成全部成功。
-
確認結果
等待更新完成,記下提示,再展開目標群組檢查名稱與數量。若出現錯誤,先保留原有項目與完整提示,再依下文分類排查。
-
分開測試連線
確認更新完成後,再選取自己的有效伺服器測試連線。若清單已更新但仍無法連線,請檢查伺服器參數、服務狀態或網路路徑。
尚未新增訂閱時,可在 Home 點選右上角「+」,將 Type 設為 Subscribe,並在 URL 欄位貼上自己已有的訂閱網址後儲存。新增訂閱與更新現有訂閱是不同操作;排查問題時不必一再新增相同網址,以免出現多個同名群組。
Update on Open 的用途與適用範圍
前往 Settings → Subscribe,找到 Update on Open。啟用後,App 會在開啟時嘗試更新訂閱,減少每次手動重新整理的操作。這不代表會固定間隔在背景輪詢,也不代表遠端內容一有變動,本機清單就會立即更新。
從背景切回 App 是否會立即發出請求,不應只看清單畫面判斷;還需考量 App 當時的執行狀態,並確認實際更新結果。若要確認某個網址目前能否取得內容,直接在 Home 手動更新,比反覆切換前景與背景更容易觀察。
Settings → On Demand 管理的是隨需連線行為,與取得訂閱清單是不同環節。啟用 On Demand 不會取代 Update on Open;啟用 Update on Open 也不代表會自動建立連線。排查自動更新時,先確認手動更新能正常完成,再檢查開關狀態。
- 手動更新失敗:先修正網址、網路或格式問題,不要靠反覆切換自動更新開關排除。
- 手動更新成功:保留這次結果,再觀察下次開啟 App 時是否有更新回饋。
- 開啟後清單沒有變化:先確認遠端內容是否真的有變動,不要只因數量不變就認定自動更新失效。
- 需要穩定重現問題:記錄網路環境與操作順序,每次只變更一個條件。
連結失效:先檢查 URL 與授權狀態
訂閱網址通常包含用來識別使用者的參數。複製不完整、使用舊網址或伺服器重設憑證,都可能導致取得失敗。以下僅為結構示例,不是真實服務網址,也無法用於連線。
https://example.com/sub?token=xxxx
檢查時應比對完整網址,而不是只看網域。範例中的 ?token=xxxx 表示查詢參數的位置;實際網址可能使用不同的路徑與參數名稱,請勿照著修改。尤其要確認複製時是否一併帶入空格、換行、引號,或聊天訊息中的標點符號。
| 檢查項目 | 可核對的狀況 | 處理方式 |
|---|---|---|
| 完整 URL | 網域正確,但路徑或參數缺漏 | 從自己的訂閱管理頁面重新複製完整網址。 |
| 存取憑證 | 舊網址失效,伺服器已產生新網址 | 核對後,在原有訂閱中替換 URL,再手動更新。 |
| HTTP 401 | 回應要求驗證身分,或拒絕現有憑證 | 確認網址授權仍有效,不要試圖透過修改規則來修復憑證問題。 |
| HTTP 403 | 伺服器拒絕存取 | 向自己的服務商確認存取權限與限制條件。 |
| HTTP 404 | 找不到請求路徑所對應的資源 | 確認路徑與網址是否已變更,不要直接判定為網路中斷。 |
只有在提示或診斷資訊實際提供 HTTP 狀態碼時,才以此判斷;不能把所有「更新失敗」都歸因於網址過期。瀏覽器能開啟某個網站首頁,也不代表訂閱 URL 有效;首頁和訂閱介面是不同資源,存取條件也可能不同。
逾時與連線失敗:依請求階段排查
請盡量保留網路錯誤的原文。以下是系統網路錯誤中可能出現的英文描述,實際語言與顯示方式以 App 提示為準;並非每次失敗都會出現相同文字。依錯誤發生的階段排查,比一次修改多項設定更容易找出原因。
錯誤:The request timed out.
原因與解法:請求未能在等待期限內完成,可能與目前網路或遠端回應有關;先確認目前網路可用,再改用另一個可用網路手動更新一次,並比較結果。
錯誤:A server with the specified hostname could not be found.
原因與解法:無法解析訂閱網域;先核對 URL 中的網域拼字,再檢查目前網路的網域解析是否正常,不要直接把目標網域換成猜測的 IP。
錯誤:Could not connect to the server.
原因與解法:無法與目標伺服器建立連線;核對網址中的連接埠與目標服務狀態,保留原始網址並向自己的服務商確認介面是否可存取。
例如,HTTPS 網址未明確指定連接埠時,通常會使用 443;若 URL 明確包含連接埠,請求就會使用該連接埠。這裡的連接埠屬於訂閱介面,不一定與伺服器項目的連線連接埠相同。請勿為了修復訂閱更新,把所有伺服器連接埠都改成 443。
- 先完成目前 Wi-Fi 的網路認證;如果只能進入認證頁面,訂閱請求可能無法正常完成。
- Wi-Fi 更新失敗、行動網路成功,表示結果可能與網路環境有關;應繼續檢查原網路,而不是立刻刪除訂閱。
- 在兩個可用網路上對同一網址都更新失敗時,請根據錯誤原文檢查網址與遠端服務,不能因此直接認定是 App 故障。
- 若出現憑證相關錯誤,請檢查裝置的日期與時間,並確認目標網域的憑證狀態;不要把關閉安全檢查當成通用解法。
Global Routing 下的 Proxy、Direct、Config、Scene 涉及路由方式,並不是「修復訂閱」的按鈕。若測試確實需要切換路由,請記下原本狀態,每次只變更一項,並在測試後還原;只因訂閱錯誤就修改整份 Config,會增加更多變因。
格式不符與清單空白:請求成功後繼續檢查內容
收到回應不代表取得了可解析的訂閱。介面可能傳回登入頁面、錯誤說明、空白內容,或不適用於目前匯入方式的資料。因此,網路已連通但清單沒有有效項目時,下一步應核對回應內容類型,而不是繼續擴大網路設定的修改範圍。
| 狀況 | 需釐清的原因 | 下一步 |
|---|---|---|
| 傳回網頁內容 | 複製了管理頁面網址,或請求被導向登入頁面 | 從自己的管理頁面取得訂閱入口,不要以頁面網址代替。 |
| 回應內容空白 | 介面沒有提供項目,或目前授權下沒有可用內容 | 向自己的服務商確認該網址目前應傳回哪些項目。 |
| 顯示解析失敗 | 回傳格式、項目參數或協定內容不相容 | 確認該訂閱適用於 Shadowrocket,並保留已移除敏感資訊的錯誤原文。 |
| 更新後項目數量減少 | 遠端調整了項目,不一定代表本機項目遺失 | 比對自己服務商目前提供的清單,先確認預期數量。 |
| 項目已更新,但無法連線 | 成功取得訂閱,不代表伺服器可用 | 改為檢查所選項目的參數、服務狀態與連線記錄。 |
不要只因回應內容「看起來像編碼文字」,就手動截取、拼接或重新編碼;這可能破壞原始資料,也會讓後續排查失去依據。若需聯絡自己的服務商,提供發生時間、網路類型、錯誤文字,以及是否能手動重現即可;完整訂閱憑證只應透過服務商指定的私人管道核對。
恢復後確認:先更新,再測試連線
修復後依相同順序驗證:在 Home 手動更新,確認群組項目,再選取自己的伺服器測試連線,最後視需要恢復 Update on Open。依此順序操作,可區分訂閱介面問題與連線問題,也能避免把舊清單誤認為更新結果。
- 確認更新結果:本次更新已完成,沒有新的失敗提示,目標群組內容符合預期。
- 確認所選項目:遠端可能已變更名稱或移除項目,請重新確認目前的選擇,不要只參照先前的選取記錄。
- 確認規則設定:更新訂閱不能取代 Config 檢查;連線後的存取行為仍需依目前設定判斷。
- 確認自動更新:手動更新穩定後,再啟用或保留 Settings → Subscribe → Update on Open。
- 確認隱私資訊:分享排查截圖前,請遮蔽 URL 中的存取參數及其他身分憑證。
Shadowrocket 是 Apple 平台上的閉源商業 App,主要供 iPhone、iPad 使用,唯一取得管道為 App Store。購買 App 與使用者自己的訂閱服務分別管理;重新購買 App 無法修復已失效的訂閱網址。系統需求與適用的購買範圍請以 App Store 頁面標示為準。