2026-09-11 · 規則與分流 · 約 8 分鐘

Shadowrocket 指定網站走代理設定:DOMAIN-SUFFIX 分流規則教學

示範如何用 DOMAIN-SUFFIX,PROXY 指定少數網站走代理,並以 FINAL,DIRECT 處理其餘流量;說明規則順序如何影響比對結果。

本文重點

只讓指定網站走代理,必須同時符合三個條件:Global Routing 選擇 Config、目標網域符合 PROXY 規則,其餘請求由 FINAL,DIRECT 處理。本文適合已有服務商提供的服務與可用連線設定的使用者,依序進行備份、編輯、啟用與驗證,並透過網域例外說明規則為何必須依序排列。

一、先確認範圍:依網域分流,而非依網址分流

Shadowrocket(小火箭)的 DOMAIN-SUFFIX 會比對網域後綴。填入 example.com 後,會涵蓋該網域本身,以及 www.example.com、api.example.com 等子網域。它不會在瀏覽器網址列中搜尋某段文字,也不會依網頁標題比對。

若要涵蓋整個網站及其子網域,請使用 DOMAIN-SUFFIX;若只要指定一個確切的主機名稱走代理,請使用 DOMAIN。不要在網域欄位填入 https://、路徑、查詢參數或連接埠。例如造訪 https://example.com:443/account 時,網域欄位仍只填 example.com。

規則會比對不會比對
DOMAIN,example.com,PROXYexample.comwww.example.com
DOMAIN-SUFFIX,example.com,PROXYexample.com 及其子網域badexample.com
DOMAIN,api.example.com,DIRECTapi.example.comwww.example.com

所有示範網域僅用於說明語法,不代表有可用的代理服務。規則只決定請求交由哪種策略處理,不會產生連線參數,也無法讓不可用的代理恢復連線。

二、先備份,再於 Config 中加入最精簡的規則

開始前,請在 Home 確認已有可用的代理設定。若連線參數來自既有訂閱,請先完成必要更新,再確認目前選取的代理可以連線。編輯規則與更新訂閱是兩回事:前者會改變請求的處理路徑,後者通常用來更新連線資訊。

  1. 保留原有設定。進入 Config,先透過設定操作保留副本或匯出備份,並記下目前使用的設定,以便還原。
  2. 開啟準備使用的設定。在 Config 中進入對應設定的編輯畫面,找到規則區段。若使用文字編輯,請定位 [Rule]。
  3. 整理現有規則。確認是否已有 FINAL、範圍較廣的網域規則,或指向其他策略的規則。不要只把新規則加在原有兜底規則之後。
  4. 儲存並啟用。儲存修改後,在 Config 中確認啟用的是剛編輯的設定,而非名稱相近的另一份檔案。

最精簡的範例只需要兩條規則。以下是設定檔中的規則片段,並非完整的連線設定;請將它加入現有設定的規則區段,不要用來覆蓋整份檔案。

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

第一行規則會將 example.com 及其子網域交由 PROXY 處理;最後一行則將未符合前面規則的請求交由 DIRECT 處理。其中 PROXY 使用目前選取的代理,DIRECT 表示直接連線至目標。若原設定使用自訂策略群組,請另行確認群組名稱與實際選項,不要在規則中填入不存在的名稱。

三、將 Global Routing 設為 Config,才能套用這組規則

返回 Home,開啟 Global Routing 並選擇 Config,接著啟用連線。這裡設定的是全域處理模式:選擇 Proxy 不等於「只代理規則中的網站」,選擇 Direct 也不會套用本文指定的網站代理設定。

模式處理方式本情境的選擇方式
Config依目前啟用設定中的規則決定策略。使用此選項驗證本文的規則。
Proxy將代理設為全域處理方式。不適合用來驗證「其餘流量直連」的規則效果。
Direct將直接連線設為全域處理方式。不適合用來驗證指定網域的 PROXY 規則。
Scene依已設定的情境決定處理方式。初次排查時先使用 Config,減少切換情境造成的變因。

Settings → On Demand 用來控制是否依條件自動建立連線,並非編輯網站清單的入口。即使已設定 On Demand,仍須確認目前使用的設定、Global Routing 與代理選項。自動建立連線與連線後如何分流,屬於不同層面的設定。

四、例外規則放前面,FINAL 放最後

規則會依序比對,符合後便採用對應策略。假設整個 example.com 都要走代理,但 assets.example.com 必須直連,範圍較明確的例外規則就要放在較廣泛的後綴規則之前。否則資源網域會先符合後綴規則,後面的例外便不會生效。

[Rule]
DOMAIN,assets.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
3 條
本例規則:精確例外、網域後綴、最終兜底
2 種
本例策略:PROXY 與 DIRECT
1 條
保留在規則最後的 FINAL

重點:先寫例外,再寫範圍,最後設定兜底

若某個子網域的處理方式不如預期,先逐條比對上方規則;優先調整規則順序,不要立刻更換協定或重建連線設定。

也要留意現有的 GEOIP 與 IP-CIDR 規則。這些規則比對的是 IP 範圍或地理位置,並非網站網域清單;IP 類規則與 DNS 解析相關設定也會影響比對條件。若要嚴格達成「清單內走代理、清單外直連」,應逐條檢查所有可能指向代理的舊規則,而不只是將最後一條改成 FINAL,DIRECT。

五、用三類請求驗證,不要把延遲測試當成分流結果

儲存後重新建立連線,並讓測試頁面發出新請求。瀏覽器可能會沿用已建立的連線,頁面快取也可能導致重新整理時沒有送出預期的新請求。可以先關閉原有分頁再重新開啟,接著在 App 內查看連線記錄,核對目標主機與實際採用的策略。

測試對象預期符合的規則預期策略
www.example.comDOMAIN-SUFFIX,example.com,PROXYPROXY
assets.example.comDOMAIN,assets.example.com,DIRECTDIRECT
不在清單中的實際測試網域FINAL,DIRECTDIRECT

表格說明的是範例設定的預期結果,並非對示範網域的實測報告。實際驗證時,請改用自己需要造訪的網域。延遲測試只能協助判斷所選代理的連線狀況,無法證明某次網頁請求符合哪條規則;分流是否正確,應以該請求的主機、符合的規則及策略記錄為準。

一個頁面往往會連線至多個網域。頁面正文可能來自主站,登入、圖片、指令碼或媒體則可能來自其他網域。若只有圖片載入失敗,請先查明失敗請求實際連線的主機,再判斷是否需要新增規則。不要因為某項資源載入失敗,就把整個網路改成 Proxy。

  1. 記下失敗資源的完整主機名稱,不要將網頁標題當成規則比對對象。
  2. 判斷只需比對這個主機,還是必須涵蓋其所屬網域的所有子網域。
  3. 選擇 DOMAIN 或 DOMAIN-SUFFIX,並將新增規則放在 FINAL 之前。
  4. 重新送出請求,確認策略已變更,再檢查資源是否恢復。

六、規則符合但仍無法連線時,分開排查連線錯誤

「採用錯誤策略」與「策略正確但連線失敗」是兩種不同問題。先確認請求是否符合預期規則;若已符合 PROXY,再查看具體的連線錯誤。以下列出連線錯誤中可能出現的英文訊息,實際顯示內容請以 App 內的記錄為準。

錯誤:Connection refused

原因與處理方式:目標端或中間設備明確拒絕了連線;先從記錄確認失敗的連線指向代理伺服器還是網站,再核對相應的位址、連接埠及服務狀態。不要直接將連線遭拒解讀為網域規則未生效。

錯誤:Operation timed out

原因與處理方式:連線未能在等待期限內完成;先確認目前請求採用的策略,再分別檢查所選代理是否可連線,或目標網站是否能直接連線,並核對既有服務商提供的位址與連接埠。

若同一目標透過 DIRECT 連線失敗、透過 PROXY 連線成功,只能說明兩條連線路徑的結果不同,不能據此判定所有網站都需要代理。若兩種路徑都失敗,應繼續檢查網域解析、目標服務狀態與網路環境,而非反覆新增重複規則。

為什麼加了規則,其他網站也走代理?

先在 Home → Global Routing 確認已選擇 Config,再到 Config 檢查目前設定中的其他規則。若有範圍較廣的 PROXY 規則,清單以外的請求仍可能符合該規則;最後的 FINAL,DIRECT 只會處理前面都未符合的請求。

只想讓一個子網域走代理,需要寫後綴嗎?

若只需要讓 api.example.com 走代理,請寫 DOMAIN,api.example.com,PROXY。若還要涵蓋其下一層子網域,再考慮 DOMAIN-SUFFIX,api.example.com,PROXY;兩者涵蓋範圍不同。

同一個網站只有登入頁面打不開,該怎麼辦?

重新送出登入請求,在連線記錄中查看登入服務實際使用的主機名稱。若該主機不屬於已設定的網域後綴,請依需求新增個別規則;不要把登入 URL 的路徑或查詢參數填入 DOMAIN-SUFFIX。

更新訂閱後,為什麼規則效果變了?

先在 Home 確認原先選取的代理是否仍存在且可用,再到 Config 核對目前啟用的檔案。若也更新了遠端設定,請比對備份,確認規則是否遭到取代;還原已確認的本機規則後,再重新測試。

最後的檢查順序不變:啟用正確設定、選擇 Config、核對比對範圍與規則順序、查看請求策略、排查連線錯誤。如此可區分設定問題與網路問題;每次只修改一個變因,避免修改後無法判斷是哪個步驟產生影響。

Shadowrocket 正版下載