2026-10-19 · 疑難排解 · 約 10 分鐘

Shadowrocket 速度慢怎麼辦?節點、線路、協定與本地網路分層排查

Shadowrocket 速度變慢時,依序檢查節點、線路、協定與本地網路,並透過 iPhone/iPad 測試逐層找出瓶頸。

本文重點

適用於已有自己的服務商與訂閱,且 Shadowrocket 已能連線,但開啟網頁或傳輸檔案速度緩慢的情況。先分辨延遲、傳輸速度與初次載入等待,再固定測試條件,依序檢查本地網路、節點、線路與協定。每次只變更一項,最後整理出可重現的故障紀錄,而非反覆更動所有設定。

一、先釐清「慢」的狀況:延遲、傳輸速度與初次載入等待

Shadowrocket(小火箭)的連線開關已開啟,只代表系統通道已啟動,不表示每個目標都能正常存取。Home 中的延遲測試也不等於持續頻寬測試:一次探測成功,無法排除稍後發生的封包遺失、壅塞、遠端限速或目標網站回應緩慢。

先確認問題發生在哪個階段。點選連結後長時間沒有內容,可能是在等待 DNS 解析、建立連線或完成 TLS 交握;頁面很快顯示文字,但圖片一直載入,可能是資源請求或持續傳輸受限;影片一開始播放正常,之後卻反覆緩衝,就要觀察數分鐘內的傳輸速度變化。不要只憑單一毫秒數判斷線路品質。

現象與優先檢查項目
觀察到的現象優先檢查項目比對方式
只有第一次開啟時較慢DNS、建立連線、TLS連續開啟同一頁面三次,分別記錄第一次與後續的狀況
一開始很快,之後持續變慢傳輸速度、壅塞、伺服器限速連續傳輸同一個檔案 60 秒,記錄中段的速度
只有一個網站很慢目標服務、流量分流結果、節點出口保持節點不變,改用兩個平常會造訪的目標測試
所有 App 都同時變慢本地網路、目前節點、共用線路先比較 Wi-Fi 與 Cellular,再比較已有的節點

注意單位:Mbps 是每秒百萬位元,MB/s 是每秒百萬位元組。理想換算下,80 Mbps 約等於 10 MB/s;實際使用時還會有協定額外負擔。不要把 App 顯示的 8 MB/s,和方案標示的 80 Mbps 直接視為相差十倍。

二、建立可重複的測試基準

開始前先儲存目前使用的設定,並記下 Home 中選取的節點、Global Routing 模式,以及測試時使用的網路。以下步驟都使用你已有的參數,不涉及取得新的連線服務。測試盡量在短時間內完成,避免把不同時段的網路負載誤認為設定差異。

  1. 記錄目前狀態

    在 Home 記下目前的節點與 Global Routing;前往 Config 確認目前使用的設定。檢查 Settings → On Demand 是否設有自動連線條件,只記錄原本狀態,不必為了測速先修改。

  2. 固定測試目標

    選擇一個平常能開啟的網頁,以及一個允許測試的固定檔案。每輪都使用相同目標,並暫停雲端同步、照片上傳及其他大量傳輸工作,避免占用頻寬。

  3. 檢查流量分流

    在 Home → Global Routing 檢查目前的選擇。Config 會依設定中的規則處理請求,Proxy 代表使用代理模式,Direct 代表直連模式;若使用 Scene,也要確認場景實際採用的設定,不能只看場景名稱。

  4. 重複測量

    每種條件測試三輪,每輪約 60 秒,記錄中位表現。不要同時切換節點、協定與網路;測試前重新建立與目標的連線,避免瀏覽器沿用舊連線或快取,掩蓋實際變化。

  5. 還原原本設定

    完成臨時比對後,還原原本的 Global Routing 與設定。如果曾調整 On Demand,也要恢復原本條件,再用日常 App 驗證,避免診斷設定影響後續使用。

三、本地網路層:先比較 Wi-Fi 與 Cellular

同一個節點在 Wi-Fi 下速度慢,切換至 Cellular 後恢復,表示差異與網路連線方式有關,但還不能直接判定是路由器故障。兩種連線會走不同的電信業者路徑,差異也可能出現在本地網路到節點之間。先縮小故障範圍,再決定是否檢查路由器或聯絡自己的服務商。

切換網路後,應重新發出請求,不要只觀察原本仍在下載的工作。連線可能因 IP 位址變更而中斷,或等待重試。如果問題只在切換後發生,可手動中斷連線,再重新連接 Shadowrocket 進行確認;On Demand 主要用來決定何時自動建立連線,並不是提升頻寬的開關。

四、節點與線路層:區分伺服器差異與時段差異

本文所說的「節點」,是指 Home 中一組伺服器連線參數;「線路」則是裝置連到該伺服器,再連至目標服務所經過的網路路徑。更換節點通常也會改變出口位置與網路路徑,因此「換一個就變快」只能證明速度與更換後的路徑有關,不能只憑這點認定舊伺服器效能不足。

本地 App 網路連線 節點入口 代理伺服器 出口路徑 目標服務

從已有的節點中選兩個進行比對,盡量保持協定、目標與本地網路相同。如果只有一個節點持續緩慢,請確認其服務狀態、用量限制與參數是否有變更。如果多個節點只在晚間變慢、白天又恢復,應記錄發生時段,不要立刻重建所有設定。共用線路壅塞、入口負載與目標服務負載都可能造成這種情況。

記錄範例:以下為假設數據,並非產品效能保證
固定條件變更項目範例數據可得出的結論
同一個 Wi-Fi、同一個檔案從節點 A 切換至節點 B從 0.8 MB/s 變為 5.2 MB/s繼續比較兩個節點及其路徑,先不要更改本地 DNS
節點 A、同一個檔案從 Wi-Fi 切換至 Cellular從 0.8 MB/s 變為 4.6 MB/s優先檢查網路連線,以及通往節點的路徑
同一個節點、同一個 Wi-Fi14:00 與 21:00從 5.0 MB/s 變為 0.7 MB/s與時段有關,需連續多日重測才能進一步判斷

同時確認自己的服務商管理頁面,是否有流量用盡、服務到期或速率限制。Shadowrocket 的 Data 數據與服務商的計費方式可能不同,不能只用本地的某個累計數字,就直接否定管理頁面的限制資訊。若要更新已有訂閱,先儲存設定,再透過原本的訂閱入口更新,並確認選取的節點參數是否確實有所變更。

五、協定層:先核對參數,再比較傳輸差異

在 Home 開啟目前伺服器的編輯頁面,依照已有的服務商參數核對 Type、位址與連接埠。連接埠號碼本身不代表協定或速度:服務端指定 443,就填入 443;不要因為另一個連接埠看起來常見就自行更換。修改本地連接埠,不會讓服務端自動提供相應服務。

協定比對的前提是伺服器本來就支援對應的連線入口,不能只在 Type 中把 VLESS 改成 Trojan 來測試。即使兩種入口都可用,也可能位於不同伺服器,測得的差異不一定來自協定。先比較完整參數與網路條件,再討論協定額外負擔。

錯誤:i/o timeout

原因與處理方式:某個網路讀寫階段超過等待時間,單看這行訊息無法確定故障位置。查看同一筆紀錄中的目標與前後文,核對位址和連接埠,並改用另一種本地網路測試同一個節點。

錯誤:connection refused

原因與處理方式:目標連接埠拒絕了連線,可能是服務未在該連接埠監聽,或中間設備主動拒絕。依照已有參數檢查連接埠,並向自己的服務商確認入口狀態,不要只靠反覆測速處理。

錯誤:certificate verify failed

原因與處理方式:TLS 憑證驗證未通過,需依完整錯誤訊息確認原因。檢查系統日期與時間、Server Name 及伺服器憑證狀態,不要把關閉憑證驗證當成加速手段。

錯誤訊息可能來自不同的連線元件,實際呈現以紀錄為準。若持續出現錯誤,應先按連線失敗處理;不要把不斷重試造成的長時間等待,誤認為可用頻寬偏低。

六、規則與 DNS:確認請求實際經過的路徑

如果同一個節點在 Proxy 模式下正常,切回 Config 後卻變慢,應優先檢查目前 Config 的規則與 DNS 行為。規則決定如何處理請求,DNS 則負責解析網域名稱,兩者不是同一個開關。不要一次同時替換設定、解析伺服器與節點,否則無法判斷是哪項變更造成影響。

不建議直接以 IP 位址取代 HTTPS 網域進行一般測速。這可能改變憑證驗證、TLS Server Name、虛擬主機與 CDN 路徑,測試對象也就不再相同。請使用一般網域發出請求,並查看連線紀錄,確認解析是否完成及最後採用哪項策略。

七、常見問題與排查收尾

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

延遲反映的是短時間內的回應速度,下載則需要持續傳輸。固定節點與檔案,連續測試 60 秒並重複三輪;若傳輸速度偏低但延遲穩定,接著檢查限速、負載與出口路徑,不要只依延遲排序下結論。

切換至 Proxy 後變快,需要一直這樣使用嗎?

先把這個結果當作檢查規則的線索。記錄 Home → Global Routing 的比對結果,再回到 Config 檢查目標請求符合哪條規則;完成診斷後,還原成符合日常需求的模式。

換網路後卡住,重新連線就會恢復嗎?

先用新發出的請求進行確認,排除舊連線正在等待重試。接著前往 Settings → On Demand 檢查自動連線條件,並記錄手動連線與自動連線的差異;不要把反覆重新連線當成固定的加速方法。

所有已有節點都很慢,接下來應提供哪些資訊?

提供測試時間、網路連線類型、目標類型、三輪測試數據,以及已進行的單一變項比對。附上已移除敏感資訊的錯誤紀錄,隱藏密碼、UUID、金鑰及訂閱連結中的 token,並向自己的服務商確認服務狀態。

排查結束後,將結論寫成可重現的條件,例如「同一個節點、同一個目標,Wi-Fi 下三輪都很慢,切換至 Cellular 後恢復」,而不是只寫「Shadowrocket 很慢」。若只有單一目標異常,繼續檢查該目標與出口的關係;若所有目標都異常,再檢查共用的網路連線或節點路徑。尚未完成比對前,不要急著歸因。

App Store 正版核驗