已有自己的服務資訊與訂閱連結時,先在 Home 手動重新整理,確認錯誤出在連結存取、內容解析,還是伺服器連線;再前往 Settings → Subscribe 設定 Update on Open。本文說明單次更新、開啟時自動更新與 Update via Proxy 的差異;更新失敗時,先保留現有清單,不要立刻刪除重建。
先分清訂閱更新與伺服器連線
Shadowrocket(小火箭)的訂閱更新,是向已儲存的訂閱網址取得內容,並將可辨識的伺服器資訊加入清單。開啟 Home 的連線開關,則是使用目前選取的伺服器建立連線。這是兩個不同的流程:現有伺服器能使用,不代表訂閱網址仍有效;訂閱取得成功,也不代表回傳的每一台伺服器都能連線。
本文假設你已持有自己的訂閱。開始排查前,記下訂閱群組名稱、錯誤訊息原文、發生時間與目前的網路類型。若清單中有自行修改過的項目,請先保存必要資訊;訂閱重新整理可能依遠端內容重建項目,不應將手動修改視為會永久保留。
這裡的連接埠是指訂閱網址的 HTTPS 請求,不是伺服器連線連接埠。例如,訂閱網址使用 HTTPS 預設連接埠 443,其中列出的伺服器仍可使用服務資訊指定的其他連接埠。訂閱更新失敗時,不要因此把所有伺服器連接埠都改成 443。
在 Home 手動更新訂閱
手動更新適合在首次匯入後驗證,也適合服務資訊變更後單次檢查。先觀察一次完整結果,再決定下一步;不要連續快速下拉。頻繁重複請求可能觸發訂閱端的存取頻率限制,也會讓不同請求的錯誤混在一起。
-
確認項目
前往 Home,確認已有 Subscribe 類型的訂閱及對應群組。若原本只手動新增一台伺服器,清單中沒有訂閱網址,就沒有可用來重新整理整組伺服器的來源。
-
檢查網址
開啟目標訂閱的編輯資訊,確認 URL 是否完整。不要把帳戶登入頁面、購買紀錄頁面或單台伺服器的分享 URI 當成訂閱 URL;也不要在截圖或公開紀錄中顯示完整 token。
-
下拉重新整理
回到 Home,在清單中向下拉動以觸發更新,並等待這次請求完成。若有多個訂閱,請分別確認各群組的結果;不要因為其中一組有變化,就認定所有訂閱都已成功更新。
-
確認結果
檢查提示、群組內容與預期變化。伺服器數量不變不代表更新失敗,遠端可能回傳了相同內容;清單有變化也不能取代連線測試,還需要選取要使用的伺服器並確認能否存取。
開啟時自動更新:Update on Open
手動重新整理成功後,再前往 Settings → Subscribe → Update on Open,開啟啟動應用程式時更新。這項設定會在開啟應用程式時觸發訂閱更新,不是持續輪詢伺服器,也不是交由能保證準時執行的背景計時器處理。
首次驗證時,先手動成功重新整理一次,再開啟 Update on Open;離開應用程式後重新開啟,並觀察更新結果。只從其他頁面返回 Home,不能可靠證明已觸發一次「開啟時更新」;網路是否可用及應用程式當時的執行狀態,也會影響請求能否完成。
- 經常開啟應用程式:可開啟 Update on Open,減少忘記手動重新整理的情況;開啟後仍要留意失敗提示。
- 目前網路需要登入驗證:先完成 Wi-Fi 網路認證再更新,避免把認證頁面誤認為訂閱回應。
- 長時間未開啟應用程式:不要假設清單會持續在背景同步;需要使用時,請前往 Home 手動重新整理確認。
- 遠端限制請求頻率:避免反覆關閉再開啟應用程式,或連續重新整理;依照自己的服務資訊所列限制,等待後再試。
Settings → On Demand 管理的是連線觸發條件,與訂閱更新並非同一項設定。開啟 On Demand 不等於開啟 Update on Open;關閉開啟時更新,也不代表停用既有的連線觸發條件。排查時應分別記錄這兩項設定,避免同時變更後無法判斷原因。
逾時與網路受限:何時使用 Update via Proxy
先確認目前網路本身可正常使用,再判斷訂閱網域是否能透過目前路徑存取。若一般網頁也無法開啟,優先處理 Wi-Fi 認證、行動網路權限或網路切換問題。若只有訂閱網址請求逾時,再考慮存取路徑差異,不要立刻更換連結。
若訂閱網址無法透過目前的直連網路存取,但現有伺服器仍可使用,可先建立可用連線,再前往 Settings → Subscribe → Update via Proxy 開啟此選項,然後回到 Home 手動重新整理。此設定只會改變訂閱更新請求的存取方式,無法修復過期憑證、錯誤 URL 或不相容的回傳內容。
| 觀察到的狀況 | 優先處理方式 | 判斷範圍 |
|---|---|---|
| 一般網頁與訂閱請求都逾時 | 檢查基本網路,切換 Wi-Fi 或行動網路後再試 | 目前無法判定訂閱連結已失效 |
| 直連請求失敗,但現有連線可用 | 建立連線後測試 Update via Proxy | 成功只代表這次請求的存取路徑可用 |
| 透過現有連線仍回傳 401 | 向自己的服務提供者確認訂閱憑證 | 改變網路路徑通常無法修復憑證問題 |
| 所有現有伺服器都無法使用 | 先確認基本網路與訂閱端狀態 | 無法依賴失效的連線完成代理更新 |
結論:一次只變更一項條件
保留同一個訂閱網址,先更換基本網路測試一次,再單獨測試 Update via Proxy;記錄每次結果,避免同時變更 URL、連線模式與更新設定。
Home → Global Routing 中的 Proxy、Direct、Config、Scene 用來選擇流量處理方式,不是四種訂閱格式。Config 模式下的 DOMAIN-SUFFIX、IP-CIDR、GEOIP、FINAL 等規則會影響相關流量的路由,但盲目新增規則無法讓已失效的 token 恢復有效。需要檢查規則時,應先確認這次請求實際使用的存取路徑。
依錯誤訊息判斷連結失效或格式問題
以下列出網路回應或系統錯誤中可能出現的原文。實際介面可能只顯示狀態碼、簡短說明或本地化提示,請以這次記錄為準。狀態碼只能協助判斷問題類別,不能單憑一個數字斷定帳戶已到期或伺服器永久停用。
錯誤:401 Unauthorized
原因:請求未提供訂閱端接受的身分憑證,URL 中的 token 可能遺漏、失效或已重設。
解決方式:在自己的服務管理頁面確認目前的訂閱網址,完整複製後取代原網址,再手動更新一次;不要只複製問號前的部分。
錯誤:403 Forbidden
原因:訂閱端拒絕這次請求,可能與帳戶權限、存取來源或伺服器端政策有關。
解決方式:記下發生時間與狀態碼,向自己的服務提供者確認存取條件;更換路徑只能用於判斷問題,不能保證解除權限限制。
錯誤:404 Not Found
原因:請求路徑不存在,常見原因包括舊入口已停用、網址複製不完整或路徑遭到誤改。
解決方式:確認網域、路徑與查詢參數,使用自己帳戶中目前有效的訂閱網址,不要嘗試猜測新路徑。
錯誤:The request timed out.
原因:請求未能在限定時間內完成,可能發生在網路連線、訂閱端回應或中間存取路徑。
解決方式:先確認基本網路正常,再依照上一節分別測試切換網路與 Update via Proxy,不要直接把逾時判定為連結過期。
另一種情況是 HTTP 請求已完成,但回傳內容無法解析。狀態碼 200 只代表 HTTP 層級的請求成功,不保證正文是有效的訂閱內容。登入頁面、網路認證頁面、服務維護通知,甚至 HTML 錯誤頁,都可能以 200 回傳。
- 回傳登入頁面:確認複製的是訂閱入口,而不是需要透過瀏覽器登入的管理頁面。訂閱請求無法直接沿用瀏覽器中的登入狀態。
- 回傳空白內容:確認帳戶目前是否有可用內容,並檢查訂閱端是否暫時故障;重複新增相同網址,不會補回缺少的內容。
- 回傳內容與用途不符:單一 Shadowsocks、VMess、VLESS 或 Trojan 分享 URI,與用來批次取得清單的訂閱 URL 並非同一概念。
- 出現憑證提示:檢查裝置的日期與時間,以及訂閱端的憑證狀態。不要為了成功重新整理而隨意關閉安全驗證,或安裝來源不明的憑證。
檢查 URL 是否完整及敏感資訊
訂閱 URL 通常同時作為存取憑證。以下僅示範網址結構,網域與 token 都是範例,不能用於實際訂閱。排查時可以比對自己網址的結構,但不要將真實連結貼到公開網頁或截圖中。
https://example.com/sub?token=xxxx
- 保留查詢參數:
?token=xxxx不是可以任意刪除的備註。若實際網址還有其他參數,也應完整保留。 - 移除多餘字元:檢查開頭或結尾是否混入空格、換行、中文引號或聊天文字;不要將說明文字一併貼入 URL 欄位。
- 保留原始編碼:不要手動替換網址中的百分比編碼,也不要截斷
&後的參數;請以原始複製內容為準。 - token 洩漏後請重設:在自己的服務管理頁面重設訂閱憑證後,記得在 Shadowrocket 中同步替換舊網址。
排查紀錄通常只需包含群組名稱、時間、網路類型、錯誤訊息原文,以及是否開啟 Update via Proxy。若需聯絡自己的服務提供者,請使用既有的支援管道,先提供已去識別化的資訊;對方能否查看請求記錄,則以其實際能力為準。
常見問題:更新後的清單與自動更新行為
已開啟自動更新,為什麼重新開啟後仍是舊清單?
先前往 Home 手動重新整理,確認請求是否成功,再到 Settings → Subscribe 確認 Update on Open。若手動更新也失敗,先處理連結或網路錯誤;若遠端回傳相同內容,即使更新成功,清單也可能沒有明顯變化。
訂閱能更新,選取的伺服器卻不能使用?
更新成功只代表已取得並解析訂閱內容。回到 Home 確認目前選取的伺服器,檢查 Global Routing 與既有服務參數,再實際測試存取;不要把「更新成功」當成所有伺服器都可使用的報告。
更新失敗後,要刪除原訂閱再重新新增嗎?
先保留原項目,檢查 URL 與錯誤訊息原文。刪除會失去可供比對的資訊,也無法修復逾時或權限問題。確實需要更換網址時,先記下群組與必要設定,再編輯原訂閱,避免反覆匯入造成清單重複。
多個訂閱中只有一個群組更新失敗,怎麼辦?
先單獨確認失敗群組的網址與回傳狀態。其他訂閱能成功,只表示部分請求可存取,不能證明這個網域、路徑與 token 都有效;不要因此批次修改所有群組的設定。
購買 Shadowrocket 後,會自動取得訂閱嗎?
購買用戶端 ≠ 購買連線服務方案。Shadowrocket 是透過 App Store 取得的閉源商業應用程式,訂閱內容來自使用者已有的服務資訊;應分別確認應用程式購買狀態與訂閱網址是否有效。