本文假設你已有服務商與訂閱,說明如何在 Shadowrocket 中建立一致的測試條件,再依連線能力、地區需求、協定條件與實際載入情況篩選候選節點。延遲數字適合初步篩選;是否適合日常使用,仍須在相同網路環境下反覆連線至實際目標確認。
先確認節點來源與測試條件
Shadowrocket(小火箭)中的節點是連線設定,通常包含伺服器位址、連接埠、協定與驗證資訊。訂閱可集中匯入這些設定,並透過更新同步變更。節點名稱只是標籤,無法單憑名稱確認伺服器所在地、出口位址或目前負載;更新後的同名設定也可能已經不同。
開始比較前,先在 Home 確認現有訂閱已載入,而且要比較的節點仍在清單中。若服務商明確通知設定有變更,再更新相關訂閱並核對結果。不要在一輪測試途中更新,否則前後測量可能對應不同的伺服器參數。
-
核對設定
在 Home 查看現有節點;首次匯入時,使用 Home 右上角「+」→ Type → Subscribe,填入自己的訂閱網址並儲存。匯入後確認節點確實出現在清單中。
-
固定網路
先固定使用 Wi-Fi 或行動網路,並暫停大型檔案傳輸。開啟 Settings → On Demand,記下目前狀態,避免測試期間因網路條件改變而自動切換連線狀態。
-
統一測試方式
在 Home → Connectivity Test 確認目前的測試方式。所有候選節點都使用相同方式;若介面允許設定測試目標,也要維持一致。
-
重複記錄
少量候選節點逐一測試,每個至少記錄三次結果與測試時間。逾時也要記錄,不要只抄下單次最低數字。
測試節點不代表業務流量已切換至該節點。測試完成後,仍須在 Home 選取候選節點並確認連線狀態;既有的長連線也不一定會立即改走新路徑。實際驗證時,請重新開啟目標 App 或建立新的請求。
延遲數字測到什麼,沒測到什麼
延遲通常以 ms 表示,數字越小,代表這次測試等待時間越短。但不同測試方式涵蓋的網路路徑不同:TCP 交握主要檢查與伺服器連接埠是否建立連線;透過代理存取測試目標,還會受到協定交握、目標回應及相關解析過程影響。兩種數字不能直接放在一起排序。
初步篩選記錄
- 入口
- Home → Connectivity Test
- 單位
- ms,記錄時使用相同測試方式
- 次數
- 每個候選至少測試三次
- 異常
- 逾時、失敗也要記錄
先排除反覆無法完成測試的設定,再比較成功結果的穩定程度。
實際使用驗證
- 目標
- 自己實際使用的同一個頁面或 App
- 條件
- 相同網路、相同 Global Routing 設定
- 觀察
- 首次顯示內容、持續載入與中斷情況
- 複查
- 在常用時段再次執行相同步驟
延遲測試通過後,仍須確認完整的業務請求能正常完成。
例如,某組示意結果為 42、190、逾時,另一組則是 86、89、91。前者有較低的單次數字,後者在這三次記錄中較一致。這只是用來說明記錄方式的假設數據,不代表任何線路的實測結果,也不能據此推斷長期品質。
延遲不等於吞吐量。簡短的測試請求可能很快完成,但持續傳輸仍會受到頻寬、壅塞、封包遺失與伺服器處理能力影響。相反地,延遲稍高的路徑也可能載入得更穩定。不要把 ms 當成下載速度,也不要用一次短測試推斷影片能否持續播放。
依地區篩選:看實際目標,不只看距離
地區可作為縮小候選範圍的條件,但地理距離不等於網路路徑長度。裝置到入口、服務內部轉送、出口到目標網站是不同環節;節點名稱中的地區也可能描述出口,而不是裝置首先連線的伺服器位置。
地區篩選:一般使用與指定地區需求
一般瀏覽網頁與日常 App
- 從現有訂閱中挑選少量候選,不必一次測試所有地區。
- 使用同一個目標頁面,比較首次載入與連續操作的情況。
- 優先保留多次測試結果穩定、失敗較少的候選。
目標有地區限制
- 先閱讀目標服務本身的地區與帳戶要求。
- 核對實際存取結果,不要把節點名稱當成出口位置的證明。
- 符合地區需求後,再比較延遲與持續載入表現。
先符合使用條件,再比較符合條件的候選;不要只按地圖距離或名稱排序。
目標服務也可能同時參考帳戶地區、裝置定位、付款資訊或既有工作階段。切換節點只會改變部分網路條件,不保證服務可用範圍也會改變。若頁面仍顯示原有狀態,先確認請求確實經過新節點,再核對目標服務的規則,避免反覆切換而難以判斷。
依協定類型篩選:先確認相容條件
協定名稱說明連線如何建立,並非效能等級。同一種協定可在不同伺服器與網路路徑上運作;同一台伺服器也可能提供不同協定。比較時應盡量控制其他變因,不能把更換地區、伺服器與協定後的整體差異全都歸因於協定。
| 協定 | 需要核對的條件 | 不能直接推斷的結論 |
|---|---|---|
| Shadowsocks | 位址、連接埠、密碼與加密方式一致;UDP 轉送也需要伺服器端支援。 | 不能只憑協定名稱判斷速度,或是否支援某個 App。 |
| VMess / VLESS | 驗證資訊、傳輸方式與設定的 TLS 參數彼此相符。 | 不能將某一種傳輸設定的表現套用到同協定的所有節點。 |
| Trojan | 密碼、TLS 伺服器名稱與憑證驗證條件正確。 | 連接埠可連線,不代表 TLS 與驗證已成功。 |
| Hysteria2 | 以 QUIC 為基礎,依賴 UDP 路徑;請核對驗證與 TLS 參數。 | 不能因為使用 UDP,就認定在任何網路環境下都會更快。 |
| WireGuard | 依賴 UDP;請核對金鑰、Peer 與路由相關設定。 | 不能只憑一次交握成功,就推斷所有業務路由都正確。 |
連接埠號碼只是連線參數。例如設定中的 443,無法單獨證明節點使用哪種協定、是否啟用 TLS,或能否通過目前的網路。不要為了讓測試通過,就隨意把原本的連接埠改成 443;伺服器必須確實在對應連接埠提供相符的服務。
延遲很低卻無法開啟:檢查 Global Routing
節點測試成功,只表示該項測試能夠完成。實際存取還會受到 Global Routing、目前的設定規則、DNS 與目標服務狀態影響。若業務請求走 Direct,或某條規則指定了其他策略,剛測得的節點延遲就無法解釋這次的存取表現。
Config:依設定判斷
建議在 Home → Global Routing 選擇 Config 後,流量會依目前設定比對策略。檢查 Config 中啟用的檔案,不要假設未符合規則的流量一定會直連;最終路徑取決於 FINAL 等設定。
適用情況:已有明確規則,並需要依規則日常使用。
Proxy:縮小故障排除範圍
由 Shadowrocket 接管的流量會以代理模式處理,可暫時用來判斷問題是否與規則選擇有關。仍須確認目前選取的節點與完整連線結果。
適用情況:同一目標在 Config 下失敗時,進行一次受控比較。
Direct:建立直連基準
使用直連路徑,而不是透過所選的代理節點存取。此時目標開啟速度反映的是直連條件,不是候選節點的品質。
適用情況:確認目標在目前網路下的直連表現。
如果使用 Scene,也要先核對對應場景的設定與實際生效狀態,不要把場景切換誤認為節點本身有所變化。比較時固定一種 Global Routing 模式,並記下測試結束後需要還原的設定。
DOMAIN-SUFFIX,example.com,PROXY:符合範例網域後綴時,使用 PROXY 策略。IP-CIDR,192.168.0.0/16,DIRECT:範例中的私有位址網段使用 DIRECT。GEOIP,CN,DIRECT:依 GEOIP 判斷結果比對,與依節點名稱判斷地區不同。FINAL,PROXY:未符合前面的規則時使用 PROXY;請依序核對規則。
以上內容只用來說明規則,不是要你取代現有設定。若只有某個網域失敗,優先核對該請求使用的策略與解析結果;若所有候選在同一個目標上都失敗,也應檢查目標本身,不要立刻認定所有節點都無法使用。
整理測試結果,選出主要與備用節點
初步篩選後保留少量候選,再依照實際使用順序驗證:開啟目標頁面、進入下一層內容,並持續操作幾分鐘。若要比較影片或檔案傳輸,請維持相同畫質或檔案條件,並留意測試會消耗流量。快取命中可能讓第二次開啟明顯變快,因此不能只憑第二次載入判斷節點有所改善。
- 選擇主要節點:在常用網路與常用時段,優先保留能完整存取目標、重複測試結果穩定的候選,不要追求單次最低 ms。
- 保留備用節點:從現有訂閱中保留另一個通過相同驗證的候選。名稱不同不一定代表底層路徑不同,是否具備獨立路徑應以現有服務資訊為準。
- 更換網路後重新測試:Wi-Fi 下的排序不能直接套用到行動網路;切換網路後,請重新進行簡短測試並存取目標。
- 變更後重新確認:訂閱更新、切換設定或服務參數變更後,再確認選取的節點與 Global Routing 狀態。
記錄不必複雜:網路類型、時間、節點名稱、協定、三次延遲,以及目標是否完整載入即可。若某個候選只有晚上頻繁失敗,記下這項條件,比只寫「好用」或「不好用」更有助於下次判斷。
測試逾時,但網頁能開啟,需要刪除節點嗎?
先確認網頁確實經過該節點,而不是走 Direct 或命中快取。若確認路徑無誤,可能是測試方式或測試目標與實際業務不同。保留記錄,使用一致的測試條件重新檢查,不要因一次逾時就刪除設定。
需要每天測試所有節點的速度嗎?
通常不需要。針對正在使用及準備備用的少量候選進行檢查即可。頻繁大量測試可能增加連線與流量,也無法取代實際存取驗證。遇到持續異常或網路條件改變時,再擴大檢查範圍。