已有自己的服務商與訂閱時,先在 Home 手動更新並確認結果,再決定是否開啟時自動更新。本文以 iPhone / iPad 上的 Shadowrocket(小火箭)為操作範例,說明如何區分請求失敗、解析失敗與更新後連線失敗;Mac、Windows、Android、Linux 的排查思路相同,選單位置則以各平台實際介面為準。
一、訂閱更新會變更哪些內容?哪些不會一併更新?
訂閱更新會重新請求既有的訂閱 URL,並將回應中的伺服器項目匯入對應群組。服務商變更位址、連接埠或項目清單後,客戶端必須重新取得資料,才能反映這些變更。更新成功不代表每個項目都能連線,也不代表服務商帳戶已續期。
Home 中的伺服器訂閱與 Config 中的規則設定是兩種不同內容。更新伺服器訂閱,不代表也會更新 Config 檔案中的 DOMAIN-SUFFIX、GEOIP、IP-CIDR 或 FINAL 規則。排查時先確認問題發生在哪個環節,避免為了重新整理項目而反覆更換規則設定。
二、在 Home 手動更新訂閱
首次匯入後、服務商通知項目有變更後,或清單似乎長時間沒有更新時,可以先手動更新一次。操作前記下目標訂閱群組的名稱;若有多個訂閱,更新後請確認同一個群組,不要只看 Home 頂端目前選取的伺服器名稱。
- 開啟 Home。確認頁面中已有訂閱群組。手動新增的伺服器不等於訂閱;沒有訂閱 URL,重新整理也不會憑空產生遠端清單。
- 向下拉動頁面後放開。觸發訂閱更新後,等待請求完成。等待期間不要連續重複下拉,以免多次請求的結果混在一起,難以判斷。
- 查看目標群組。確認是否仍有項目、名稱是否變更,並留意是否出現錯誤提示。不同訂閱可能各自更新成功或失敗;其中一組有變化,不代表所有群組都已更新。
- 選取有效項目,再測試連線。若原先選取的項目已移除,請從更新後的清單重新選取。先確認訂閱取得結果,再測試實際連線,兩個步驟分開進行。
清單數量沒有變化,不能單憑這點判定更新失敗。遠端可能只替換了位址或連接埠,也可能確實沒有發布新內容。反過來說,項目數量增加只能表示取得了不同的清單,不能取代連線測試。不要為了確認更新而刪除所有訂閱,否則會同時失去排查所需的原始群組與網址線索。
三、開啟時自動更新及其適用範圍
iPhone / iPad 可在 Settings → Subscribe 中找到並開啟 Update On Open。此功能會在開啟 App 時觸發訂閱更新,適合希望進入 Home 後取得較新清單的情況。若介面文字略有不同,請確認其說明確實是「開啟 App 時更新訂閱」,不要誤開其他功能。
- 先返回 Home 手動更新一次,確認連結本身可用。
- 前往 Settings → Subscribe → Update On Open,開啟此選項。
- 下次重新開啟 App 時,等待訂閱請求完成,再查看群組內容;不要只以清單是否立即變動作為判斷依據。
- 如果每次開啟 App 都出現相同錯誤,請先依下文修復網路或連結,不要反覆切換開關來取代排查。
開啟時自動更新不是固定間隔的背景輪詢,也不是服務商發布內容後立即推送。App 持續在背景執行、裝置鎖定,或系統限制背景活動時,都不應據此推斷訂閱已更新。需要確認最新內容時,仍可返回 Home 手動更新一次。
| 設定或操作 | 作用 | 無法據此推斷 |
|---|---|---|
| 在 Home 下拉更新 | 主動請求訂閱內容 | 所有伺服器都已通過連線測試 |
| Update On Open | 開啟 App 時觸發訂閱更新 | 鎖定畫面期間依固定週期更新 |
| Settings → On Demand | 依設定條件觸發 VPN 連線 | 自動取得或修復訂閱清單 |
結論:先確認手動更新成功,再開啟自動更新
手動更新仍失敗時,先修復同一連結的取得流程;自動更新只會改變觸發時機,無法修正過期 token、錯誤回應或服務商帳戶狀態。
四、更新失敗時,依序檢查網路、連結與服務商端狀態
先區分「沒有收到有效回應」與「收到內容但無法解析」。前者通常要檢查網路、網域解析及請求路徑;後者則要確認 URL 是否正確,以及遠端回傳的是訂閱內容,還是登入頁面、錯誤頁面。只看到「失敗」就更換協定,往往無法解決根本原因。
- 檢查基本網路連線。確認 Wi-Fi 或行動網路已連上網際網路;若網路需要登入網頁驗證,請先完成驗證。也可切換到另一種網路再更新一次,每次只變更一個條件。
- 檢查更新請求路徑。若訂閱網域在目前的直連網路下無法存取,而已有可正常連線的伺服器,可前往 Settings → Subscribe 檢查 Update via Proxy;開啟後連線至可用伺服器,再重試更新。若目前沒有可用連線,開啟此選項也無法解決首次取得問題。
- 檢查完整 URL。重新從自己的服務商帳戶頁面複製訂閱網址,核對通訊協定、網域、路徑及查詢參數。不要把帳戶登入頁、網頁標題或說明文字一併貼上。
- 檢查服務商端狀態。登入自己的帳戶,確認有效期限、用量、訂閱是否已重設,以及是否有維護公告。重設 token 可能會使舊連結失效,請依服務商說明更換。
https://example.com/sub?token=xxxx
上方僅為結構範例,並非可用訂閱。? 後方的參數屬於連結內容,不要只因看起來複雜就刪除;也不要自行新增參數或修改連接埠。訂閱 URL 常包含存取憑證,提交截圖或排查紀錄前,請遮住完整 token,不要公開原始連結。
錯誤:The request timed out.
原因與處理方式:請求未能在等待期限內完成,可能與網路或遠端回應有關。先改用已確認可連網的網路重試,再檢查是否需要透過既有的可用連線更新;不要短時間內連續重新整理。
錯誤:A server with the specified hostname could not be found.
原因與處理方式:請求中的主機名稱無法解析。先確認訂閱網域是否輸入錯誤,再切換網路測試;若仍然失敗,請向自己的服務商確認網域是否已變更。
錯誤:Failed to load subscription
原因與處理方式:訂閱載入失敗,單憑這則提示無法判斷確切原因。先確認連結完整、帳戶有效,再檢查回應內容是否為登入頁面或錯誤頁面,並保留同時出現的詳細提示。
以上英文文字是用來辨識問題類型的錯誤範例,實際提示可能因系統與失敗環節而異。若出現 HTTP 401 或 403,優先檢查授權、token 與存取限制;若出現 429,請停止頻繁重試,依遠端要求等待。這些狀態碼是排查線索,不應直接視為「帳戶到期」。
五、更新成功但清單為空,或仍無法連線
訂閱請求成功,只代表內容已成功取得。遠端可能回傳空清單、格式不相容的文字,甚至是狀態正常的網頁內容。因此,若沒有任何項目,請確認服務商提供的是否為適用於 Shadowrocket 的訂閱網址;網頁能開啟,不代表格式正確。
- 只有某個群組是空的:優先檢查該群組的 URL 與對應帳戶狀態,不必先清空其他正常群組。
- 有項目但無法連線:確認選取的是更新後仍有效的項目,再檢查裝置網路與服務商端的可用狀態。
- 部分網站的連線方式不如預期:檢查 Home → Global Routing。Config 會依設定規則分流;Proxy 與 Direct 分別使用代理或直連;Scene 是場景相關設定,不是訂閱更新按鈕。
- 以為更新會修復規則:請單獨檢查 Config 中目前啟用的設定。伺服器清單與規則檔案分別管理,更新其中一項不代表另一項也已更新。
協定名稱也不能取代故障排查。訂閱中的 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard 項目,必須符合服務商提供的參數;不要為了讓更新成功而任意變更協定、TLS 或傳輸選項。取得訂閱失敗發生在載入清單階段,與單一項目連線失敗屬於不同的排查層級。
六、訂閱更新常見問題與排查紀錄
每次開啟 App 都更新失敗,需要關閉自動更新嗎?
可以先關閉 Settings → Subscribe → Update On Open,減少重複提示,再到 Home 手動更新並記下錯誤。連結與網路恢復正常後,再開啟此選項;關閉它只會暫停觸發,並不能修復訂閱。
更新後名稱和數量都沒變,是不是沒有更新?
不一定。服務商可能沒有修改清單,也可能只更換了項目內部參數。先確認更新時是否出現錯誤,再向自己的服務商確認是否確實發布了變更;不要反覆刪除再新增來驗證。
一定要連上代理才能更新訂閱嗎?
不一定,這取決於訂閱網域在目前網路中是否可存取。先嘗試正常更新;只有在直連無法取得內容,且已有可用連線時,才檢查 Update via Proxy。不要把此選項當成所有訂閱都必須開啟的條件。
服務商要求更換新連結,舊群組該怎麼處理?
先保留舊群組名稱與必要紀錄,再依服務商提供的資訊修改對應訂閱 URL。手動更新一次,確認清單與連線正常後,再清理重複群組;不要公開比較新舊連結中的憑證。
仍無法找出原因時,整理精簡的排查紀錄:發生時間、使用 Wi-Fi 或行動網路、具體錯誤訊息、手動更新是否失敗、Update via Proxy 的狀態,以及其他群組是否正常。向自己的服務商確認帳戶與訂閱回應時,提供這些資訊比只說「無法更新」更有助於釐清問題;紀錄中不要包含完整訂閱憑證。