Shadowrocket 已連線但無法上網?伺服器、模式、DNS 與規則排查

Shadowrocket 顯示已連線卻無法開啟網頁?依序檢查伺服器狀態、Global Routing 模式、DNS 設定與規則命中,逐步找出問題所在。

本文重點

Shadowrocket(小火箭)的連線開關開啟,只能表示本機 VPN 連線已建立,無法證明所選伺服器、DNS 和目標網站都能正常存取。本文適合已有自己的服務商與訂閱,且能連線但無法正常瀏覽的使用者,依序檢查四個環節;每次只調整一項,再對同一目標發出新請求確認結果。

開始前:分別確認「已連線」與「可正常存取」

系統 VPN 狀態表示裝置已將相關流量交由本機通道處理。遠端伺服器是否接受連線、網域能否解析,以及請求最終採用哪項策略,仍須逐一確認。反覆切換開關無法修正錯誤的伺服器連接埠,也不會改變設定錯誤的規則。

先儲存目前 Config 的副本,記下 Home 中所選的伺服器、Global Routing 目前的值,以及問題發生於 Wi-Fi 或行動網路。測試期間固定使用一個平常會用、已知可正常存取的 HTTPS 網站,避免每一步更換目標而無法比較。

4 個環節
伺服器 → 模式 → DNS → 規則
每次 1 項
每輪只調整一個變數,再發出新請求
443
HTTPS 常用連接埠,不代表伺服器實際使用的連接埠
53
傳統 DNS 常用連接埠,不代表所有 DNS 傳輸方式
  1. 暫時關閉 Shadowrocket 連線,確認目前網路能否存取原本可直接連線的網站。若公共 Wi-Fi 有驗證頁面,請先完成網路驗證。
  2. 若開關會自行重新開啟,請檢查 Settings → On Demand,記下目前設定後暫時關閉 On Demand,避免影響手動比對。
  3. 重新開啟連線,對同一目標發出新請求。測試時先結束目標 App 再重新開啟,減少沿用既有連線造成的誤判。

第一步:確認所選伺服器可正常使用

在 Home 確認目前選取的伺服器,不要只看訂閱群組是否存在。成功匯入訂閱表示設定資料可讀取,不代表其中每部伺服器目前都在線;訂閱更新成功也無法證明帳戶額度、服務狀態和出口連線都正常。

  1. 確認所選項目

    前往 Home,確認選取的是本輪要測試的伺服器。若使用策略群組,也要確認該群組實際選取的成員,避免測試對象與紀錄不一致。

  2. 確認參數

    開啟該伺服器的編輯頁面,依照服務商提供的資料檢查 Type、地址和 Port。Port 必須填入對方提供的值,不能因網站使用 HTTPS 就一律改成 443。

  3. 執行測試

    使用 Home 中的 Connectivity Test 確認連線狀況,再實際開啟目標網頁。測試成功只適用於該測試方式與目標,不能取代實際使用情境中的請求。

  4. 進行比較

    在自己已有的伺服器中更換一項,網路、模式和目標維持不變。若只有其中一項失敗,優先檢查該項參數與服務狀態,不必重寫整份 Config。

協定參數必須與伺服器端一致。例如 Trojan 的密碼與 TLS 主機名稱、VMess 或 VLESS 的識別資訊、傳輸方式和路徑都可能影響交握。不要因一次逾時就任意更換協定,也不要關閉憑證驗證來掩蓋主機名稱或憑證錯誤。

錯誤:Connection timed out

原因與解法:若連線記錄出現這段原文,表示相關操作未能在期限內完成,不能據此判定伺服器已停止或網路路徑遭到阻擋。先確認地址與 Port,再使用相同設定切換 Wi-Fi/行動網路比較,並向自己的服務商確認伺服器狀態。

錯誤:Connection refused

原因與解法:若連線記錄出現這段原文,通常表示目標連接埠主動拒絕連線。先確認記錄中的目標是伺服器還是網站,再檢查相應連接埠與服務監聽狀態;反覆重新連線無法修正錯誤的連接埠設定。

第二步:透過 Global Routing 區分模式與伺服器問題

前往 Home → Global Routing,先記下目前的值。Proxy、Direct、Config、Scene 的用途各不相同;Scene 會依已設定的情境條件決定路由方式,不能只因選了 Scene,就推斷目前請求一定經過哪條路徑。

選項檢查目的如何解讀結果
Proxy暫時確認代理路徑若目標可正常存取,表示本次選用的代理路徑能完成該請求,接著檢查 Config 的分流結果。
Direct比對直接連線路徑若原本可直接連線的目標仍無法存取,也應檢查本機網路與 DNS,不能只歸咎於伺服器。
Config依目前設定的規則處理若只有此模式失敗,請優先檢查目前的 Config、規則順序、策略群組及相關 DNS 設定。
Scene依情境條件處理確認目前網路符合哪個情境及其設定;排查時可先切換到明確的 Proxy 或 Config 進行比較。

切換模式後,重新建立目標 App 的連線再測試。既有長連線可能仍反映切換前的狀態;只重新整理一次頁面也可能讀取快取。Direct 比較應選擇原本可直接連線的目標,不能因某個目標無法直接連線,就認定整個本機網路已中斷。

判斷方式:Proxy 可用時,先保留伺服器參數

在相同伺服器、網路和目標下,若 Proxy 可存取而 Config 無法存取,先回到 Config 檢查實際命中的策略與 DNS 設定,不要同時修改協定、伺服器連接埠和規則。

第三步:分別確認 DNS 解析與解析後的連線

DNS 解析是存取目標前的必要步驟。如果伺服器地址本身也是網域,也必須先解析伺服器地址。因此,DNS 問題可能影響目標網站,也可能導致代理連線根本無法建立。檢查記錄時,先確認解析失敗的是哪個網域。

前往 Config,確認目前使用的設定檔,再檢查其中的 DNS 設定與原始文字中的 [General]。常見設定項 dns-server 用來指定解析器;系統 DNS、自訂傳統 DNS 和加密 DNS 的連線路徑不同,不能只比較地址字串就認定結果相同。

[General]
dns-server = system

以上僅為 DNS 設定片段,並非完整設定檔。若要暫時使用系統 DNS 進行比對,請在備份後的設定檔副本中修改現有的 dns-server 項目,不要重複新增多個同名項目,也不要覆寫原有規則。系統 DNS 依賴目前的網路,不能視為適用所有目標的通用解法。

第四步:確認目前的 Config 與實際命中的規則

確認 Home → Global Routing 已切回 Config,再到 Config 確認目前使用的檔案。編輯了某個副本,不代表該副本已設為目前使用的設定。規則通常依序判斷,較早命中的規則會決定請求策略;排查時應找出實際命中的項目,而不只是搜尋檔案中是否有目標網域。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

此範例只用來說明規則順序:example.com 及其子網域符合 DOMAIN-SUFFIX 後會交由 PROXY 處理,其餘未符合的請求則套用 FINAL,DIRECT。此處的 PROXY 必須對應目前設定中可用的代理策略;若實際使用自訂策略群組,規則結尾應填入已定義的群組名稱。不要直接以此片段取代完整的 Config。

  1. 確認網域範圍:DOMAIN-SUFFIX,example.com,PROXY 不會涵蓋另一個完全不同的資源網域。若網頁主體能開啟,但圖片或登入功能失敗,請查看失敗資源實際使用的主機名稱。
  2. 確認是否提前命中:檢查目標規則之前,是否已有將請求交給 DIRECT 或 REJECT 的規則;將網域規則加在 FINAL 後面,無法達到預期的覆蓋效果。
  3. 確認 IP 規則:GEOIP 與 IP-CIDR 是依 IP 判斷,不能當作網域後綴規則使用。請根據請求的解析結果及設定中的解析選項確認命中情況,不要只憑網站名稱推斷。
  4. 確認策略去向:記錄顯示命中某個策略群組後,還要檢查群組內目前選用的成員。命中正確的群組名稱,不代表群組內所選的伺服器一定可用。

網頁可能同時連線至主站、靜態資源和身分驗證網域。若主文件已載入,頁面卻一直轉圈,請記下失敗的請求及其策略,不要立刻將所有流量改為 Proxy 作為長期處理方式。暫時切換模式有助於找出差異,最終修正應針對實際需要調整的規則。

常見問題:如何判斷接下來該檢查什麼

Connectivity Test 有結果,為什麼網頁還是無法開啟?

測試結果只反映其採用的測試方式與目標。請重新對同一網頁發出請求,分別檢查目標網域解析、實際套用的策略與連線錯誤;尤其要區分伺服器可連線、協定交握成功,以及目標網站可存取這三個階段。

只有 Wi-Fi 無法使用、行動網路正常,應先改什麼?

先維持伺服器、Global Routing 和 Config 不變,只切換網路重新測試。完成 Wi-Fi 驗證,並檢查該網路的 DNS 與 IPv6 狀況;若同一部伺服器只在某個網路上失敗,應先調查該網路路徑,而不是重建訂閱。

更新訂閱後還是無法上網,需要繼續重新整理嗎?

先在 Home 確認更新後實際選取的項目,再比對服務商提供的參數與帳戶狀態。重新整理只能取得設定資料,無法恢復已停用的服務,也不會自動修正本機 Config 中不適用的分流規則。

關閉開關後又自行開啟,如何完成比對?

前往 Settings → On Demand,記下目前設定後暫時關閉 On Demand,再手動控制連線。排查完成後恢復原設定,並分別在常用的 Wi-Fi 與行動網路下檢查自動連線行為。

最後:保存可重現的紀錄,再恢復日常設定

排查完成後,恢復所需的 Global Routing 與 On Demand 設定,並確認目前使用的是修正後的 Config。一次成功存取不代表所有 App 都正常;至少重新測試原先無法開啟的網頁、頁面中的重要資源,以及另一項日常 App 請求。

更多設定操作請參閱使用教學;若要逐項了解各項設定,可閱讀設定詳解。用戶端購買與使用者已有的線路服務分別管理,買斷用戶端不等於購買線路方案。

App Store 正版下載與核對