本文適用於已在 Shadowrocket(小火箭)中匯入自己的服務商設定,但遇到節點逾時或網頁無法載入的使用者。請依序排查基礎網路、測試方式、協定參數、系統時間及規則路徑,每次只變更一項條件,區分伺服器無法連線、驗證失敗與請求未依預期策略處理;訂閱連結請向自己的服務商索取。
一、區分節點逾時、連線失敗與網頁逾時
「逾時」只表示某項操作未能在等待時間內完成,不能直接據此判定密碼錯誤或伺服器離線。Home 中的延遲測試、建立代理協定連線,以及透過代理開啟網頁,是三種不同的檢查。VPN 顯示已連線,也只代表系統通道處於連線狀態,無法證明遠端伺服器已完成驗證。
先記下失敗發生在哪個環節,再決定要檢查哪一組參數。以下說明如何判讀結果,並非對特定節點的實測結論;延遲數值也不能單獨證明服務可用。
| 觀察到的現象 | 可能代表什麼 | 下一步 |
|---|---|---|
| TCP 測試有數值,但網頁仍無法開啟 | 測試連接埠可能可連線,但不代表協定驗證或 TLS 已成功 | 檢查 Type、密碼、TLS 與 SNI |
| ICMP 測試逾時,但網頁實際可用 | 伺服器或網路路徑可能未回應 ICMP | 改用 TCP 或實際請求交叉驗證 |
| 所有節點只在同一個 Wi-Fi 網路逾時 | 問題可能與該網路的出口、驗證或傳輸限制有關 | 完成網路驗證後,再與行動網路結果比較 |
| 只有一個網站無法開啟 | 需另外檢查目標網站、DNS 或該網站命中的規則 | 查看請求記錄中的策略與錯誤 |
二、從 Home 建立可重複的測試條件
一開始不要刪除所有設定。先記下目前選取的節點、Global Routing 的模式及正在使用的網路;變更前保留原設定,以便還原。測試期間固定使用同一個節點和目標頁面,每種條件重複測試三次;記錄成功次數,比只看單次延遲更有參考價值。
-
檢查基礎網路
在 Home 關閉連線開關,確認 iPhone 的 Wi-Fi 或行動網路能正常開啟已知可用的網站。若公共 Wi-Fi 需要登入驗證,請先完成驗證,再測試代理連線。
-
固定測試節點
返回 Home,選取一個自己已有的節點。透過節點編輯入口核對伺服器位址與連接埠;不要同時更新訂閱、切換節點及修改 DNS,否則難以判斷是哪項變更造成影響。
-
確認測試方式
前往 Settings → Connectivity Test,確認目前的測試方式。使用 TCP 測試時,確認測試對象是該節點實際使用的連接埠;接著返回 Home 執行測試,並記錄使用的方式與結果。
-
驗證實際請求
在 Home → Global Routing 暫時選取 Proxy,開啟連線開關,再前往固定的目標頁面。測試完成後,還原原本的模式。Proxy 可減少規則分流造成的影響,但無法修正錯誤的節點參數。
-
切換網路重新測試
保持節點和參數不變,分別透過 Wi-Fi 與行動網路重複測試。若能穩定重現差異,記下網路類型與發生時間;若只在一種網路失敗,優先檢查該網路,不要立即修改所有協定欄位。
結論:先確認是否在不同網路都會失敗
同一節點只在一種網路逾時時,先保留設定並檢查網路路徑;兩種網路都失敗時,再檢查連接埠、驗證資訊及服務商端的狀態,避免將局部網路問題誤認為所有設定都已失效。
三、依 Type 檢查連接埠、密碼、TLS 與 SNI
在 Home 開啟相應節點的編輯頁面,逐項比對欄位與服務商提供的設定。伺服器位址、連接埠及驗證欄位必須來自同一份設定。連接埠 443 不代表「一定使用 TLS」,連接埠 8443 也不代表設定錯誤;是否啟用 TLS 及使用何種傳輸方式,應以服務商提供的參數為準。
| 協定或欄位 | 檢查重點 | 常見誤判 |
|---|---|---|
| Shadowsocks | 伺服器、連接埠、加密方式與密碼 | 只因連接埠可連線,就認定密碼正確 |
| VMess / VLESS | UUID、伺服器要求的傳輸參數及 TLS 設定 | 複製 UUID 後,漏掉 Host、Path 或其他必要參數 |
| Trojan | 密碼、TLS 及服務商指定的 SNI | 將連線位址直接填入所有網域欄位 |
| Hysteria2 | UDP 路徑、驗證資訊、TLS 及混淆參數(如有) | 以 TCP 連接埠測試代替 UDP 協定可用性判斷 |
| WireGuard | PrivateKey、PublicKey、Endpoint、Address 與路由範圍 | 將握手失敗歸因於 TLS 或 SNI |
TLS 的 SNI 用來在握手時指定伺服器名稱,憑證驗證也必須符合相應身分。連線位址可能是 IP,而 SNI 是服務商指定的網域,兩者不一定相同。WebSocket 的 Host 與 Path 則是不同欄位,不能當作 SNI 的替代值。
- 確認密碼或 UUID 前後沒有多出空格、換行或全形符號;優先重新複製原始值,不要只憑外觀逐字猜測。
- 確認訂閱更新後,正在編輯和測試的是同一個節點,避免混用舊節點與新參數。
- 需要驗證憑證時,不要把關閉驗證當成一般修復方式。請檢查 SNI、憑證有效期限及系統時間;伺服器端憑證問題應由服務商處理。
- WireGuard 與使用 TLS 的協定,排查方式不同;不使用 TLS 的協定,不要硬套 SNI 設定。
四、依錯誤原文縮小排查範圍
如果連線記錄或日誌出現以下錯誤片段,可依相應方向繼續檢查。不同協定與系統可能顯示不同措辭,請保留完整錯誤原文及發生時間,不要把表面相似的錯誤一概歸為「節點逾時」。提交記錄給服務商前,請遮蔽訂閱憑證、密碼、UUID 與私鑰。
錯誤:Connection timed out
原因與處理方式:連線未能在等待時間內完成,可能與路徑封包遺失、連接埠遭封鎖或伺服器無回應有關;先固定節點並切換網路重新測試,再向自己的服務商確認伺服器與連接埠狀態。
錯誤:Connection refused
原因與處理方式:連線遭到主動拒絕,常見原因是連接埠沒有在監聽,或裝置主動拒絕連線;請確認連接埠是否仍有效,不要靠一再延長等待時間來處理。
錯誤:No route to host
原因與處理方式:目前的網路路徑無法到達目標位址,可能與網路路由或位址類型有關;先確認本機網路正常,再比較 Wi-Fi 與行動網路的結果。
錯誤:certificate has expired
原因與處理方式:系統依裝置目前時間判定憑證已過期;先校準系統日期與時間,若時間正確但問題仍會重現,請服務商檢查憑證有效期限。
錯誤記錄也有先後順序。例如,網域解析失敗會發生在連線至伺服器之前,此時修改密碼通常沒有幫助;TLS 握手失敗則表示底層連線已建立,應優先檢查 TLS、SNI 與憑證,而非任意將連接埠改成 443。
五、檢查 iPhone 系統時間與自動重新連線
系統時間明顯不準,會影響 TLS 憑證有效期限的判定,也可能影響需要時間驗證的協定驗證。網頁上顯示的日期正常,不能取代系統設定檢查;曾手動調整日期、長時間離線或剛還原裝置後,尤其要確認這項設定。
- 開啟 iPhone 系統「設定」→「一般」→「日期與時間」,啟用「自動設定」,並確認目前日期與時間正確。若此選項受到裝置管理限制,請先確認限制來源。
- 返回 Shadowrocket,在 Home 關閉連線開關,再重新連線並測試,讓新連線使用校準後的時間。
- 若手動中斷連線後又自動連線,前往 Settings → On Demand,記下原設定後暫時關閉 On Demand,再進行基礎網路測試。
- 排查完成後,還原需要的 On Demand 設定。On Demand 會依條件建立連線,但不會修復伺服器密碼、憑證或連接埠問題。
六、節點測試正常後,檢查分流與訂閱
節點能建立連線但網頁仍無法開啟時,請檢查 Home → Global Routing。Proxy 會將可透過代理處理的請求交由選取的代理路徑;Direct 使用直連;Config 依目前設定的規則分流;Scene 則使用相應場景設定。平常使用 Config 的話,可先暫時切換至 Proxy 比較結果,再切回 Config 檢查命中的規則。
在 Config 中檢查實際使用的設定,而不只是剛匯入的檔案。規則會依序比對,DOMAIN-SUFFIX 比對網域後綴,IP-CIDR 比對位址網段,GEOIP 依 IP 地理資料庫比對,FINAL 則處理未符合前面規則的請求。前面的 DIRECT 或 REJECT 規則可能讓請求完全沒有經過目前的節點。
- Proxy 可用、Config 失敗:查看失敗請求實際命中的規則與策略,特別檢查前置的 DIRECT、REJECT,以及 FINAL 指向的策略;不要直接刪除整份規則。
- 只有網域無法連線:檢查 DNS 解析是否出錯,以及目標網域是否命中預期規則。不要只用 HTTPS 網站的 IP 位址取代網域測試,否則憑證身分可能不符。
- 節點列表仍是舊內容:返回 Home 更新相應訂閱,確認更新成功後重新選取節點。訂閱更新成功只代表已取得設定,不代表每台伺服器都能使用。
- 訂閱也無法更新:先分辨是無法取得連結,還是節點連線失敗。訂閱可能有獨立的有效期限及存取條件,請向自己的服務商索取有效連結,並確認帳戶狀態。
延遲只有幾十毫秒,為什麼網頁還是打不開?
延遲只代表特定測試的結果,不能證明驗證、TLS 及目標網站連線都成功。先在 Home → Global Routing 暫時選取 Proxy,測試實際請求,再檢查節點參數;如果只有 Config 失敗,請改查規則。
所有節點都逾時,需要全部重新匯入嗎?
先不要一次刪除全部設定。關閉連線並確認基礎網路正常,檢查 Settings → On Demand 是否影響中斷連線的狀態,再使用同一節點切換網路重新測試。只有確認設定已過期或內容錯誤時,才更新自己的訂閱。
Wi-Fi 可用,但行動網路逾時怎麼辦?
保持節點、Global Routing 模式及目標頁面相同,重複測試三次並記錄結果。確認系統是否允許 App 使用行動數據;如果只有 UDP 協定失敗,請將網路類型與協定資訊提供給自己的服務商,確認是否有路徑限制。
校準時間後仍顯示憑證過期,該怎麼辦?
重新建立連線後,保留完整的憑證錯誤訊息,並檢查服務商指定的 SNI。系統時間正確但錯誤仍持續時,請服務商檢查憑證及憑證鏈;不要以略過憑證驗證取代問題處理。
七、整理可重現的記錄,再聯絡服務商
完成上述檢查後,向自己的服務商提供一組可重現的資訊,比只傳送「逾時」截圖更有幫助。記錄應能區分網路故障、參數錯誤與規則問題,同時避免洩露驗證資訊。
- 發生時間、時區、iPhone 系統時間是否已自動校準,以及使用 Wi-Fi 或行動網路。
- 節點的協定類型、連接埠、測試方式及三次測試的成功次數;不要傳送密碼、完整訂閱連結或 PrivateKey。
- Global Routing 的模式、Proxy 與 Config 是否有不同結果,以及問題是否只影響特定目標網站。
- 錯誤原文、失敗環節及已嘗試的單項變更;並說明切換網路後能否重現。
購買用戶端與服務商提供的連線服務是兩回事。Shadowrocket 是閉源商業 App,透過 App Store 一次買斷取得;買斷用戶端 ≠ 購買線路方案。App 主要適用於 iPhone、iPad;Mac、Apple TV、Apple Vision 的相容性及系統需求,請以 App Store 頁面標示為準。重新安裝 App 通常無法解決遠端連接埠、驗證資訊或憑證問題,應先完成排查並保留原設定。