[Glossary]

Shadowrocket
術語手冊

依介面、協定、規則與設定查閱相關概念。先分辨設定入口與規則關鍵字,再判斷個別請求如何處理;英文名稱與用戶端及設定檔中的用法一致。

[Interface]

介面與開關

先確認開關控制的是連線狀態、整體流量模式,還是單次診斷。開啟連線不代表所有請求都會經過代理伺服器。

Global Routing

Routing Mode

決定整體流量處理方式,分為設定(Config)、代理(Proxy)、直連(Direct)三種模式。Config 依目前設定中的規則選擇策略;Proxy 將流量交由代理處理;Direct 則直接連線。排查分流結果時,先確認此處是否設為 Config,否則修改 Rule 區段可能不會產生預期效果。

On Demand

Connection

依設定的網路條件觸發連線或中斷,處理的是「何時建立連線」。這與 Rule 區段負責的「請求採用哪種策略」屬於不同層次,不能用來取代網域分流。手動中斷後又自動連線時,先檢查 On Demand 的條件,再排查其他連線設定。

Add Server

Server Entry

手動新增既有伺服器資訊的入口,須先選擇協定,再填入位址、連接埠及相應的驗證參數。TLS、SNI 和傳輸設定也須與伺服器端一致,不能只看位址和連接埠就認定資料已填完整。匯入單筆分享連結後,也可回到對應項目逐一核對。

Connectivity Test

Diagnostics

用來檢查伺服器是否能依所選測試方式回應,顯示的延遲是該次測量結果。延遲不是下載速度,也不能代表所有目標網站的連線品質;測試目標、網路環境和測試方式都會影響結果。若結果異常,應一併確認實際請求是否成功及命中的策略。

DNS

Name Resolution

負責將網域名稱解析為 IP 位址,是連線至目標前的重要環節。解析成功不代表目標連線也成功;解析錯誤可能造成網域無法存取,但 IP 位址仍可連線。修改 DNS 設定前,先確認目前設定及網路條件;快取也可能導致新設定不會立即反映在既有請求中。

[Protocol]

協定

協定定義用戶端與伺服器的通訊方式,並非速度或可用性等級。請依你現有伺服器提供的參數設定,不要為了嘗試連線而任意更換協定類型。

Shadowsocks

Protocol

一種代理協定,常見必要參數包括伺服器位址、連接埠、加密方式和密碼。加密方式與密碼必須和伺服器設定相符;即使位址正確,驗證資料不一致也無法正常使用。若伺服器另有傳輸參數要求,請依提供的資訊填寫,不要直接套用其他協定的欄位。

VMess

Protocol

使用使用者識別資訊等參數進行驗證的代理協定,通常須一併核對位址、連接埠、UUID 及傳輸選項。若使用 WebSocket 等傳輸方式,Host 和 Path 也是連線設定的一部分。匯入後仍無法連線,應依伺服器資訊檢查 TLS 與傳輸層,而非只是不斷修改 UUID。

VLESS

Protocol

使用使用者識別資訊的代理協定;協定本身與採用的傳輸方式、安全層須分別理解。不能只看到 VLESS 名稱就推斷具體加密方式,也不能認定它與 VMess 的所有參數都通用。核對時請以伺服器提供的 UUID、傳輸方式及安全參數為一組,避免混用不同連線設定的欄位。

Trojan

Protocol

通常搭配 TLS 使用並以密碼驗證的代理協定,密碼與憑證相關設定都會影響連線。SNI 是 TLS 交握時使用的伺服器名稱,可能與實際連線位址不同,請依伺服器資訊填寫。遇到憑證錯誤時,先核對名稱、裝置時間與憑證狀態,不應將 Allow Insecure 當成一般修復方式。

Hysteria2

Protocol

以 QUIC 為基礎的代理協定,連線須符合相應的 UDP 網路條件並獲得伺服器支援。驗證、TLS、連接埠與混淆等參數都須配合伺服器端設定,不能依其他協定的經驗省略欄位。連線測試異常時,也要分辨是參數錯誤,還是目前網路對 UDP 的處理方式所致;協定名稱本身不代表實際速度。

WireGuard

Protocol

透過公私鑰等參數建立加密通道,設定中也會涉及 Endpoint、位址與允許的位址範圍。私鑰屬於敏感資訊,不應出現在公開截圖、文章或求助紀錄中。通道完成交握不代表所有目標位址都可連線,仍須核對路由範圍、DNS 與伺服器端轉送設定。

若要了解分享連結與訂閱的差異,請參閱分享連結格式說明。

[Rule]

規則關鍵字與策略

規則由比對條件及命中後採用的策略組成,並依排列順序逐一檢查。以下以 example.com 作為教學網域,不代表提供任何伺服器或訂閱。

[Rule]

[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT

此範例會將指定網域交由 PROXY 處理,區域網路位址使用 DIRECT,其餘請求則由 FINAL,DIRECT 作為預設策略。使用前須選取包含這些規則的設定檔,並將 Global Routing 設為 Config。

PROXY DIRECT REJECT

DOMAIN

Rule Type

比對完整網域名稱,例如 DOMAIN,example.com,PROXY 只適用於這個網域,不會自動涵蓋所有子網域。適合只處理單一主機名稱的情況;填寫時不要加入 URL 路徑或協定前綴。若同一服務使用多個網域,須分別確認實際請求所用的主機名稱。

DOMAIN-SUFFIX

Rule Type

比對指定網域及其子網域,例如 DOMAIN-SUFFIX,example.com,PROXY 可涵蓋 example.com 和 api.example.com。這是依網域階層比對,不是任意字串包含比對。比起逐一填寫子網域更簡潔,但須確認整個網域範圍都適用相同策略。

DOMAIN-KEYWORD

Rule Type

檢查網域是否包含指定關鍵字,例如 DOMAIN-KEYWORD,example,PROXY。其比對範圍通常比 DOMAIN 或 DOMAIN-SUFFIX 更廣,可能涵蓋原本不打算處理的其他網域。只有確實需要以關鍵字涵蓋網域時才使用,並透過實際請求確認是否誤判。

GEOIP

Rule Type

依 IP 地理資料庫的分類結果比對,例如 GEOIP,CN,DIRECT。資料庫分類不等於目標網站使用的語言或所屬機構,CDN 和位址變更也會影響結果。若請求已命中前面的網域規則,後續 GEOIP 規則就不會再次選擇策略。

IP-CIDR / IP-CIDR6

Rule Type

分別以 IPv4 和 IPv6 位址範圍比對目標;斜線後的數字代表網路前綴長度。範例 IP-CIDR,192.168.0.0/16,DIRECT 涵蓋相應的私人位址範圍。此規則比對的是位址而非網域文字;處理網域請求時,還須考慮解析結果及是否已命中前面的規則。

USER-AGENT

Rule Type

依可辨識的 User-Agent 內容比對,例如 USER-AGENT,ExampleApp*,DIRECT。這不是依應用程式程序身分進行分流;同一 App 的不同請求可能使用不同識別內容,其他程式也可能使用相同內容。加密請求中的相關資訊未必可見,因此不能假設此規則涵蓋該 App 的所有流量。

FINAL

Fallback

為未命中前面任何規則的請求指定預設策略,通常放在 Rule 區段最後一行。FINAL,DIRECT 代表其餘請求直連,FINAL,PROXY 則代表其餘請求交由代理處理;兩者會造成截然不同的預設行為。排查某個網域「為什麼走代理」時,應一併檢查具體命中項目與 FINAL。

PROXY

Policy

規則中的策略關鍵字,表示將命中的請求交由代理策略處理,並非某一種特定協定。請求能否成功,還取決於實際選用的伺服器、驗證方式及連線狀態。它與 Global Routing 中的 Proxy 模式不同:前者是單條規則的處理結果,後者則是整體流量處理方式。

DIRECT

Policy

讓命中的請求直接連線至目標,不經代理伺服器轉送。即使處於 Config 模式,DIRECT 規則仍可生效;因此連線開關已開啟,不代表這類請求經過代理。直連是否成功取決於本機網路、名稱解析與目標服務狀態,策略名稱本身不保證連線成功。

REJECT

Policy

拒絕命中的請求,用來明確阻止連線至指定目標。使用前應明確界定比對範圍;過廣的網域關鍵字或位址範圍可能連正常功能也一併影響。若頁面內容缺漏,先確認請求是否命中 REJECT,再決定是否縮小規則範圍,不要直接修改所有策略。

規則順序、區段結構與更多用法,請參閱Rule 規則參考。

[Config]

訂閱與設定檔

訂閱主要用於匯入及更新伺服器清單,設定檔則負責編排規則與相關設定。兩者都可能以連結形式提供,但不能只因為「是網址」就判定應從哪裡匯入。

Subscribe

Subscription

透過訂閱網址匯入及更新伺服器清單的入口;訂閱請向你的服務商取得。更新時清單內容可能隨來源變動,手動修改項目之前,請先考慮下次更新是否會覆蓋變更。訂閱網址可能含有驗證資訊,尋求協助時請遮蔽完整網址中的敏感部分,不要公開可直接使用的連結。

SERVER

Connection Record

代表一筆伺服器連線設定,中文說明中也常稱為「節點」,內容不只是一個 IP 位址。協定、連接埠、驗證、傳輸及 TLS 參數須配套使用;同一位址也可能對應多筆不同設定。單筆分享連結通常只會匯入一筆設定,不會因此自動取得訂閱網址的清單更新功能。

Config

Configuration

可指設定檔及其管理入口;檔案中可包含 General、Rule、Host、URL Rewrite 等區段,各自負責不同內容。伺服器清單存在,不代表分流規則已啟用;還須選取目標設定檔並確認 Global Routing 模式。編輯前請保留原始檔案,修改後檢查區段標頭、逗號與排列順序,以便出錯時還原。

URL Rewrite

Configuration Section

用於對符合條件的請求 URL 執行重寫等處理,與 Rule 區段中的 PROXY 或 DIRECT 不同。規則能否套用到請求,取決於比對條件及相應功能是否能處理請求內容。涉及 HTTPS 時,還有額外的可見性與憑證前提;不能認為加入一條重寫規則就會改變所有加密請求。

[Platform]

安裝與平台

Shadowrocket 支援 iPhone、iPad、Mac、Windows、安卓和 Linux。取得方式與安裝檔格式依裝置而異,詳細入口請見下載指南。

App Store

Distribution

iPhone / iPad 透過 App Store 取得 Shadowrocket,系統需求以 App Store 頁面標示為準。請核對開發者 Shadow Launch Technology Limited、官方圖示及 App ID 932747118,不要只憑名稱判斷。iPhone / iPad 版一次性付費 $2.99;Mac / Windows / 安卓 / Linux 版免費,後四種平台的安裝檔請由本站 /dl/ 取得。

開啟 Shadowrocket App Store 產品頁

Apple 晶片 / Intel

Architecture

選擇 Mac 版安裝檔時,須先確認晶片類別;在「關於這台 Mac」查看晶片或處理器資訊後,再選擇對應的 dmg。Apple 晶片版和 Intel 版不是兩種不同產品,也不應只依電腦購買年份猜測。Mac 首次開啟時若出現「無法驗證開發者」提示,先確認來源,再透過「隱私權與安全性」中的「仍要打開」處理。

查看 Mac 兩種晶片版本的下載入口

安裝允許

System Permission

確認本站安裝檔來源後,依作業系統提示完成首次執行或安裝授權。Windows SmartScreen 可在確認檔案來源後選擇「更多資訊 → 仍要執行」;安卓則須授權實際下載並開啟 apk 的應用程式「允許安裝未知應用程式」。Mac 出現「已損毀」提示及 Linux AppImage 執行權限的處理步驟各不相同,不要套用其他平台的方法。

查看各系統的安裝允許說明

已購項目

Purchase History

iPhone / iPad 換機或重新安裝時,使用原購買帳號在 App Store 的已購項目中尋找 Shadowrocket;入口名稱可能因系統版本而異。若再次顯示購買價格,先確認目前帳號與商店地區,不要直接重複付款。iPhone / iPad 版一次性付費 $2.99;Mac / Windows / 安卓 / Linux 版免費,後者重新取得相應安裝檔即可。

查看重新下載與購買紀錄說明