Shadowrocket 節點逾時、連線失敗怎麼排查?延遲測試、協定參數與系統時間

依序排查:先測試延遲判斷問題範圍,再逐項確認協定參數,最後檢查系統時間與自動設定,找出連線失敗原因。

本文重點

Shadowrocket(小火箭)發生逾時,不代表節點一定失效。本文適用於 iPhone / iPad、Mac、Windows、Android 和 Linux,依「本機網路 → 測試範圍 → 協定參數 → 系統時間 → 規則與 DNS」的順序排查;介面操作以 iPhone / iPad 的 Home、Config、Settings 為參照,其他平台請核對對應設定。前提是使用者已有自己的服務商與訂閱,訂閱網址請向服務商索取。

一、先區分節點逾時與本機網路故障

先關閉 Shadowrocket 的連線開關,再用瀏覽器開啟平常可直接瀏覽的網頁。如果本機網路本身無法使用,延遲測試結果就不能用來判斷遠端服務狀態。公共 Wi-Fi 可能需要先完成網路登入;看到 Wi-Fi 圖示,不代表已取得完整的網路存取權限。

測試時一次只變更一項條件:先固定同一個網路、節點和目標,再切換 Wi-Fi 或行動網路。不要同時更新訂閱、切換協定和替換設定,否則即使恢復正常,也無法確認是哪項變更生效。

  1. 確認本機網路

    在 Home 關閉連線,確認瀏覽器可正常開啟已知能直接連線的網頁;需要登入的 Wi-Fi,請先完成驗證。

  2. 記錄故障範圍

    在 Home 選取要測試的節點,記錄是單一節點、同一群組的節點,還是所有節點都失敗,並記下目前使用 Wi-Fi 或行動網路。

  3. 確認實際連線狀況

    開啟連線後,在 Home 執行 Connectivity Test,並用瀏覽器連線至同一個目標。記錄測試結果及網頁是否載入,不要只看連線開關。

  4. 切換網路重新測試

    保持節點與設定不變,切換到另一個可用的網路重複測試。如果只有某一個網路失敗,優先檢查該網路的 DNS、存取限制或 UDP 是否可通。

二、延遲測試有數值,為什麼還是無法開啟網頁?

解讀延遲數值時,必須一併考量測試方式。TCP 連線只驗證到指定位址和連接埠的一段流程,不能證明密碼正確,也不能證明 Proxy 能連上目標網站。實際送出請求的測試涵蓋較多環節,但結果仍只反映當下對該測試目標的狀況,不能保證所有網站都能使用。

觀察到的狀況優先判斷下一步處理
單一節點逾時,其他節點正常問題較可能出在該端點或參數確認該節點的位址、連接埠及服務狀態,不要重設整份設定
所有節點在 Wi-Fi 都失敗,行動網路正常本機網路路徑可能不同檢查 Wi-Fi 登入狀態、DNS 與 UDP 通訊是否受限
連接埠測試有延遲,實際請求卻失敗連線建立後的驗證、TLS 或目標存取失敗查看失敗請求的記錄,確認憑證、SNI 與系統時間
網頁正常,只有部分測試失敗測試目標或測試方式可能不適用目前的連線路徑記下測試類型,再以實際使用情境交叉驗證
只有一個網站無法使用目標網站、規則或 DNS 解析問題比較 Global Routing 的 Proxy 與 Config,並檢查該網域的規則比對結果

結論:先保留可重現的對照組

如果同一個節點切換網路後恢復,先排查原本的網路;如果同一個網路只有一個節點失敗,先確認該節點。依此區分問題範圍,比反覆重新安裝 App 更容易找到原因。

對於 Hysteria2 等依賴 UDP 的傳輸協定,不能只憑一次 TCP 連接埠測試判定協定是否可用。反過來說,TCP 測試成功也不能證明 UDP 通道暢通。請分別記錄測試方式與實際使用的協定,避免混淆兩者結果。

三、依協定確認位址、連接埠與驗證參數

在 Home 開啟對應節點的編輯頁面,逐項比對欄位與服務商提供的原始資料。從訂閱匯入的節點也可能因遠端變更而失效;請先確認更新成功,再檢查參數。不要憑經驗一律將連接埠改成 443,也不要為了消除錯誤而關閉憑證驗證。

1–65535
連接埠號碼的有效範圍;實際值必須與伺服器一致
443
HTTPS 常用連接埠;不代表所有節點都使用此連接埠
4 項
TLS 優先確認:啟用狀態、SNI、憑證信任與系統時間

TLS 的 SNI 與 WebSocket 的 Host 並非同一概念:前者用於 TLS 交握時識別服務,後者是 HTTP 請求欄位。兩者有時相同,但仍須分別依據服務商提供的資料設定。節點名稱只是本機顯示標籤,重新命名無法修復驗證或連線失敗。

四、依錯誤原文判斷故障層級

查看故障時的記錄或系統錯誤詳細資訊,優先保留錯誤原文與發生時間。以下是網路與 TLS 層常見的錯誤文字,實際前綴會依平台及連線階段而異;若介面只顯示 Timeout,仍須搭配前述網路對照測試判斷。

錯誤:connection timed out

原因與處理方式:連線在等待時間內未收到預期回應,可能與位址、連接埠、網路路徑或遠端狀態有關。先切換網路測試同一個節點,再向自己的服務商確認端點是否仍有效。

錯誤:connection refused

原因與處理方式:目標端或中間設備主動拒絕連線請求。確認連接埠與協定,不要只延長等待時間;若連接埠正確,請服務商檢查監聽服務。

錯誤:certificate has expired or is not yet valid

原因與處理方式:本機時間不正確,或伺服器憑證確實已超過有效期限。先校正系統時間後重試;若仍失敗,請服務商檢查憑證,不要長期以略過驗證的方式處理。

錯誤:no such host

原因與處理方式:主機名稱解析失敗,或找不到可用的 DNS 記錄。檢查位址拼寫,確認本機網路可正常使用,並分辨失敗的是節點網域還是目標網站網域。

不要單獨將記錄中的 EOF 解讀為「密碼錯誤」。它只表示連線已結束,可能出現在驗證不符、傳輸參數錯誤或遠端提早關閉等多種情況。請一併查看前後的 TLS、DNS 解析與連線資訊,再決定要修改哪個欄位。

五、檢查系統時間與自動設定

系統時間有誤會影響憑證有效期限判斷,也可能影響部分驗證流程。重點是裝置目前的時間是否準確,而不只是螢幕顯示的時區。手動變更時區無法取代時間同步;選擇自動設定後,請確認日期、年份與時分都已恢復正常。

  1. iPhone / iPad:開啟系統「設定 → 一般 → 日期與時間 → 自動設定」。若無法變更此選項,請檢查裝置管理或系統限制,再返回 Shadowrocket 重新建立連線。
  2. Mac:開啟「系統設定 → 一般 → 日期與時間」,啟用自動設定時間與日期,並確認目前時間是否正確。
  3. Windows:開啟「設定 → 時間與語言 → 日期與時間」,啟用自動設定時間,並使用系統提供的立即同步功能。
  4. Android:在系統設定中搜尋「日期與時間」,啟用自動設定時間;實際選單名稱依裝置而異,也請確認自動設定時區已開啟。
  5. Linux:在系統的日期與時間設定中啟用網路時間同步。若系統沒有圖形設定頁面,請由裝置管理員檢查時間同步服務狀態。

六、連線已建立時,檢查 Global Routing、DNS 與 On Demand

節點可用但網頁無法開啟時,請檢查 Home → Global Routing。Proxy 會將由代理處理的流量交給所選 Proxy;Direct 會直接連線;Config 依目前設定規則分流;Scene 則依所選場景設定處理,也要一併確認場景內容。排查時可短暫切換 Proxy 與 Config 進行比較,完成後請還原原本的使用設定。

規則會由上而下比對,先符合的規則會影響後續處理。不要只確認檔案中「是否有這條網域規則」,還要查看它是否已先符合前面的規則。若只有一個網站無法使用,記錄目標網域與實際套用的策略,比直接替換整份 Config 更有助於診斷。

七、常見問題與回報前的資訊整理

訂閱更新也逾時,是不是所有節點都失效了?

不一定。下載訂閱與連線至節點是兩條不同的請求路徑。先確認現有節點能否使用,再檢查訂閱網址是否有效,以及是否到期或受到存取限制。訂閱網址請向服務商索取;更新成功後,再比較節點參數是否有變動。

延遲很低,影片卻一直緩衝,為什麼?

延遲反映單次測試的回應時間,不代表持續傳輸量。固定同一個目標,比較其他現有節點及另一個網路;同時確認是否只有該網站受到影響,不要只依最低延遲選擇節點。

關閉憑證驗證後可以連線,這樣就算修好了嗎?

不能因此認定問題已解決。請重新開啟憑證驗證,確認系統時間、SNI 與伺服器憑證。若服務商提供的資料要求特殊信任設定,請對方說明憑證來源與正確設定方式,不要長期忽略錯誤。

需要把完整訂閱連結和記錄一起傳出去嗎?

請勿公開完整訂閱連結、密碼、UUID 或私鑰。向自己的服務商回報時,提供故障時間、平台、網路類型、協定、錯誤原文及必要的去識別化記錄;傳送截圖前請遮蔽驗證資訊。

最後整理一份簡短記錄:發生時間與時區、裝置平台、Wi-Fi 或行動網路、單一節點或所有節點失敗、Global Routing 目前選項、錯誤原文,以及切換網路後的對照結果。若需要重設或重新安裝,請先備份現有設定;重新安裝無法解決伺服器停機、憑證錯誤或憑證失效。

下載 Shadowrocket