Shadowrocket(小火箭)顯示逾時,不代表所有請求都無法連線;顯示延遲,也不代表協定驗證與網頁存取已成功。本文適合已有自己的伺服器或訂閱、但遇到連線失敗的使用者:先區分基本網路、伺服器測試與實際請求,再核對協定參數、TLS 和系統時間,最後以相同目標重新測試,每次只變更一項條件。
一、先區分延遲測試、VPN 狀態與實際請求
先保留目前的伺服器與設定,不要同時修改連接埠、DNS 和規則。Home 中的伺服器延遲、系統的 VPN 狀態、Connectivity Test 與瀏覽器實際存取,反映的是不同環節。系統顯示 VPN 已連線,只能表示裝置端的通道已建立,無法單獨證明遠端伺服器已完成驗證,也無法證明目標網站可連線。
依序排查可減少誤判。例如,伺服器連接埠可建立 TCP 連線,仍可能因密碼錯誤而在後續交握階段失敗;某個測試目標沒有回應,也不能據此判定所有網站都無法使用。不同測試方法涵蓋的環節不同,記錄結果時應一併記下測試方法與目標。
| 檢查位置 | 可判斷的事項 | 接著檢查 |
|---|---|---|
| Home 伺服器延遲 | 目前測試方法下的回應狀況 | 協定參數與實際請求是否成功 |
| 系統 VPN 狀態 | 裝置端通道狀態 | 預設伺服器與 Global Routing |
| Connectivity Test | 測試目標在當下條件下的可連線狀況 | 其他目標與應用程式的實際存取 |
| 瀏覽器存取結果 | 該目標的端對端請求結果 | 是否只有單一網域或應用程式失敗 |
二、依固定步驟重現逾時,不要同時變更多個選項
先確認基本網路可用,再檢查 Shadowrocket 的連線。排查期間若已啟用 Settings → On Demand,手動中斷後可能再次觸發連線;可暫時關閉 On Demand,完成基準測試後再恢復原設定。測試時請使用已知可正常存取的目標,不要任意改測多個陌生位址。
-
檢查基本網路
中斷 Shadowrocket 後,用瀏覽器瀏覽已知可用的網頁。若 Wi-Fi 需要登入驗證,請先完成驗證。若基本網路本身無法使用,請先處理網路連線問題。
-
確認預設項目
回到 Home,點選要測試的伺服器,確認選取標記位於該項目。不要只開啟編輯頁就以為已切換預設項目;同時記錄目前的 Global Routing 選項。
-
記錄延遲
在 Home 執行伺服器延遲測試,記錄成功或逾時,以及所選的測試方法。連續測試三次,確認結果是否穩定;單次有回應不代表持續可用。
-
驗證實際連線
開啟連線開關,依系統提示完成 VPN 設定授權,再於 Home 執行 Connectivity Test。接著存取同一個已知目標,分別記錄測試結果與網頁結果。
-
切換網路
情況允許時,只將 Wi-Fi 切換為行動網路,伺服器、設定與目標都維持不變後重新測試。若結果隨網路而改變,優先檢查網路限制、網域解析及相關傳輸方式的可連線性。
三、逐項核對位址、連接埠、驗證與傳輸參數
基本網路正常,但某台伺服器持續連線失敗時,請開啟 Home 中該伺服器的編輯頁,對照自己的服務商或伺服器端原始設定。先確認 Type 是否一致,再核對位址與連接埠,最後檢查驗證、傳輸方式及 TLS。顯示名稱只是標籤,不參與協定驗證;名稱相同不代表內部參數也相同。
| 核對項目 | 具體檢查內容 | 容易混淆的情況 |
|---|---|---|
| 位址與連接埠 | 位址不得多出空格;連接埠須與伺服器端的監聽連接埠一致 | 連接埠 443 不代表一定使用 TLS,也不代表服務一定可用 |
| Shadowsocks | 核對加密方法、密碼及伺服器端要求的外掛參數 | 不要用其他加密方法取代原始設定來試錯 |
| VMess / VLESS | 核對 UUID、傳輸類型及伺服器端要求的其他欄位 | UUID 相同不代表兩種協定可以互換 |
| Trojan | 核對密碼與 TLS 相關設定 | 位址可連線不代表密碼或憑證驗證已通過 |
| Hysteria2 | 核對驗證、TLS 與伺服器端指定參數,並檢查 UDP 是否可連線 | 一般 TCP 連接埠測試無法驗證完整的連線流程 |
| WireGuard | 核對金鑰、對端、Endpoint 與位址等設定 | 此協定不使用 TLS 憑證,不能套用 TLS 排錯流程 |
若原始設定使用 WebSocket,還需核對 Path 與 Host:例如伺服器端設定要求 /ws,用戶端就不能自行改成 /。此處路徑僅說明欄位必須完全一致,並非可直接套用的伺服器參數。若使用其他傳輸方式,也應依原始設定核對對應欄位,不要複製 WebSocket 的欄位。
- 連接埠是伺服器端設定的一部分。不要因為 443 很常見,就把原本的 8443 改成 443。
- 檢查密碼、UUID、金鑰是否在複製時遭到截斷或帶入換行;不要將這些資料貼到公開討論區。
- 使用訂閱時,先確認更新成功,再檢查目前選取的項目是否仍是預期的伺服器。清單更新成功和連線成功是兩回事。
- 訂閱管理中的項目可能在下次更新時覆蓋手動修改。需要進行對照測試時,請先保存原始參數,並避免將暫時修改當成永久修復。
四、依錯誤原文定位,保留錯誤發生階段
以下是網路連線中常見的錯誤片段,不保證每個介面都會顯示相同文字。只有在實際錯誤詳細資訊或連線記錄中出現相應原文時,才依該方向繼續排查;只看到「逾時」不能推斷是驗證失敗。記錄錯誤時,也請註明發生於訂閱更新、伺服器測試或網頁請求。
錯誤:i/o timeout
原因:某個操作未能在期限內完成,僅憑這段文字無法判斷是解析、連線還是後續讀取逾時。
解決方式:查看相鄰記錄中的目標與操作階段,先以相同位址和連接埠重新測試,再改用另一個網路進行對照;不要直接更換所有參數。
錯誤:connection refused
原因:連線遭到明確拒絕,常見原因是目標連接埠沒有監聽服務,或網路設備主動拒絕連線。
解決方式:先核對連接埠與協定,再向自己的服務商確認相應服務是否正在執行;此時反覆修改密碼通常無法解決連接埠遭拒的問題。
錯誤:certificate has expired or is not yet valid
原因:憑證有效期間與驗證時間不符,可能是憑證確實已過期,也可能是裝置時間錯誤。
解決方式:先檢查系統日期與時間,再重新連線;若時間正確但仍出現錯誤,請自己的服務商檢查憑證有效期間。
提供排查資訊時,保留錯誤原文比只寫「不能用」更有幫助。可提供網路類型、測試時間、協定類型、錯誤階段及已嘗試的單項變更;完整訂閱網址、密碼、UUID 和私密金鑰不應作為公開診斷資料。
五、核對 TLS 與系統時間,不要略過憑證驗證
TLS 需要同時符合伺服器端設定、憑證身分與裝置時間等條件。伺服器位址、TLS 的 Server Name(SNI)以及 WebSocket 的 Host 用途各不相同;它們有時相同,但不能自行認定必須相同。使用 IP 位址連線時,也不能因此將伺服器端要求的 Server Name 改成 IP。
- 在 Home 開啟伺服器編輯頁,依伺服器端設定檢查是否啟用 TLS,以及 Server Name 是否正確。只有協定和傳輸方式實際使用 TLS 時,才需要檢查這些項目。
- 在 iPhone 或 iPad 的系統「設定 → 一般 → 日期與時間」中檢查「自動設定」,並核對目前的日期、時區與時間。這裡是系統設定,不是 Shadowrocket 的 Settings。
- 若無法使用「自動設定」,請先檢查裝置管理或系統限制,確保時間準確後再重新測試。不要將系統日期調回過去,以掩蓋憑證過期問題。
- 時間正確但仍持續出現憑證錯誤時,請向自己的服務商確認憑證是否到期、網域是否相符,以及憑證鏈是否完整;不要將略過憑證驗證當成一般修復方式。
六、延遲正常仍無法開啟:檢查 Global Routing 與規則
延遲正常但實際請求仍失敗時,應檢查請求是否經過預期路徑。Home → Global Routing 中,Proxy、Direct、Config、Scene 代表不同的路由模式:Proxy 使用代理路徑,Direct 使用直接連線路徑,Config 依目前設定分流,Scene 則依所選場景設定運作。選項會改變路徑,但無法修正錯誤的協定憑證。
- 使用 Config 時,請確認 Config 中目前選用的設定,再查看命中規則與輸出策略;不要只依據伺服器清單的延遲來判斷分流結果。
DOMAIN-SUFFIX依網域後綴比對;IP-CIDR依 IP 網段比對;GEOIP使用 IP 地理分類。網域規則與 IP 規則的比對條件不同。FINAL用於先前規則都未命中時的預設處理。請檢查規則順序與最終策略,避免目標意外走上 Direct 或其他非預期路徑。- 暫時改用 Proxy 對同一目標進行比較後,請恢復原本的路由模式。若只有在 Config 下失敗,應繼續檢查規則與解析,而不是修改已確認可用的密碼。
網域解析也是實際請求流程的一環:伺服器位址的網域無法解析,與已連上伺服器但目標網域解析失敗,是不同階段的問題。不要一次更改所有 DNS 相關設定;先確認是哪個網域、在哪條路徑發生問題,再比較單一變更前後的結果。
七、常見問題與排查完成條件
有延遲數字,為什麼連線仍然失敗?
延遲數字只涵蓋所用測試方法涉及的環節。回到 Home 確認預設伺服器,連線後執行 Connectivity Test,再核對驗證與傳輸參數。不要把連接埠有回應直接當成完整協定交握成功。
只有 Wi-Fi 逾時、行動網路正常,該怎麼辦?
使用相同伺服器與目標,先完成 Wi-Fi 登入驗證,再檢查該網路的解析、連接埠及 UDP 是否可連線。向自己的服務商回報「相同設定、不同網路」的對照結果,而不是直接要求更換協定。
訂閱可以更新,為什麼伺服器仍連不上?
訂閱更新成功只表示清單已成功取得,不代表清單中的每台伺服器都能完成驗證。更新後請在 Home 重新確認預設項目,並單獨測試該項目;向自己的服務商確認服務狀態與憑證是否仍有效。
VPN 顯示已連線,但只有一個網站打不開?
先用另一個已知可用的目標進行比較,再檢查 Home → Global Routing 與 Config 中命中的規則。若其他目標正常,請繼續檢查該網域的解析、規則與目標回應,不要立刻重建所有設定。
排查完成時應同時符合以下條件:已選取預期的伺服器、協定參數與原始設定一致、系統時間正確、目標請求經過預期路徑,且相同條件下多次重新測試的結果穩定。保留變更前後的記錄,恢復暫時關閉的 On Demand 與暫時變更的 Global Routing;若問題仍未解決,請將最精簡的重現步驟提供給自己的服務商進一步檢查。