官方手冊 · 入門操作

Shadowrocket 使用步驟

先匯入現有資料,再選擇路由方式;連線後分別檢查伺服器、實際連線與規則。

iPhone / iPad 已有訂閱或伺服器資料 五步完成首次檢查
步驟 01 · 先準備可用項目

Add Server 與匯入訂閱

開啟 Shadowrocket,先進入 Home。匯入的目的是讓自己的伺服器資料出現在清單中,而不是立刻開啟連線。先確認手邊資料的類型:訂閱連結通常用來取得一組伺服器項目;單一伺服器資料則包含協定、位址、連接埠與驗證資訊。兩種方式擇一即可,不必為了完成教學而重複新增相同資料。

已有訂閱連結:使用 Subscribe

在 Home 點選右上角的新增按鈕,進入 Add Server,在 Type 中選擇 Subscribe,並將自己的完整訂閱網址填入 URL。可加上用途備註,方便日後辨識,接著儲存並返回 Home。貼上前後請確認網址完整,尤其留意末尾是否缺少參數、前後是否多了空格,或不小心連同網頁標題或說明文字一起複製。

儲存後查看訂閱群組及其中的伺服器項目。訂閱需要取得並解析遠端內容,因此「已顯示訂閱名稱」和「已產生伺服器清單」是兩種不同結果。如果只有群組、沒有項目,先使用該訂閱項目提供的更新功能,等目前要求完成後再查看清單。不要連續重複新增相同網址;這只會產生難以辨識的群組,無法解決網址失效或回傳內容不符預期的問題。

訂閱網址可能包含個人存取憑證,請妥善保管。需要確認內容時,優先向自己的服務供應商確認網址是否仍有效、是否適用於 Shadowrocket,以及是否有其他使用條件。不要將完整網址貼到公開留言、截圖說明或排查紀錄中;記錄問題時只需保留錯誤提示與發生位置。

已有單一伺服器:確認 Type 與參數

如果拿到的是單一伺服器資料,同樣從 Add Server 開始,但 Type 應選擇資料指定的協定,例如 Shadowsocks、VMess、VLESS 或 Trojan。依頁面欄位填寫位址、連接埠與相應的驗證資訊。不同協定所需欄位不盡相同,不要將某個協定的密碼、UUID 或傳輸參數照搬到另一種協定的表單。

遇到 TLS、Server Name 或其他傳輸設定時,請以現有資料為準,不要只憑伺服器位址猜測。位址可能是網域名稱或 IP;連接埠是獨立欄位,不要把整段說明文字貼進去。完成後儲存,返回 Home 並選取要使用的項目。此時只需確認項目存在,且內容與原始資料一致;能否連線留待後續驗證。

步驟 02 · 確認請求處理方式

選擇 Global Routing 模式

選好伺服器後,在 Home 找到並開啟 Global Routing。這裡決定請求整體採用哪種處理方式,並非伺服器清單的另一種名稱。初次使用時常見的誤解,是以為選取伺服器後,所有請求都會經由該伺服器處理;實際行為還取決於此處選擇的模式,以及 Config 中啟用的規則。

設定檔 (Config):依啟用的規則處理

選擇設定檔 (Config) 時,系統會依目前設定檔中的規則決定使用哪種策略。接著前往 Config 頁面,確認目前啟用的設定檔,再檢查其中的規則與策略引用。匯入伺服器不代表已匯入或啟用相應設定檔;訂閱用來提供伺服器項目,設定檔則描述規則與其他設定,兩者應分開確認。

如果已有自己確認過的設定檔,日常初次使用時可先啟用,再選擇 Config。規則通常依設定檔中的順序比對,較寬泛的前置規則可能先於後續的具體規則生效;未命中規則的請求如何處理,還要看最後的規則。不要只因為檔案中有 DOMAIN-SUFFIX,就認定實際請求一定命中該規則。完整的規則關鍵字說明請參閱術語表;此處先確認啟用的設定檔符合預期。

代理 (Proxy):用於整體代理與對照測試

選擇代理 (Proxy) 時,請求會依此模式透過所選代理處理,而不是依 Config 中的個別規則分流。排查時可將它作為明確的對照條件:如果同一台伺服器在 Proxy 下可用,但在 Config 下無法存取某個目標,應優先檢查規則比對、策略引用與相關設定,不要立刻判定伺服器失效。

這種對照只用來縮小問題範圍,不代表 Proxy 一定比 Config 更適合日常使用。切換後會改變請求處理方式,測試完成後請恢復為自己需要的模式。存取結果也可能受網域解析、目標服務本身及 App 快取影響,因此應搭配其他檢查結果一併判斷。

直連 (Direct):直接存取請求

選擇直連 (Direct) 時,請求會直接存取目標。即使 Home 中仍選取某台伺服器,也不代表這些請求正由該伺服器處理。Direct 可用來確認基本網路是否正常,但直接存取成功,只能表示目前網路環境可連線至該目標,無法證明代理連線或規則分流已生效。

完成本步後,請記住目前的選擇。後續驗證都應在確認模式的情況下進行;如果排查時曾暫時切換,請先記下原本的選項,避免測試結束後誤將臨時設定當成日常設定繼續使用。

步驟 03 · 完成系統授權

開啟連線開關

返回 Home,依序確認選取的伺服器、Global Routing 模式,以及使用 Config 時已啟用的設定檔。確認後再開啟主要連線開關。切換設定檔、訂閱仍在更新或參數尚未儲存時,不要反覆開關連線,否則很難判斷目前測試使用的是哪一組設定。

首次連線時,系統可能會提示新增 VPN 設定。這是 Shadowrocket 使用系統網路處理功能所需的授權步驟,不代表 App 已自動取得可用的連線服務。閱讀提示後,若確認要繼續,請依系統指示允許並完成裝置要求的認證;接著返回 Shadowrocket,檢查開關與 App 顯示的連線狀態。

如果當時取消授權,請返回 App 再次發起連線,並依實際顯示的提示操作。如果裝置受到管理或系統設定限制,應先確認相關限制,不要反覆點選來取代確認程序。系統設定中的 VPN 項目名稱與位置可能隨介面版本而異,請以裝置目前顯示為準;不必為了本教學修改與這次連線無關的設定。

建立連線後,系統可能會顯示 VPN 標記。這表示系統網路連線狀態,不等於遠端伺服器已通過實際存取測試,也不代表每個請求都經由代理處理。尤其使用 Config 或 Direct 時,僅看到 VPN 標記不能證明分流正確。接下來請保留目前設定並進入驗證步驟,不要只因為「開關已開啟」就結束檢查。

步驟 04 · 分三個層面確認結果

驗證連線與規則

驗證時應分成三個問題:伺服器是否能通過測試、所需服務是否正常運作,以及請求是否依預期策略處理。三者彼此相關,卻不能互相取代。依照以下順序檢查,可避免將基本網路、目標服務與規則問題混為一談。

先執行 Connectivity Test

在 Home 使用 Connectivity Test,查看目前選取伺服器的測試結果。這有助於初步判斷測試路徑是否可連線,但測試使用的目標與方式,不等同於所有 App 的實際業務請求。測試成功不保證每個網站或 App 都能使用;測試失敗時,也需搭配測試方式、目前網路與伺服器資料進一步檢查。

記錄結果時,只需註明成功、失敗或顯示的錯誤,不必單憑測試耗時判斷服務品質。如果所有項目都失敗,先確認裝置的基本網路能正常存取,再檢查訂閱與連線參數;如果只有一個項目失敗,則優先確認該項目的參數與對應伺服器狀態。

接著檢查實際存取情況

保持連線開啟,使用瀏覽器存取自己確實需要的服務,確認頁面是否能完整載入並完成必要操作。盡量重新發出請求,不要只查看先前已開啟的頁面,因為快取可能讓畫面看似正常,實際上並未產生新的網路請求。如果只有某個 App 無法使用,也要確認是否為該 App 本身的登入、權限或服務狀態問題。

如需比較前後結果,請使用同一台裝置、同一個網路與同一個目標,每次只變更連線狀態或路由模式其中一項。若同時切換網路、伺服器又修改規則,對照結果便失去意義。存取成功後,也要確認流量分流符合預期;頁面能開啟只代表服務可用,並不能完整證明策略已命中。

最後確認 Data 與比對策略

前往 Data 查看目前可見的請求資訊,依據請求目標、時間與策略判斷這次存取的處理路徑。顯示內容以 App 目前提供的紀錄為準。先找到剛才發出的請求,再對照 Config 中的規則;若找不到相應紀錄,先確認是否真的重新發出請求,不要立刻修改規則。

預期使用 DIRECT 的目標,應確認實際採用了相應策略;預期使用 PROXY 的目標,則應搭配目前的伺服器與策略引用進行確認。REJECT 表示拒絕符合條件的請求,不保證 App 中所有類似內容都會消失。如果規則影響正常功能,請先找出特定請求與命中項目,再盡量小幅調整,不要直接刪除整份設定檔。

請求紀錄可能包含網域等個人使用資訊。保存排查資料時,只保留定位問題所需的內容;分享前請移除個人憑證與無關請求。完成這三層檢查後,理想結果是:實際服務可用、路由模式符合目的,且代表性請求採用預期策略。

步驟 05 · 依失敗環節逐一回查

常見問題排查

遇到問題時,先停留在出錯的環節,不要一開始就刪除所有資料。以下依操作順序列出檢查方式。每次只變更一項並重新測試,同時保留上一次可用的設定,才能確認是哪項變更影響結果。

訂閱已儲存,但清單是空的

返回訂閱項目檢查 URL 是否完整,並確認該網址指向訂閱內容,而非需要登入的說明頁面。接著更新一次並記下 App 的提示。如果回傳的是網頁、存取錯誤或不符合預期的內容,便可能無法產生清單。此時應向自己的服務供應商確認網址是否有效及回傳格式,不要任意將 Subscribe 改成某種伺服器協定。

更新失敗與原有項目消失是不同情況。如果原有項目仍在,請先保留並記錄失敗時間;不要為了重試就立刻清空所有內容。訂閱內容變更後,也要重新確認目前選取的項目是否仍符合需求,不要只因群組名稱沒變就認為一切如常。

有伺服器項目,但測試失敗

先確認裝置目前的網路正常,再檢查 Type、位址、連接埠與驗證欄位是否符合自己的原始資料。如果資料要求特定 TLS 或傳輸參數,也請逐項確認。不要反覆切換所有開關碰運氣,這會讓原本明確的參數錯誤變成多個未知因素。

如果其他現有項目可用,可選其中一個作為對照;如果同一項目只在特定網路下失敗,請記錄網路環境與錯誤提示,再確認是否有網路限制或解析差異。Connectivity Test 的單次結果只能作為線索,最終仍須搭配實際服務存取情況判斷。

連線已開啟,但無法存取目標

先確認系統授權已完成,且 App 沒有立即中斷連線;接著確認 Global Routing 是否仍處於測試所需的模式。如果是 Direct,選取了伺服器不代表請求會經由它處理;如果是 Config,請檢查目前啟用的設定檔,而不是只開啟同名檔案查看內容。必要時可暫時使用 Proxy 對照,測試後恢復原本選項。

如果 Proxy 可用、Config 不可用,請優先檢查規則順序、策略引用及與該目標相關的設定。如果兩者都無法使用,再檢查伺服器、基本網路與目標服務本身。不要只憑 VPN 標記就排除這些因素。

更新後行為改變,或中斷後仍有變化

訂閱更新可能變更伺服器項目,設定檔更新則可能變更規則,請分別記錄。先確認實際更新的是哪一項,再檢查目前選取內容是否與先前一致。手動中斷後若又重新連線,請檢查 On Demand 是否已啟用及其觸發條件;如果只是頁面顯示沒有變化,請重新發出請求並留意快取,不要把舊頁面內容當成新的連線結果。

準備繼續排查時,整理以下四項資訊即可:問題發生在哪個步驟、目前的 Global Routing 模式、是否只影響特定目標,以及剛才唯一變更的項目。請勿附上完整訂閱網址、密碼或其他驗證資料。購買、商店地區與已購項目還原問題,請參閱App Store 取得指南;協定與規則關鍵字的詳細說明,請參閱術語表。首次連線不必一次調整所有設定。