Shadowrocket 協定參數
與連線類型選擇
從現有伺服器資訊著手,區分協定、傳輸與路由,再核對欄位、速度和耗電情況。
本頁是依問題查閱的系統手冊,著重說明如何選擇協定、參數間的關聯,以及連線失敗時應先檢查哪一層。初次使用請先依使用說明完成匯入與連線,再回到本頁核對細節;本頁不取代快速入門流程,也不提供訂閱或伺服器資訊。
iPhone / iPad 版在 App Store 一次性付費 $2.99,系統需求以 App Store 頁面標示為準;Mac(Apple 晶片與 Intel)、Windows、Android、Linux 版免費。各平台取得方式請見全平台下載;其他平台的安裝檔可從本站下載頁透過站內 /dl/ 取得。
- 分開核對協定與傳輸
- 分別測量速度與耗電
- 每次只變更一個參數
連線分層:協定不等於整條連線
先釐清三個不同問題
在 Shadowrocket 中,協定說明「用戶端如何與伺服器交換請求」,傳輸說明「資料透過什麼通道送達」,路由則說明「連線應交由哪種策略處理」。三者彼此相關,卻不能互相取代。例如,選擇 VLESS 不等於選擇 WebSocket;啟用 TLS 不代表所有 App 流量都已經走代理;選取某台伺服器,也不代表 Config 中的每條規則都會使用它。排錯前先釐清這三個層次,才不會在錯誤的位置反覆修改參數。
一次連線通常會經過本機 App 發出請求、名稱解析、Global Routing 與規則判斷、連接伺服器、認證或交握,以及伺服器存取目標等階段。部分階段的順序可能因快取、連線重複使用或遠端解析而有所不同,但基本分工不變。在 Home 看到伺服器項目,只代表設定已存在;Connectivity Test 有結果,也只表示該測試方式涵蓋的連線可用,不能證明目標網站、UDP App 和所有規則都正常。
了解代理協定與通道協定
Shadowsocks、VMess、VLESS、Trojan、HTTP 和 SOCKS5 通常用於轉送連線或請求。WireGuard 用於 IP 封包通道,欄位會包含位址、路由前綴和對端公鑰;Hysteria2 則以 QUIC 為基礎承載代理通訊。這些協定不只是名稱不同:伺服器必須執行相應協定,用戶端的認證資料與協商方式也必須相符。不能把 Trojan 密碼填進 SOCKS5,期待只靠相同連接埠就能建立連線。
| 層次 | 常見內容 | 主要檢查項目 |
|---|---|---|
| 協定與認證 | Type、Password、UUID、PublicKey | 伺服器類型是否與身分資料相符 |
| 傳輸與安全性 | TCP、UDP、TLS、WebSocket | 通道、憑證名稱與路徑是否一致 |
| 路由與策略 | Config、Proxy、Direct、Rule | 請求是否交由預期策略處理 |
| 目標與解析 | DNS、目標位址、連接埠 | 名稱能否解析、目標服務是否可連線 |
速度也需要分開觀察。首次開啟頁面的等待時間包含解析、連線與交握;下載大型檔案時,較能看出傳輸量;視訊通話則更受抖動、封包遺失與 UDP 路徑影響。協定減少一輪交握,可能改善首次請求,卻不一定提高持續下載速度。伺服器壅塞、出口頻寬、跨網路路徑和目標限速都可能是更主要的限制,因此不宜替協定排出固定的速度名次。
將變數控制在可解釋的範圍內
選擇協定應從現有資料開始:先確認伺服器標示的協定,再核對提供的傳輸方式、安全設定及可用連接埠。匯入訂閱後保留原始項目,複製一份再進行測試;若 Subscribe 更新會重建項目,請記下哪些值來自訂閱、哪些是本機調整。不要同時變更協定類型、DNS、規則和伺服器,否則即使連線恢復,也很難判斷是哪項調整生效。
iOS 耗電也涉及整條連線。協定加密會占用運算資源,重傳會增加傳輸量,保活會喚醒無線連線,而 App 本身的同步與媒體解碼也會持續耗電。顯示 VPN 狀態只代表系統網路延伸功能正在運作,並非功耗測量。後續測試方法會將這些變數分開,避免把 App 的背景活動錯誤歸因於協定。
Shadowsocks:精簡代理與加密方式
設計背景與限制
Shadowsocks 著重於提供較精簡的加密代理通道。用戶端依約定封裝目標位址與業務資料,再由伺服器驗證並轉送請求。它不是完整的虛擬區域網路方案,也不會因為被選為 Type 就自動設定 App 路由。對使用者而言,重點不在記住協定歷史,而是了解同名協定仍可能採用不同的加密方式與格式:伺服器接受哪種方式,用戶端就必須選擇相同方式,不能把名稱相似當成相容。
較早期的串流加密方式與後來的 AEAD 方式,在資料格式及認證能力上有所不同。AEAD 結合加密與完整性驗證,可偵測遭到竄改的資料;但這不表示所有名稱含 AEAD 的項目都能互通。部分較新的方式也對金鑰長度與編碼格式有特定要求。實際填寫時請以現有伺服器設定為準;若用戶端清單沒有提供某種方式,不能以名稱相似的選項替代。
Address、Port、Method 與 Password
在 Add Server 中選擇 Shadowsocks 後,先檢查 Address 與 Port。Address 是提供代理服務的主機名稱或 IP,不是訂閱連結,也不是要造訪的網站;Port 則是該服務監聽的連接埠。主機名稱不可包含整段網頁路徑,IPv6 位址也應依欄位要求填寫。若資料來自 QR Code 或訂閱,請優先保留自動解析結果,再逐項與原始資料核對,避免手動拆分時漏掉連接埠或附加參數。
Method 決定雙方如何處理金鑰與密文,Password 則必須逐字元一致。有些方式會以一般密碼衍生金鑰,另一些方式則要求特定格式的金鑰資料,因此不能簡單認為「密碼越長越相容」。複製時請留意尾端換行、全形符號與隱藏空白;不要將伺服器管理頁面顯示的編碼字串再次自行編碼。若認證失敗,先核對 Method 與 Password 是否配對,不要立即修改 DNS。
| 欄位 | 用途 | 容易混淆的內容 |
|---|---|---|
| Address / Port | 代理服務的連線入口 | 訂閱網址、目標網站網址 |
| Method | 加密與認證格式 | 只因名稱相近就替換方式 |
| Password | 該方式使用的認證資料 | 額外編碼、貼上時的空白 |
| UDP | 資料封包轉送能力 | 只驗證 TCP 就推斷 UDP 正常 |
UDP、附加傳輸與 iOS 表現
Shadowsocks 的 TCP 與 UDP 路徑需要分別驗證。網頁可以開啟,不代表遊戲或通話的資料封包也能送達。用戶端設定、伺服器轉送能力及中間網路都可能限制 UDP;目標 App 本身也可能使用不同連接埠。若伺服器資料包含附加傳輸參數,請確認目前用戶端確實提供相應選項,並完整照填。基礎協定名稱相同,不代表附加傳輸也有相同的相容性。
在 iPhone 上,較精簡的資料封裝有機會減少部分處理負擔,但實際速度仍會受到加密方式、裝置效能及網路路徑影響。大量持續下載時,運算負擔較容易顯現;偶爾開啟訊息時,連線建立與無線喚醒反而可能更重要。不能只因協定結構簡潔,就斷定一定更省電;也不應把單次測速的高峰值當成長期傳輸速度。
排錯可分成三個方向:連線入口持續逾時,先確認主機、連接埠和目前網路;連線建立後立即失敗,檢查 Method 與 Password;網頁正常但部分 App 失敗,檢查 UDP、規則命中與名稱解析。若修改的是從 Subscribe 取得的項目,請先複製並保留原值,避免後續更新覆蓋修正。依序核對通常比嘗試一連串無關的開關更有效。
VMess 與 VLESS:認證、傳輸與 TLS
同一份設定可能包含多層欄位
VMess 與 VLESS 都需要區分協定本身和外層傳輸。設定中可能同時出現 UUID、TLS、WebSocket、Host、Path 等欄位,而這些欄位各有不同用途。UUID 用於識別身分,傳輸設定決定資料如何承載,TLS 則負責相應通道的加密與伺服器身分驗證。填對其中一個值,無法彌補其他層次不一致的問題;尤其不能只看到 UUID 就推斷該項目使用哪種協定。
VMess 的設計包含本身的認證與資料保護機制,設定也可能涉及安全方式等選項;VLESS 採用較精簡的協定設計,不以內建內容加密為主要職責,通常會搭配外部安全層。兩者的差異不能簡化為「複雜的一定慢、精簡的一定快」。實際連線可能疊加 TLS 與其他傳輸方式,交握次數、連線重複使用及伺服器實作都會改變最終負擔。
UUID、安全方式與系統時間
UUID 應完整使用伺服器指派的值,不要隨意重新產生,也不要將其他使用者的識別碼混用於目前項目。VMess 的部分認證流程與時間有關,裝置時間明顯錯誤時,可能會出現參數看似正確卻無法通過認證的情況。遇到此類問題,請先讓系統日期與時間正常同步,再確認原始資料是否仍有效。調整時間不是繞過認證的方法,只是用來排除本機時鐘錯誤。
VMess 的安全方式應依伺服器要求選擇。若匯入結果出現舊版相容欄位,不要只因其他教學截圖就自行改成某個固定數值;不同部署環境接受的條件並不相同。VLESS 的身分欄位也不能取代外層安全設定。特別是關閉 TLS 後仍顯示 VLESS 的情況,協定名稱不會自動補上缺少的加密層,必須依伺服器提供的完整參數判斷。
| 欄位 | 用途 | 檢查方式 |
|---|---|---|
| Address | 實際建立連線的伺服器入口 | 確認可解析,且連接埠對應相應服務 |
| Server Name / SNI | TLS 交握與憑證身分核對 | 符合伺服器要求及憑證名稱 |
| Host | 部分 HTTP 類傳輸的請求主機 | 依傳輸入口設定填寫 |
| Path | WebSocket 等傳輸的請求路徑 | 核對大小寫、斜線與完整內容 |
WebSocket、TLS 與連線負擔
WebSocket 會先建立相應的 HTTP 交互,再承載後續資料;啟用 TLS 時還需要完成安全交握。因此首次連線延遲可能包含多個準備步驟,但已建立並重複使用的連線,不必為每個封包重做全部程序。若測試時第一次較慢、之後變快,應考慮名稱快取、TLS 工作階段恢復與連線重複使用,而不是立即認定協定不穩定。
Address、SNI 與 Host 有時相同,有時會依部署方式而異,不能強行統一。使用 IP 作為 Address 時,憑證仍可能需要透過網域名稱驗證;Path 只要有一個字元不符,請求就可能到達伺服器,卻無法進入正確的代理服務。遇到憑證錯誤,請檢查名稱、有效期限與裝置時間,不建議長期略過驗證。
對 iOS 而言,額外封裝可能增加建立連線的工作量,但重複使用連線也可能減少重複交握。頻繁切換 Wi-Fi 與行動網路時,底層連線通常需要重新建立,短時間內的重新連線次數可能比單次加密負擔更影響使用體驗。比較 VMess 與 VLESS 時,應固定相近的伺服器路徑、相同的外層傳輸及相似負載,否則無法將結果歸因於協定差異。
Trojan、HTTP 與 SOCKS5:不同的代理連線用途
Trojan 使用 TLS 的前提
Trojan 的設計將代理認證與 TLS 通道結合。用戶端必須先連上伺服器並建立適當的安全連線,再由伺服器辨識認證資訊並轉送請求。因此 Password、伺服器位址、連接埠和 TLS 身分設定缺一不可。即使密碼正確,憑證名稱不符仍可能在認證前連線失敗;連接埠能建立 TCP 連線,也不代表該處執行的就是預期 Trojan 服務。
填寫時,Address 決定連線入口,Server Name 或 SNI 對應 TLS 交握所需名稱,Password 則用於代理認證。若伺服器使用網域憑證而入口提供的是 IP,請依現有資料保留相應名稱。憑證有效期限、系統時間及信任鏈都可能影響驗證。不要為了消除錯誤訊息而長期略過憑證檢查,這會削弱伺服器身分確認,也會掩蓋原本應修正的設定錯誤。
HTTP 代理不等於造訪 HTTP 網站
HTTP 代理會透過代理請求或 CONNECT 等機制代為建立連線。Type 設為 HTTP,描述的是用戶端與代理之間的互動方式,不代表只能造訪 HTTP 網站;HTTPS 目標通常透過通道機制傳輸。另一方面,目標使用 HTTPS,也不代表用戶端與代理之間的所有互動都經過 TLS。請分別核對代理入口是否提供加密連線,以及認證資訊受到哪一層保護。
HTTP 代理常見於既有的組織網路,或明確提供此類入口的環境。Address、Port、Username 與 Password 應來自同一份設定;空白的使用者名稱與未填使用者名稱,也可能被伺服器視為不同情況。伺服器是否允許 CONNECT 至目標連接埠、是否限制目標範圍,都是代理策略的一部分。若某網站可用、其他類型服務卻失敗,應考慮這些限制,不能只靠修改目標 DNS 解決。
SOCKS5 的認證與 UDP 條件
SOCKS5 定義用戶端向代理提出連線要求的互動方式,也可使用使用者名稱與密碼認證。SOCKS5 基礎協定本身不會加密傳輸內容;是否另有受保護的傳輸通道,需依實際部署確認。受控網路中的 SOCKS5 入口可能有明確用途,但不要把登入密碼當成加密通道,也不能因網頁使用 HTTPS 就忽略其他流量的保護範圍。
| 協定 | 必要條件 | 常見失敗原因 |
|---|---|---|
| Trojan | TLS 與代理認證皆相符 | 憑證名稱、密碼或連接埠不一致 |
| HTTP | 入口接受所需請求與目標連接埠 | 認證、CONNECT 權限或入口類型錯誤 |
| SOCKS5 | 伺服器支援所需認證與指令 | UDP 無法轉送、認證方式不符 |
SOCKS5 的 UDP 功能需要伺服器及網路路徑共同支援。即使 TCP CONNECT 正常,UDP ASSOCIATE 的協商或後續資料封包仍可能受到限制。如果代理回傳用戶端無法連線的資料封包位址,也會出現控制連線成功但 App 失敗的情況。此時應分別檢查 UDP 入口、回傳位址和目標 App,不要將 TCP 測試結果視為所有功能都正常。
如何理解 iOS 上的差異
Trojan 的 TLS 交握需要一定的建立時間,但穩定連線可持續承載後續資料;HTTP 與 SOCKS5 的協定互動相對直接,卻不代表路徑更短或速度更快。要進行有效比較,還應確認使用相同目標、相同伺服器出口及相近的連線重複使用條件。若某種協定只在目前的 Wi-Fi 可用,請先查明該網路允許的傳輸方式與連接埠,不要把協定判定為永遠較好或較差。
選擇順序應是「現有入口提供什麼、用途需要什麼、保護範圍是否清楚」。需要 TLS 身分驗證時,請核對 Trojan 的安全參數;若組織提供 HTTP 或 SOCKS5 入口,則依其權限使用。其他常見連線問題可查閱問答。變更 Type 不會讓伺服器自動新增相應協定,也不會改變現有帳號的存取權限。
WireGuard:金鑰、位址與路由前綴
為什麼欄位與一般代理不同
WireGuard 用於 IP 封包通道,設計採用固定的現代密碼元件及較精簡的交握機制。它不使用使用者名稱與密碼表單辨識對端,而是透過金鑰建立身分關係,並將允許通過對端的位址範圍與路由相連。因此在 Shadowrocket 查看 WireGuard 項目時,應分別了解金鑰、通道位址、Endpoint 和 AllowedIPs,不能套用一般代理「位址加密碼」的填寫方式。
PrivateKey 是本端私鑰,PublicKey 通常指對端公鑰。兩者雖然都是編碼字串,卻代表不同身分與方向。不可將私鑰填入對端公鑰欄位,也不能因字串長度相近就互換。PresharedKey 是額外的選用共享資料,只有雙方約定使用時才應填寫;自行新增一段值不會提高可用性,反而可能導致雙方交握條件不一致。
Endpoint 與通道位址
Endpoint 是對端實際接收 UDP 通訊的主機和連接埠;通道 Address 則是本端在通道內使用的位址。兩者位於不同層次:外部公開位址可連線,不代表內部位址配置正確;內部位址正確,也無法彌補入口連接埠無法連線的問題。將現有設定拆分填入介面時,請保留位址前綴長度,並確認 IPv4 與 IPv6 是否依資料分別設定,不要自行用本機區域網路位址取代。
AllowedIPs 同時關係到哪些目標位址要交給某個對端,以及收到的資料應使用哪種來源位址。較寬的前綴涵蓋更多目標;較窄的前綴則只涵蓋指定網段,但它不是一般的網站存取允許清單。用戶端的 Global Routing、Config 規則與系統網路延伸功能,也會影響業務流量是否進入此項目,因此不能只看到涵蓋全範圍的前綴,就判定所有 App 都已使用通道。
| 欄位 | 用途 | 需核對的關係 |
|---|---|---|
| PrivateKey | 本端身分資料 | 須與伺服器登記的本端公鑰相符 |
| PublicKey | 對端身分 | 來自目前對端,不是本端公鑰 |
| Endpoint | 外部 UDP 入口 | 主機、連接埠及目前網路的可連線性 |
| AllowedIPs | 與對端相關的位址範圍 | 涵蓋所需目標,並避免誤解路由範圍 |
| MTU | 通道可承載的封包大小 | 配合底層路徑與封裝負擔 |
MTU、保活與行動網路
MTU 決定通道封包大小上限。若底層路徑無法承載較大的封裝封包,可能會出現小型請求正常、大型頁面或上傳卡住的情況。調整 MTU 前,應先排除認證與路由錯誤,並保留原值逐步驗證;不要把某個網路下有效的數值當成適用於所有裝置的固定答案。若 IPv6 與 IPv4 路徑不同,也應分別測試,而不是只觀察一次網頁載入。
PersistentKeepalive 用於依指定間隔維持某些網路位址轉換對應關係,並非間隔越短就越穩定。較短的間隔可能增加背景資料傳輸與無線喚醒;較長的間隔則可能不符合某些對應關係的存續時間。應先確認是否確實發生閒置後無法恢復,再依伺服器建議調整。切換行動網路時,入口連線狀況、位址變更及 App 重試行為也都會影響恢復過程。
WireGuard 交握成功,只代表金鑰關係及部分通訊條件成立;若要存取內部服務,對端轉送、回程路由、位址配置與 DNS 也必須正常。若交握正常但沒有業務流量,請先核對 AllowedIPs、通道位址和伺服器回程路徑,再檢查規則命中情況。欄位逐項說明請參閱WireGuard 參數說明;分享問題時請隱藏私鑰與實際內部網路資訊。
Hysteria2:QUIC、UDP 與頻寬參數
設計目標與實際限制
Hysteria2 以 QUIC 為基礎承載代理通訊,針對傳輸量、封包遺失情況及不同網路路徑進行設計。QUIC 運作於 UDP 之上,提供安全連線與多路傳輸能力,但不代表應用資料遺失後不需要復原,也不代表底層網路會自動允許 UDP。選用前請確認現有伺服器提供 Hysteria2,且目前用戶端支援伺服器要求的認證與傳輸設定。
與以 TCP 為基礎的方案相比,資料復原與壅塞控制位於不同的實作層次,在某些封包遺失或路徑變動的環境中可能有不同表現。不過,「使用 UDP」並不保證速度更快。某些網路會限制 UDP 速度或大型資料封包,伺服器出口與目標網站也可能成為瓶頸。只有實際路徑與負載相符時,協定設計的潛力才會反映在使用體驗上。
連線入口、認證與 TLS 身分
Address 與 Port 指向伺服器的 QUIC 入口,認證欄位必須使用現有設定提供的內容。認證資料可能含有分隔符號,複製時不要依自己的理解拆成另一種協定的使用者名稱和密碼。若透過 Subscribe 匯入,請先確認解析後的 Type 與欄位是否完整;名稱相似或文字中都含有 Hysteria,不代表設定格式可以直接互換。
QUIC 的 TLS 身分驗證同樣重要。Server Name 必須符合伺服器設定及憑證要求;若使用 IP 作為入口,憑證名稱也可能來自指定網域。憑證錯誤、認證錯誤與 UDP 逾時發生在不同階段,應分別處理:前者檢查名稱與信任鏈,中者檢查授權資料,後者檢查入口及網路路徑。若把所有錯誤都歸咎於「頻寬數值不對」,就會偏離真正問題。
| 設定 | 用途 | 注意事項 |
|---|---|---|
| Address / Port | 建立 QUIC 連線 | 驗證 UDP 路徑,不要只測 TCP 連接埠 |
| 認證資料 | 識別獲准使用的用戶端 | 完整複製,不要自行拆分或編碼 |
| Server Name | 確認 TLS 對端身分 | 符合伺服器要求及憑證 |
| 上傳 / 下載頻寬 | 參與相應的速率控制設定 | 核對單位與方向,依實際連線填寫 |
| 附加參數 | 符合伺服器指定設定 | 只有資料要求且用戶端支援時才設定 |
頻寬數值不代表效能保證
若用戶端提供上傳、下載頻寬欄位,請先確認單位與方向。Mbps 與 MB/s 是不同單位,上傳和下載的數值也不可互換。填入較大的數字不會增加實際頻寬;在相應控制模式下,設定不符合實際連線的目標,可能加重排隊、封包遺失,或延長其他 App 的等待時間。欄位是否生效也取決於實際協商和伺服器設定,因此不要將任意高值當成通用最佳化方式。
建議在相同網路下先測量穩定範圍,再依現有伺服器說明填寫,並同時觀察網頁回應、持續下載和通話表現。只看下載峰值,可能忽略滿載時延遲明顯升高的情況。行動網路的可用容量會隨訊號和基地台負載變動,固定參數不一定始終適用;測試時請記錄當下網路條件,並保留可正常運作的原始設定。
iOS 耗電與故障排查
持續高傳輸量、封包遺失復原及使用者空間資料處理,都可能增加運算與無線傳輸負擔,因此不能一概認定 Hysteria2 省電或耗電。若相同任務能更快完成,也可能縮短無線連線維持高度活動的時間;若閒置時不斷重新連線,結果則可能相反。比較耗電時,必須固定任務量與時間,不能把一次大型檔案下載與另一種協定的待機時段放在一起比較。
若只在某個網路下完全無法交握,先確認 UDP 是否可用;若建立連線後傳輸量持續不穩,再檢查路徑承載能力、頻寬設定與伺服器負載;若只有部分 App 失敗,則回頭檢查路由與目標協定。不要為了連上 Hysteria2 而任意變更無關規則。現有資料未提供的附加選項,維持預設值或向設定提供者確認,比照抄不相關範例並拼湊參數更可靠。
iOS 速度與耗電:建立可比較的測試
先固定網路與測試目標
在 iPhone 或 iPad 上比較協定,首先要排除情境差異。固定裝置、網路、目標資源與測試時段,關閉無關的大型下載,並等待照片同步或系統更新完成。測試前記錄目前使用 Wi-Fi 或行動網路、裝置是否發熱,以及是否啟用低耗電模式。若訊號明顯變化或裝置開始因溫度限制效能,該輪結果便不適合直接與先前資料比較。
伺服器條件也需要控制。若不同協定位於不同機房或使用不同出口,測得結果只能代表兩條完整路徑,不能證明協定本身有差異。即使是同一台主機,也應確認沒有不同的頻寬限制或並行負載。若只有一份現有訂閱,無法取得條件相同的入口,就將測試目標改為「哪個項目較符合目前用途」,而非試圖建立普遍適用的協定排名。
分別記錄連線、業務與路由
Connectivity Test 適合用於初步篩查,但結果取決於具體測試方式。純連線檢查不會完整涵蓋目標業務;HTTP 類測試則會受到測試目標影響。接著應開啟實際需要使用的 App,觀察首次回應、持續傳輸及閒置後的恢復情況。記錄故障發生在解析、建立連線、載入內容,還是切換網路之後,比只寫「有時很慢」更有助於判斷。
| 模式 | 用途 | 測試時的注意事項 |
|---|---|---|
| 設定 Config | 依目前設定中的規則處理請求 | 先確認目標命中哪條規則及策略 |
| 代理 Proxy | 依此模式將相應流量交給代理 | 可用於排除規則因素,仍須檢查實際記錄 |
| 直連 Direct | 依此模式直接連線 | 用於觀察基本網路狀況,不代表代理可用 |
在 Config 下,若目標命中 DIRECT,就不能以載入速度評估目前的代理協定。暫時切換為 Proxy 有助於區分規則與伺服器問題,但請記下模式變更,測試結束後還原原設定。策略群組、DNS 與本機連線仍可能影響實際請求,因此最終應搭配連線記錄確認實際路徑,不要只依介面上反白的伺服器名稱下結論。
如何測量耗電,避免誤判
系統電池頁面顯示的是一段時間內的耗電歸因與活動資訊,不是測量特定協定功耗的儀表。螢幕亮度、媒體解碼、App 背景更新、訊號強度與連線重試都會影響耗電。建立對照時,可分別觀察固定時長的閒置連線、瀏覽相同內容及下載相同任務量;盡量在多個時段重複測試,並記錄前景與背景活動,不要只憑幾分鐘內的電量百分比變化下結論。
閒置連線應注意背景喚醒、保活與反覆重新連線;持續傳輸則應觀察每項任務耗時、傳輸量和裝置溫度;行動情境則要留意 Wi-Fi 與行動網路切換後的恢復情形。On Demand 會影響在什麼條件下建立連線,不是加速開關。若其規則造成頻繁連線與中斷,也會改變耗電表現;討論協定耗電前,應先核對觸發條件。
測試也應區分 TCP 與 UDP。網頁正常但通話斷續,可能是 UDP 路徑、抖動或封包遺失問題;大型檔案傳輸正常但首次存取緩慢,可能與解析或交握有關;閒置一段時間後第一次請求失敗,則應檢查位址映射、保活與 App 重試。分別記錄這些現象,才能選擇適當的下一步,不必每次都從更換協定開始。
最終選擇應依據重複測試的結果,而非單次峰值。某項設定只在一次短測中速度很快,卻常常需要手動重新連線,未必適合日常使用;另一項設定的持續傳輸速度稍低,但回應穩定、閒置後可正常恢復,可能更適合訊息與辦公用途。這裡比較的是設定對使用者目前網路與任務的適用程度,不保證任何線路服務品質。
依情境選擇:規則驗證與故障排查
從需求判斷,而不是只看名稱
需要一般網頁與日常 App 時,先選擇現有資料中參數完整、連線穩定的項目,不必只為了協定名稱更換伺服器。若有內部網路與位址路由需求,請檢查 WireGuard 對端與允許網段;若有組織提供的 HTTP 或 SOCKS5 入口,核對其認證與存取權限;需要使用 UDP 的 App,則另外驗證相應能力。需求無法滿足時,再判斷是設定問題、伺服器能力不足,還是網路限制。
選用 VMess、VLESS 和 Trojan 時,應保留各自所需的傳輸與 TLS 組合;Shadowsocks 應確認加密方式及資料封包支援情況;Hysteria2 則應確認 UDP 路徑與速率參數。切換 Type 不會讓任何一種協定自動相容於另一種服務。若現有訂閱包含多種類型,可保留原始項目並逐一測試;不要混用 UUID、密碼與傳輸路徑,拼出未經伺服器設定的組合。
先確認規則確實使用了該協定
協定驗證與規則驗證應分兩步進行。先透過明確的測試請求確認伺服器可用,再於 Config 下確認目標是否套用預期策略。以下是用來說明比對順序的 Shadowrocket .conf 規則片段,並非完整設定;使用前必須確認目前設定已定義可用的 PROXY 策略。範例網域僅供教學,不代表應造訪的服務。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
規則通常依序比對,符合後便套用相應策略。DOMAIN-SUFFIX 涵蓋指定網域及其子網域;IP-CIDR 表示位址區段;no-resolve 用於避免該規則為了比對而主動解析網域,但已有的目標位址仍可能參與位址比對。GEOIP 會依位址歸屬資料庫判斷,不等於網站所屬地區。FINAL 是最後的預設規則,必須放在需要優先判斷的規則之後,否則後續規則可能無法生效。
若目標命中 REJECT,連線會在策略層遭到阻擋,變更協定無法修復;若命中 DIRECT,則應先確認是否符合預期。關於拒絕策略的用途與同網域內容範圍,請參閱REJECT 規則說明。調整規則時也應先複製設定,避免為了驗證一個目標而改變其他 App 原有的連線路徑。
依失敗階段縮小檢查範圍
| 現象 | 優先檢查 | 暫時不必急著調整 |
|---|---|---|
| 連線入口完全逾時 | 位址、連接埠、TCP / UDP 路徑 | 規則細節與 App 設定 |
| 交握或認證失敗 | 協定、身分資料、TLS 名稱、時間 | 頻寬目標與測速方式 |
| 連線成功但目標無法開啟 | DNS、規則命中、回程路徑與權限 | 無根據地更換加密方式 |
| 小型請求正常,大量傳輸卡住 | MTU、路徑承載能力、封包遺失與伺服器負載 | 重新填寫所有認證資料 |
| 閒置或切換網路後連線失敗 | 保活、位址映射、重新連線與 On Demand | 將偶發現象判定為協定永久不相容 |
若只有網域存取失敗、直接連線測試正常,請檢查名稱解析位置、回傳位址類型及 DNS 請求的路由;不要將所有問題都當成憑證驗證錯誤處理。若只在 IPv6 網路發生異常,請分別確認伺服器入口、目標位址及通道位址是否支援。恢復可用設定後,再逐項加入必要規則,才能找出確切的故障變更,而不是留下難以解釋的一堆開關。
保留可重現的結論
排查完成後,記錄實際使用的協定、外層傳輸、成功的測試任務及仍存在的限制,並刪除不再需要的測試項目。Subscribe 更新可能變更伺服器參數,系統網路狀況改變也可能使舊結論失效;出現新問題時應重新核對目前資料,不要機械式重複舊調整。設定、QR Code 和記錄都可能包含敏感資訊,分享前請逐項檢查,不要直接公開原始匯出檔。
需要重新依照操作流程設定時,請回到使用說明;需要依現象查找簡短解答時,請前往問答。本手冊旨在讓每次類型選擇都有伺服器資料作為依據、每次參數變更都有可驗證的理由,而不是以協定名稱取代對連線條件的判斷。