Shadowrocket 規則分流設定:指定網站走 PROXY,其餘走 DIRECT

用 DOMAIN-SUFFIX、DOMAIN-KEYWORD 指定代理網站,再以 FINAL,DIRECT 作為兜底;搭配 Global Routing 的 Config 模式,讓代理只套用於指定網站。

本文重點

本文適合已有可用連線,並希望將代理範圍限縮至指定網站的使用者。先確認使用 Config 模式,再依序加入網域規則,最後以 FINAL,DIRECT 處理未命中的連線;接著查看請求記錄中的頁面相依網域,避免把「網頁開得起來」誤認為分流設定正確。

一、適用平台與分流前提

Shadowrocket(小火箭)支援 iPhone、iPad、Mac、Windows、安卓與 Linux,分為兩種取得方式:iPhone / iPad 版從 App Store 取得,售價 $2.99,一次性付費;系統需求以 App Store 頁面標示為準。Mac(Apple 晶片與 Intel)、Windows、安卓、Linux 版免費。各平台的取得方式請見下載頁。以下以 iPhone / iPad 上的 Home、Config、Settings 介面名稱說明;其他平台請使用對應的設定與路由入口。

規則只會決定連線採用哪項策略,不會產生連線憑證。本文假設使用者已有自己的服務商與訂閱,且連線運作正常;本站不提供、銷售或推薦節點與訂閱。購買用戶端的費用不包含線路服務。

透過訂閱匯入的連線清單,與 Config 中的規則並非同一層設定。更新連線清單不能取代選擇設定檔;更新遠端設定也可能覆蓋手動修改。因此,開始前先確認要修改的是連線參數、訂閱項目,還是路由設定。

二、Global Routing 應選擇 Config

要讓「指定網站走代理」,就必須由規則判斷連線。在 Home → Global Routing 中選擇 Config,代表依照目前設定檔處理連線。不要因為某個網站一時無法開啟,就長期切換至 Proxy;即使設定文字沒有變更,實際路由範圍也已經不同。

Config:依設定檔處理

建議

讀取目前設定檔中的規則;命中指定網域時使用 PROXY,未命中則交由 FINAL,DIRECT 處理。

適用情境:本文所述的指定網站走代理、其餘網站直連。

Proxy:全域代理模式

將進入用戶端處理範圍的連線交由代理,不會依本文的網域清單區分網站。

適用情境:暫時確認代理連線是否可用;檢查後切回 Config。

Direct:全域直連模式

將進入用戶端處理範圍的連線設為直連,無法用來確認網域規則是否會選擇 PROXY。

適用情境:暫時檢查本地網路直連是否正常。

Scene:場景模式

依已設定的場景處理路由;排查前須確認場景內容,不能只看 Scene 字樣就推斷最終策略。

適用情境:已設定明確場景的使用方式,不適合作為本文的驗證起點。

判斷順序:先確認模式,再修改規則

先將 Global Routing 設為 Config,並確認目前設定檔名稱;若仍停留在 Proxy,即使繼續新增 DIRECT 規則,也無法驗證本文的分流目標。

三、最精簡規則:網域清單加上 FINAL,DIRECT

從最小範圍開始,只加入確定需要代理的網域。以下使用保留的範例網域說明語法,不代表實際線路或網站推薦。若已有完整設定檔,只將相關項目加入現有的 [Rule] 區段;不要新增重複區段,也不要用這段範例覆蓋整份設定檔。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-SUFFIX,example.net,PROXY
FINAL,DIRECT

DOMAIN-SUFFIX,example.com,PROXY 會比對 example.com 及 www.example.com、api.example.com 等子網域;這不是任意字串包含比對,不會因另一個網域含有相似字樣就自動命中。網域欄位不可填入 https://、連接埠、路徑或查詢參數。

3 項
一般網域規則:類型、比對值、策略
2 行
最精簡清單:一行網域規則加一行 FINAL
末尾
FINAL,DIRECT 放在其他比對規則之後

規則會依序檢查,由第一個命中的項目決定策略。FINAL,DIRECT 是未命中任何規則時的兜底,不是「辨識本地網站」。它的意思是:所有未被前面的規則比對到的連線,都會嘗試直連。網站直連失敗,不代表 FINAL 無效,也可能是目前網路無法直接連上該網站。

PROXY 代表代理策略,DIRECT 代表直連。兩者都不是 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 或 WireGuard 等協定名稱;實際協定取決於既有連線參數。使用這份簡易清單時,也要確認 PROXY 最後指向預期的代理連線,而非同名策略群組實際指向 DIRECT。

四、DOMAIN-KEYWORD 與 IP 規則的適用範圍

需要依網域名稱中的關鍵字比對時,可以使用 DOMAIN-KEYWORD。不過,關鍵字的比對範圍通常比網域後綴更廣。已知確切網域時,優先使用 DOMAIN-SUFFIX;只有明確需要涵蓋多個含有相同字串的網域時,才考慮使用關鍵字。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,PROXY
FINAL,DIRECT

在這個示範中,第二條規則會比對網域中包含 example 的連線,因此第一條以外的網域也可能走 PROXY。這並不等同於「只比對 example.com」。實際設定通常只保留符合需求的一種寫法,避免為了省事採用過短的關鍵字,擴大代理範圍。

關鍵字比對對象本文建議的處理方式
DOMAIN-SUFFIX網域及其子網域用於明確指定網站的網域清單
DOMAIN-KEYWORD網域中的字串確認擴大比對範圍符合預期後再加入
IP-CIDRIPv4 位址網段僅在已知目標網段時使用
GEOIPIP 位址資料庫中的地區歸屬無法據此判斷內容使用的語種、所屬機構或網域地區
FINAL前述規則都未命中的連線放在末尾並指定 DIRECT

例如 IP-CIDR,192.0.2.0/24,PROXY,no-resolve 使用的是文件示範網段,不應直接加入實際清單。no-resolve 表示不會為了比對該規則而主動解析網域;這不等於停用所有 DNS。直接以 IP 位址建立的連線可能沒有可供網域規則比對的主機名稱;共用同一個位址的網站也未必屬於同一項服務,因此不要隨意將網站某次解析出的整個 IP 網段設為 PROXY。

五、儲存設定並逐項驗證

驗證時要同時檢查代理目標與直連對照,不能只開啟一個首頁。瀏覽器快取、重複使用舊連線,以及頁面中的第三方資源,都可能掩蓋設定變更。每次調整一組規則後,請先儲存並重新建立測試連線,再從請求記錄確認實際命中結果。

  1. 備份設定檔

    進入 Config,儲存目前設定檔的副本。若原始檔案來自遠端網址,先確認之後更新是否會覆蓋本地修改。

  2. 編輯規則

    在 Config 中開啟目標設定檔的編輯入口,找到 [Rule]。將指定網域項目放在 FINAL 之前,並檢查前方是否已有範圍較廣的規則。

  3. 啟用設定檔

    儲存並選取該設定檔,回到 Home → Global Routing → Config。確認既有代理連線可用,必要時先中斷連線再重新連線。

  4. 檢查連線條件

    進入 Settings → On Demand,確認按需連線條件;測試期間避免自動連線或中斷連線改變狀態。接著返回 Home,確認連線開關已開啟。

  5. 確認請求結果

    重新造訪清單中的網站,再造訪一個清單以外的網站。在請求記錄中分別檢查目標主機、命中規則與實際策略,結果應分別為 PROXY 與 DIRECT。

若首頁文字能顯示,但圖片或登入失敗,請檢查失敗資源使用的實際主機名稱。一個頁面可能會分別向主站、靜態資源、介面與驗證網域發出請求。將確認屬於該操作流程、且確實需要代理的網域逐一加到 FINAL 前,再重新測試;不要直接加入涵蓋整個公共資源平台的大範圍關鍵字。

六、常見狀況與修正方式

依照「模式 → 目前設定檔 → 規則順序 → 實際請求網域」的順序處理以下問題。一次只修改一個因素,並記錄修改前後的命中結果,才能分辨問題來自路由規則、代理連線、DNS,還是目標網站本身。

已經設定 FINAL,DIRECT,為什麼許多網站仍走代理?

先確認 Home → Global Routing 是否設為 Config,再檢查目前設定檔中 FINAL 前方是否已有範圍較廣的 DOMAIN-KEYWORD、IP 規則或外部規則集。先命中的規則會決定策略,末尾的 FINAL 不會覆蓋前面的結果。也要確認被引用的策略群組實際選用了哪項策略。

指定網站仍然直連,是網域規則無效嗎?

先確認編輯的檔案就是 Config 中目前選取的設定檔,再查看實際請求的主機名稱。造訪 example.com 後若跳轉至另一個網域,就需要另外比對跳轉後的主機。若記錄中只有 IP 位址,不能只根據網址列判斷 DOMAIN-SUFFIX 一定會命中。

主站可以開啟,但登入或影片失敗,該加入哪些規則?

重新執行失敗的操作,並在請求記錄中找出驗證、媒體或介面請求。只為確認需要代理的相依網域加入規則,並放在 FINAL 前方。若記錄已顯示 PROXY,接著檢查既有連線是否可用,不要反覆擴大網域比對範圍。

更新訂閱後規則變了,如何避免重複修改?

先確認更新的是 Home 中的連線訂閱,還是 Config 中的遠端設定。連線訂閱主要更新連線清單;遠端設定更新則可能替換檔案內容。保留自己的規則副本,每次更新後確認目前設定檔、規則順序與 FINAL 策略,再分別測試清單內外各一個網站。

最後應整理出一份能說明每次比對結果的精簡清單:明確指定的網域使用 PROXY,其餘連線由 FINAL,DIRECT 兜底。之後新增網站時,依照「查看實際網域、加入最精簡的比對規則、確認策略」的流程處理,不要不斷堆疊關鍵字。若要了解更完整的設定概念,請參閱協定手冊與概念速查。

下載 Shadowrocket