Shadowrocket節點逾時怎麼辦:延遲測試、協定參數與系統時間排查順序

連線失敗時先測延遲,再核對參數,最後檢查時間:依 Shadowrocket 延遲測試結果分類,逐項確認連接埠、加密方式、傳輸設定與裝置時間是否正確。

本文速覽

本文適合已在 Shadowrocket(小火箭)中匯入自有伺服器或訂閱,卻遇到延遲測試逾時、連線後無法存取或訂閱更新失敗的使用者。排查順序是先確認故障範圍,再檢查伺服器位址、連接埠、驗證與傳輸參數,接著排除 Global Routing、On Demand、訂閱狀態及系統時間的影響,最後使用 Connectivity Test 重新測試。

先用延遲測試劃分故障範圍

延遲測試用來判斷 Shadowrocket 是否能在限定時間內完成目標探測,並不是測量頻寬。顯示幾十毫秒或幾百毫秒,只代表測試當下收到可達回應;顯示 timeout,則表示探測未在時限內完成。伺服器離線、位址解析失敗、連接埠不通、傳輸方式不相容,以及目前網路受到限制,都可能得到相同的逾時結果。

不要一看到 timeout 就同時修改密碼、連接埠和規則。先在 Home 對多個既有項目執行相同的延遲測試並記錄結果。若只有一個項目逾時,重點檢查該項目的參數;若同一訂閱的所有項目都逾時,檢查訂閱是否已更新,以及服務商是否調整設定;若所有來源都逾時,則優先切換目前網路並檢查系統層級設定。

  1. 關閉舊工作階段

    回到 Home,關閉連線開關並等待幾秒,讓上一次尚未完成的連線釋放,再開始測試。

  2. 測試單一項目

    先測試目前選取的伺服器,再從同一訂閱選擇兩個不同位址重新測試,避免用單一結果代表所有項目。

  3. 切換網路重新測試

    分別在可用的 Wi-Fi 與行動網路下測試。若結果隨接入網路改變,故障位置更可能接近目前的網路路徑,而不是設定檔本身。

  4. 記錄現象

    記下是立即失敗、持續等待後出現 timeout,還是能顯示延遲但開啟連線後沒有流量;這三種現象的排查方向不同。

錯誤:Request timed out

原因與解法:目標未在測試時限內回應,可能是位址、連接埠或目前網路路徑無法連通——先使用同組其他項目和另一種接入網路交叉測試,再核對具體參數。

錯誤:Connection refused

原因與解法:目標位址可達,但對應連接埠拒絕連線——檢查連接埠是否抄寫錯誤,並向自己的服務商確認該連接埠目前是否啟用。

錯誤:Network is unreachable

原因與解法:裝置目前沒有可用路徑,或網路狀態剛發生切換——確認裝置已連上網路,關閉連線開關,待網路穩定後重新測試。

結論:先按範圍定位,不要先改協定

單一項目失敗先檢查該項目的欄位;同一來源全部失敗先檢查訂閱狀態;所有來源同時失敗先檢查接入網路與系統設定。一次只改變一個變數,重新測試的結果才有判斷價值。

逐項核對協定與傳輸參數

位址和連接埠是第一層。Address 應填寫服務商提供的網域或 IP,Port 必須與原始設定完全一致。443、8443、2053 等數字只是常見範例,不能互相替換,也不能因為某個連接埠看起來像 HTTPS 就自行改成 443。網域多一個空格、連接埠少一位,或複製到舊位址,都可能讓連線停在逾時階段。

第二層是驗證欄位。Shadowsocks 需要同時符合 Password 與 Method;VMess、VLESS 通常需要核對 UUID;Trojan 需要核對 Password;Hysteria2 需要核對驗證值與伺服器端連接埠;WireGuard 則涉及本機 Private Key、對端 Public Key、Endpoint、Address 與 Allowed IPs。欄位名稱相似,不代表數值可以跨協定重複使用。

第三層是傳輸與安全設定。使用 TLS 時,Server Name 或 SNI、憑證驗證狀態及目標網域必須依服務商提供的資訊填寫。使用 WebSocket 時還要檢查 Host 與 Path,例如 Path 是 /ws 時,漏掉開頭的斜線可能導致握手失敗。Hysteria2 基於 UDP 與 QUIC;若同一設定在一種接入網路可用、另一種網路持續逾時,應將 UDP 路徑差異列入排查範圍。

範例:僅用於辨識欄位結構,不是可用伺服器
Address: server.example.com
Port: 8443
Transport: websocket
TLS: enabled
Host: edge.example.com
Path: /ws

錯誤:TLS handshake failed

原因與解法:TLS 握手階段未完成,常見原因包括 SNI、網域、憑證驗證或系統時間不一致——依原始設定核對 Server Name,並確認裝置日期與時區正確。

錯誤:Authentication failed

原因與解法:驗證值或加密參數與伺服器端不一致——重新複製 Password、UUID 或驗證值,同時檢查是否混用了舊訂閱中的欄位。

檢查 Global Routing、Config 與 On Demand

延遲測試有結果,但開啟連線後網頁仍無法存取,排查重點應從伺服器可達性轉向流量路徑。Shadowrocket 的 Global Routing 包含 Proxy、Direct、Config、Scene 等模式。Proxy 會讓符合條件的流量經目前代理處理;Direct 表示直接連線;Config 依目前設定檔中的規則決定去向;Scene 則依設定的情境切換。測試時應確認目前使用的是哪一種模式。

如果 Global Routing 停在 Direct,裝置可以顯示已建立系統 VPN 狀態,但網頁請求可能沒有經過選取的伺服器。使用 Config 時,應檢查規則末尾的 FINAL 去向,並確認目標網域是否已被前面的 DOMAIN-SUFFIX、GEOIP 或 IP-CIDR 規則提前匹配。規則依順序判斷,先命中的結果生效。

應用程式發起請求系統 VPN 通道Global Routing依規則順序匹配選定出站
DOMAIN-SUFFIX,example.com,Proxy
IP-CIDR,192.168.0.0/16,Direct
GEOIP,CN,Direct
FINAL,Proxy

上例中,符合 example.com 後綴的請求使用 Proxy,符合區域網路位址與 GEOIP 條件的流量使用 Direct,其餘請求由 FINAL 交給 Proxy。若將 FINAL 設為 Direct,未命中前面規則的請求就不會經過代理。這不代表伺服器失效,而是規則結果與測試目標不同。

On Demand 會依網路條件觸發連線。排查手動連線問題時,可進入 Settings → On Demand 查看目前狀態,暫時關閉自動觸發後再測試,避免網路切換時出現「剛關閉又自動連線」或「剛選取伺服器又被情境改寫」的情況。測試完成後,再依原本需求恢復設定。

連線開關已開啟,為什麼網頁仍逾時?

先檢查 Home 目前選取的伺服器,再查看 Global Routing 是否處於 Direct。接著執行 Connectivity Test,區分 DNS、TCP 與代理請求在哪個步驟失敗。

切換到 Config 後只有部分網站失敗?

檢查 Config 中 DOMAIN-SUFFIX、GEOIP、IP-CIDR 與 FINAL 的順序。逐條比對目標網域與規則,確認實際命中的是 Proxy 還是 Direct。

關閉連線後為什麼又自動開啟?

進入 Settings → On Demand 檢查自動連線條件。排查期間先停用 On Demand,完成手動重新測試後再恢復原設定。

更換伺服器後仍顯示舊結果怎麼辦?

關閉連線開關,確認 Home 中新項目前方已處於選取狀態,等待幾秒後重新連線,再次執行 Connectivity Test。

訂閱更新失敗時,分開檢查連結與項目

訂閱更新和伺服器連線是兩條不同的鏈路。訂閱更新負責從指定 URL 取得設定清單,伺服器連線則使用清單中的具體位址與參數。既有項目可能仍能連線,但訂閱 URL 已過期;反過來,訂閱可以成功下載,清單中的某個伺服器仍可能因連接埠或參數變更而逾時。

訂閱位址範例可以寫成 https://example.com/sub?token=xxxx 以辨識結構,但實際操作必須使用使用者向自己的服務商取得的有效連結。Token 遺失、複製時遭截斷、連結前後帶有空格,或服務商更換位址,都可能造成更新失敗。本網站不提供訂閱,也不對具體服務來源提供選擇建議。

  1. 核對原始連結

    編輯 Subscribe 項目,對照服務商提供的原文檢查協定標頭、網域、路徑、問號與 token,刪除複製產生的前後空格。

  2. 單獨執行更新

    回到 Home 下拉重新整理,觀察是單一 Subscribe 失敗,還是所有來源都失敗;不要先刪除仍可使用的伺服器項目。

  3. 檢查代理更新

    若服務商明確要求經目前連線存取訂閱,可進入 Settings → Subscribe 查看 Update via Proxy;啟用前應先確認目前伺服器能夠連線。

  4. 複核更新結果

    更新完成後檢查項目數量與名稱是否變化,再選取一個項目執行延遲測試,確認新參數已實際載入。

錯誤:Failed to load subscription

原因與解法:訂閱連結無法回傳有效內容,可能是位址過期、token 不完整或存取路徑受限——向自己的服務商確認連結有效,再在 Home 下拉重新整理。

錯誤:The request timed out

原因與解法:訂閱請求未在限定時間內完成——先確認裝置網路正常;若已開啟 Update via Proxy,還要先驗證目前選取的伺服器能夠連線。

錯誤:Invalid URL

原因與解法:連結格式無法解析——檢查是否缺少 https://、是否誤刪問號後的參數,並清除連結中的換行與空格。

結論:更新失敗不代表所有伺服器失效

先分別驗證訂閱 URL 與現有伺服器項目。刪除訂閱前保留故障現象與原始參數,才能避免將「清單取得失敗」誤判為「所有伺服器都無法連線」。

校準系統時間並處理網路切換

TLS 憑證驗證、含時間戳記的驗證程序,以及部分協定握手都依賴裝置時間。日期、時區或時鐘偏差明顯時,可能表現為 TLS 握手失敗、驗證失敗,也可能在多次重試後顯示 timeout。曾手動修改日期、跨時區後狀態未同步,或裝置長時間未連網時,應將系統時間列入檢查項目。

在 iPhone 或 iPad 上進入 Settings → General → Date & Time,檢查 Set Automatically,並確認 Time Zone 與所在地狀態一致。修改後不要直接連續點擊連線,先關閉 Shadowrocket 的連線開關,等待系統網路狀態穩定,再回到 Home 重新選取伺服器。

網路從 Wi-Fi 切換到行動網路時,原有連線使用的本機位址、DNS 與路由都會改變。若切換後長時間未恢復,可先關閉連線,等待狀態列顯示新的網路已可用,再重新開啟。開啟 On Demand 的使用者還應觀察自動規則是否在網路變化時選取了不同情境。

結論:校準時間後必須重新建立連線

既有工作階段不會因系統時間修正而自動完成一次乾淨的握手。校準時間、穩定網路、關閉舊連線、重新選取項目,再執行測試,才能驗證修正是否生效。

依固定順序完成最終重新測試

完成參數、規則、訂閱與系統時間檢查後,使用固定流程收尾。先保持 On Demand 暫停,選取一個參數已確認的伺服器;再使用延遲測試確認該項目能回傳;接著開啟連線,並執行 Connectivity Test。若延遲正常但 Connectivity Test 失敗,重點回到 Global Routing、Config 規則、DNS 與傳輸設定,而不是反覆重新整理訂閱。

測試結果至少應記錄目前網路、伺服器名稱、協定類型、是否有延遲數值、連線開關狀態,以及 Connectivity Test 的失敗階段。向自己的服務商回報時,不要傳送完整的 Password、UUID、Private Key 或訂閱 token;只提供經過遮蔽的欄位、時間點與錯誤原文。

確認系統已連網選取已核對參數執行延遲測試開啟連線Connectivity Test記錄失敗階段

有延遲數值,但 Connectivity Test 失敗怎麼辦?

檢查 Global Routing 與 Config 規則,確認測試請求沒有被 Direct 或錯誤規則接管;再核對 DNS、TLS、Host 與 Path。

只有行動網路下逾時怎麼辦?

關閉舊連線後,在行動網路下重新測試。若 Hysteria2 等依賴 UDP 的設定只在該網路失敗,請將網路差異與具體時間一併回報給自己的服務商。

所有項目突然同時逾時怎麼辦?

先確認裝置本身能夠連網,再暫停 On Demand、切換接入網路並檢查系統時間。所有來源同時失效時,不應先逐一修改伺服器密碼。

重新安裝前還要檢查什麼?

先核對訂閱有效性、協定欄位、Global Routing、On Demand 與系統時間。設定錯誤不會因重新取得應用程式而自動修正,應先保留必要的故障紀錄。

在哪裡確認 Shadowrocket 正版資訊?

唯一取得入口是 App Store。核對產品名稱 Shadowrocket、開發者 Shadow Launch Technology Limited 與應用程式 ID 932747118;購買方式為一次買斷,系統要求以 App Store 頁面標示為準。

下載 Shadowrocket