先確認用戶端與 Clash 訂閱格式

在 iPhone 上使用 Clash 訂閱,關鍵是找到支援相應設定格式的 iOS 用戶端,而不是把 Windows 安裝檔複製到手機。Clash 是代理核心與設定生態中的名稱,不代表 App Store 上有一款統一的官方 iPhone App。搜尋結果名稱相近,也不能證明設定相容。

本文以支援 Clash 風格 YAML 設定的 Stash 為操作範例。Stash 是獨立用戶端,不是桌面版 Clash 的 iOS 版本,也不能因此認定它採用 mihomo 核心。App Store 的供應地區、價格、最低系統需求與實際功能,請以安裝時的商店頁面及開發者文件為準。

取得的內容 辨識方式 匯入前確認事項
Clash YAML 設定 常見欄位包括 proxies、proxy-groups、rules 用戶端是否支援其中的通訊協定、規則類型與擴充欄位
節點連結或節點清單 單一連結可能以 ss://、trojan:// 等開頭 是否需要匯入節點,而非匯入完整設定
其他用戶端的設定 設定結構與 Clash YAML 不同 向服務提供者索取適用於目前用戶端的版本

即使兩款用戶端都接受 YAML,也不代表每個欄位都通用。特別是標示「僅限 mihomo」的新通訊協定或擴充語法,應逐項核對。Shadowrocket 等 App 也有自己的訂閱與設定機制;支援部分相同的節點通訊協定,不代表整份 Clash 設定都能直接相容。

從 App Store 取得相容用戶端

核對商店頁面後再安裝

  1. 在 iPhone 上開啟 App Store,點選「搜尋」並輸入用戶端名稱,例如 Stash。
  2. 進入產品頁面,核對開發者資訊、App 說明、版本記錄與「相容性」需求。特別留意是否明確說明支援 Clash 設定或 YAML 匯入。
  3. 依產品頁面顯示的取得或購買流程安裝。用戶端費用與代理服務費用是兩回事,安裝 App 不會自動取得節點或訂閱。
  4. 首次開啟後,先查看設定入口與說明,再匯入自己的訂閱。不要直接啟用來源不明的範例節點。

如果搜尋不到 App,先確認目前 Apple 帳號所屬的 App Store 地區是否有提供該 App。iPhone 的「語言與地區」不等於 App Store 帳號地區。可前往「設定」→點選頂端的 Apple 帳號→「媒體與購買項目」→「檢視帳號」,查看帳號購買設定;實際選項可能因系統版本而異。

本文不固定列出特定 App 版本或價格,因為商店內容會持續更新。排解問題時,請記下用戶端「關於」頁面或 App Store 版本記錄中的實際版本,以及 iOS 版本;這比只說「最新版」更有助於判斷相容性問題。

匯入前準備:訂閱連結、網路與備份

先從服務提供者的帳戶頁面取得適用於 Clash 或目前 iOS 用戶端的訂閱網址。通常是 HTTPS 連結,可能包含帳戶權杖。完整連結等同存取憑證,請勿貼到群組聊天室、公開截圖或公開問題回報區。

  • 檢查複製內容:保留完整查詢參數,不要連同頁面標題、換行或末尾標點一起複製。
  • 確認有效期限:確認帳戶服務仍有效、訂閱連結未重設,且未超過裝置數量限制。
  • 檢查網路:先用 Safari 開啟一般網頁,並完成飯店或校園 Wi-Fi 的登入驗證。
  • 保留舊設定:若已有可用設定,先匯出備份或記下目前設定名稱,避免覆寫後無法還原。

能用瀏覽器開啟服務商首頁,不代表訂閱介面一定連得上;訂閱可能使用不同網域。反過來說,Safari 顯示一大段設定文字或提示下載檔案,也可能是介面的正常回應。若返回登入頁、驗證碼頁面或 HTML 錯誤頁,就不能當成 YAML 設定匯入。

透過訂閱連結匯入並選取設定

在 Stash 中開啟「設定」頁面,點選新增入口,再選擇透過 URL 下載設定的選項。不同版本可能會顯示「下載」、「從 URL 下載」等不同文字;目的都是建立遠端設定,而不是在節點清單中手動新增伺服器。

  1. 貼上完整的訂閱 URL。若需要設定名稱,可填入方便辨識的名稱,例如「日常訂閱」。
  2. 開始下載,等待用戶端完成取得與解析。初次排解問題時,請先手動下載一次,不要只設定自動更新後就離開。
  3. 在設定清單中選取剛匯入的設定,確認目前使用的設定就是它。清單中有檔案,不代表該檔案已啟用。
  4. 前往代理群組頁面,確認是否出現可選節點。若是 select 類型的手動選擇群組,請依需求選取節點或下層策略群組。
  5. 檢查執行模式。日常使用可先選規則模式,讓 rules 決定直連、代理或拒絕,不要把全域模式當成預設的修復方式。

訂閱更新與節點測速分開處理

更新訂閱是重新取得設定或節點清單;測速則是測試節點連線,兩者並非同一項操作。更新成功只能證明已取得訂閱,不能證明每個節點都可用。測速顯示數字也只代表測試目標的結果,不能據此保證所有網站都能連線。

有些設定會透過 proxy-providers 引用遠端節點檔案。此時即使主設定下載成功,仍可能因節點提供者網址無法連線而顯示空群組。請繼續查看提供者的更新結果,不要反覆刪除主設定。

透過 YAML 檔案匯入設定

若已取得完整設定,或暫時無法直接取得訂閱,可使用檔案匯入。先將 .yaml 或 .yml 檔案存到 iPhone 的「檔案」App,例如「我的 iPhone」或 iCloud 雲碟;若檔案旁有雲朵圖示,請先等候下載完成。

  1. 開啟用戶端的設定頁面,找到從檔案匯入的入口。
  2. 在系統檔案選擇器中選取 YAML 檔案,等待解析完成。
  3. 選取匯入後的設定,再檢查代理群組、節點數量與規則模式。
  4. 若出現語法錯誤,請回到原始檔案檢查縮排、冒號與引號,不要只改副檔名後重試。

以下片段僅供辨識結構,並非可連線的完整設定,也不包含可用節點。它用來說明規則引用代理群組名稱,而代理群組必須在其他區段定義。

mode: rule
log-level: info

rules:
  - DOMAIN-SUFFIX,example.com,網頁代理
  - MATCH,DIRECT

這裡的「網頁代理」必須與 proxy-groups 中的群組名稱完全一致,否則會發生引用錯誤。YAML 縮排請使用空格,避免使用 Tab;值中包含 # 等特殊字元時,請留意是否需要加上引號。不要直接複製桌面版的整份設定,期待其中的監聽連接埠、路由與 TUN 設定在 iOS 上原封不動地生效。

首次啟動:允許新增 VPN 設定

選取設定後,回到用戶端首頁開啟連線開關。首次建立系統通道時,iOS 通常會顯示新增 VPN 設定的授權提示。請確認提示中的 App 名稱,確定是剛安裝的用戶端後再點選「允許」,並依系統提示完成裝置驗證。

這項授權允許 App 透過 iOS 的 Network Extension 接管相關網路流量,不代表訂閱已通過驗證,也不表示所有連線都會經過遠端節點。符合 DIRECT 規則的連線仍可能直連。iOS 狀態列的 VPN 圖示或控制中心狀態,主要用於確認通道是否已建立。

  • 不小心點了「不允許」:返回用戶端重新啟動連線,依提示再次提出授權;若仍失敗,再檢查系統 VPN 設定。
  • 檢查設定狀態:前往「設定」→「一般」→「VPN 與裝置管理」→「VPN」,確認目前設定與連線狀態。部分系統版本會提供 VPN 快速入口。
  • 已有其他 VPN:先暫停其他個人 VPN 用戶端及其自動連線設定,避免連線被另一個 App 接手。受機構管理的裝置請洽管理員。

匯入訂閱不需要將服務商提供的根憑證設為完全信任。一般代理連線也不需要額外安裝 MDM 管理描述檔。若操作流程突然要求這些權限,請先停止並確認用途。HTTPS 解密是另一項獨立功能,不屬於本文的一般設定步驟。

連線後驗證:確認規則命中,不只看 VPN 圖示

完成授權後,依照「通道狀態→策略選擇→實際請求」的順序進行驗證。先確認用戶端顯示已連線,再用 Safari 開啟新頁面,分別造訪已知可正常連線的網站,以及預期會透過代理連線的網站。以下是驗證步驟,並非提供固定延遲數值的效能測試。

  1. 查看用戶端的連線或請求記錄,找到剛才造訪的網域。
  2. 確認命中的規則與策略群組符合預期。規則通常依序比對,前面的規則一旦命中,就不會繼續比對後面的規則。
  3. 若策略群組選的是 DIRECT,即使 VPN 顯示已連線,也不代表該請求已透過遠端代理。
  4. 切換至行動數據後再測試一次,以區分 Wi-Fi 限制與設定問題,並留意行動數據用量。

桌面教學常見的 mixed-port: 7890 是本機 HTTP/SOCKS5 混合監聽連接埠,不是 iPhone 匯入訂閱時必須填寫的參數。手機透過用戶端通道連線時,也不需要在目前 Wi-Fi 的「設定代理伺服器」中填入 127.0.0.1:7890。那是另一種手動代理使用方式,混在一起設定只會增加排錯難度。

同樣地,不要照抄桌面教學,硬要尋找完全相同的「TUN 模式」開關。iOS 會由用戶端搭配系統網路擴充功能接管流量;DNS 與路由能力受用戶端和系統限制,並不等同於直接執行桌面版 mihomo 的所有 tun 欄位。

常見匯入失敗與連線問題

狀況 優先檢查項目 下一步
下載時回應 401 或 403 權杖、權限、訂閱有效期限或介面存取限制 從帳戶頁面重新複製網址;若仍失敗,請聯絡服務提供者確認
提示 YAML 解析失敗 回應內容是否為網頁,以及檔案縮排是否正確 確認訂閱格式,檢查錯誤行及其前一行
提示不支援的代理類型 通訊協定或擴充欄位是否超出用戶端支援範圍 索取相容設定,或改用明確支援該通訊協定的用戶端
設定匯入成功,但節點清單為空 是否已選取新設定,以及遠端提供者是否更新成功 分別查看設定與提供者的下載錯誤
VPN 已連線,但網頁逾時 所選節點、規則命中、DNS 與目前網路 一次只切換一個節點再重試,並對照請求記錄

每次只變更一個變數

排解問題時先保留原始設定,記下錯誤發生時間、用戶端版本、iOS 版本與目前網路。可以先切換節點,再改用另一個網路測試;不要同時切換模式、重設 DNS、修改規則又重新安裝 App,否則很難判斷哪項操作有效。

遇到 DNS 錯誤時,先分辨是訂閱網域解析失敗、節點伺服器網域解析失敗,還是目標網站解析失敗。這些問題發生在不同環節,不能一律用同一個公共 DNS 位址解決。公司、學校或受管理的網路也可能限制外部 DNS 或 VPN 連線,請遵守所使用網路的規定。

需要求助時,提供錯誤原文與已遮蔽敏感資訊的截圖即可。請隱藏訂閱網址的查詢參數、節點密碼、帳戶電子郵件及完整伺服器憑證。先確認「設定可解析、已選取目前使用的設定、VPN 授權完成、規則與節點選擇符合預期」這四項,再繼續查找個別網站的問題,通常比從頭重新安裝更有效。