官方手冊 / 入門指南

Shadowrocket 使用教學

匯入既有訂閱、選擇 Global Routing 並驗證連線。先完成一次可核對的連線,再調整規則與自動連線設定。

操作流程為「添加 → 選擇模式 → 連線 → 驗證 → 排除故障」。官方截圖可用來辨認欄位與入口,實際介面可能因裝置與 App 調整而略有不同,請依英文介面文字定位,勿照抄截圖中的任何連線資料。

01 / Add Server · Subscribe

添加伺服器與匯入既有訂閱

先確認手上的資料是訂閱連結,還是一組伺服器參數。兩種資料的填寫方式不同。

開啟 Shadowrocket,停留在 Home,找到 SERVER 分組與 Add Server 入口。已有訂閱連結時,先向原有服務供應商複製完整連結,再點選 Add Server,於 Type 選擇 Subscribe,返回添加頁面後將連結填入相應的 URL 欄位。確認連結開頭、路徑及結尾參數完整後再儲存。訂閱連結通常包含認證資料,屬於個人連線資料,請勿貼到公開留言或截圖中。

儲存訂閱後等待載入,再返回 Home 查看 SERVER 中是否出現訂閱分組及伺服器項目。如果只有訂閱名稱、沒有可選項目,先檢查匯入或更新時的錯誤訊息,不要立即開啟連線開關。清單空白可能是連結不完整、訂閱已失效、目前網路無法讀取訂閱,或回傳內容不符合要求。重複添加相同連結通常只會增加重複分組,無法解決原本的讀取問題。

手動填寫 Add Server

如果手上的是伺服器位址、連接埠與認證參數,請在 Add Server 的 Type 選擇資料指定的協定,而非 Subscribe。接著逐項核對 Host、Port 以及該協定要求的欄位。以 Shadowsocks 為例,需核對 Password 和 Method;其他協定可能會顯示不同的認證或傳輸設定。欄位沒有一組通用預設答案,請勿將某種協定的密碼、加密方式或傳輸選項直接套用到另一種協定。

Host 應填入伺服器資料指定的位址,Port 應與資料中的連接埠一致。複製時特別留意前後空格、換行與全形標點;密碼大小寫及特殊字元也須保持原樣。資料若提及 TLS、伺服器名稱或額外傳輸參數,應一併核對對應選項,不能只填位址和連接埠就視為完成。暫時無法確認的欄位,請先向原資料來源確認,避免不斷切換選項碰運氣。

如果已有可供匯入的 QR Code,可以使用 Scan QR Code;只有在資料明確提供相容的 Cloud JSON 時,才使用 Import from Cloud JSON。儲存完成後返回 Home,在 SERVER 中點選準備使用的伺服器,確認選取標記顯示在該項目上。出現訂閱分組不代表已選定伺服器;看見項目只表示添加完成,下一步還要決定連線時採用哪種 Global Routing 模式。

Shadowrocket 官方 Add Server 截圖:Type、Host、Port、Password、Method 與底部匯入入口
Add Server:先選擇 Type,再依既有資料填寫該協定的欄位。

02 / Global Routing · Config

選擇連線模式與規則設定

伺服器決定連線出口;Global Routing 決定請求如何分流。匯入訂閱不代表已匯入適用的規則設定。

返回 Home,點選 Global Routing 查看目前的選擇。三種模式分別是設定(Config)、代理(Proxy)、直連(Direct)。設定(Config)依目前設定檔中的規則決定動作;代理(Proxy)讓適用的請求經由所選代理路徑,方便集中驗證伺服器;直連(Direct)讓請求直接使用目前網路。這些模式會改變請求的處理方式,不會替你補上失效的伺服器認證,也無法修復無法連線的伺服器位址。

首次驗證時,如果已有自行確認過的設定檔,可以選擇設定(Config),接著檢查目前實際使用的 Config。如果尚未確認規則是否正確,可暫時使用代理(Proxy)測試既有伺服器,再切回設定(Config)檢查分流。直連(Direct)適合用來對照基本網路;但直連成功只能表示該請求在直連路徑下可用,不能證明代理伺服器也能正常運作。

檢查 Config,不急著改寫所有規則

進入 Config,查看目前的設定檔,進入編輯頁面後可辨認 General、Rule、Hosts、URL Rewrite 與 HTTPS Decryption 等區段。入門階段先留意 Rule 和目前選用的設定,不必逐項啟用所有功能。訂閱通常用於維護伺服器項目,Config 則用來描述連線處理方式;即使兩者都來自既有資料,也應分別核對,不能因為 SERVER 出現伺服器,就推定 Rule 已設定完成。

規則通常由上而下比對,最先符合的規則會決定連線動作。PROXY 表示交由代理策略處理,DIRECT 表示直接連線,REJECT 表示拒絕請求。以下是語法範例,不是適用於所有人的完整設定,也不包含可用伺服器。PROXY 對應的策略仍須在實際設定中可用;只複製幾行規則,不會自動建立代理出口。

  • DOMAIN-SUFFIX,example.comPROXY
  • GEOIP,CNDIRECT
  • DOMAIN-KEYWORD,adsREJECT

準備使用 Add Rule 前,先匯出或保留目前 Config 的副本,每次只修改一項並記錄修改目的。在連線驗證完成前,請勿同時更動 Rule、Hosts 與 HTTPS Decryption,否則發生故障後難以判斷原因。DOMAIN-SUFFIX、GEOIP 及其他關鍵字的比對範圍,請參閱名詞解釋。確認模式與設定後,返回 Home 進行首次連線。

Shadowrocket 官方 Config 截圖:General、Rule、Hosts、URL Rewrite、HTTPS Decryption 與 Add Rule
Config:先核對 Rule 與所選設定,再決定是否需要 Add Rule。

03 / Home · Not Connected

開啟連線並完成系統允許

連線前再次核對伺服器與 Global Routing。開關狀態與伺服器是否可用,需要分別驗證。

返回 Home,確認 SERVER 中選取的項目就是本次要測試的伺服器,再檢查 Global Routing 是否維持上一階段的選擇。檢查完成後,開啟頂端 Not Connected 旁的連線開關。首次建立連線時,系統可能會提示添加 VPN 設定;閱讀提示並允許後,依裝置要求完成系統驗證,再返回 Shadowrocket。系統確認尚未完成時,請勿連續點擊開關,以免將授權流程誤認為連線失敗。

系統中的 VPN 設定會讓符合處理範圍的流量交由 App 處理;允許添加設定不代表伺服器認證已成功。返回 Home 後,先確認頂端連線狀態是否改變、開關是否維持開啟。如果剛開啟就又關閉,記下當時出現的提示,優先檢查系統設定是否已添加完成、裝置是否受管理限制,以及是否有其他 VPN 連線正在接管網路。請勿為了重試而一次刪除裝置上的所有網路設定。

如果狀態維持連線,先不要繼續修改參數。保持目前的伺服器、模式與網路條件不變,進入下一步驗證。此時可以記錄所選伺服器名稱與 Global Routing,方便後續比對,但不要記下密碼或完整訂閱連結。開關維持開啟只代表 App 已建立連線狀態;遠端是否回應、網頁是否可連線、規則是否命中,仍須透過實際請求確認。

Shadowrocket 官方 Home 截圖:頂端 Not Connected 開關、Global Routing、Connectivity Test 與 SERVER 分組
Home:依序檢查伺服器、Global Routing、頂端開關與 Connectivity Test。

04 / Connectivity Test · Data

核對測試結果與實際請求

分三層確認:App 維持連線、伺服器路徑有回應、目標請求採用預期動作。

在 Home 點選 Connectivity Test,等待本次測試結束。測試結果用來判斷特定測試方法與目標的連線情況,不代表所有網站和 App 都能連線;單次逾時也不能直接判定伺服器永久失效。先維持目前條件再測試一次,觀察結果是否一致。如果改用不同的 Test Method,應視為另一組測試,不要將兩種測試顯示的數值直接當成相同指標比較。

接著開啟瀏覽器,前往預期可以正常瀏覽的頁面並重新整理。盡量發出新的請求,避免只看到本機快取內容。然後返回 App 查看 Data 中可用的連線記錄,依請求時間與目標網域找出剛才的瀏覽記錄。若記錄顯示命中規則或策略資訊,請核對是否符合設定意圖:預期直連的請求是否使用 DIRECT、預期代理的請求是否交由 PROXY,是否有 REJECT 提前命中。

如果在代理(Proxy)模式下可正常瀏覽,但在設定(Config)模式下相同目標失敗,可優先檢查 Rule 順序、策略引用與網域解析,不必立即重新匯入訂閱。如果兩種模式都失敗,請繼續檢查伺服器與網路路徑。如果只有部分頁面資源載入不完整,也要檢查那些資源使用的個別網域;主頁可連線與所有資源都可連線是兩回事。

Data 中的流量數值增加,只能表示有請求經過記錄或處理,不能單獨證明指定請求使用了正確出口。完成驗證後,保留已確認有效的設定,再逐步恢復日常需要的模式。需要自動連線時,再了解 On Demand 的觸發條件;先驗證手動連線,再加入自動觸發,可避免將觸發問題與伺服器問題混為一談。

05 / Settings · Diagnostics

依故障位置逐項排查

一次只變更一個變數。保留錯誤訊息與重現條件,比反覆刪除所有設定更容易定位問題。

匯入後沒有伺服器

先關閉連線,確認基本網路可以正常瀏覽網頁,再檢查既有訂閱的 URL 是否完整、是否已過期、是否含有空格。訂閱更新失敗與伺服器連線失敗屬於不同階段:前者是尚未讀取到項目,後者則是已有項目卻無法建立可用路徑。沒有伺服器項目時,請勿先調整 Global Routing。若既有資料需要重新簽發或恢復存取,請向原資料來源確認,不要將完整訂閱傳給陌生人。

有項目,但測試持續逾時

開啟項目的編輯頁面,依原始資料核對 Type、Host、Port 與認證欄位,再核對協定要求的 Method、TLS 或傳輸參數。確認裝置系統時間準確,時間明顯偏差可能影響安全連線。接著在情況允許時,分別使用 Wi-Fi 與行動網路測試同一項目;每次只更換網路,不要同時修改協定。只有某一種網路失敗時,優先檢查該網路路徑;所有網路都失敗時,再著重檢查參數與遠端服務狀態。

開關已開啟,但目標無法連線

重新確認 Global Routing。若誤選直連(Direct),需要代理的請求不會因為開關開啟就自動改走代理;若使用設定(Config),應檢查是否先命中 REJECT,或被交給無法使用的策略。可以暫時切換到代理(Proxy)作為對照,測試完再切回原本模式。不要直接關閉所有規則來掩蓋問題,也不要只因單一目標無法開啟,就認定整個 App 失效。

透過 Settings 保留排查線索

進入 Settings,先確認 Test Method 是否符合目前的測試目的;需要更多線索時,查看 Diagnostics 提供的診斷資訊。On Demand、Proxy、TCP、UDP 等設定各自影響不同環節,初次排查時不要同時調整。如果連線反覆自動開啟,可先核對 On Demand 的既有條件;若只有特定流量類型失敗,再針對相應項目繼續檢查,不要將所有設定重設一次。

整理記錄時,請寫清楚「在哪個步驟失敗、當時的模式、使用哪種網路、看到的原始提示、已進行哪些對照」。分享診斷截圖前,遮蔽訂閱位址、密碼、認證參數與個人連線資料。更多個別問題請參閱常見問題;商店地區、購買與重新安裝後的恢復方式,請參閱App Store 指南。完成排查後,恢復至已驗證有效的設定,停止累加不必要的變更。

Shadowrocket 官方 Settings 截圖:Language、Test Method、On Demand、Diagnostics、Proxy、TCP 與 UDP
Settings:先確認 Test Method,再依問題使用 Diagnostics,逐項測試設定變更。