本文適合已從自己的服務商取得訂閱連結的使用者。先在 Home 手動更新並確認結果,再設定開啟時自動更新;若更新失敗,依序檢查網路、網址、回應內容與解析狀況。訂閱更新成功只代表清單已取得並處理,不表示清單中的每個節點都能連線,也不會自動更新 Config 中的分流規則。
訂閱更新實際會更新什麼
Shadowrocket(小火箭)更新訂閱時,會向訂閱 URL 發出請求,再將可識別的節點資訊寫入對應的訂閱群組。這不是更新應用程式,也不是續訂線路方案。本文以你已有自己的服務商和訂閱為前提;訂閱連結與節點均須向你的服務商取得,本網站不提供、不販售或推薦節點與訂閱。
更新可能會變更節點名稱、伺服器位址、連接埠或驗證參數,也可能移除服務商已從訂閱中刪除的項目。因此,不建議把訂閱中的手動修改當成長期保存方式:下次更新時,遠端內容可能會覆蓋這些修改。若需保留特殊參數,請先記下原值,再確認該項目是否仍由訂閱管理。
訂閱網址的連接埠與節點連線使用的連接埠並不相同。例如,HTTPS 訂閱請求可使用預設的 443 連接埠,而回傳的節點可能使用其他連接埠。訂閱能下載,不代表節點連接埠可連線;節點能使用,也不代表訂閱伺服器目前可存取。
在 Home 手動更新訂閱
以下以 iPhone / iPad 英文介面為操作範例。請先確認 Home 中已有訂閱群組,而不只是匯入了幾個個別節點。若只有單一節點而沒有訂閱 URL,就無法透過更新向服務商取得新清單。
-
確認訂閱群組
開啟 Home,找到要更新的訂閱群組,確認名稱及已儲存的 URL。若有多個群組,請逐一辨認,避免把其他訂閱的更新結果當成本次結果。
-
新增訂閱
若尚未新增,請前往 Home 右上角「+」→ Type → Subscribe,將向你的服務商取得的完整訂閱連結貼到 URL 欄位,填寫方便辨識的名稱後儲存。
-
下拉更新
返回 Home,從清單頂端向下拉動以更新訂閱。等目前的請求完成後再進行下一步,避免連續下拉造成請求重疊,或觸發伺服器的存取頻率限制。
-
確認清單
檢查目標群組是否出現預期的新名稱或參數。若顯示失敗訊息,請保留原文;若清單完全沒有變化,先向服務商確認遠端內容是否確實已更新。
-
測試連線
選取更新後的目標節點,重新建立連線並開啟原本需要使用的網站。必要時先中斷連線再重新連線,以免將既有連線的狀況誤認為更新後的結果。
訂閱範例 https://example.com/sub?token=xxxx 僅用於說明 URL 格式,並非可用的訂閱。複製實際連結時,請保留 ? 後的所有參數,不要加入引號、空格或換行。連結中的 token 通常是存取憑證,不應出現在公開截圖、聊天紀錄或線上檢測工具中。
設定開啟時自動更新
開啟時自動更新適合希望進入應用程式後取得最新清單的使用者。常見英文介面的設定路徑為 Settings → Subscribe → Update on Open。各平台的版面可能不同,請以目前用戶端實際提供的訂閱設定為準;不要在 Config 的規則編輯區尋找這個開關。
- 先成功手動更新一次,確認 URL 和目前網路可正常使用,再開啟 Update on Open。
- 離開應用程式後重新開啟,觀察訂閱請求是否完成;僅在 Home 與 Settings 之間切換,不能證明更新已觸發。
- 若重新開啟後清單沒有變化,請再手動更新一次並確認結果,分辨是「未觸發請求」還是「遠端清單沒有變更」。
- 短時間內反覆開啟應用程式,可能遇到請求合併、網路等待或伺服器限流;每次切回前景都不代表一定會完成一次下載。
Update on Open 不是固定間隔執行的背景工作,也不保證應用程式關閉時會持續取得訂閱。它與 Settings → On Demand 的用途不同:On Demand 會依連線條件觸發 VPN 連線,不負責定時下載訂閱。若為了處理清單過期而反覆調整 On Demand,通常是找錯了設定位置。
結論:先確認手動更新成功
手動更新尚未成功時,應先排除請求失敗的原因;自動更新只會改變觸發時機,無法修復失效連結、驗證錯誤或無法連線的訂閱伺服器。
更新失敗:依錯誤訊息逐項排查
更新失敗不一定是帳號到期。網域解析、TLS 驗證、網路切換及不相容的回應內容都可能造成失敗。以下是底層網路請求可能出現的英文提示;實際訊息會依系統與平台而異,請記錄畫面上的完整原文,不要只寫「無法更新」。
錯誤:The request timed out.
原因:請求未能在等待時間內完成,可能與目前網路、連線路徑或訂閱伺服器回應緩慢有關。
處理方式:在同一台裝置上分別切換 Wi-Fi 與行動網路嘗試一次,等請求完成後再更新;若只有其中一種網路失敗,優先檢查該網路的存取條件。
錯誤:A server with the specified hostname could not be found.
原因:無法解析訂閱 URL 中的主機名稱,常見原因包括網域拼寫錯誤、網域失效或 DNS 查詢失敗。
處理方式:重新確認完整 URL,並改用另一個網路測試;若同一網域持續無法解析,請向你的服務商確認訂閱網域是否已變更。
錯誤:The Internet connection appears to be offline.
原因:系統判定目前沒有可用的網際網路連線,或發出請求時網路正在切換。
處理方式:先完成 Wi-Fi 登入驗證,並確認一般網頁可以開啟,再返回 Home 更新;同時檢查系統是否允許 Shadowrocket 使用行動數據。
若收到 HTTP 狀態碼,請依回應內容判斷。401 通常與驗證有關;403 表示伺服器拒絕此次存取,可能涉及憑證或存取限制;404 表示找不到請求路徑;429 表示請求過於頻繁;5xx 通常需要檢查伺服器端。不要把這些狀態碼一概解讀為節點無法使用。
- 驗證或路徑問題:向你的服務商重新取得連結,確認 token 是否已重設、連結是否過期,以及複製時是否漏掉查詢參數。
- 請求過於頻繁:停止連續更新;若回應中有 Retry-After,請依指示等待後再試。
- TLS 或憑證錯誤:檢查裝置日期、時間與網路驗證狀態;不要關閉憑證驗證來規避錯誤。
- 伺服器端錯誤:記錄發生時間、網路類型與狀態碼,並回報你的服務商;不要反覆刪除現有群組。
沒有錯誤訊息,但節點沒有變化
沒有跳出錯誤,不代表已取得有效的節點內容。有些網址會回傳登入頁面、到期通知或網路驗證頁面,即使 HTTP 狀態仍可能是 200。用戶端需要的是可識別的訂閱內容,而不是標題寫著「訂閱」的一般網頁。瀏覽器能開啟連結,只能協助確認請求可連線,無法證明應用程式一定能解析。
- 確認內容來源:確認複製的是服務商提供給用戶端使用的訂閱 URL,而不是帳戶管理頁面或付款頁面。
- 確認內容是否變更:若服務商沒有修改清單,更新後名稱與數量不變是正常情況,不能只憑數量判定更新失敗。
- 確認群組:確認目前查看的是剛更新的訂閱群組,而不是同名的手動新增節點或其他舊訂閱。
- 確認格式:向你的服務商確認回傳格式適用於 Shadowrocket;若解析失敗,請保留錯誤訊息,不要將未知內容直接覆蓋到 Config。
Shadowsocks、VMess、VLESS、Trojan、Hysteria2 與 WireGuard 的參數各不相同。訂閱可能包含其中部分協定,但協定名稱相同不代表參數完整。解析成功後仍無法連線,請繼續檢查伺服器位址、連接埠、驗證資訊,以及 TLS 情境下的伺服器名稱等參數,不要只看訂閱清單中是否出現節點。
結論:分別確認清單更新與連線
先確認目標群組已取得預期內容,再測試所選節點的實際連線;若清單正確但連線失敗,應改為排查連線問題,不必繼續重複匯入同一訂閱。
更新後檢查規則與連線路徑
訂閱更新與規則設定是兩條不同的檢查項目。Home 中的節點有變化,不代表 Config 中的 DOMAIN-SUFFIX、GEOIP、IP-CIDR 或 FINAL 規則也一併更新。只有在服務商明確提供設定檔,且你依照相應方式匯入時,才需要另外檢查設定內容。
Global Routing 中的 Proxy、Direct、Config、Scene 也不是訂閱更新模式。Proxy 與 Direct 用於不同的流量處理方式;Config 依所選設定檔處理;Scene 則與情境設定相關。排查時請記錄目前選項,不要因為節點更新成功,就推斷所有請求都會經過該節點。
- 記錄更新前後的網路、連線狀態與 Global Routing 選項,每次只變更一個條件。
- 若訂閱伺服器在目前網路無法存取,但現有連線仍可連到該伺服器,可在現有連線下重新測試;不要假設所有訂閱都必須先連線才能更新。
- 若開啟連線後才發生失敗,請記錄目前選取的節點與設定,檢查是否有連線路徑問題;不要為了更新訂閱而長期變更所有流量的處理方式。
- 更新後若節點名稱改變,請檢查設定中的策略引用及目前選取項目是否仍符合預期,再測試實際目標網站。
若要繼續排查,請參閱故障排除手冊;若要了解 Global Routing 與規則的關係,請參閱代理模式說明。回報問題時,請提供完整錯誤訊息、發生時間、網路類型、是否已開啟連線,以及手動更新和自動更新的結果。請隱藏完整訂閱 URL、token 與節點憑證,並保留目前可用的設定;通常比先刪除所有內容更有助於找出問題。