Shadowrocket(小火箭)顯示逾時,不代表已能確定是遠端故障。本文適合已有自己的服務商及訂閱資訊的使用者,依序辨別網路連通性、協定驗證、TLS 憑證驗證與系統時間問題,再檢查路由和訂閱更新。每次只變更一項條件,並記錄測試方式、網路類型與錯誤原文,才能判斷變更是否有效。
一、先固定測試條件,區分測試與實際連線
先在 Home 對目前項目執行 Connectivity Test,再實際連線一次。延遲數值只反映這次測試採用的路徑與方式,不能單憑數值判定協定驗證、TLS 交握及目標網站連線都正常。即使 TCP 連線已建立,仍可能在後續驗證時失敗;某種測試逾時,也不代表所有流量都無法傳輸。
排查期間不要同時重新整理訂閱、切換設定檔、修改 DNS 和更換網路,否則即使恢復連線,也無法確認原因。先備份目前使用的設定,記下項目名稱、協定類型及 Global Routing 狀態;請勿將密碼、UUID、私密金鑰和完整訂閱連結放入公開紀錄。
-
固定網路
保持連線至同一個 Wi-Fi,先確認一般網路可正常使用;若網路要求登入網頁,請先完成驗證。暫時不要切換至行動網路。
-
固定項目
在 Home 選取自己的一個項目,記下 Type、地址和 Port。先不要更換項目,也不要一次修改多個參數。
-
記錄測試
在 Home 執行 Connectivity Test,記下測試方式、結果與時間。重複測試時請維持相同方式,不要直接比較不同方式測得的數值。
-
確認觸發條件
前往 Settings → On Demand,記下目前條件;若自動連線影響手動重現問題,可暫時關閉 On Demand,完成後再還原原設定。
-
重現一次
返回 Home,開啟連線並前往同一個目標。確認連線開關能否維持開啟、是否立即出現錯誤,以及是否只有特定網站無法連線。
二、依延遲與錯誤原文判斷故障層級
若延遲測試持續逾時,優先確認地址、連接埠和網路路徑。若測試有結果,但實際連線立即中斷,則著重檢查協定參數和 TLS。若只有單一網站無法連線,先確認該要求套用的策略,不要直接重建所有項目。以下列出常見網路錯誤原文;應用程式中的完整提示可能還包含地址、連接埠或前置說明。
錯誤:Connection timed out
原因:目前操作未能在等待時間內完成,可能與網路路徑、遠端回應或交握過程有關;僅憑這段訊息無法判定故障端。
解決方式:先確認地址和 Port,保持其他參數不變,切換一次 Wi-Fi 與行動網路,再比較相同測試的結果。
錯誤:Connection refused
原因:連線要求遭到主動拒絕,常見原因包括目標連接埠未在監聽,或網路設備拒絕連線;這不能直接證明密碼錯誤。
解決方式:逐項比對 Port 與自己的服務商提供的資訊;若資訊一致,請服務商確認該地址與連接埠是否仍在使用。
錯誤:certificate has expired
原因:憑證有效期限驗證未通過,可能是遠端憑證已過期,也可能是裝置日期與實際時間相差甚遠。
解決方式:先確認系統自動校時正常;若時間正確仍出現錯誤,請自己的服務商檢查憑證,不要以關閉憑證驗證代替修復。
切換網路後恢復,只能表示故障可能與網路路徑有關,不能直接歸因於特定電信業者。兩種網路都失敗,也不能排除參數錯誤。可將「只有一種網路失敗」、「兩種網路都失敗」及「只有特定目標失敗」分類記錄,再進行下一步。
- 所有項目都失敗:先檢查裝置基本網路連線、網路驗證、目前路由狀態和系統時間。
- 只有一個項目失敗:優先確認該項目的地址、連接埠、憑證及遠端狀態。
- 只有特定類型的 App 失敗:檢查實際要求使用 TCP 或 UDP,以及是否套用預期策略。
三、逐項確認 Type、Port 與協定專用參數
在 Home 開啟目前項目的編輯頁面,依據自己的原始連線資訊逐項核對。Type 必須與遠端設定一致,請勿為了排查問題而任意將 VMess 改成 VLESS。地址欄只填入該欄位要求的地址,不要混入整段分享文字、網頁路徑或多餘空格。
Port 是遠端實際監聽的連接埠,不是可以憑經驗統一替換的值。例如原始設定為 8443,就不能因為啟用 TLS 而擅自改成 443。以下數字僅用來說明協定與連接埠的關係,不代表本文提供任何可連線的服務。
| Type | 核對重點 | 常見誤判 |
|---|---|---|
| Shadowsocks | 地址、Port、加密方式與密碼;若有外掛程式,也要核對外掛程式參數。 | 只修改密碼,忽略加密方式與遠端設定不一致。 |
| VMess / VLESS | UUID、傳輸方式,以及原始設定要求的 TLS、Host、Path 等欄位。 | 以為 UUID 正確就足夠,漏掉傳輸層設定。 |
| Trojan | 密碼、TLS、Server Name,以及原始設定指定的傳輸方式。 | 將密碼填入其他驗證欄位,或漏填憑證所對應的網域。 |
| Hysteria2 | 驗證資訊、TLS、Server Name 與 UDP 路徑。 | TCP 測試成功後,就認定 UDP 路徑也一定可用。 |
| WireGuard | 本機私密金鑰、對端公開金鑰、Endpoint、地址與路由相關參數。 | 填反金鑰用途,或只檢查 Endpoint 而忽略路由設定。 |
並非每種協定都會使用表格中的所有欄位。只需核對目前 Type 實際包含,且原始資訊明確要求的項目。若項目來自自己的訂閱,更新前先記錄本機變更;更新後再次查看編輯頁,確認修正沒有被訂閱中的舊值覆蓋。
四、確認 TLS、Server Name 與系統時間
TLS 發生錯誤時,先檢查項目編輯頁中的 TLS 設定和 Server Name(SNI)。連線地址可以是 IP,但憑證可能是簽發給某個網域;此時應依原始設定填入 Server Name,而不是直接照抄地址欄內容。憑證驗證使用的名稱與網路要求中的 Host 不能任意互換。
若使用 WebSocket,Path 與 Host 必須符合遠端要求。Path 的大小寫、開頭斜線及附加參數都可能影響要求;不要自行補上一個看似常見的路徑。遠端未要求的欄位也不要憑猜測新增。
- 在項目編輯頁逐一核對 TLS、Server Name、傳輸方式、Host 和 Path,修改後儲存,再對同一個目標重新測試。
- 在 iPhone 或 iPad 開啟系統「設定 → 一般 → 日期與時間」,檢查「自動設定」,並確認目前日期、時間和時區是否正確。
- 若無法調整「自動設定」,請檢查裝置管理限制或系統設定條件;不要手動將日期改成憑證有效期間內的舊日期來繞過錯誤。
- 校時後重新建立連線。若裝置時間正確,但憑證仍已過期或名稱不符,請保留錯誤原文,向自己的服務商確認憑證設定。
五、區分路由、DNS 與訂閱更新問題
確認參數和 TLS 設定後,再檢查 Home → Global Routing。Proxy、Direct、Config、Scene 不是四種延遲測試方式,而是不同的流量處理模式。排查時可暫時使用 Proxy 測試所選的代理路徑;測試完成後請還原原模式,不要將暫時切換當成永久修復方式。
- Proxy:測試代理路徑時,確認實際選取的項目或策略群組成員,避免測試對象與預期不符。
- Direct:主要用來測試直接連線路徑;在此模式下連線成功,不代表代理項目設定正確。
- Config:前往 Config 確認目前使用的設定,檢查要求是否已套用較前面的規則。
- Scene:檢查所選 Scene 的具體設定,不要假設結果會與 Proxy 或 Config 相同。
在 Config 中,DOMAIN-SUFFIX、IP-CIDR、GEOIP 等規則的比對條件各不相同;若前面的規則都未符合,則由 FINAL 作為後續處理。規則會依序檢查:若某個網域已套用較前面的 DIRECT 或 REJECT 規則,修改後面的 FINAL 並不會改變這次比對結果。先查看實際要求的記錄,再修改規則;不要只因單一網站無法開啟,就刪除整份設定。
DNS 也需要個別檢查。使用網域連線失敗、改用 IP 後結果不同,只能作為解析路徑的線索,不能直接將 IP 當成永久替代方式;TLS 仍可能需要原本的 Server Name。不要同時變更 DNS、SNI 和地址,否則無法判斷是哪項設定造成差異。
延遲測試有數值,為什麼網頁還是打不開?
先記錄 Connectivity Test 的方式,再以相同目標實際連線。檢查 Global Routing 和套用的策略;測試成功可能只表示某個階段連線正常,並未涵蓋驗證、TLS 和目標回應的完整過程。
現有項目能用,為什麼訂閱更新會逾時?
訂閱更新連線的是訂閱地址,而不是現有項目的服務連接埠。在 Home 重新整理自己的訂閱,確認連結是否仍有效;若現有代理連線可用,且訂閱地址需要經由該路徑存取,可在 Settings → Subscribe 檢查 Update via Proxy,再重試一次。
Wi-Fi 連線逾時、行動網路正常,需要重新輸入密碼嗎?
先不要修改密碼。固定使用同一個項目與測試方式,檢查 Wi-Fi 網頁驗證、網路限制及 UDP 連線狀況;若只有特定網路失敗,先保留原參數,繼續查找網路路徑的差異。
每次手動關閉後又自動連線,如何穩定重測?
前往 Settings → On Demand 檢查自動連線條件。記錄後暫時關閉 On Demand,返回 Home 手動重測;排查完成後再還原所需條件,避免自動觸發改變測試狀態。
六、問題仍未解決時,整理最基本的排查紀錄
完成以上檢查仍無法連線時,向自己的服務商提供可重現問題的基本紀錄,比只說「連不上」更有助於判斷原因。請說明錯誤發生於訂閱更新、Connectivity Test 還是實際連線,並記下最後一次只修改了哪個項目。日誌只截取問題發生時間附近的必要內容,不要直接公開完整設定。
- 環境:裝置類型、系統顯示的版本、Wi-Fi 或行動網路,以及自動校時是否正常。
- 項目:協定 Type、已隱去敏感資訊的項目識別、使用的 Port;不要附上密碼、UUID、私密金鑰或訂閱權杖。
- 狀況:錯誤原文、發生時間、測試方式,以及切換網路前後的差異。
- 路由:Global Routing 模式、目前的設定或 Scene,以及已確認套用的策略。
- 已執行的操作:參數核對結果、TLS 與 Server Name 是否一致,以及校時後是否重新連線。
恢復連線後,重新啟用原本的 On Demand 條件,還原日常使用的 Global Routing,並以相同目標重新測試。保留有效的修改,撤銷僅供診斷使用的暫時設定;不要保留停用憑證驗證或未經確認的地址替換。