本文適合已持有服務商訂閱,但在 Shadowrocket(小火箭)遇到節點逾時或連線失敗的使用者。依序檢查本地網路、Connectivity Test、協定參數、系統時間與實際請求,釐清是連接埠無法連線、驗證失敗,還是規則未套用預期策略;每次只修改一個條件,並保留可供核對的結果。
一、先確認問題發生在哪個環節
Home 的連線開關開啟,不代表遠端節點已完成驗證,也不代表網頁請求一定會經過該節點。系統可能先建立本機 VPN 通道,之後才由個別請求觸發遠端連線。因此,「出現 VPN 圖示」、「節點顯示延遲數值」和「網頁可以開啟」是三種不同的觀察結果。
開始前,記下目前使用 Wi-Fi 或行動網路、選取的節點、Global Routing 模式及失敗時間。先不要刪除訂閱、重設所有設定,或一次更改多個參數,否則難以判斷是哪個步驟影響結果。下表是現象判讀方式,並非特定線路的實測報告。
| 觀察到的現象 | 可能代表的情況 | 下一步 |
|---|---|---|
| 中斷 Shadowrocket 後,一般網頁也無法開啟 | 本地網路尚未具備正常連線條件 | 完成 Wi-Fi 登入驗證,或切換行動網路再次確認 |
| TCP 測試有數值,但實際請求失敗 | 目標連接埠可能可連線,但尚不能證明驗證與 TLS 均成功 | 核對密碼、UUID、SNI 與傳輸參數 |
| 測試逾時,但網頁可以正常開啟 | 測試方法或測試目標可能與實際網頁請求不同 | 核對測試方法,以及網頁實際套用的策略 |
| 只有 Wi-Fi 連線失敗,行動網路正常 | 問題較可能與目前的網路路徑有關 | 檢查 Wi-Fi 驗證、DNS 與網路存取限制 |
| 只有一個現有節點失敗,其他節點可用 | 不宜直接歸因於整個用戶端 | 核對該節點參數,並向自己的服務商確認狀態 |
結論:先保留一組可重複驗證的對照
選定一個失敗節點與一個測試目標,保持參數不變,分別切換 Wi-Fi 和行動網路測試一次。若結果隨網路而變,先檢查網路路徑;若持續失敗,再核對參數。
二、依固定順序完成延遲與連線測試
延遲測試只能回答特定測試條件下的問題。TCP 測試主要檢查 TCP 連線是否建立;即使顯示毫秒數,也不能取代協定驗證與實際請求測試。使用 UDP 的連線尤其不能只憑 TCP 結果判斷。不同測試方法測得的數值,不宜直接排序比較。
-
確認本地網路正常
在 Home 關閉連線開關,使用 Safari 開啟平常可直接瀏覽的網頁。如果 Wi-Fi 需要登入網頁驗證,請先完成驗證;若仍無法開啟,應先排查裝置的網路連線,而非更改節點密碼。
-
選定要測試的節點
返回 Home,明確選取要排查的節點,並記下名稱與協定。不要只看清單中某個項目的延遲,實際連線時卻仍選取另一個項目。
-
執行連線測試
在 Home 執行 Connectivity Test,記下所選測試方法、結果與網路類型。使用相同方法重複測試 3 次,保留每次結果,不要只記下最快的一次。
-
排除規則的影響
暫時將 Home → Global Routing 切換至 Proxy,確認選用待測節點,再開啟連線開關並發出相同的網頁請求。測試完成後,恢復原本的 Config 或 Scene,避免將排錯設定當成長期配置。
-
切換網路後再次測試
保持節點、測試方法與目標不變,切換至另一種可用網路後重複測試。若正在排查自動重新連線,先前往 Settings → On Demand 暫停隨選連線,測試結束後再恢復原設定。
若 Proxy 模式下請求成功,恢復 Config 後卻失敗,應優先檢查 Config 中符合條件的規則、策略指向與 DNS,而不是繼續修改協定參數。Global Routing 設為 Direct 時,請求會直接連線,不能據此證明代理節點運作正常;使用 Scene 時,則應確認目前場景實際採用的路由設定。
三、逐項核對協定參數與訂閱內容
節點名稱只是標籤,同名節點也可能已更換位址、連接埠或驗證資訊。在 Home 開啟該節點的編輯頁,對照自己的服務商提供的最新資料逐項核對。若已有訂閱,請先更新訂閱再確認;不要根據網路文章猜測密碼、UUID 或傳輸路徑。
| 項目 | 檢查內容 | 常見誤判 |
|---|---|---|
| Address / Port | 位址不應包含網頁路徑;連接埠須與服務商提供的資料一致 | 看到 TLS 就把原連接埠改成 443;443 只是常見連接埠,並非固定值 |
| Shadowsocks | 同時核對加密方式、密碼,以及服務商要求的外掛設定 | 密碼正確,就認定其他欄位也一定正確 |
| VMess / VLESS | 核對 UUID、TLS 狀態與傳輸方式;使用 WebSocket 時,再確認 Host 和 Path | 認定 WebSocket 的 Host、TLS 的 SNI 與連線位址必然相同 |
| Trojan | 核對密碼、SNI、連接埠與憑證驗證條件 | 以關閉憑證驗證取代修正錯誤的伺服器名稱 |
| Hysteria2 | 核對驗證資訊與 TLS 參數,並確認目前網路允許所需的 UDP 通訊 | TCP 測試成功,就認定 UDP 路徑也正常 |
| WireGuard | 核對金鑰、Endpoint、通道位址與 Allowed IPs | 只檢查 Endpoint,忽略通道內位址或路由範圍 |
SNI 用於 TLS 交握時指示伺服器名稱;憑證驗證還須檢查名稱、信任鏈與有效期限。連線位址是 IP,不代表 SNI 也應填入該 IP。若服務商另有提供網域,請依其資料填寫;不要將 Allow Insecure 當成一般修復方式。
四、依錯誤原文判斷下一步
「逾時」表示某個步驟未能在期限內完成,並不直接指出原因。若記錄中出現以下英文片段,可依對應方向縮小排查範圍;實際措辭可能因協定、底層連線程式庫及失敗階段而異。記錄完整脈絡時,請遮蔽驗證資訊,不要只截取最後一個單字。
錯誤:i/o timeout
原因與解法:某次讀寫未能在期限內完成,可能與網路封包遺失、封鎖或遠端沒有回應有關——先使用同一節點切換網路重測,再核對位址與連接埠;不能只憑這行錯誤就判定密碼錯誤。
錯誤:connection refused
原因與解法:目標端或中間設備主動拒絕連線,常見原因是連接埠沒有在監聽,或受到拒絕策略限制——核對訂閱中的 Port,並向自己的服務商確認該連接埠的服務狀態,不要逐一嘗試隨機連接埠。
錯誤:TLS handshake timeout
原因與解法:TLS 交握未能在期限內完成,可能與網路路徑、TLS 設定或伺服器回應有關——先確認 SNI、TLS 開關與連接埠,再切換網路比較;這項錯誤本身不能證明憑證已過期。
錯誤:certificate has expired or is not yet valid
原因與解法:憑證有效期限檢查未通過,可能是裝置時間不準或伺服器憑證有問題——先校正 iPhone 時間後重試;若時間正確仍失敗,請自己的服務商檢查憑證有效期限。
如果只有開啟特定網站時才出現錯誤,還應區分「連線至代理伺服器」和「代理伺服器連線至目標網站」。相同的 TLS 訊息可能來自不同連線階段。請根據錯誤中的目標主機、連接埠與發生時間判斷,避免將目標網站的憑證問題誤認為節點本身的問題。
五、檢查 iPhone 系統時間與自動重新連線
TLS 憑證包含生效與到期時間,部分協定的驗證也與時間有關。裝置時鐘明顯不準時,即使網路與密碼正確,仍可能連線失敗。只調整顯示時區不等於校正實際時鐘;請確認系統日期與時間正確,再重新建立連線。
- 開啟 iPhone 的「設定 → 一般 → 日期與時間」,檢查「自動設定」,並確認目前日期、時間與時區合理。若裝置管理或其他限制導致無法修改,請先確認限制來源。
- 返回 Shadowrocket → Home,先關閉再重新開啟連線,接著使用原節點與原目標重新測試。調整時間後,不要只查看上一次測試留下的數值。
- 若關閉連線後立即自動重新連線,請檢查 Settings → On Demand。為取得明確的手動測試結果,可暫時停用;測試完成後再依平常使用需求恢復設定。
- 若只有某個節點持續出現憑證有效期限錯誤,而其他現有節點正常,請記下失敗時間與錯誤片段,交由自己的服務商檢查伺服器時間及憑證鏈。
On Demand 會在符合條件時觸發連線,無法修復遠端密碼錯誤、憑證過期或連接埠無法連線等問題。排錯時暫時將它關閉,是為了減少連線狀態自動變化造成的干擾,不代表日常使用時必須停用。
六、常見問題與回報紀錄
有延遲數值,為什麼網頁還是打不開?
先確認 Connectivity Test 使用的方法,再前往 Home → Global Routing 暫時選擇 Proxy,使用待測節點開啟相同目標。即使 TCP 連線成功,協定驗證、TLS 或目標網站存取仍可能失敗。若 Proxy 正常而 Config 失敗,應重新檢查規則與策略。
所有節點都逾時,需要重新購買 App 嗎?
先關閉連線,確認一般網頁是否能開啟,再切換 Wi-Fi 與行動網路測試。用戶端的購買狀態不能取代線路狀態檢查。用戶端一次買斷 ≠ 線路方案;現有訂閱是否有效,請向自己的服務商確認。
訂閱更新成功,為什麼舊節點仍然連不上?
在 Home 核對更新後的項目,並明確選取要測試的節點;確認目前的 Address、Port 與驗證參數符合最新資料。訂閱資源可存取與節點服務可用是兩回事,不要反覆刪除再新增來取代逐項核對。
向自己的服務商回報時,應提供哪些資訊?
提供失敗時間與時區、使用 Wi-Fi 或行動網路、協定類型、測試方法、連續 3 次的結果,以及已遮蔽敏感欄位的錯誤片段。說明切換至另一種網路後是否可用;不要傳送完整訂閱連結、密碼、UUID 或私鑰。
排查完成後,恢復原本的 Global Routing 與 On Demand 設定,並再次確認日常網頁能正常開啟。能穩定重現的單一變因對照,比一張「連線已開啟」的截圖更有助於找出問題。若已確認裝置時間、參數與本地網路皆正常,而同一節點在不同網路下仍持續失敗,請將紀錄交給自己的服務商檢查遠端服務。