Shadowrocket(小火箭)顯示已連線,卻無法開啟 ChatGPT,未必代表整條 VPN 隧道都故障。問題可能出在 Global Routing、目前使用的設定檔規則、DNS 解析、所選伺服器,或 ChatGPT 網頁與 App 各自使用的網域。以下以你已有自己的連線設定為前提,逐步縮小範圍;每次只變更一項,再用同一種網路和同一個測試方式確認結果。
本文整理 ChatGPT 網頁或 App 無法連線時的排查順序:先核對 iPhone 的 VPN 狀態,再確認 Global Routing 與規則命中,接著檢查 DNS、網頁和 App 的差異,最後使用自己已有的其他伺服器項目作對照。這些步驟用來定位故障,不保證特定網站或服務一定可用。
一、先確認 VPN 狀態,再判斷故障範圍
Home 顯示 Connected,只表示 Shadowrocket 的 VPN 連線狀態已啟動,不能單憑這個標示判斷 ChatGPT 的網頁請求已成功送達。先確認 iPhone 本身能正常上網,再記下目前使用 Wi-Fi 或行動網路、Home 的連線狀態,以及 ChatGPT 出現的具體錯誤。若是在 Wi-Fi 上測試,還要留意該網路是否需要先完成登入或認證。
你也可以在 iPhone 的 Settings 中查看 VPN 狀態;系統選單名稱或位置可能隨 iOS 版本和裝置設定而異。若 Home 顯示 Not Connected,先處理連線開關、系統 VPN 授權或目前選取的伺服器項目,暫時不要修改 ChatGPT 的規則。若 Home 顯示 Connected,才繼續檢查流量實際採用的路由方式。
在 Home → Global Routing 查看目前選項。若預期依設定檔分流,應確認目前使用的是 Config,並確認 Config 中已選取正確的設定檔。若目前是 Direct,流量會依直連方式處理;若是 Proxy,則可用來暫時觀察代理路徑下的連線狀況,但它不會代替檢查設定檔規則。使用 Scene 時,也要確認目前場景所採用的路由設定。
依目前啟用的設定檔和規則分流。適合用來驗證日常設定是否正確處理 ChatGPT 請求。
適合:檢查規則命中與一般使用設定
作為暫時的對照方式,觀察不依一般規則分流時的連線結果。測試完請記下原設定並切回。
適合:區分設定檔規則與其他連線問題
以直連方式檢查流量。若你原本預期使用代理,Direct 的結果不能用來證明代理路徑正常。
適合:確認目前是否意外設為直連
如果同一網路、同一個伺服器項目下,暫時使用 Proxy 可以開啟,而 Config 不行,應優先檢查設定檔和規則,不必先改 DNS 或重建所有連線資料。這只是定位方法,測試結束後請恢復原本的 Global Routing 設定。
二、檢查 ChatGPT 網域是否命中預期規則
在 Config 模式下,規則依設定順序處理請求;較早命中的規則可能先決定使用 PROXY、DIRECT 或其他策略。若 ChatGPT 網域先命中一條你不預期的規則,後面新增的規則可能不會生效。請先查看目前實際啟用的設定檔,而不是只在另一份未使用的設定檔裡修改。
ChatGPT 網頁與 App 不一定只連線到網址列看到的單一網域。登入、API、頁面內容及其他資源可能涉及不同主機名稱;不同功能或服務端調整也可能改變實際請求。因此,單獨替一個網域增加規則,不一定涵蓋整個使用流程。排查時可在 Shadowrocket 的連線記錄中查看失敗時間附近的請求與匹配結果;若無法確認某項記錄對應哪個功能,先保留原設定,不要把未知網域一律改成同一策略。
規則檢查
- 使用模式
Home → Global Routing → Config- 啟用檔案
- 確認 Config 中目前選取的設定檔
- 規則位置
- 檢查相關網域規則是否排在較廣泛規則之前
- 策略欄位
- 核對命中後的
PROXY或DIRECT
修改前保留原始設定;不要把示例網域當成完整的 ChatGPT 網域清單。
結果記錄
- 測試時間
- 記下每次重試的大約時間
- 測試對象
- 分別記錄網頁或 App,不混為同一項結果
- 匹配結果
- 查看請求所屬網域與採用的策略
- 比較條件
- 保持網路與伺服器項目不變
記錄能幫助區分規則、解析和連線階段,避免只憑錯誤畫面猜原因。
如果你要測試一條特定網域規則,應以記錄中實際出現的主機名稱為依據,再按照原設定檔的語法新增或調整規則。不要把完整 URL、路徑或查詢參數放進網域欄位,也不要為了快速測試而刪除大量既有規則。改動完成後,確認正在使用的設定檔已儲存並生效,再以同一個 ChatGPT 頁面或 App 操作重試。
三、按順序測試規則、DNS 與替代伺服器
以下流程適合 Home 已顯示 Connected,但 ChatGPT 仍無法開啟的情況。每一步都先記錄原本狀態;一旦結果改變,就先停下來判斷是哪項變數造成差異。測試結束後,恢復不需要保留的暫時設定。
- 固定測試條件:記下 Wi-Fi 或行動網路、Global Routing 模式、目前選取的伺服器項目,以及失敗的是 ChatGPT 網頁、App 或兩者。選擇一個可以重複的操作,例如重新載入同一個網頁。
- 確認路由模式:若日常使用
Config,先在目前設定檔下重試,再查看相關請求的規則匹配結果。只有在需要比較時,才暫時切到Proxy測一次,之後切回原設定。 - 比較網頁與 App:使用 Safari 開啟 ChatGPT 網頁,再單獨測試 ChatGPT App。若只有其中一個失敗,記下差異;兩者可能使用不同的請求網域或本機資料,不能直接推定為同一個故障。
- 檢查 DNS:查看 Shadowrocket 的 Settings → DNS,以及目前設定檔是否有相關的 DNS 參數或
[Host]對應。先記下原值,不要同時更換多個解析設定。若解析結果異常,可在保留原設定的前提下,一次只比較一種方式。 - 更換既有項目:若你已有其他自己的伺服器項目,可一次選取另一項並重試相同網址或 App 操作。記錄結果後再決定是否切回;不要只看 Home 顯示的延遲數字來判斷 ChatGPT 是否可用。
- 測試另一種網路:在可行時,分別使用 Wi-Fi 和行動網路重試,並保持其他設定不變。若只有一種網路失敗,應將調查重點放在該網路環境、認證或 DNS 差異。
判斷方式:用「同條件、單變數」找出差異
若切換到另一個自己已有的伺服器項目後,原測試立即恢復,應比較兩項設定與連線結果;若所有項目都一樣失敗,則繼續檢查規則、DNS、網路環境或 ChatGPT 服務端狀態。單次成功或失敗都不能保證之後的結果相同。
DNS 解析成功不等於目標服務一定可連線;反過來,Home 中的 Connectivity Test 有回應,也不代表 ChatGPT 使用的每個網域都能解析並完成連線。若要比較 DNS,應沿用同一個網頁或 App 操作,並記錄哪個設定生效、結果是否改變。避免同時更換 DNS、Global Routing 和伺服器項目,否則即使故障消失,也難以知道真正原因。
四、依錯誤訊息判斷下一步
錯誤訊息只能提供線索,不一定能單獨定位故障。請把錯誤發生時間與 Shadowrocket 連線記錄對照;若錯誤只出現在一個網頁或 App,也要與另一種存取方式比較。下列訊息是常見例子,實際用語可能隨瀏覽器、系統或服務端而不同。
ERR_NAME_NOT_RESOLVED
可能原因與處理:目標網域沒有取得可用解析結果。檢查 Settings → DNS、目前設定檔中的 DNS 參數,以及是否存在過期的 [Host] 對應;一次只比較一項設定。
ERR_CONNECTION_TIMED_OUT
可能原因與處理:連線未在等待時間內完成,可能與路由、伺服器項目、網路限制或目標端狀態有關。先核對請求命中的策略,再以相同網路測試另一個自己已有的項目。
403 Forbidden
可能原因與處理:某個 HTTP 服務已回應拒絕請求,這不等同 DNS 解析失敗。記錄出錯的是登入、載入頁面還是 App 操作,並確認使用方式與帳戶狀態;不要只靠更換 DNS 處理。
常見問題
小火箭顯示 Connected,為什麼 ChatGPT 還是打不開?
Connected 只表示 VPN 連線已啟動,不代表 ChatGPT 請求必定走到預期路徑。先確認 Home → Global Routing,再檢查設定檔、DNS 和實際請求記錄。
ChatGPT 網頁可以用,App 卻連不上,該檢查什麼?
分開測試並記錄時間,查看 App 操作期間出現的相關網域與匹配策略。網頁和 App 的請求可能不同;先不要直接複製一條網域規則,就假設兩者都會使用。
需要把所有 ChatGPT 網域都加進規則嗎?
不建議憑猜測建立一長串規則。先從實際連線記錄確認請求網域及命中結果,再依目前設定檔的格式調整必要項目,並將精確規則放在較廣泛規則之前。
換了伺服器項目還是無法連線,接下來怎麼做?
恢復原本的路由與 DNS 設定,分別測試 Wi-Fi 和行動網路,並記錄網頁與 App 的錯誤差異。如果所有測試都失敗,請檢查你的連線設定來源及服務狀態;不要只以延遲測試判定原因。
排查完成後,請確認 Global Routing、DNS 和伺服器選取狀態已恢復為你預期的日常設定。若仍無法判斷問題落在設定檔、網路或服務端,保留錯誤訊息、測試時間、使用的網路類型與規則匹配結果,再向你自己的連線設定來源或相關服務支援查詢。Shadowrocket App 僅透過 App Store 取得;App 購買與連線服務是不同項目。