· 故障排查 · 約 10 分鐘

Shadowrocket 速度慢怎麼排查?從節點、線路、協定到本地網路逐層檢查

依序檢查節點、線路、協定與本地網路,透過連線測試及切換比對,找出 Shadowrocket 速度變慢的原因。

本文重點

Shadowrocket(小火箭)速度變慢時,先固定測試目標與 Global Routing,再檢查現有節點的連線狀況,接著比對線路、協定參數及 Wi‑Fi/行動網路。本文適合已有自己的服務商與訂閱,且能連線但回應緩慢或傳輸不穩的使用者;排查時應留下可重現的比對紀錄,不要只憑一次延遲數值就更換所有設定。

開始前:固定測試條件,區分延遲與傳輸速率

先說結論:Connectivity Test 的結果不等於下載速度。延遲代表完成一次測試請求所需的時間;持續傳輸則還會受到可用頻寬、封包遺失、壅塞及目標伺服器限速等因素影響。測試回應很快的節點,大檔案傳輸仍可能很慢;某個網頁開啟緩慢,也不能直接證明整體連線都很慢。

在 Home 記下目前選取的節點與 Global Routing。若原本使用 Config,先保留目前設定作為基準;需要排除規則影響時,再短暫切換至 Proxy,並確認待測請求確實經過選取的節點。Scene 涉及情境選擇,本輪比對時不要一併更動;Direct 也不能代表代理線路的速度。

  1. 選定同一個日常使用的目標,分別觀察首次開啟、再次開啟與持續傳輸;不要拿不同網站互相比較。
  2. 暫停其他裝置的大量資料傳輸,記下測試時間、網路類型、節點名稱、Global Routing,以及是否發生逾時。
  3. 每種條件重複測試 3 次,記錄各次結果或中位數,不要只保留最快的一次。
  4. 每次只變更一個變數,變更後重新建立連線;測試結束後還原原本的 Global Routing。
4 層
依序檢查節點、線路、協定與本地網路
3 次
每組條件建議重複測試的次數
1 項
每輪比對只變更一個變數

第一層:節點是否可用,還是只有測試回應正常

在 Home 對目前節點執行 Connectivity Test,再以實際請求驗證。測試成功只能表示在該測試條件下可以連線;測試失敗時,則要分辨是伺服器無法連線、驗證錯誤,還是測試目標無法連線。不要反覆重新整理訂閱來代替節點診斷;更新清單本身無法解決遠端負載或線路壅塞。

  1. 確認節點位址、連接埠、協定及驗證欄位,是否與使用者現有資訊相符。連接埠必須使用服務商實際提供的值;即使看到常見的 443,也不能自行把其他連接埠改成這個值。
  2. 在相同網路與 Global Routing 下,選取現有清單中的另一個節點,重複相同請求。盡量先選擇協定相同的項目,以減少變數。
  3. 若只有一個節點反覆失敗,記下測試時間與錯誤訊息;若所有節點都很慢,接著檢查共用線路、本地網路與測試目標。
  4. 若懷疑節點資訊已變更,依照原本的 Subscribe 更新方式重新整理一次,並確認目前選取的項目。不要把訂閱更新成功誤認為節點已成功連線。

以下是連線記錄中常見的錯誤片段,完整措辭會因協定及底層連線而異。這些訊息只能作為排查線索,不能單獨用來判定原因;還要確認錯誤發生在網域解析、建立連線或傳輸階段。

錯誤:connection refused

原因:目標連接埠可能沒有監聽服務,或連線遭中間設備主動拒絕。

處理方式:先確認現有節點的位址與連接埠,再將發生時間提供給自己的服務商,請對方確認伺服器狀態。

錯誤:i/o timeout

原因:連線或讀寫作業未能在指定時間內完成,可能與封包遺失、壅塞或遠端無回應有關。

處理方式:保留相同節點,切換網路後重新測試,再與另一個現有節點比對;不要直接歸因於協定。

錯誤:no such host

原因:目前的解析程序未能取得所需主機名稱的有效結果。

處理方式:確認主機名稱拼寫與 DNS 設定,並分辨無法解析的是節點網域還是存取目標網域。

第二層:如何分辨線路壅塞與規則分流

節點是連線的遠端入口;線路則包括本地接取、電信業者路徑、節點出口,以及從出口到目標網站的路徑。名稱不同的兩個節點也可能共用部分線路。因此,「換了節點還是很慢」不能單獨排除線路問題;同樣地,某個測試目標正常,也不代表所有目標都正常。

比對條件 觀察到的狀況 下一步
相同節點、相同網路,不同時段 尖峰時段持續傳輸明顯變慢,其他時段則恢復正常 記錄多個時段,確認是否有規律性壅塞
相同節點、相同網路,不同目標 只有一個網站很慢,其他目標正常 檢查該目標的規則、解析結果與遠端回應
相同節點、相同目標,比較 Config 與 Proxy Proxy 正常,但 Config 緩慢或失敗 在 Config 中確認目前設定及實際命中的規則
相同節點、相同目標,比較 Wi‑Fi 與行動網路 只有其中一種連線方式較慢 接著排查本地網路與接取路徑

Config 會依照目前設定中的規則決定請求的路徑;Proxy 可用來比對代理模式,但仍須確認實際請求記錄。規則會依序比對,前面的規則可能使後面的規則無法生效。以下僅用來說明語法關係,不是可直接取代現有設定的完整檔案,也不代表這些策略適用於所有目標。

DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

DOMAIN-SUFFIX 依網域後綴比對;IP-CIDR 依 IP 網段比對;GEOIP 依據 IP 地理資料比對;FINAL 用來處理先前未匹配的請求。若某個請求實際走的是 DIRECT,繼續測試代理節點的延遲,無法解釋該請求為何緩慢;應先確認命中的規則。

結論:先確認請求路徑,再比較線路

如果同一目標在 Proxy 下恢復正常、在 Config 下仍然緩慢,先檢查目前設定的命中規則與 DNS 結果;確認兩次請求走的是相同路徑後,再判斷節點或線路是否不同。

第三層:確認協定參數正確,比直接更換協定更重要

Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 的傳輸與驗證機制各不相同,不能只更改節點的協定名稱就算完成切換。每種連線都需要相應的伺服器支援及完整參數。只在使用者現有且已確認可用的設定之間進行比對;若兩筆設定使用不同伺服器,測得的差異不能全歸因於協定。

應用程式請求 規則比對 協定交握 遠端轉送 目標回應

這個流程說明「連線開關已開啟」與「目標內容能穩定傳輸」並非同一種狀態。交握異常時,通常應優先檢查驗證、TLS 或底層傳輸;交握完成後才開始持續變慢,則進一步檢查封包遺失、壅塞、遠端負載與目標回應。不要同時修改 MTU、DNS、協定與節點,否則即使恢復正常,也無法判斷是哪項變更造成的。

第四層:檢查 Wi‑Fi、行動網路與 DNS

保持相同節點與目標,依序測試 Wi‑Fi 和行動網路,是區分本地連線差異的直接方法。切換前請留意行動數據用量;切換後等網路穩定,再重新建立連線。兩種網路的結果不同,表示接取環境或路徑有差異,但還不能據此判定問題一定出在路由器、電信業者或節點。

  1. 確認基本連線:暫時中斷 Shadowrocket,開啟一個原本可直接存取的常用網頁。如果基本連線也很慢,先處理本地網路;不要用原本就無法直接存取的目標來驗證。
  2. 檢查 Wi‑Fi 狀況:靠近路由器重新測試,暫停區域網路中的大量資料傳輸,並確認已完成公共 Wi‑Fi 的登入驗證。訊號格數無法完整反映可用頻寬。
  3. 分辨解析與傳輸:如果首次開啟要等很久,之後內容傳輸卻正常,請檢查 DNS 請求是否逾時或反覆重試。不要只因為這個現象就更換所有 DNS 設定。
  4. 檢查自動連線的影響:在 Settings → On Demand 中確認現有條件,觀察切換網路時是否觸發重新連線。若要建立手動測試基準,可先記下原有設定,暫時關閉 On Demand,測試後再還原。
  5. 保留 IPv6 相關資訊:如果問題只在特定網路發生,記錄解析結果是否包含 IPv6 位址,以及相關連線是否失敗。沒有比對結果時,不要把關閉 IPv6 當成通用解決方案。

DNS 變更會影響名稱解析方式及後續可能使用的位址,不會直接增加線路頻寬。若下載已開始且持續緩慢,反覆更換 DNS 通常無法找出頻寬瓶頸。反之,若請求卡在解析階段,就應先檢查解析結果與請求路徑,而不是繼續調整協定參數。

常見問題:延遲很低、更新訂閱與夜間變慢

延遲只有幾十毫秒,為什麼下載還是很慢?

延遲測試與持續傳輸測量的項目不同。保持相同節點,針對同一個目標重複觀察持續傳輸,並記錄速度是否在開始幾秒後下降;再換另一個目標比對,分辨路徑壅塞與目標端限速。

更新 Subscribe 能讓原本的節點變快嗎?

更新可以同步現有訂閱中已變更的位址或參數,但不會增加目前連線的頻寬。只有懷疑節點資訊失效或已變更時才需要更新;之後仍須在 Home 確認實際選取的節點並重新測試。

為什麼只有晚上變慢,白天卻正常?

先使用相同節點、網路與目標,記錄不同時段的結果,同時排除家庭網路中的大量資料傳輸。若差異一再出現,將時段、失敗比例及相同條件下的比對結果提供給自己的服務商;不要只憑一次測試就判定原因。

所有節點都很慢,是 Shadowrocket 設定有問題嗎?

不一定。Wi‑Fi、接取路徑、DNS、規則及測試目標也可能是共同因素。先比較 Wi‑Fi 與行動網路,再比較 Config 與 Proxy;確認問題會隨哪個變數出現後,只檢查相關設定。

整理測試結果:以可重現的紀錄完成排查

四層排查的目的在於縮小問題範圍,而不是重新設定所有選項。完成比對後,還原原本的 Global Routing 和 On Demand;沒有證據支持的變更也應還原。若需要自己的服務商協助,只提供必要的現象與連線資訊,不要公開完整訂閱連結、密碼、私鑰或驗證權杖。

結論:把「變慢」記錄成可重現的條件

記下「相同節點在 Wi‑Fi 下連續逾時三次,切換至行動網路後三次成功」,比只寫「速度慢」更有助於後續排查;這表示應檢查接取路徑,但仍需進一步驗證。

從 App Store 取得確認正版管道