本文適合第一次使用 Shadowrocket(小火箭)的 iPhone 與 iPad 使用者,依照「準備既有設定、匯入、選擇路由、連線、驗證、排錯」的順序回答十個常見問題。讀完即可獨立完成基本設定,並判斷問題出在設定、DNS、本地網路或遠端線路。
一、如何開始:新增既有節點與匯入訂閱
問題一:第一次開啟 Shadowrocket,需要先準備什麼?
Shadowrocket 是 Apple 平台的付費用戶端,唯一取得入口是 App Store。購買前可核對開發者 Shadow Launch Technology Limited 與 App ID 932747118。iPhone、iPad 是主要使用裝置,Mac、Apple TV 與 Apple Vision 的相容性及完整系統需求均以 App Store 頁面標示為準。
用戶端與網路線路是兩個獨立部分。一次買斷 Shadowrocket 僅取得用戶端使用權,不會自動產生伺服器位址、連接埠、密碼或訂閱連結。開始設定前,需要準備自己已有的服務商所提供的連線參數或訂閱網址。
核對應用程式
透過 App Store 開啟 Shadowrocket 產品頁,確認開發者為 Shadow Launch Technology Limited,網址中包含 id932747118。
準備參數
確認既有設定採用 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard 中的哪一種協定,並記錄服務商提供的完整欄位。
選擇匯入方式
單一伺服器可在 Home 右上角的「+」中手動填寫;由服務商統一維護的多個伺服器則可使用 Subscribe。
完成首次連線
儲存後回到 Home,選擇一個項目,再開啟頂部的連線開關,並依照系統提示允許建立 VPN 設定。
問題二:如何手動新增單一既有節點?
進入 Home,點選右上角的「+」,先在 Type 中選擇與現有參數完全一致的協定。接著填寫 Address、Port、Password 或該協定對應的驗證欄位。連接埠必須是 1 至 65535 之間的整數,但具體數值由既有服務設定決定,不能依協定名稱自行猜測。
VMess、VLESS、Trojan 等設定可能還包含 TLS、SNI、Transport、Path 或 WebSocket Host;WireGuard 通常則涉及 Private Key、Public Key、Address、DNS 與 Peer Endpoint。只填寫伺服器位址和連接埠,無法取代這些欄位;任何一項不相符,都可能表現為逾時或握手失敗。
- Type:必須與原始設定中的協定一致,例如 Shadowsocks 與 Trojan 不能互換。
- Address:填寫網域或 IP 位址,不要附加多餘空格。
- Port:填寫服務設定指定的連接埠,不要把網頁連接埠當成連線連接埠。
- Remarks:可填寫地區、用途或線路名稱,僅供本機辨識,不會參與連線。
- TLS 與 SNI:僅依照現有設定啟用與填寫,名稱錯誤通常會導致握手失敗。
二、如何匯入與更新訂閱,以及判斷失敗原因
問題三:如何新增既有訂閱連結?
在 Home 點選右上角的「+」,將 Type 設為 Subscribe,將完整訂閱網址貼到 URL,並填寫方便辨識的 Remark。格式範例為 https://example.com/sub?token=xxxx,其中 example.com 與 xxxx 為示範用假值。
儲存後返回 Home,訂閱群組通常會開始取得內容;也可以在清單中對該訂閱執行更新。更新成功後,群組內會出現服務商回傳的伺服器項目。選取其中一個項目不代表已完成連線,還需要開啟 Home 的連線開關。
Type: Subscribe
URL: https://example.com/sub?token=xxxx
Remark: 我的既有訂閱
更新順序: 儲存 → 返回 Home → 重新整理訂閱 → 選擇項目
問題四:訂閱更新逾時或沒有項目,該怎麼辦?
先檢查 URL 是否完整,尤其確認問號後的 token 參數沒有在複製時遺失。瀏覽器能開啟某個網址,也不代表回傳內容一定是 Shadowrocket 可辨識的訂閱格式;如果頁面回傳登入提示、空白文字或錯誤碼,請核對服務商提供的原始網址。
如果目前網路無法直接存取訂閱網址,可以先使用已能正常運作的設定建立連線,再嘗試更新。Settings 中與 Subscribe 更新相關的選項,可能會決定是否透過目前的代理取得內容;但只有在現有連線本身可用時,這個開關才有幫助。
訂閱更新一直顯示逾時?
先切換一次 Wi-Fi 與行動網路,再核對 URL 是否完整;如果已有可用連線,可啟用連線後重試更新,並檢查 Settings 中 Subscribe 的更新路徑設定。
更新成功卻沒有伺服器?
確認回傳內容不是空的群組,並查看服務商是否更換了訂閱網址。刪除前先保留原有 Remark,避免把多個同名群組混在一起。
重新整理後舊項目仍在?
先確認操作的是正確的訂閱群組。訂閱更新通常會依照遠端內容同步,手動新增的獨立項目不會由另一個訂閱自動管理。
貼上後顯示格式錯誤?
刪除網址前後的空格與換行,確認使用完整的 HTTPS URL;不要把服務商網站首頁、訂單頁或說明文字當成訂閱網址。
每次都需要手動重新整理嗎?
可查看 Settings 中與 Subscribe 相關的更新選項,但實際重新整理結果仍取決於訂閱網址是否可連線,以及遠端回傳的內容。
三、Global Routing 如何選擇,為什麼連線開關會變灰
問題五:Global Routing 的 Config、Proxy、Direct、Scene 有什麼差別?
Global Routing 決定流量採用哪種處理方式。Config 會依照目前設定檔中的規則逐條比對;Proxy 讓流量統一採用目前的代理策略;Direct 讓流量直接連線;Scene 則會依據已設定的網路情境切換策略。日常使用規則設定時,通常可先從 Config 開始。
Config 的結果取決於規則順序與最後規則。常見關鍵字包括 DOMAIN-SUFFIX、GEOIP、IP-CIDR 與 FINAL。Shadowrocket 會由前往後比對,命中後執行該行指定的策略;未被前面規則命中的流量,則由 FINAL 處理。
Config
推薦依照目前 Config 中的規則決定 Proxy、Direct 或 Reject 等策略,讓不同網域與 IP 範圍採用不同路徑。
適合:日常使用既有規則設定
Proxy
略過規則判斷,將流量統一交給目前選取的代理項目,方便確認問題是否來自規則比對。
適合:暫時驗證代理連線能力
Direct
流量直接連線,不經過目前的代理項目。若誤選此項,即使連線開關存在,也可能看不到預期的路徑變化。
適合:對照測試本地直連結果
Scene
依據預先設定的 Wi-Fi、行動網路等情境套用對應策略,使用前需要先完成情境條件設定。
適合:固定網路環境的自動切換
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
以上規則僅用於說明語法。第一行依網域後綴比對,第二行將指定的私有位址範圍設為 Direct,第三行依 GEOIP 資料比對,最後一行處理先前未命中的連線。實際策略名稱必須與目前 Config 中存在的策略相符。
問題六:Home 的連線開關變灰或無法開啟,該怎麼辦?
先確認 Home 清單中已選取有效的伺服器項目。只有訂閱群組名稱而沒有可選項目、手動設定缺少必填欄位,或目前選取項目已在訂閱更新時被移除,都應先修正設定,再嘗試連線。
首次開啟連線時,系統會要求加入 VPN 設定。完成系統確認後再返回 Shadowrocket。如果先前的連線狀態未正常結束,可以先關閉開關,等待數秒後再重新開啟;仍無回應時,依序切換本地網路並重新開啟應用程式。
確認選取項目
回到 Home,檢查伺服器項目前是否有明確的選取狀態,而不是只選取了空的訂閱群組。
檢查欄位
開啟項目,核對 Address、Port、驗證欄位以及 TLS、SNI、Transport 等協定參數是否完整。
確認系統要求
首次連線時完成系統顯示的 VPN 設定確認,再返回 Home 操作開關。
重設連線
關閉目前連線,等待數秒後重新開啟;接著分別在 Wi-Fi 與行動網路下測試,以排除單一網路限制。
查看 Log
進入相關診斷或 Log 頁面,區分 DNS failure、timeout、TLS handshake 等不同階段的錯誤。
四、顯示已連線,如何確認流量確實依預期處理
問題七:連線開關已開啟,如何確認已生效?
不要只根據開關顏色判斷。先在 Home 使用 Connectivity Test 檢查基本連線能力,再開啟一個先前未快取的網頁觀察結果。如果 Global Routing 設為 Config,還需要確認測試網域實際命中了哪一條規則。
接著查看 Data 或 Log。Data 可用來觀察連線期間是否產生上傳與下載流量;Log 會顯示網域解析、規則比對、目標位址與連線錯誤。若頁面可以開啟但 Log 顯示 Direct,應檢查規則,而不是繼續更換協定參數。
- 第一層:Home 是否選取正確項目,連線開關是否保持開啟。
- 第二層:Connectivity Test 是否能建立連線,延遲是否持續逾時。
- 第三層:Global Routing 是否為預期的處理方式,Config 是否載入正確規則。
- 第四層:Log 中的目標網域命中的是 Proxy、Direct 還是 Reject。
- 第五層:Data 是否出現與實際存取相符的上傳、下載變化。
問題八:有延遲數值,網頁仍然無法開啟,問題在哪裡?
延遲測試只能表示某個探測步驟收到回應,不能完整證明 DNS 解析、TLS 握手與目標網頁請求都能成功。常見情況是清單延遲正常,但 Log 出現 DNS failure;也可能 TCP 已建立,之後因 TLS 或傳輸參數不一致而中斷。
排查時先使用 Direct 對照本地網路,再使用 Proxy 暫時略過 Config 規則。如果 Direct 可存取而 Proxy 失敗,應重點檢查目前伺服器與協定欄位;如果 Proxy 可存取而 Config 失敗,應重點檢查規則順序、策略名稱及 FINAL;兩者都失敗時,再檢查本地網路與 DNS。
| 實測現象 | 優先檢查 | 下一步 |
|---|---|---|
| 延遲持續 timeout | Address、Port、本地網路 | 切換 Wi-Fi 與行動網路,對照服務參數 |
| 延遲正常但顯示 DNS failure | Settings 中的 DNS 設定 | 還原已知可用設定後,重新解析測試網域 |
| Proxy 可用,Config 不可用 | 規則順序與策略名稱 | 查看 Log 中實際命中的規則 |
| 握手後立即中斷 | TLS、SNI、Transport、驗證欄位 | 逐項與原始設定核對,不要混用協定參數 |
五、如何使用 On Demand,以及設定出錯後從哪裡排查
問題九:On Demand 是什麼,為什麼開啟後會自動連線?
On Demand 用於依照網路條件觸發連線。入口為 Settings → On Demand。啟用前應先確保手動連線已穩定可用,再新增 Wi-Fi 或行動網路條件;否則自動觸發只會重複暴露原有設定錯誤。
設定後要分別測試三種狀態:連線至指定 Wi-Fi、離開該 Wi-Fi 並切換至行動網路、鎖定螢幕後再次喚醒。觀察 Home 開關與系統連線狀態是否依條件變化。若規則與預期相反,應檢查條件是「符合時連線」還是「符合時中斷」。
先手動驗證
在 Home 選擇伺服器,使用 Config 或所需的 Global Routing 處理方式,確認網頁存取與 Log 都正常。
進入設定
依序開啟 Settings → On Demand,查看目前是否已有舊條件,避免多個條件產生相反結果。
新增條件
依實際需求設定 Wi-Fi 或行動網路條件,並明確指定符合條件時要連線還是中斷。
切換網路
在指定 Wi-Fi 與行動網路之間切換,等待系統完成網路切換後再觀察連線狀態。
檢查喚醒
鎖定螢幕後重新喚醒裝置,確認 On Demand 不會因舊條件反覆連線或中斷。
問題十:設定很多時,如何快速找到出錯的層級?
採用「最小可用設定」進行排查。先保留一個參數明確的伺服器,暫時將 Global Routing 設為 Proxy,關閉 On Demand,避免 Scene 與複雜規則同時影響結果。確認基本連線後,再逐項恢復 Config、DNS 調整與自動觸發條件。
Log 應依時間順序閱讀。解析錯誤發生在建立目標連線之前;timeout 通常需要同時檢查網路可達性、位址與連接埠;TLS handshake 錯誤應核對 TLS、SNI 與驗證資訊;規則比對錯誤則應返回 Config,檢查 DOMAIN-SUFFIX、GEOIP、IP-CIDR 和 FINAL 的排列。
應該先更換協定,還是先查看 Log?
先查看 Log。協定由既有服務設定決定,不能為了排錯而任意切換。根據 timeout、DNS failure 或 TLS handshake 等現象定位欄位更有效。
Config 載入後全部走 Direct?
檢查 Global Routing 是否確實選擇 Config,再查看規則前段是否存在涵蓋範圍過大的 Direct 規則,以及 FINAL 指向的策略。
Wi-Fi 可用,行動網路逾時?
保留相同伺服器與相同 Global Routing 處理方式進行對照,並檢查 On Demand 是否為行動網路設定了不同動作。
更新訂閱後原有設定失效?
重新選擇更新後的有效項目,核對策略群組引用的名稱是否仍存在,並查看服務商回傳的協定欄位是否完整。
完成以上十項後,日常狀態可以固定為:Home 選擇有效項目、Global Routing 使用已驗證的 Config、依需要更新訂閱,並僅在手動連線穩定後啟用 On Demand。遇到問題時,先記錄目前網路、所選項目、路由處理方式與 Log 關鍵字,再進行單項調整。