Shadowrocket(小火箭)顯示逾時,不代表所有連線參數都失效。本文以使用者已有服務商與訂閱為前提,依序檢查基本網路、延遲測試、協定欄位、系統時間、DNS 與分流。每次只調整一個變數,並以相同目標重新測試,最後保留可重現的現象與錯誤紀錄。
一、先區分測試逾時與實際連線失敗
先說結論:延遲測試是診斷線索,不是連線成功的證明。TCP 測試主要確認指定位址與連接埠能否建立 TCP 連線,無法確認密碼、UUID 或後續 TLS 交握是否正確;透過代理連線測試 URL,還會牽涉協定協商、目標網域解析與目標網站回應。兩種測試的範圍不同,結果不能直接互換。
系統顯示 VPN 已連線,也只代表系統通道已建立,不能據此判斷遠端服務、DNS 和每條分流規則都正常。應分開記錄「測試失敗」、「連線開關已開啟」與「實際網頁能否瀏覽」。對使用 UDP 的協定而言,單次 TCP 連接埠測試尤其不能當作有效性結論。
- 只有測試逾時:先記錄測試方式與測試目標,再實際瀏覽一個已知可用的 HTTPS 網頁,不要立即刪除節點。
- 測試有數值但無法瀏覽:繼續檢查驗證、TLS、DNS 與規則,不要只憑延遲數值就跳過參數核對。
- 只有一個網站無法瀏覽:優先確認目標網站、套用的策略與網域解析,不要先認定整體連線都無法使用。
二、建立可重複的排查基準
先保留目前選取的節點、Global Routing 模式與 Config 名稱,避免排查後無法還原。以下步驟都使用同一個節點和測試目標;切換 Wi-Fi 與行動網路時,也不要同時更換協定或 DNS。行動網路測試會使用行動數據,可依自己的資費方案決定是否進行。
-
確認基本網路
先記錄 Settings → On Demand 目前的設定,排查期間暫時關閉自動觸發,再關閉 Home 的連線開關。瀏覽已知可用的網站;公共 Wi-Fi 若有登入驗證頁,請先完成驗證。
-
固定測試目標
返回 Home,選取要檢查的節點,記錄延遲測試方式與目標。連續測試三次,分別記錄成功、逾時或具體錯誤;這三次是用來重現現象,不適合據此推算長期可用率。
-
比較網路環境
條件允許時,使用同一個節點分別在 Wi-Fi 與行動網路重新測試。若只有一種網路無法連線,先檢查該網路的驗證、DNS 與傳輸限制,不要同時重填所有節點參數。
-
驗證實際請求
開啟連線,在 Home → Global Routing 暫時選擇 Proxy,再瀏覽相同的 HTTPS 目標。這樣可減少 Config 分流造成的干擾;測試完請還原原本模式,避免長期保留診斷設定。
三、逐項核對位址、連接埠與協定欄位
在 Home 開啟對應節點的編輯頁面,逐項比對自己已有服務商提供的原始設定。不要只憑節點名稱判斷協定;名稱可能沿用舊資訊,實際欄位卻已變更。位址欄應填入指定的主機名稱或 IP,不要把整段分享連結、訂閱 URL 或含路徑的網址當成伺服器位址。
| 檢查項目 | 具體核對內容 | 常見誤判 |
|---|---|---|
| Address / Port | 逐字比對伺服器位址與連接埠。連接埠範圍為 1–65535,實際值以原始設定為準。 | 把 443 當成所有節點的預設值;原始設定明明是 8443,卻自行改成 443。 |
| Shadowsocks | 同時比對加密方式與密碼;若有外掛或額外傳輸參數,也必須與伺服器端一致。 | 認為連接埠可連線就代表密碼正確,或自行更換加密方式。 |
| VMess / VLESS | 核對 UUID、傳輸類型、TLS,以及所選傳輸方式涉及的 Host、Path 或 Service Name。 | 只核對 UUID,漏掉 WebSocket 路徑或 gRPC 的服務名稱。 |
| Trojan | 核對密碼、伺服器位址、連接埠、TLS 與 SNI;額外傳輸設定依原始設定填寫。 | 將位址改成 IP 後又清空 SNI,導致憑證名稱不符。 |
| Hysteria2 | 核對驗證資訊、TLS 與伺服器要求的混淆參數,並確認網路允許相應的 UDP 通訊。 | 用 TCP 測試失敗,就直接判定使用 QUIC 的連線無法使用。 |
| WireGuard | 核對本機 PrivateKey、對端 PublicKey、Endpoint、Address 與路由範圍。 | 混淆兩種金鑰,或把沒有 TLS 錯誤當成 WireGuard 已完成交握。 |
如果節點來自訂閱,先確認最近一次訂閱更新是否成功,再比對更新後的欄位。更新訂閱與連線節點是兩種不同的請求:訂閱更新成功只代表已取得設定,不代表其中每個節點都能連線。手動修改前先保存必要資訊,因為之後更新訂閱可能會覆蓋本機調整。
結論:連接埠可連線後,繼續檢查交握
如果 TCP 測試有結果,但實際代理請求仍失敗,下一步應核對驗證、TLS 與傳輸欄位,不要只針對連接埠反覆修改。使用 UDP 的協定則應依實際協定請求判斷。
四、依錯誤發生階段縮小範圍
查看 App 內的連線紀錄時,保留錯誤前後的上下文,尤其留意錯誤涉及伺服器位址、DNS 查詢還是目標網站。以下是網路錯誤中可能出現的原文片段,實際大小寫與完整措辭會因錯誤來源而異;不要將任何英文片段視為 Shadowrocket 一定會顯示的固定提示。
錯誤:i/o timeout
原因與處理方式:某個網路讀寫階段未能在時限內完成,單看這段文字無法判斷是連接埠、交握還是目標回應出了問題。先確認上下文中的目標位址,再依序檢查基本網路、連接埠與協定欄位。
錯誤:connection refused
原因與處理方式:連線收到拒絕回應,可能是目標連接埠未監聽,或中間設備主動拒絕。先核對位址與連接埠,再向自己的服務商確認該入口是否仍在提供服務,不要隨意更換連接埠來排查。
錯誤:no such host
原因與處理方式:相關主機名稱解析失敗,可能是位址拼寫錯誤、DNS 紀錄不存在,或目前的解析路徑異常。先確認錯誤中的網域屬於節點還是目標網站,再核對該網域與 DNS 設定。
錯誤:certificate has expired or is not yet valid
原因與處理方式:憑證效期檢查未通過,可能與裝置時間或伺服器端憑證有關。先校準 iPhone 時間;若時間正確仍然失敗,請向自己的服務商確認伺服器端憑證狀態。
不要為了消除憑證錯誤而關閉憑證驗證。位址、SNI 與憑證涵蓋的網域必須一致;即使透過某種設定略過錯誤,也沒有解決名稱或憑證本身的問題。
五、確認 iPhone 系統時間與 TLS
在 iPhone 的「設定 → 一般 → 日期與時間」中檢查「自動設定」。若因裝置管理政策而無法調整,請先確認裝置實際時間是否準確。憑證效期通常依絕對時間判斷,單純顯示不同時區,不一定代表系統時鐘錯誤。
- 時間明顯不準:校正時間後,中斷並重新建立 Shadowrocket 連線,再測試相同目標。
- 時間正確但憑證驗證失敗:返回節點編輯頁核對 TLS 與 SNI,尤其確認是否誤把伺服器 IP 當成憑證網域。
- 只有特定目標失敗:確認錯誤來自目標網站憑證,還是代理伺服器交握,不要混為一談。
- 近期調整過參數:比對自己的服務商提供的最新設定,確認入口網域或憑證相關要求是否已變更。
部分驗證機制也依賴正確的系統時間。校準時間應列為明確的檢查項目,而不是每次連線失敗都重複執行的通用修復方式。校準後若錯誤未變,就繼續檢查下一個環節,避免在同一項上反覆操作。
六、最後檢查 DNS 與 Config 分流
確認協定欄位與時間無誤後,再區分「節點網域無法解析」與「連線建立後,目標網域無法解析」。前者會阻礙遠端連線建立;後者可能呈現連線開關正常、部分網站仍無法開啟的情況。直接開啟某個 IP 無法完整驗證 HTTPS,因為憑證名稱與網站虛擬主機仍可能依賴網域。
如果使用 Config,請在 Config 中確認目前選取的設定,再查看編輯內容中的 [General] 與 dns-server 設定。不要把另一份未啟用設定中的修改,當成已經生效;也不要一次加入多個陌生的 DNS 位址。先保存原值,只調整一項,再以相同網域重新測試。
- 檢查規則順序:
DOMAIN-SUFFIX比對網域後綴,IP-CIDR比對位址範圍,GEOIP涉及 IP 地理位置判定,這些規則的判斷條件並不相同。 - 檢查最終策略:前面的規則都未比對時,
FINAL會作為後備規則;若其策略與預期不符,目標可能會走不同的出口。 - 比較模式:同一個節點在 Proxy 下可用、在 Config 下失敗時,優先檢查規則、策略引用與設定中的 DNS,不要重新填寫已確認無誤的驗證欄位。
- 還原設定:每次比較測試結束後,還原原本的 Global Routing 與 On Demand 設定,並記錄最後保留的修改。
七、常見問題與排查結果整理
延遲測試有數值,為什麼網頁還是打不開?
先確認測試方式。TCP 連通不代表驗證和 TLS 已成功;在 Home → Global Routing 暫時選擇 Proxy,瀏覽相同的 HTTPS 目標,再核對交握錯誤。若 Proxy 可用而 Config 不可用,返回目前的 Config 檢查規則與 DNS。
訂閱更新成功,節點為什麼還是逾時?
取得訂閱內容與連線至遠端入口是兩條不同的流程。先開啟節點編輯頁,比對位址、連接埠與協定欄位,再用相同的測試方式在目前網路重新測試;不要把「更新成功」當成所有節點都能連線的證明。
Wi-Fi 無法連線、行動網路正常,需要重新新增節點嗎?
先不要刪除。保持節點參數不變,檢查 Wi-Fi 登入驗證與 DNS;若使用 Hysteria2 或 WireGuard,也要確認該網路的 UDP 通訊條件。向網路管理者或自己的服務商說明比較結果,比反覆重新新增節點更有助於找出問題。
向自己的服務商回報時,應提供哪些資訊?
提供故障時間與所在時區、網路類型、協定類型、測試方式、完整錯誤片段,以及 Proxy 與 Config 的比較結果。請隱藏密碼、UUID、PrivateKey 和訂閱 token;不要直接傳送未檢查的完整設定或截圖。
排查完成後,留下「修改前現象、唯一修改項目、修改後結果」三項紀錄。若問題仍未解決,也應保留最後一次可重現的測試條件。下次檢查時便能從明確的階段繼續,而不必重新隨機調整所有設定。