官方手冊 · 首次連線

Shadowrocket 使用說明
訂閱匯入與連線檢查

以 iPhone / iPad 介面為例,依序新增資料、選擇模式、開啟連線、驗證請求並檢查問題。先確認一條連線可正常運作,再調整規則。

建議先保留現有設定,不要急著大量修改。準備一個常用網頁網址作為驗證目標;遇到問題時,記下停在哪個步驟及相應提示,比反覆重新安裝更容易找出原因。不同版本的版面可能略有差異,請依英文介面名稱尋找相應入口。

STEP 01 / ADD

Add Server:新增伺服器或匯入 Subscribe

先辨認取得的資料類型。訂閱連結、單一伺服器參數和設定檔是不同類型的輸入。

開啟 Shadowrocket,在 Home 下方找到 SERVER 分組,點選 Add Server。進入新增頁面後先看 Type:它會決定後續需要填寫哪些欄位。右側官方截圖展示一種伺服器類型;切換 Type 後出現不同欄位是正常情況,不應將截圖中的欄位組合視為所有協定通用的填寫範例。

已有訂閱連結:選擇 Subscribe

如果資料是一個訂閱網址,請在 Type 中選擇 Subscribe,將完整網址貼到 URL 欄位,並填寫方便辨認的備註。貼上後請從頭到尾檢查一次:開頭的協定、路徑、問號後的參數都應保留,不要連同換行、引號或說明文字一起貼入。範例 https://example.com/sub?token=xxxx 僅用來說明格式,不是真實訂閱,也不需要開啟。

儲存後返回 Home,等待訂閱取得完成,再確認分組中是否出現伺服器項目。儲存成功只表示 App 記住了網址,不代表遠端內容已成功下載;若分組是空的,應先檢查訂閱取得提示,再確認網址是否過期、是否需要額外驗證,以及目前網路能否存取該網址。不要用另一個一般網頁網址取代訂閱來測試,因為網頁內容不等於伺服器清單。

已有單一伺服器:依 Type 逐項填寫

如果取得的是單一伺服器資訊,請先選擇與資料相符的協定,例如 Shadowsocks 或 Trojan,再填寫 Host 和 Port。Host 通常只填主機名稱或 IP,不要加上網頁路徑;Port 填入資料中的連接埠。接著確認該類型要求的 Password、Method、UUID 或 TLS 相關欄位:部分欄位只適用於特定協定,不要因名稱相似就互相替代。

手動輸入時容易在密碼中帶入空格或換行,複製後應檢查前後字元。若資料附有 QR Code,可在 Scan QR Code 入口掃描,依系統提示允許使用相機,接著檢查解析出的 Type、Host 和 Port 再儲存。只有在既有資料確實採用相應格式時,才使用 Import from Cloud JSON;不要放入任意訂閱或一般文字。

新增完成後,返回 SERVER 分組並點選準備使用的伺服器,確認選取標記位於目標項目上。此時僅完成資料準備,還未確認系統連線與規則是否生效。若訂閱包含多個項目,先選一個進行後續驗證;先維持選擇不變,下一步再決定請求採用哪種 Global Routing 模式。

Shadowrocket Add Server 新增頁面,顯示 Type、Host、Port、Password、Method,以及 QR Code 和 Cloud JSON 匯入入口
Add Server:先選擇 Type,再依既有資料填寫該類型所需欄位。
STEP 02 / ROUTING

Global Routing:設定(Config) / 代理(Proxy) / 直連(Direct)

伺服器決定連線參數,Global Routing 決定請求採用哪種處理方式。

返回 Home,點選 Global Routing 查看目前模式。初次使用時最容易混淆的是,把「已選取伺服器」理解成「所有請求都會使用它」。實際上,Global Routing 的選擇與目前設定檔中的規則會共同決定請求路徑。請先確認這次要驗證伺服器本身,還是要驗證既有分流設定,再進行選擇。

設定(Config):依目前設定檔的 Rule 處理

選擇設定(Config)後,請求會依序比對目前設定檔中的規則,並採用命中規則指定的策略。進入 Config,確認實際啟用的設定檔,再開啟其編輯頁查看 Rule。截圖中的 General、Rule、Hosts、URL Rewrite 與 HTTPS Decryption 是不同的設定區段;初次連線只需確認相關規則與策略是否存在,不必逐段啟用或修改。

例如 DOMAIN-SUFFIX,example.com,PROXY 表示符合指定網域後綴的請求會採用名為 PROXY 的策略。此處的策略名稱必須能在目前設定檔中解析為有效目標;規則文字存在,不代表策略引用一定正確。規則通常依序比對,因此更精確的比對項目應放在合適位置,並確認末尾的 FINAL 備援規則。透過 Add Rule 修改前,建議先保留原設定檔副本。

代理(Proxy):暫時縮小檢查範圍

若要先驗證所選伺服器能否處理請求,可以暫時選擇代理(Proxy),減少分流規則對判斷的干擾。這裡的 Proxy 是 Global Routing 模式,而規則文字中的 PROXY 是策略名稱,兩者不要混淆。Proxy 模式仍會受到系統路由、App 行為和現有設定影響,不能因此認定裝置上的所有流量都必然經過相同路徑。

直連(Direct):不交由代理伺服器處理

直連(Direct)會直接連線至目標,不會因為 SERVER 中已選取伺服器就自動改用該伺服器。若目前目的是測試代理伺服器,請確認是否誤選 Direct;若要比較裝置的基礎網路狀況,則可使用 Direct 對照。基礎網路無法存取的目標,也不能只靠切換 Direct 就判定伺服器故障。

這次操作請先記下選定的模式。若有可信且了解用途的設定檔,可從 Config 開始;若尚未了解設定檔,可先用 Proxy 驗證伺服器,再切回 Config 檢查分流。較複雜的規則順序、協定欄位與選擇說明請參閱技術參考;此處先不擴大修改範圍,避免首次連線時同時引入多個未知變數。

Shadowrocket Config 設定檔編輯頁面,包含 General、Rule、Hosts、URL Rewrite、HTTPS Decryption 與 Add Rule
Config 編輯頁:Rule 是設定檔內容;Global Routing 模式選擇位於 Home。
STEP 03 / CONNECT

Home:開啟連線開關並允許系統設定

先確認選擇,再開啟連線。完成系統授權與遠端伺服器可用是兩件事。

完成前兩個步驟後返回 Home,依序檢查 SERVER 中的目標伺服器、Global Routing 中的模式,以及 Config 中正在使用的設定檔。檢查時盡量不要同時更新訂閱並切換多個伺服器,否則稍後即使連線恢復,也難以判斷是哪項變更發揮作用。若裝置目前有其他正在使用的 VPN 連線,請先關閉該連線,再測試 Shadowrocket。

點選 Home 頂端的連線開關。首次建立系統設定時,iPhone / iPad 可能會顯示新增 VPN 設定的授權提示;閱讀提示,確認是剛才主動發起的操作後再允許,並依系統要求完成裝置驗證。此處需要的是系統對本機網路設定的授權,不是訂閱密碼,也不需要將裝置驗證資訊填入 Add Server。

授權後返回 Shadowrocket,觀察頂端原先的 Not Connected 狀態是否改變,以及開關能否維持開啟。官方截圖展示的是尚未連線的 Home,因此不要將圖中的狀態視為完成標準。狀態變化只代表本機連線流程已進行,仍需在下一步透過實際請求確認遠端連線與規則處理結果。

如果開啟後立即自動關閉,請先留意是否出現權限提示、系統設定錯誤或 App 內的錯誤記錄。若先前拒絕過授權,可以重新發起連線並查看系統提示;若裝置由組織管理,相關權限可能受到管理政策限制,應請裝置管理員確認,不要任意刪除不熟悉的管理設定。重複點選開關無法修復缺少的參數,反而可能讓提示與記錄更難對照。

測試期間可以先不啟用 On Demand,讓每次開關變化都來自明確的手動操作。否則系統可能在符合條件時重新連線,容易被誤認為開關失效。先讓 App 保持在前景完成一次基本驗證,再觀察切換至瀏覽器、鎖定螢幕或更換網路後的狀況;不要在首次測試時一次判斷所有情境。

至此,資料已儲存、模式已選擇、系統連線也已啟動。接下來請維持伺服器與模式不變,完成 Connectivity Test 與網頁請求檢查。只有在這些結果能互相對照時,才適合繼續調整日常分流或隨選連線設定。

Shadowrocket Home 頁面,頂端為 Not Connected 開關,下方顯示 Global Routing、Connectivity Test、SERVER 與 Add Server
Home:連線前確認伺服器與 Global Routing,再操作頂端開關。
STEP 04 / VERIFY

Connectivity Test:從測試結果確認實際請求

在 Home 使用 Connectivity Test 檢查伺服器。測試結果會受到所選測試方法、測試目標與目前網路影響,因此應將它視為排查線索,而不是所有網站和 App 都能使用的保證。測試失敗時,先記下目標伺服器和錯誤狀況,不必立即刪除項目;測試成功後也要再送出一次實際請求。

先送出請求,再確認記錄

開啟瀏覽器,前往一個自己熟悉且正常提供服務的網頁,等待新請求完成。盡量不要只看已快取的頁面,也不要只憑某個 App 顯示的舊內容判定連線成功。如果頁面沒有變化,可以重新整理或重新開啟頁面,再返回 Shadowrocket 查看 Data 或目前版本提供的連線記錄。

確認記錄時,請重點查看這次請求的目標、處理策略與時間是否符合剛才的操作。Config 模式下尤其要檢查命中的 Rule,以及最後採用的是 DIRECT、PROXY 或其他已定義策略;DIRECT 是有效的分流結果,不一定代表連線失效。反過來說,看到代理策略名稱也不代表遠端已成功回傳內容,還需要搭配錯誤記錄和實際回應判斷。

透過模式對照區分問題所在

如果 Proxy 模式下實際請求成功,但 Config 模式下相同的新請求失敗,請先檢查目前設定檔中的比對規則、策略引用與 DNS 相關設定,不要優先重新輸入已驗證過的伺服器密碼。如果兩種模式都失敗,再檢查伺服器參數與基礎網路。對照時只變更 Global Routing,維持伺服器、目標網頁與網路不變,測試後恢復需要使用的模式。

有些請求會涉及多個網域;若網頁主體能開啟,但圖片、登入或影片失敗,應查看失敗資源對應的連線,而不是只檢查網址列中的網域。App 快取、既有長連線和系統網路設定也會影響結果;修改規則後應送出新請求再觀察。若記錄與預期不符,先整理目標和命中策略,再閱讀問答中的規則與故障排查說明。

STEP 05 / DIAGNOSE

Settings:依失敗階段檢查,不必重新開始

先找出最後一個正常步驟,再檢查緊接其後的輸入、權限或請求。

匯入失敗:檢查輸入與內容格式

Subscribe 無法取得內容時,先確認完整 URL、有效期限與驗證條件;能取得內容但沒有項目時,再檢查回傳內容是否為支援的訂閱格式。手動新增失敗時,請返回 Add Server,對照原始資料檢查 Type 和必填欄位。QR Code 掃描成功只代表已解析出內容,儲存前仍應確認參數。請勿公開貼上完整訂閱內容以尋求協助,網址中的參數可能直接代表存取權限。

伺服器測試失敗:檢查參數與網路

進入 Settings 查看 Test Method,確認目前測試的目標與使用方式。單一測試逾時不代表所有實際請求都會失敗,應搭配上一節的網頁驗證。接著確認 Host、Port、驗證欄位和裝置時間;涉及 TLS 時,進一步檢查資料要求的伺服器名稱與憑證條件,不要透過關閉憑證檢查來掩蓋名稱或時間錯誤。

保留原設定的前提下,可以分別透過 Wi-Fi 與行動網路送出相同請求,觀察問題是否只出現在其中一種基礎網路。每次切換後等待系統網路穩定再測試,避免將網路切換瞬間的逾時誤判為伺服器持續故障。若多個項目都異常,先確認裝置本身能否正常存取已知可用的直連目標。

開關異常或部分請求失敗:查看 Diagnostics

如果連線開關無法維持開啟,請返回檢查系統權限與 VPN 設定;如果開關正常但部分請求失敗,請在 Settings 中找到 Diagnostics,依目前版本提供的記錄查看具體錯誤。截圖中的 Proxy、TCP 與 UDP 是不同的設定入口,不應將這些入口視為必須全部修改的清單。先閱讀錯誤,再決定是否需要進入相應項目。

整理問題時,請記錄:使用的 Global Routing、失敗發生在哪個步驟、是否只影響特定目標,以及切換基礎網路後是否有所變化。分享記錄前,請遮蔽訂閱網址、密碼、金鑰與個人網路資訊。若要了解協定參數的含義,請參閱技術參考;若是匯入、權限或規則順序的常見問題,請先查看問答,不必重做本頁所有操作。

基本驗證通過後,再設定 On Demand

確認手動連線穩定後,再進入 On Demand 設定所需的觸發條件。它管理的是符合條件時是否啟動連線,不會取代 Global Routing 的分流規則,也不會補齊失效伺服器的參數。啟用後,請分別檢查連線至目標網路、離開該網路與手動關閉時的行為;若結果不如預期,先停用 On Demand,返回手動測試,再單獨調整觸發條件。

最後恢復日常需要的模式,並保留一份已驗證可用的設定檔。後續更新訂閱或修改規則時,每次只調整一種類別,並使用相同網頁重新測試。如此一來,狀況發生變化時便能回到最近的正常狀態,不必重新猜測所有參數。

Shadowrocket Settings 設定頁面,顯示 Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP 與 UDP 入口
Settings:先查看 Test Method 與 Diagnostics,基本連線正常後再設定 On Demand。