Shadowrocket 連線後的延遲、網頁首次開啟時間與持續傳輸速度,是三種不同的指標。本文適合已有自己的服務商與訂閱、能匯入設定但連線速度變慢的使用者。先固定測試條件,再依序檢查節點、線路、協定參數與本地網路,最後根據連線記錄判斷問題出在哪個環節。
一、先分辨延遲高、首次開啟慢與傳輸慢
Home 中的 Connectivity Test 用來檢查所選測試方式下的連線狀態與回應時間,不能用來證明線路頻寬。測試網址、測試方法和實際瀏覽的網站不同,結果也可能不同。清單中的低延遲不保證影片能持續順暢播放,也不代表傳輸大型檔案一定比較快。
開始前先記下具體狀況:是所有網站都慢,還是只有某個網域慢;是首次開啟時等待,還是載入到一半停住;是全天都如此,還是只在特定時段發生。不要同時更新訂閱、修改 DNS、切換協定和更換網路,否則即使恢復正常,也無法判斷是哪個步驟生效。
| 觀察到的現象 | 優先檢查 | 判斷範圍 |
|---|---|---|
| 首次開啟很慢,之後恢復正常 | DNS、建立連線、TLS 握手 | 快取可能影響第二次測試結果 |
| 頁面很快出現,但大型檔案傳輸很慢 | 線路吞吐量、壅塞、目標限速 | 低延遲不等於高頻寬 |
| 只有一個網站很慢 | 該網域的規則命中結果與目標服務 | 不能據此判定整個節點失效 |
| 所有要求都逾時 | 本地網路連線、節點可連線性、認證參數 | 先確認能建立連線,再檢查速度 |
速度單位也要一致。8 Mbps 在不計協定開銷時約等於 1 MB/s。一個頁面顯示 Mbps,另一個工具顯示 MB/s,不能直接比較數字大小。後續記錄應一併註明單位、測試時間和目標。
二、固定測試基準,確認實際使用的連線路徑
Shadowrocket 的 Home 用於連線與選擇節點,Config 用於管理設定檔,Settings 用於調整 App 設定。排查速度時,先確認目前使用的節點與 Global Routing,再檢查目前生效的設定。看到系統 VPN 圖示只代表已建立通道,不表示每個要求都經過所選的代理節點。
-
記錄目前狀態
在 Home 記下所選節點名稱與 Global Routing 目前的設定值;在 Config 確認目前使用的設定檔。保存必要的原始設定,記錄中不要包含密碼或完整訂閱連結。
-
固定路由模式
前往 Home → Global Routing。Proxy 可用來對照代理模式,Direct 可用來對照直連,Config 會依設定分流;若目前使用 Scene,先確認該場景對應的實際策略。不要將不同模式下的結果混在同一組比較中。
-
檢查自動連線
前往 Settings → On Demand 查看現有條件。若測試期間需要手動中斷連線,可暫時關閉 On Demand,並記下原本設定,避免系統依條件重新連線,影響直連對照。
-
重複相同測試
在 Home 使用 Connectivity Test,維持相同的測試方式,連續記錄三次結果。接著瀏覽相同目標,分別觀察首次載入與持續傳輸;不要同時執行多項大量傳輸工作。
-
還原原有設定
每完成一組對照,就還原暫時變更的設定。所有測試結束後,恢復原本的 Global Routing、設定檔與 On Demand 狀態,避免長時間保留診斷時使用的 Proxy 或 Direct。
三、檢查節點與線路:每次只變更一個條件
節點是連線端點;線路則是從目前使用的網路到該端點,再到目標服務的實際傳輸路徑。節點名稱中的地區標籤無法完整說明傳輸路徑,也無法反映目前負載。同一節點在家用寬頻和行動網路上的表現不同,往往與接取網路、路徑壅塞或 UDP 是否可用有關。
- 只比較現有節點:在相同 Wi-Fi、相同 Global Routing 和相同目標下,將現有節點 A 換成現有節點 B。其他條件維持不變,分別記錄連線狀態與持續傳輸表現。
- 納入時段因素:若只有晚間速度變慢,至少在另一個時段重複同一組測試。單次結果無法分辨是短暫壅塞還是持續故障。
- 檢查目標差異:若同一節點存取其他目標正常,只有某項服務速度慢,請接著檢查該目標的規則與服務狀態,不要直接判定整個節點無法使用。
- 確認訂閱內容是否變更:在 Home 下拉更新自己的訂閱後,重新確認目前選取的項目。訂閱內容可能會變更位址、連接埠或項目,因此不能直接沿用舊記錄。
以下僅為記錄格式範例,並非本站實測數據:在相同目標與時段下,節點 A 使用 Wi-Fi 測得三次回應時間為 80 ms / 85 ms / 82 ms,但傳輸速度只有 0.5 MB/s;節點 B 的回應時間為 120 ms / 125 ms / 122 ms,傳輸速度則達到 3 MB/s。這表示回應時間與持續吞吐量需要分開判斷,不能只按最低延遲排序。
如果所有現有節點在 Wi-Fi 下都很慢、在行動網路下卻正常,應優先排查本地網路;如果只有一個節點在兩種網路下都無法使用,應優先確認該端點與參數。需要回報給自己的服務商時,提供發生時間、接取網路、已遮蔽敏感資訊的節點識別資訊與錯誤文字,比只說「很慢」更有助於定位問題。
四、檢查協定參數:先確認連線設定正確,再討論最佳化
不要隨意變更 Type 來「提升速度」。Shadowsocks、VMess、VLESS、Trojan、Hysteria2 和 WireGuard 的伺服器設定彼此不通用。只有伺服器實際支援且提供完整參數的協定才能使用;將現有項目的協定名稱改成另一種,通常會直接造成連線失敗。
| 協定 | 重點核對項目 | 常見誤判 |
|---|---|---|
| Shadowsocks | 位址、連接埠、加密方式、密碼 | 把認證不符誤認為線路速度慢 |
| VMess / VLESS | UUID、傳輸方式、TLS、Host、Path | 傳輸方式或路徑不符,導致無法建立連線 |
| Trojan | 密碼、連接埠、TLS、SNI | 把 SNI 錯誤誤認為一般逾時 |
| Hysteria2 | 認證、TLS、SNI、UDP 可連線性 | 接取網路限制 UDP,反覆重試也無法改善 |
| WireGuard | 金鑰、Endpoint、位址、Allowed IPs、MTU | 雖可看到握手,但路由或大型封包傳輸仍異常 |
連接埠必須與自己的現有設定一致。伺服器使用 8443 時,不可因為 443 很常見就直接替換;連接埠號碼本身不代表速度等級。TLS 的 SNI 與憑證驗證也應依伺服器要求核對,不應關閉憑證驗證來掩蓋參數錯誤。
Hysteria2 與 WireGuard 仰賴 UDP。若在某個 Wi-Fi 網路下無法使用,但相同項目在行動網路下正常,應先確認網路條件,不要只憑一次失敗就判定協定不適用。MTU 也沒有適用所有網路的統一「最佳值」;只有出現小型要求可用、大量傳輸卡住等明確跡象時,才依現有設定說明一次調整一個條件,並保留原值。
錯誤:connection refused
原因與處理方式:目標端或中間設備明確拒絕連線,可能是連接埠沒有在監聽,或存取政策拒絕連線。核對 Address 與 Port,並向自己的服務商確認端點狀態;反覆修改 DNS 通常無法解決連接埠遭拒的問題。
錯誤:i/o timeout
原因與處理方式:操作未能在指定時間內完成,可能與連線路徑、目標回應或 UDP 可連線性有關。根據錯誤發生的連線階段,使用相同項目切換 Wi-Fi 與行動網路進行比較;不要只因出現 timeout 就修改密碼。
錯誤:tls: handshake timeout
原因與處理方式:TLS 握手未能及時完成,可能與網路封包遺失、端點狀態或握手參數有關。先核對連接埠、TLS 與 SNI,再比較不同接取網路;不要將關閉憑證驗證當成通用解法。
以下是連線記錄中可能出現的錯誤原文片段,外層提示與上下文可能有所不同。保留相關完整記錄行,並區分連線端點失敗與存取最終目標失敗;分享前請刪除認證資訊、訂閱權杖和不必要的個人存取記錄。
五、檢查本地網路、DNS 與規則命中
排查本地網路時,從最少變更開始。維持節點不變,在相同位置比較 Wi-Fi 與行動網路;接著在相同 Wi-Fi 下靠近路由器重試。使用公共 Wi-Fi 時,若需要網頁認證,請先完成網路登入。訊號微弱、其他裝置占用上傳頻寬或路由器壅塞,都可能讓連線變慢;重新安裝 App 無法解決這些問題。
上方是用於定位問題的簡化流程;DNS 解析可能參與其中多個階段。若 Global Routing 設為 Config,請檢查 Config 中目前使用檔案的規則順序,並參照連線記錄確認實際採用的策略。規則通常會由上而下比對,第一個符合的規則會影響後續要求的連線路徑。以為某個網站會經過代理,但實際命中 Direct,是常見的測試誤差。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
這段程式碼只用來說明比對語法,並非可直接替換使用的完整設定。DOMAIN-SUFFIX 用來比對網域後綴;IP-CIDR 用來比對 IP 網段,範例中的 no-resolve 表示不因該規則觸發網域解析;GEOIP 依據 IP 地理資料庫進行判斷;FINAL 用來處理此前未命中的要求。PROXY 對應的策略也必須在實際設定中有效。
- 只有網域存取異常:檢查解析是否失敗,以及解析結果是否符合目前的網路環境。不要將直接輸入 IP 開啟 HTTPS 網站當成可靠替代方式,因為憑證與虛擬主機可能仰賴網域名稱。
- Config 速度慢,但 Proxy 正常:優先比較目標的規則命中結果、DNS 路徑與策略選擇,不要立刻更換節點。
- 所有網路操作都很慢:檢查本機或同一網路中的裝置是否正在進行系統更新、雲端同步等大量傳輸,再重複測試。
- 只在某個無線網路位置速度慢:優先排查訊號與干擾。切換頻段後,仍須維持目標與節點不變,才能判斷改善是否來自無線連線。
六、根據對照結果縮小問題範圍
排查完成後,應能將問題縮小至可清楚描述的條件,而不是留下大量暫時變更。例如「相同節點與目標,只有在家中 Wi-Fi 下 UDP 連線逾時」,就比「改了很多設定還是很慢」更有助於後續處理。若沒有證據顯示設定已損毀,不必先刪除訂閱或重建所有規則。
測試結果只有幾十毫秒,為什麼影片還是卡?
Connectivity Test 的回應時間無法代表影片目標的持續吞吐量。在 Home 維持節點不變,確認 Global Routing 與該目標的規則命中結果,再觀察持續載入情況。若只有該服務播放不順,請進一步檢查目標路徑與伺服器端限制。
為什麼切換到行動網路後就恢復正常?
這表示相同設定至少能在另一種接取條件下運作。保留節點與協定參數,切回 Wi-Fi 後檢查網頁認證、訊號、並行流量與 UDP 條件;不要一次大幅修改整份設定。
更新訂閱後突然變慢,需要刪除再重新匯入嗎?
先在 Home 檢查目前選取的項目,再核對更新後的位址、連接埠與協定參數,以及 Global Routing 是否仍為原本模式。若現有項目有所變更,先確認變更內容;刪除後重新匯入可能會遺失手動備註,卻不一定能解決端點問題。
每次中斷連線後都會自動重新連線,要如何測試直連?
先前往 Settings → On Demand 查看條件,暫時關閉後再手動中斷連線。完成本地網路對照後,請還原原本設定;不要把自動重新連線誤認為中斷操作無效。
回報問題時需要附上哪些記錄?
提供發生時間、Wi-Fi 或行動網路、Global Routing、已遮蔽敏感資訊的節點識別資訊、協定類型、三次連線測試結果及相關錯誤行。請勿在公開回報中附上完整訂閱 URL、密碼、UUID 或私鑰。
最後還原診斷期間變更的路由模式、On Demand 與其他參數,再使用原本的目標重新測試。若問題已消失,保留有效變更與對照記錄;若仍存在,列出已排除的環節,再繼續檢查端點、線路或本地網路。