官方手冊 · 術語索引

Shadowrocket 術語速查

先區分介面選項、協定參數與規則策略,再檢查設定。本頁依使用情境整理術語;點選分類或術語連結,即可前往對應說明。

[General]

介面與選項

模式決定如何處理請求,選項控制連線行為,測試則用於確認結果,三者不能互相取代。

01 / 介面選項

Global Routing

這是選擇請求整體處理方式的選項,分為設定、代理與直連三種模式,對應介面詞彙 Config、Proxy、Direct。若要讓 Rule 中的分流規則參與判斷,請先確認已選取 Config。切換模式不會修改伺服器參數,也無法讓失效的驗證資訊恢復有效。

02 / 模式與頁面

Config

在 Global Routing 中,Config 表示依目前設定處理請求,包括依據 Rule 選擇策略。在頁面導覽中,Config 也是管理設定檔的入口,須依所在位置判斷其含義。排查規則未生效時,應確認目前模式及實際使用的設定檔。

03 / 路由模式

Proxy

這是 Global Routing 的代理模式,讓請求以該模式透過代理處理,而非逐條套用日常分流規則。它與規則末尾的大寫 PROXY 屬於不同層級,不能只看中文意思就混為一談。暫時測試後若要恢復規則分流,請切回 Config 並重新確認連線結果。

04 / 路由模式

Direct

這是 Global Routing 的直連模式,請求會透過目前網路直接連線至目標。此模式適合檢查直連結果,但仍會受目前網路、目標服務與 DNS 解析影響。介面中的 Direct 與規則關鍵字 DIRECT 大小寫不同;前者是整體模式,後者是單條規則的處理策略。

05 / 連線條件

On Demand

On Demand 依據 App 內設定的條件控制連線行為,實際條件與可用選項請以目前 App 介面為準。它決定何時建立連線,Rule 則決定如何處理請求,兩者用途不同。若出現自動連線或連線狀態變化,請先核對此處條件,再判斷是否需要調整規則。

06 / 資料輸入

Add Server

這是輸入使用者現有伺服器資料的入口,請先選擇協定類型,再依現有資料填入位址、連接埠與驗證參數。各協定所需欄位不同,不能只更改 Type 就當作已完成設定轉換。儲存後請再次核對重要欄位,避免複製時多出空格或遺漏傳輸設定。

07 / 可達性診斷

Connectivity Test

此功能用於檢查連線是否可達,結果會依測試方法、測試目標與目前網路而異。顯示的延遲不代表可用頻寬,也不表示所有網站都能正常連線。判斷問題時,應搭配實際請求查看測試結果,區分伺服器可達、驗證成功與目標連線成功。

08 / 網域解析

DNS

DNS 會將網域名稱解析為 IP 位址,是許多連線開始前必須完成的步驟。解析失敗與代理連線失敗是不同問題;修改路由策略也不一定能修復解析。網域無法連線時,請先核對解析設定與回傳位址,再檢查後續請求符合哪條規則。

[General]

代理協定

協定名稱描述連線機制,不代表線路品質。填寫參數時,請以使用者現有伺服器提供的資料為準。

09 / 代理協定

Shadowsocks

Shadowsocks 使用伺服器位址、連接埠、加密方式與密碼等參數建立代理連線。加密方式必須與伺服器端一致,名稱相似的選項不可任意替換。若現有資料另含傳輸參數,也應逐項核對,不要只填入位址與密碼就開始測試。

10 / 代理協定

VMess

VMess 是具有使用者驗證機制的代理協定,使用者識別碼須與伺服器驗證設定相符。連線也可能涉及傳輸方式、TLS、路徑與 Host 等參數,這些欄位各有用途。匯入後看到伺服器記錄,只代表資料已儲存,不表示所有欄位都正確。

11 / 代理協定

VLESS

VLESS 使用使用者識別碼進行驗證,傳輸方式與連線安全設定須另外核對。它與 VMess 是不同協定,不能因為兩者都可能使用 UUID 就互換 Type。設定時請完整保留伺服器要求的參數,並依 App 內實際提供的欄位輸入。

12 / 代理協定

Trojan

Trojan 通常使用 TLS 保護連線,並以密碼進行驗證。除了位址、連接埠與密碼,也應核對 TLS 所需的伺服器名稱及憑證相關設定。即使驗證資訊正確,TLS 檢查失敗仍可能導致無法建立連線,請分別檢查這兩個階段。

13 / 代理協定

Hysteria2

Hysteria2 以 QUIC 為基礎,透過 UDP 傳輸連線,須符合伺服器的驗證、TLS 等設定。目前網路能建立一般 TCP 連線,不代表相應的 UDP 路徑一定可用。排查時應同時核對協定參數與網路可達性,不宜只憑單一延遲數值判斷故障原因。

14 / 通道協定

WireGuard

WireGuard 使用金鑰驗證,常見設定涉及金鑰、通道位址、Endpoint 與允許的位址範圍。這裡的金鑰與位址欄位,不能直接視為一般代理協定中的密碼與伺服器位址。分享診斷資料時,請隱藏私鑰及其他驗證資訊,只保留必要的欄位名稱。

15 / 代理協定

HTTP · SOCKS5

HTTP 與 SOCKS5 是兩種不同的代理協定,應依現有伺服器類型選擇,而非依準備瀏覽的網站類型決定。伺服器是否要求使用者名稱與密碼、是否提供受保護的連線,都須依相關設定核對。位址與連接埠相同,不代表兩種協定可以互換。

[Rule]

規則關鍵字

規則類型決定檢查哪個欄位,策略則決定符合條件後如何處理。以下網域僅用於說明語法。

16 / 精確網域

DOMAIN

DOMAIN 會精確比對指定網域名稱,不會自動包含其子網域。例如 DOMAIN,example.com,PROXY 對應 example.com,不能因此推定 api.example.com 也會符合。若要涵蓋整個網域後綴,應先了解 DOMAIN-SUFFIX 的比對範圍,再選擇適當寫法。

17 / 網域後綴

DOMAIN-SUFFIX

DOMAIN-SUFFIX 會比對指定網域名稱及其子網域,適合用來涵蓋同一網域後綴下的多個請求。DOMAIN-SUFFIX,example.com,PROXY 可涵蓋 example.com 與 api.example.com。若特定子網域需要不同策略,應將範圍更精確的規則放在這條廣泛規則之前。

18 / 網域關鍵字

DOMAIN-KEYWORD

DOMAIN-KEYWORD 依網域名稱中的關鍵字比對,不等同於比對完整網域後綴。關鍵字太短或過於常見時,可能涵蓋原本不打算處理的網域。新增前應先確認比對範圍,並透過實際請求檢查符合結果,避免範圍過廣的規則搶先決定策略。

19 / 位址分類

GEOIP

GEOIP 依 IP 地理資料庫的分類比對目標位址,例如 GEOIP,CN,DIRECT。此分類依賴位址資料庫,並非直接判斷網頁內容、網域後綴或實際服務所在地。使用時也應考量 DNS 回傳的位址,以及前面的網域規則是否已符合。

20 / IPv4 網段

IP-CIDR

IP-CIDR 比對指定 IPv4 網段,斜線後的數字代表網路前綴長度。IP-CIDR,192.168.0.0/16,DIRECT 表示該位址範圍採用直連策略。網段越廣,涵蓋的目標越多;撰寫規則前應先確認目標位址範圍,再安排規則順序。

21 / IPv6 網段

IP-CIDR6

IP-CIDR6 用於比對 IPv6 網段,與 IPv4 的 IP-CIDR 分開撰寫。例如 IP-CIDR6,2001:db8::/32,DIRECT 是使用文件示範位址的語法說明。只設定 IPv4 規則,不代表 IPv6 請求也會採用相同策略,應配合實際回傳位址核對。

22 / 請求欄位

USER-AGENT

USER-AGENT 依據可讀取請求中的 User-Agent 欄位進行比對,並非自動依 App 名稱識別所有流量。加密請求中的相關欄位不一定能直接讀取,因此不能假設此類規則適用於每次連線。新增前請確認 App 能取得所需欄位,再判斷比對條件是否合適。

23 / 末尾兜底

FINAL

FINAL 用於處理前面規則都未符合的請求,通常放在 Rule 區段末尾。它不需要網域或網段比對值,常見寫法為 FINAL,PROXY 或 FINAL,DIRECT。若放得太前面,後續規則便無法處理已由此兜底規則接手的請求。

[Rule]

策略與比對順序

英文大小寫有助於辨識不同層級:介面選項 Proxy 與規則關鍵字 PROXY 不可混為一談。

24 / 規則區段

Rule

設定檔中的 [Rule] 區段用來整理比對條件與處理策略,常見規則由類型、比對值與策略組成。Rule 不是伺服器清單,也不會補上伺服器缺少的驗證欄位。排查時請先確認 Global Routing 使用 Config,再查看目前檔案中的實際規則。

25 / 規則策略

PROXY

PROXY 是規則中的代理策略關鍵字,表示符合條件的請求會交由代理處理。實際連線仍取決於目前選用的代理及有效的伺服器參數;寫上 PROXY 不代表已建立可用連線。它只決定相應請求的策略,並非將 Global Routing 切換為 Proxy 的另一種寫法。

26 / 規則策略

DIRECT

DIRECT 表示符合條件的請求採用直連策略,常用於指定特定網域或位址的處理方式。直連仍須由目前網路連線至目標,並完成必要的網域解析。此策略只對符合規則的請求生效,不等於將整個用戶端切換為 Global Routing 的 Direct 模式。

27 / 規則策略

REJECT

REJECT 表示拒絕符合條件的請求,用於明確阻止特定比對範圍的連線。若一般網頁無法開啟,請檢查其相關網域是否被範圍過廣的拒絕規則涵蓋。修改時應優先縮小比對條件或加入更精確的例外,而不是未確認原因就重寫整份設定。

28 / 優先順序

比對順序

在規則模式下,規則由上而下依序判斷,第一條符合的規則會決定請求策略;範圍更精確的規則不會自動提前取得優先權。一般應先安排明確例外,再放置範圍較廣的規則,最後才寫 FINAL。調整順序後,請重新發出請求並確認新的符合結果。

例外在前,兜底在後

以下範例讓 api.example.com 使用 DIRECT,同一網域後綴下的其他請求使用 PROXY,其餘請求則由 FINAL 處理。此範例僅用於理解順序,實際套用前請依自己的目標與現有連線資料檢查。

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

若將 DOMAIN-SUFFIX 移到第一行,api.example.com 會先符合該行;後面的 DOMAIN 無法改變已決定的策略。完整欄位與規則範例請參閱設定欄位參考。

[Host] / [URL Rewrite]

訂閱與設定檔

伺服器記錄、規則檔案與購買紀錄是三種不同資料,匯入或還原其中一種,不會自動完成其他操作。

29 / 匯入訂閱

Subscribe

Subscribe 用於匯入並更新使用者現有的伺服器清單,內容由相應的訂閱來源維護。更新訂閱不代表切換目前的設定檔,也不表示規則策略有所變更。訂閱網址可能包含存取憑據,請在截圖、日誌或求助資料中隱藏完整網址及其中的驗證參數。

30 / 連線資料

伺服器資料

伺服器資料是建立連線所需的位址、連接埠、協定與驗證等參數集合,日常也稱為節點資料。伺服器顯示名稱只是方便辨識的標籤,不會決定實際連線方式。請依自己的現有資料輸入並核對重要欄位;匯入步驟請參閱快速入門。

31 / 檔案結構

設定檔

設定檔用來整理 General、Rule、Host、URL Rewrite 等設定區段,各區段用途不同。伺服器訂閱主要提供連線資料,設定檔則描述如何解析、比對與處理請求,兩者不可簡單視為相同內容。編輯前請先儲存原始檔案,切換後確認目前生效的檔案與 Global Routing 選項。

32 / 位址對應

Host

[Host] 區段為指定網域名稱設定位址對應,變更的是網域對應的位址,不是直接指定 PROXY 或 DIRECT。錯誤或過期的對應可能使請求連到不適當的目標,即使 Rule 寫法正確也可能無法連線。排查解析異常時,應一併核對此處的對應與 DNS 設定。

33 / 請求處理

URL Rewrite

[URL Rewrite] 區段依比對條件處理請求 URL,作用與 Rule 的連線策略不同。重寫後的目標可能改變請求路徑或連線結果,不可將重寫規則當成一般網域分流規則。調整前應先確認原始 URL、比對範圍與預期結果,並確認所需請求內容可供處理。

34 / 資料同步

iCloud 同步

iCloud 同步需搭配 App 中的相關設定使用,實際同步內容與選項請以 App 內顯示為準。同步資料不等於還原 App Store 購買紀錄,也不能取代移轉後的連線檢查。更換裝置後,請核對伺服器清單、目前設定檔、路由模式,以及首次連線所需的系統授權。

35 / 商店紀錄

已購項目

已購項目是 App Store 中查找原帳號購買紀錄並重新取得 App 的入口,無法用來還原規則或伺服器資料。Shadowrocket 以 iPhone 與 iPad 為主;其他 Apple 裝置的相容性、系統需求與是否支援通用購買,請以 App Store 頁面標示為準。更換裝置的操作方式請參閱已購項目還原說明。