建立排查基準:開關無法開啟或立即復位
先區分「開關失敗」與「伺服器連線失敗」
Shadowrocket 的 Home 開關負責要求系統建立 VPN 設定。開關無法維持開啟,通常發生在流量尚未抵達伺服器之前;伺服器逾時則表示系統通道已建立,但後續連線伺服器的程序未完成。兩者的處理路徑不同。觀察時不要只看網頁能否開啟,也應同時記錄 Home 開關狀態、系統狀態列中的 VPN 標記、目前選取的伺服器,以及 Global Routing 顯示的模式。若點選開關後立即復位,先檢查系統授權與設定衝突;若開關維持開啟但網頁失敗,再進入下一章檢查伺服器、DNS 與規則。
首次開啟或系統重新確認權限時,裝置可能顯示加入 VPN 設定的授權視窗。完成裝置身分驗證後,Shadowrocket 才能讓系統建立對應設定。若先前拒絕授權,可進入系統 Settings 查看是否存在 VPN 設定,再返回 Shadowrocket 重試。此時不需要反覆刪除應用程式;先確認權限鏈結,可避免把系統授權問題誤判為伺服器問題。裝置受到組織管理、內容限制或家長控制時,也可能限制 VPN 設定變更,此時應查看系統提供的明確提示,並由裝置管理方確認政策。
清理同時發生的連線競爭
Apple 平台在同一時間只能讓符合系統條件的網路延伸功能接管對應流量。若系統 Settings 中存在其他正在連線或反覆自動喚起的 VPN 設定,Shadowrocket 的開關可能停留在「連線中」後復位。排查時先關閉其他 VPN 設定,再暫時關閉 Shadowrocket 的 On Demand,手動操作一次 Home 開關。若 On Demand 的觸發條件與目前 Wi-Fi、行動網路或網域條件不一致,也可能造成剛關閉連線後系統又重新發起,或手動開啟後被條件重新評估的情況。
關閉 On Demand 只用於建立排查基準,並不代表該功能本身異常。手動連線恢復後,應逐一檢查觸發條件:目前網路名稱是否歸入正確分支、行動網路條件是否符合預期、條件之間使用的是「同時符合」還是「任一符合」,以及規則是否引用已刪除的設定。每修改一項後切換一次網路或等待系統重新評估,不要同時修改多項條件,否則無法判斷是哪一項使連線恢復。
| 觀察結果 | 優先檢查 | 下一步 |
|---|---|---|
| 開關立即復位 | VPN 授權、系統限制、設定競爭 | 關閉其他連線並重新確認系統權限 |
| 長時間停留在連線中 | 所選伺服器、網路可達性 | 使用 Connectivity Test 並更換本地網路複測 |
| 開關維持開啟但網頁失敗 | Global Routing、DNS、規則結果 | 進入「連線後無法上網」流程 |
使用最小變數法恢復連線
基準測試只應保留一個資訊完整且已知可用的伺服器,關閉 On Demand,暫時不要修改協定參數,並先在穩定的 Wi-Fi 下連線。若失敗,再切換至行動網路進行一次對照。同一設定在兩種本地網路上的結果不同,表示問題較可能位於路由器、網路接入或 DNS 環境;兩種網路都失敗,才繼續檢查伺服器位址、連接埠、驗證資訊與協定參數。不要在一次測試中同時更換伺服器、DNS、Global Routing 與規則檔案,因為多個變數同時變化會掩蓋真正原因。
如果需要重新核對 App Store 中的購買紀錄、應用程式 ID 或開發者資訊,可前往正版核驗三要素。Shadowrocket 是一次買斷的用戶端,但用戶端一次買斷 ≠ 線路方案;連線所需的訂閱或伺服器資訊應由使用者既有的服務來源提供,應用程式購買狀態不會決定某台伺服器是否可用。
開關已開啟,但網頁與應用程式無法上網
先用三種 Global Routing 模式劃定範圍
Global Routing 的 Config、Proxy、Direct 是定位「連線成功但沒有網路」的主要分界。Config 依 Config 中的規則順序決定每個請求的去向;Proxy 讓流量統一經過目前伺服器;Direct 讓流量直接存取。測試時先記住原本的模式,再短時間切換至 Direct。若 Direct 也無法存取,問題可能位於系統通道、本地網路或 DNS,而非代理伺服器。若 Direct 正常、Proxy 失敗,應檢查伺服器可達性與參數。若 Proxy 正常、Config 失敗,重點檢查規則順序、策略名稱與 FINAL 結果。
| 模式 | 介面詞 | 診斷意義 |
|---|---|---|
| 設定 | Config | 依規則匹配,可能暴露規則順序或策略引用問題 |
| 代理 | Proxy | 統一使用目前伺服器,適合驗證伺服器鏈路 |
| 直連 | Direct | 繞過伺服器,適合確認本地網路與系統通道 |
切換模式只用於診斷,不應長期以 Proxy 取代修復規則問題。若 Config 異常,應回到規則本身處理。規則會由上至下匹配,命中第一條後便停止繼續判斷,因此範圍較窄的 DOMAIN、DOMAIN-SUFFIX、IP-CIDR 通常應放在較寬泛的規則之前,FINAL 則放在末尾。過早出現的 REJECT、DIRECT 或廣泛的 DOMAIN-SUFFIX,都可能讓後續預期規則永遠沒有命中機會。
建立一份易讀的最小規則集
以下片段示範規則順序,不代表真實服務資訊。策略名稱必須與 Config 中現有策略或應用程式支援的結果名稱一致。測試時可使用自己既有設定中的正確策略名稱替換 PROXY,並確保 FINAL 位於最後。區域網路位址使用 DIRECT,可避免存取路由器或本地裝置時繞行;明確的網域規則放在 GEOIP 和 FINAL 之前,方便從 Data 或請求紀錄核對命中結果。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
若匯入 Config 檔案後出現找不到策略、規則無效或整組流量失敗,應核對逗號分隔欄位是否完整、策略名稱大小寫是否一致、是否混入不可見字元,以及引用的策略組是否確實存在。不要只因檔案能夠匯入就判斷設定有效;匯入只表示文字已被接受,不能證明其中每個伺服器、策略組與規則都能執行。可先保留少量規則進行驗證,再逐段恢復複雜規則。
檢查系統時間、網路登入頁面與 IPv6 差異
裝置日期與時間明顯不準時,TLS 憑證驗證可能失敗,表現為多數 HTTPS 頁面無法開啟,但少量本地頁面仍可存取。應在系統 Settings 中啟用自動設定日期與時間,再重新連線。飯店、校園或公共 Wi-Fi 常要求先完成網路登入頁面驗證;連線 Shadowrocket 前可暫時關閉開關,使用瀏覽器存取一般頁面以觸發登入,完成後再開啟。若 Wi-Fi 正常而行動網路失敗,或反之,應分別檢查兩種網路下的 DNS 與 IPv6 可達性,不要把單一接入網路的限制歸咎於所有伺服器都不可用。
某些應用程式會快取舊連線。修改 Config、DNS 或伺服器後,先在 Shadowrocket 中斷開再重新連線,然後完全結束出現問題的應用程式並重新開啟。仍然失敗時,可切換一次飛航模式,讓系統重建網路介面。重新啟動裝置應放在權限、模式、規則、DNS 與網路對照之後;它能清除暫時狀態,但無法修復錯誤的伺服器參數或規則順序。
如果問題只發生在「開關已開啟」的情況,可繼續閱讀伺服器狀態、Global Routing、DNS 與規則逐項排查,其中提供更精簡的現場檢查清單。
伺服器逾時、握手失敗與 Connectivity Test 異常
把「逾時」拆分為位址、連接埠與協定三個階段
逾時並非單一原因。首先需要將伺服器位址解析為 IP,其次建立至連接埠的傳輸連線,最後依 Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard 或 Hysteria2 等協定完成驗證與握手。前一階段失敗,後一階段便不會發生。Connectivity Test 的結果適合用來比較同一時間、同一本地網路中的多台既有伺服器,但一次失敗不能證明伺服器永久不可用;本地網路波動、DNS 暫時失敗、伺服器維護或參數不一致,都可能產生相似結果。
先核對 Add Server 或既有項目中的 SERVER、連接埠、密碼或識別資訊、協定類型及傳輸相關欄位。複製資訊時常見的錯誤包括位址前後多出空格、遺漏連接埠、大小寫改變、把備註當成伺服器位址,以及 QR Code 或剪貼簿內容已經過期。參數應與使用者既有服務來源提供的資訊逐項一致,不應憑經驗替換加密方式、傳輸類型或 TLS 相關值。協定名稱相同,也不表示參數可以互換。
用網路對照判斷是本地阻斷還是遠端異常
在 Wi-Fi 下逾時時,先中斷 Shadowrocket,確認一般網頁可以存取,再切換行動網路測試同一台伺服器;之後也可使用另一個已確認可用的 Wi-Fi 複測。如果同一台伺服器只在某個接入網路中失敗,優先檢查路由器 DNS、IPv6、訪客網路隔離、機構網路政策或需要登入的網路入口網站。如果在不同接入網路下都逾時,而同一訂閱中的其他伺服器正常,則更可能是該伺服器位址、連接埠或遠端狀態異常。若所有伺服器在所有網路中同時失敗,應回頭檢查訂閱內容、系統時間、DNS 與設定是否被整體替換。
測試順序應固定:先測試目前伺服器,再測試同一設定中的另一台伺服器,然後更換本地網路,最後才修改協定參數。如此可形成兩個維度的對照。只更換伺服器後恢復,表示系統通道與應用程式權限基本正常;只更換本地網路後恢復,表示伺服器至少在另一個網路中可達;所有組合都失敗,則需要檢查共同因素,例如錯誤 DNS、過期設定、系統 VPN 狀態或服務來源的整體變更。
理解延遲測試與實際可用性的界線
延遲數值只是特定測試請求在當時網路條件下的往返表現,不等同於網頁載入、影片傳輸或大型檔案的吞吐量。某台伺服器能夠回傳測試結果,也不代表所有目標網域都能依目前規則存取;反過來,測試請求受到遠端限制時,實際業務連線仍可能有回應。因此應將 Connectivity Test 與真實請求紀錄結合:查看請求是否發出、命中了哪個策略、回傳的是逾時、拒絕連線還是名稱解析失敗。不同錯誤提示對應不同層級,不能一律用「更換伺服器」處理。
| 表現 | 可能層級 | 核對動作 |
|---|---|---|
| 伺服器名稱無法解析 | DNS | 核對 SERVER 拼寫並更換本地網路測試 |
| 連線遭拒 | 連接埠或遠端服務 | 核對連接埠,確認遠端服務狀態 |
| 建立連線後握手失敗 | 驗證或協定參數 | 逐欄位對照既有伺服器資訊 |
| 間歇性逾時 | 線路波動或伺服器負載 | 分時段、分網路重複測試並記錄 |
WireGuard 與 Hysteria2 等協定還可能依賴更具體的金鑰、位址、MTU 或傳輸參數。出現能連線但部分頁面卡住時,不要先任意調高或調低所有參數;應先確認服務來源提供的完整欄位,再使用預設值或明確指定的值測試。MTU 不合適可能表現為小型請求正常、大型回應停滯,但相同症狀也可能來自 DNS、路徑品質或伺服器端限制,因此需要透過切換本地網路和比較其他伺服器交叉驗證。
若確認伺服器資訊已由服務來源變更,應依其最新資訊更新既有項目或訂閱。本說明站只解釋用戶端中的匯入、測試與排查方法,不提供伺服器或訂閱內容。
Subscribe 匯入或更新失敗
區分位址無法存取、內容無效與更新未生效
訂閱失敗至少可分為三類。第一類是 Subscribe 位址無法存取,常見表現為逾時、DNS 失敗或 HTTP 狀態異常;第二類是位址能夠回傳內容,但格式不是 Shadowrocket 可識別的資料;第三類是介面提示更新完成,但伺服器清單沒有預期變化。排查時需要先確認失敗發生在哪一步,而不是反覆刪除再重新加入。使用者應使用自己既有服務來源提供的完整訂閱位址,並注意連結中的查詢參數通常屬於位址的一部分,複製時不能截斷。
可先在 Subscribe 項目中核對位址首尾是否多出空格、協定標頭是否完整、字元是否被聊天軟體換行,以及連結是否已由服務來源替換。範例位址只能用來理解結構,不能產生真實伺服器:
https://example.com/sub?token=xxxx
若同一位址先前能夠更新、現在突然失敗,應先更換本地網路測試,再確認系統日期與 DNS。公共 Wi-Fi 的登入頁面、路由器過濾或暫時性的解析異常,都可能影響訂閱請求。若位址在不同網路下都回傳明確錯誤,應聯絡原服務來源確認位址狀態;不要透過不明頁面轉換訂閱內容,也不要把包含存取憑據的連結提交給陌生工具。
檢查更新策略與本地項目的關係
訂閱更新可能新增、修改或移除由該訂閱管理的伺服器。使用者手動建立的 Add Server 項目與 Subscribe 管理的項目,排查時應分開觀察,避免把本地手動項目誤認為訂閱更新結果。更新前記下訂閱群組中的伺服器數量,並不是可靠的長期驗證方式,因為服務來源可能調整內容;更有效的做法是記錄一個明確的伺服器名稱或更新時間提示,更新後查看該訂閱項目的狀態,並確認目前選取的伺服器是否仍然存在。
如果更新後 Home 仍選取已被移除或參數已變更的舊項目,應重新選擇訂閱中的有效伺服器,再執行 Connectivity Test。若 Config 中的策略組依伺服器名稱引用項目,名稱變更也可能造成策略缺漏。此時不僅要看伺服器清單,也要檢查 Config 的策略組成員與規則結果。訂閱更新成功只代表資料已寫入,不代表原本 Config 對新資料的引用仍然有效。
格式錯誤與局部資料問題的處理
當回傳內容中只有個別項目的欄位異常時,應用程式可能略過部分內容,或使整個匯入結果不符合預期。不要自行猜測缺少的欄位。先保留原 Subscribe 項目與目前可用的設定,向原服務來源核對其提供的格式是否適用於 Shadowrocket。若服務來源同時提供 QR Code,可使用 Scan QR Code 匯入,但 QR Code 只是另一種傳遞方式,掃描結果仍應核對伺服器位址、協定與備註,不能把「能夠掃描」視為「參數一定正確」。
Import from Cloud JSON 適合匯入使用者自行保存的相應資料,但雲端檔案可能早於目前設定。匯入前要區分還原備份與更新訂閱:備份會將某個時間點的本地結構帶回裝置,訂閱更新則從原位址取得目前內容。使用舊備份覆蓋現有資料後,應重新檢查 Subscribe 位址、伺服器選擇、Config 與 On Demand 條件,不要只確認伺服器清單是否出現。
| 現象 | 檢查重點 | 處理順序 |
|---|---|---|
| 請求逾時 | 本地網路、DNS、位址狀態 | 更換網路複測,再向原服務來源確認 |
| 提示格式異常 | 回傳內容與適用格式 | 保留原設定,核對完整訂閱位址 |
| 更新完成但連線失敗 | 目前伺服器與 Config 引用 | 重新選擇伺服器並檢查策略組 |
| 換機後內容較舊 | 備份時間與 Subscribe 狀態 | 先確認本地結構,再執行訂閱更新 |
訂閱不是 Shadowrocket 的購買內容。用戶端一次買斷 ≠ 線路方案;App Store 購買用於取得用戶端,Subscribe 中的資料由使用者既有的服務來源負責。若要遷移至新裝置,可搭配閱讀設定備份與換機還原步驟,先還原應用程式購買,再核對本地設定與訂閱狀態。
速度慢、載入停頓與不同應用程式表現不一致
依本地網路、伺服器、線路與協定逐層測量
速度慢需要先定義具體現象:是首次開啟頁面時等待很久、持續傳輸速度低、只有圖片或影片卡頓,還是只有某個應用程式異常。不同表現對應 DNS、連線建立、吞吐量、封包遺失與規則命中等不同層級。排查前先關閉正在進行的大量同步或下載,固定一個測試目標與時間段,先在 Shadowrocket 關閉時測量本地網路,再開啟並測試目前伺服器。只比較不同時間、不同網站的主觀感受,無法得出可靠結論。
第一層是本地 Wi-Fi 或行動網路。若關閉 Shadowrocket 後本地網路本身就有明顯封包遺失、頻繁切換網路或訊號微弱,後續連線會放大波動。靠近路由器、關閉品質較差的 Wi-Fi 後改用行動網路,或在另一個穩定網路下複測,可以判斷基礎接入是否為主要原因。第二層是目前伺服器與路徑。使用 Connectivity Test 比較使用者既有設定中的多台伺服器,並實際開啟同一個目標頁面;不要只依一次延遲結果選擇,因為低延遲不等於持續吞吐量穩定。
第三層是協定與參數。不同協定在不同網路條件下的表現可能不同,但參數必須來自既有伺服器資訊,不能為追求速度而任意改變驗證、傳輸或 TLS 設定。若服務來源提供多個適用項目,可以在相同網路、相同時間、相同目標下進行對照。第四層是規則:同一應用程式的網域可能被分配到不同策略,頁面主體走 PROXY,而圖片網域走 DIRECT 或 REJECT,就會出現文字先顯示、資源長時間空白的情況。
從請求紀錄識別規則分流
在 Data 或相應的請求紀錄中,觀察問題發生時的網域、命中規則與最終策略。重點查看主網域、靜態資源網域、登入網域與內容分發網域是否走向一致。若某些網域被 DOMAIN-KEYWORD 過度寬泛地匹配,應改為更精確的 DOMAIN 或 DOMAIN-SUFFIX;若 GEOIP 提前命中導致結果與預期不同,可將明確的網域規則放在它之前。修改規則後中斷並重新連線,同時重新開啟目標應用程式,避免舊連線繼續沿用先前路徑。
速度問題不宜透過長期將所有流量切換至 Proxy 來掩蓋。Proxy 可用於確認「規則是否參與問題」,一旦確認 Proxy 正常、Config 緩慢,應回到 Config 修正規則。若兩者都慢,而 Direct 正常,則檢查伺服器與路徑;若三種模式都慢,應先檢查本地網路、DNS 與裝置狀態。這個三模式對照與第二章相同,但本章關注的是可用連線中的效能差異,而非完全無法存取。
處理大型回應停頓與 MTU 線索
小型網頁正常、大型圖片或持續傳輸容易停頓時,可以將 MTU 或路徑分片問題列為候選,但不能直接認定。先比較不同本地網路與不同伺服器:只有某個網路組合出現,表示路徑特徵較明顯;所有組合都出現,則還要檢查協定參數、裝置省電狀態與目標服務。對於明確提供 MTU 設定的配置,應以使用者既有服務資訊或協定要求為基準,一次只調整一個值,並記錄調整前後相同的測試結果。盲目反覆更改只會造成更多不穩定。
| 變慢的階段 | 典型表現 | 主要檢查項目 |
|---|---|---|
| 名稱解析 | 開啟前長時間空白,之後突然載入 | DNS、網域規則、快取 |
| 建立連線 | 第一個請求很慢,之後同一網站較快 | 伺服器延遲、握手、路徑波動 |
| 持續傳輸 | 開始正常,之後速度下降或停頓 | 封包遺失、伺服器負載、MTU、接入網路 |
| 資源分流 | 文字正常,圖片或媒體異常 | 請求紀錄、規則命中、策略一致性 |
測試至少應涵蓋兩個時間點,避免將短暫壅塞當作穩定結論。記錄本地網路類型、伺服器名稱、Global Routing、目標應用程式與現象發生階段,再比較結果。若同一台伺服器在不同時間的表現差異很大,可能與遠端負載或路徑變化有關;若所有伺服器只在某個 Wi-Fi 下變慢,應優先處理路由器與接入網路。更完整的四層檢查可參閱伺服器、線路、協定與本地網路逐級排查。
DNS 解析失敗、結果異常與部分網域無法開啟
辨識 DNS 故障,不要籠統歸類為斷網
DNS 負責將網域名稱轉換為可連線的位址。典型 DNS 故障包括:輸入網域無法開啟,但直接存取已知 IP 有回應;部分網域持續提示找不到伺服器;切換 Wi-Fi 後同一網域恢復;首次請求很慢,之後在快取期間正常。TLS、規則 REJECT、伺服器逾時也可能產生近似表現,因此需要結合請求紀錄中的錯誤類型判斷。若紀錄顯示網域解析失敗,應先處理 DNS;若已取得目標 IP 但連線逾時,則應轉到伺服器或路徑層排查。
Shadowrocket 中 DNS 的實際行為會受到 Config、系統網路、IPv4、IPv6 以及規則設定影響。排查時先記錄目前的 DNS 設定,不要直接清空所有欄位。暫時使用已確認適合目前設定的 DNS 方案進行測試,並分別在 Wi-Fi 與行動網路下觀察。若只在特定 Wi-Fi 下失敗,路由器下發的 DNS、網路登入頁面或區域網路劫持可能參與問題;若所有網路都失敗,應核對 Config 是否引用不可達位址、格式錯誤的設定,或與目前規則不一致的解析路徑。
理解 no-resolve 與 IP 規則的關係
IP-CIDR、IP-CIDR6 和 GEOIP 會根據目標 IP 判斷。某些規則帶有 no-resolve 時,表示不要為執行該規則額外觸發網域解析;這可減少不必要的查詢,但也代表只有在已有 IP 資訊時規則才能匹配。若誤以為所有 IP 規則都會主動解析網域,就可能錯誤判斷規則為何未命中。DOMAIN、DOMAIN-SUFFIX 與 DOMAIN-KEYWORD 直接依網域匹配,通常應放在需要精確分流的 IP 類規則之前。
[Rule]
DOMAIN,api.example.com,PROXY
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
上述區域網路規則用於說明匹配方式。若裝置需要存取區域網路中的路由器、儲存裝置或列印服務,DIRECT 通常可避免流量被送往遠端,但實際存取仍受 Wi-Fi 隔離與區域網路權限影響。區域網路 IP 無法存取不一定是 DNS 問題,因為直接使用 IP 時並未進行網域解析。應先區分存取目標是網域還是 IP,再看失敗發生在哪一層。
處理快取、IPv6 與加密 DNS 的交互影響
修改 DNS 後,舊結果可能仍存在於應用程式、系統或連線快取中。應中斷 Shadowrocket,重新連線,再完全關閉目標應用程式並重新開啟;必要時切換一次飛航模式。不要連續更換多個 DNS 後立即下結論,因為快取會使前後結果混在一起。若某網域同時提供 IPv4 與 IPv6,而目前網路的 IPv6 路徑不穩定,可能出現解析成功但連線緩慢或逾時。此時應比較不同接入網路,並查看失敗請求使用的位址類型,而不是簡單認為 DNS 沒有回傳結果。
設定加密 DNS 時,還要考慮其伺服器網域如何首次解析,以及存取該 DNS 端點的路徑是否受到目前規則影響。如果 DNS 端點本身只能透過尚未建立的路徑存取,就可能形成啟動依賴。排查時可暫時恢復到設定明確支援的基礎方案,確認一般解析正常,再逐步加回加密 DNS 設定。每次變更後測試一個先前穩定失敗的網域和一個正常網域,才能判斷是整體解析故障還是單一網域結果異常。
| 觀察 | 說明 | 驗證方式 |
|---|---|---|
| 網域失敗,IP 可存取 | 優先懷疑解析鏈 | 查看 DNS 錯誤並更換網路對照 |
| 解析成功但連線逾時 | 問題可能已進入路徑層 | 核對目標 IP、策略與伺服器 |
| 僅區域網路名稱失敗 | 可能依賴路由器本地解析 | 比較 IP 存取與 Wi-Fi DNS |
| 修改後短時間內仍異常 | 可能存在舊快取 | 重建連線並重新啟動目標應用程式 |
耗電異常、背景活動與更新後異常
判斷耗電來自持續流量還是連線重試
Shadowrocket 處於連線狀態時,需要處理經過系統網路延伸功能的流量;耗電會受到裝置訊號、傳輸量、協定、規則複雜度、日誌記錄與連線穩定性共同影響。先進入系統 Settings 的電池用量頁面,比較觀察時段內 Shadowrocket 的前景與背景活動,同時檢查是否有照片同步、雲端備份、媒體播放或其他應用程式持續傳輸。網路流量由其他應用程式產生時,Shadowrocket 可能因處理這些連線而顯示背景活動,因此不能只看到占比就判斷用戶端本身異常。
若裝置發熱並伴隨伺服器反覆逾時、Home 狀態頻繁切換或 On Demand 不斷觸發,應重點檢查連線重試。先關閉 On Demand,選擇一台已確認可用的伺服器,在穩定 Wi-Fi 下手動連線並觀察。恢復正常後,再檢查 On Demand 條件是否在 Wi-Fi 與行動網路切換時互相衝突。訊號較弱時,行動網路為維持連線會增加耗電;同一設定在穩定 Wi-Fi 下正常、弱訊號環境下明顯發熱,表示接入網路也是重要變數。
縮小日誌、規則與背景工作的影響
排查期間可減少不必要的長時間詳細記錄,並查看 Data 中是否有某個應用程式持續產生大量請求。異常重試的網域可能每隔很短時間重複出現,既增加流量,也會持續喚醒網路。此時應先確定請求來自哪個應用程式、命中了哪條規則、回傳何種錯誤,再處理規則或目標應用程式的背景行為。不要直接使用寬泛的 REJECT 阻斷所有相似網域,因為過寬的 DOMAIN-KEYWORD 可能影響正常功能並產生新的重試。
複雜規則檔案本身通常不是唯一的耗電原因,但大量重複、互相覆蓋或順序不合理的規則會增加診斷難度。可複製目前的 Config,建立精簡版本,只保留必要的區域網路規則、明確網域規則、GEOIP 與 FINAL,觀察相同時段的連線穩定性。如果精簡後問題消失,再分段加入原有規則,定位引發重複請求或錯誤分流的部分。這種方法比一次刪除全部設定更安全,也保留了還原路徑。
更新後先檢查狀態遷移,不要立即重建全部設定
透過 App Store 更新後若出現開關失敗、伺服器無法選取、規則行為改變或介面狀態異常,先重新啟動 Shadowrocket 的連線:關閉 Home,等待系統 VPN 標記消失,再重新開啟。接著確認目前伺服器、Global Routing、Config、DNS 與 On Demand 是否仍是更新前使用的項目。系統更新也可能重新評估網路延伸功能權限,因此應查看系統 Settings 中的 VPN 設定是否存在且可用。系統要求與相容範圍以 App Store 頁面標註為準。
如果設定內容仍在,但只有某個訂閱或伺服器失敗,應依訂閱與逾時章節處理,不要把所有問題都歸因於應用程式更新。若所有設定都出現相同問題,可先匯出或記錄目前重要設定,再重新啟動裝置與網路。只有在確認本地資料已有可還原的備份、購買紀錄可從 App Store 找回、訂閱位址也仍由使用者保存時,才考慮大範圍重建。貿然清除資料會把暫時的系統狀態問題變成設定還原問題。
| 現象 | 優先觀察 | 建議動作 |
|---|---|---|
| 背景用量隨大量流量上升 | 其他應用程式同步與媒體傳輸 | 暫停大量流量工作後進行對照 |
| 沒有明顯使用仍持續發熱 | 連線重試、On Demand、訊號微弱 | 關閉自動觸發並固定使用可用網路 |
| 更新後開關異常 | VPN 設定、目前伺服器、系統狀態 | 重建連線並重新啟動裝置 |
| 更新後只有 Config 異常 | 策略引用、規則與 DNS | 用 Proxy、Direct 進行對照後修正规則 |
Shadowrocket 唯一的取得入口是 App Store 產品頁。可在頁面中核對開發者 Shadow Launch Technology Limited 與應用程式 ID 932747118;應用程式更新也由 App Store 管理,不應以網路上的版本描述取代商店頁面資訊。
iPad 專項:分割畫面、鍵盤、區域網路與換機還原
先確認 iPad 上的購買與設定來源
iPad 上的 Shadowrocket 與 iPhone 使用相同的 App Store 產品頁。同一個 Apple ID 已購買時,可在 App Store 的已購項目中尋找並還原,具體相容範圍與系統要求以 App Store 頁面標註為準。首次開啟仍需要系統授權加入 VPN 設定。若 iPhone 正常而 iPad 開關無法開啟,應分別檢查 iPad 的 VPN 權限、裝置管理政策、On Demand 條件與目前網路,不要假定兩台裝置的系統網路狀態完全相同。
透過 iCloud、Config 匯出或 Import from Cloud JSON 還原設定後,應將「檔案已出現」與「設定可以連線」分開驗證。先核對伺服器項目與 Subscribe 位址,再選擇目前伺服器,檢查 Global Routing 和 DNS,最後開啟 Home。若備份時間較早,訂閱管理的項目可能需要重新更新;若策略組引用的伺服器名稱已經變更,也要同步檢查 Config。完整順序可參閱設定備份與換機遷移說明,其中同樣適用於從舊裝置遷移至 iPad 的核對流程。
處理分割畫面、多視窗與鍵盤造成的介面差異
iPadOS 的分割畫面與多視窗會改變可用寬度,Home、Config、Settings 或 Data 的清單與詳細資訊可能採用不同排列。看不到某個按鈕時,先退出較窄的分割畫面狀態或展開側欄,不要依照 iPhone 的固定位置尋找。連線狀態由系統網路延伸功能維持,關閉某個 Shadowrocket 視窗不等於中斷 Home;應回到應用程式或系統 VPN 狀態確認。多個視窗同時開啟時,修改 Config 後要確認目前查看的是同一份設定與最新狀態。
使用外接鍵盤貼上 Subscribe 位址、SERVER、密碼或規則時,注意全形標點、智慧引號、自動空格與換行。規則語法需要英文逗號,策略名稱必須與現有名稱一致。長按複製的內容若來自帶格式文字,可能夾帶不可見字元;出現看似完全相同卻無法連線的情況,可在純文字環境中重新核對,再逐欄位輸入。Scan QR Code 匯入後也應檢查結果,不應只看掃描過程是否完成。
區域網路裝置存取與 Wi-Fi 情境
iPad 常用於存取區域網路儲存裝置、列印設備或家庭服務。若開啟 Shadowrocket 後區域網路資源失效,先使用 IP 位址測試,區分名稱解析與網路可達性。確保常見區域網路網段存在 DIRECT 規則,並放在 FINAL 之前;若 IP 可存取而本地域名失敗,應檢查路由器 DNS 或本地名稱解析。若 IP 也無法存取,檢查 Wi-Fi 是否啟用訪客隔離、裝置是否位於同一子網路,以及目標裝置是否允許目前網路存取。
[Rule]
IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
在學校、會議場所或飯店 Wi-Fi 中,iPad 可能需要先完成登入頁面驗證。先關閉 Home,開啟瀏覽器觸發網路登入,確認一般頁面可以存取後再連線。若分割畫面中的瀏覽器沒有出現登入頁面,可暫時全螢幕開啟,或在系統 Wi-Fi 詳細資訊中重新加入網路。登入狀態到期後,可能表現為 Shadowrocket 仍顯示已連線,但所有請求都失敗,此時應再次檢查網路入口網站,而不是立即修改伺服器參數。
建立 iPhone 與 iPad 的獨立對照
同一設定在 iPhone 正常、iPad 異常時,應讓兩台裝置連線至同一個 Wi-Fi,選擇同一台伺服器、同一份 Config 與相同的 Global Routing,再比較結果。若只有 iPad 失敗,檢查其系統時間、DNS、VPN 設定、裝置管理與私有網路相關設定;若兩台裝置同時失敗,更可能是伺服器、訂閱或目前 Wi-Fi 的共同問題。對照時不要讓一台使用行動網路、另一台使用 Wi-Fi,否則結論會同時受到接入網路影響。
若 iPad 具備行動網路功能,還應分別測試 Wi-Fi 與行動網路,並注意 On Demand 條件是否針對兩種網路設定了不同動作。切換網路後,等待系統狀態穩定再測試,不要在 VPN 標記仍變化時連續點選 Home。只有 Wi-Fi 失敗時,檢查路由器和登入頁面;只有行動網路失敗時,檢查行動訊號、行動數據權限與對應的 On Demand 條件;兩者都失敗時,再回到伺服器參數、DNS 和系統 VPN 設定。
| iPad 情境 | 容易誤判的地方 | 正確檢查方式 |
|---|---|---|
| 關閉應用程式視窗 | 誤以為連線已中斷 | 查看 Home 與系統 VPN 狀態 |
| 分割畫面下缺少按鈕 | 誤以為功能不存在 | 展開側欄或恢復全螢幕 |
| 還原備份後清單出現 | 誤以為訂閱與規則都已更新 | 逐項核對 Subscribe、Config 與目前伺服器 |
| 區域網路名稱無法開啟 | 誤以為伺服器故障 | 先用區域網路 IP 區分 DNS 與可達性 |
若需要重新核對 iPad 的 App Store 取得、已購項目還原與首次授權步驟,請查看iPad 取得說明。Mac、Apple TV 與 Apple Vision 的相容資訊也以同一個 App Store 頁面標註為準;本頁的操作重點仍是 iPhone 與 iPad 上的故障定位。