iPhone 如何安裝 Clash 類用戶端:從 App Store 下載、匯入訂閱與首次連線

整理 iOS 從 App Store 取得用戶端到完成首次連線的流程,涵蓋帳號地區、訂閱連結匯入、VPN 設定檔授權及匯入失敗的常見原因。

先確認 iPhone 上安裝的是哪一種用戶端

iOS 上通常安裝的是相容於 Clash、Clash Meta(mihomo)設定格式的第三方網路工具,而不是桌面版 Clash 程式本身。受 iOS 沙盒與 Network Extension 機制限制,用戶端必須透過系統提供的 Packet Tunnel Provider 建立本機 VPN 通道,再將 App 流量交給規則引擎處理。介面名稱、策略組操作方式與設定相容範圍會因用戶端而異,但取得 App、匯入訂閱、授權 VPN、選擇節點與驗證規則這幾個步驟大致相同。

選擇用戶端時,先查看 App Store 商品頁上的開發者名稱、最近更新時間、系統版本要求與設定格式說明。只憑 App 名稱或相似圖示無法判斷相容性。若商品頁明確列出 Clash、Mihomo、YAML、Rule Provider、VLESS、Hysteria2 等關鍵字,仍應繼續核對開發者文件,因為「支援訂閱」可能只代表支援該用戶端專用的 JSON 格式,不一定能讀取 Clash YAML。

核對項目 查看位置 判斷依據
系統需求 App Store → App 詳細資訊 → 相容性 確認目前 iOS 主版本符合最低要求,例如 iOS 17 或 iOS 18
設定格式 App 詳細資訊、開發者網站或內建說明 明確列出 Clash YAML、Mihomo 或相應的訂閱類型
維護狀態 App Store → 版本記錄 查看最近更新日期與修正內容,不要只看首次發布日期
開發者身分 商品頁的開發者欄位 交叉比對專案文件提供的 App Store 連結、開發者名稱

在 App Store 搜不到用戶端時,檢查帳號地區

App Store 顯示的內容取決於目前登入「媒體與購買項目」的帳號商店地區,不完全取決於 iPhone 的語言、時區、SIM 卡或「設定」→「一般」→「語言與地區」。同一個 App 可能在部分地區可取得,在其他地區不顯示,也可能因開發者調整發行範圍而下架。因此,修改系統地區通常無法解決搜尋不到的問題。

先使用開發者提供的商品頁連結

  1. 從用戶端專案文件或開發者網站開啟 App Store 商品頁,不要一開始就依賴關鍵字搜尋。
  2. 核對商品頁上的開發者名稱、App 圖示、版本記錄與系統需求。
  3. 如果頁面提示「此 App 尚未在你所在的國家或地區提供」,再檢查媒體與購買帳號的地區。
  4. 若頁面顯示 App 已移除,不要安裝名稱相近的替代品;重新查看專案目前推薦的用戶端。

iOS 18 可進入「設定」→「Apple 帳號」→「媒體與購買項目」→「檢視帳號」→「國家或地區」,查看目前商店地區。系統可能要求驗證 Face ID、Touch ID 或裝置密碼。Apple 對變更地區設有帳戶餘額、有效訂閱、家庭共享與付款方式等條件;若頁面提示仍有未完成事項,應依 Apple 的帳戶規則處理,不要反覆切換系統語言。

只登出媒體與購買帳號時,請確認影響範圍

「設定」→「Apple 帳號」→「媒體與購買項目」中的登出操作,適用於 App Store、音樂與媒體購買,不等同於登出頂端的整個 Apple 帳號。不清楚照片、聯絡人與 iCloud 同步狀態時,不要點選 Apple 帳號頁面底部的整機登出。App 成功下載後,後續更新通常仍會與最初取得它的媒體與購買帳號相關,更新時可能要求驗證該帳號。

準備一條用戶端能辨識的訂閱連結

訂閱不是節點名稱,也不是單獨的伺服器位址。它通常是一個 HTTPS URL,用戶端請求後會取得 Clash YAML、Mihomo YAML 或服務商定義的設定內容。典型網址可能如下:

https://sub.example.net/clash?token=abc123

這個網址僅用於說明結構。實際連結應來自訂閱提供方的控制面板,並選擇明確標示為 Clash 或 Mihomo 的格式。如果面板同時提供 Base64 通用訂閱、Sing-box、Surge 和 Clash,多數 iOS Clash 類用戶端應選擇 Clash/Mihomo 項目,不要因為看到「iOS」字樣就隨意複製。

匯入前先做三項檢查

部分訂閱伺服器會依據請求的 User-Agent 回傳不同格式。Safari 能開啟連結,不代表用戶端請求一定會取得相同內容;反過來,Safari 顯示空白也不代表訂閱失效,因為回應可能是下載檔案。準確的判斷方式,是查看用戶端更新記錄中的 HTTP 狀態碼與解析錯誤。

在 iOS 用戶端中匯入訂閱

不同用戶端的選單文字可能是「設定」「訂閱」「Profiles」或「遠端設定」。通用路徑是:開啟用戶端 → 進入設定管理 → 新增遠端設定 → 貼上 URL → 設定名稱與更新週期 → 儲存 → 立即更新。首次操作建議將自動更新設為 24 小時或 1440 分鐘,先手動更新一次,確認格式可讀後再啟用背景更新。

方式一:從剪貼簿貼上 URL

  1. 在訂閱控制面板點選「複製 Clash 訂閱」,避免長按後漏選查詢參數。
  2. 開啟用戶端的「設定」→「新增設定」→「從 URL 下載」或相應入口。
  3. 貼上網址後,確認開頭是 https://,結尾沒有多出句號或空格。
  4. 名稱填寫便於辨識的文字,例如「日常訂閱」,不要把 token 當成名稱。
  5. 儲存後點選更新,等待用戶端顯示節點數、策略組數或更新時間。

如果 iOS 跳出「允許貼上」提示,請核對來源 App 後選擇允許。這項提示屬於剪貼簿隱私控制,不是 VPN 授權。拒絕後可再次點選輸入框,使用系統編輯選單貼上;部分 App 也能在「設定」中單獨調整貼上權限。

方式二:匯入本機 YAML 檔案

若訂閱提供方提供 .yaml.yml 檔案,可先儲存到「檔案」App,再從用戶端選擇「從檔案匯入」。檔案應為 UTF-8 文字,且頂層欄位縮排一致。以下是用於辨識結構的簡化範例,不包含可連線節點:

mixed-port: 7890
mode: rule
proxies: []
proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - DIRECT
rules:
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

本機檔案不會自動隨遠端訂閱更新。節點變更後需要重新下載並匯入,或改用遠端設定 URL。若用戶端同時保留多個設定,應明確選取剛匯入的設定;「下載成功」只代表檔案已加入設定清單,不表示它已成為目前執行中的設定。

完成 VPN 設定授權與首次連線

用戶端第一次啟動通道時,iOS 會顯示「想要加入 VPN 設定」之類的系統對話框。點選允許後,系統可能要求輸入裝置密碼或進行生物辨識。這個過程由 iOS 建立 Network Extension VPN 設定;未完成授權時,用戶端即使能更新訂閱,也無法接管其他 App 的網路流量。

  1. 在用戶端策略頁選擇可用節點或自動選擇策略組。
  2. 返回首頁,開啟「連線」「啟動」或「VPN」開關。
  3. 在系統彈出視窗中點選「允許」,完成裝置身分驗證。
  4. 等待狀態從「連線中」變為「已連線」,通常應在 2 至 10 秒內完成。
  5. 進入「設定」→「一般」→「VPN 與裝置管理」→「VPN」,確認相應設定狀態為已連線。

iOS 通常一次只允許一個個人 VPN 通道處於活動狀態。如果裝置已連線至企業 VPN、其他代理用戶端或安全軟體的本機 VPN,啟動新用戶端時可能會自動中斷舊連線,也可能一直卡在「正在連線」。排查時先關閉其他 VPN,再回到目標用戶端重試。

iOS 上的 TUN 與系統代理有何不同

iPhone 沒有桌面系統常見的全域 HTTP 代理開關,讓用戶端統一接管所有網路。Clash 類用戶端通常透過 Packet Tunnel 建立類似 TUN 的虛擬網路介面,將 IP 封包交給內建核心,再依據 DOMAIN、DOMAIN-SUFFIX、IP-CIDR、GEOIP、GEOSITE 或規則集決定直連、代理或拒絕。部分用戶端直接將這個入口命名為 TUN,部分只顯示 VPN 開關;底層目標相近,但實作細節可能不同。

連線後,頂端狀態列不一定會持續顯示 VPN 字樣,尤其是在瀏海螢幕與動態島機型上。更可靠的確認方式是開啟控制中心查看 VPN 狀態,或進入「設定」→「一般」→「VPN 與裝置管理」檢查。用戶端記錄中還應出現網路介面啟動、DNS 初始化與規則載入紀錄。

用具體步驟驗證節點、DNS 與規則

首次連線不要只看開關顏色。建議分別驗證通道、節點與規則三個層面:先確認 VPN 已連線,再進行延遲測試,接著檢查一個直連網域與一個代理網域的規則命中情況。若用戶端提供即時記錄,可暫時將記錄層級設為 Info,測試完成後再恢復預設值,避免長期保留大量記錄。

一組可重現的首次測試

  1. 關閉行動網路,只保留穩定的 Wi-Fi,避免測試過程中切換出口。
  2. 在節點頁對同一個節點連續測試 3 次,記錄 TCP 或 URL Test 延遲。
  3. 選擇該節點並啟動 VPN,開啟 Safari 瀏覽兩個不同規則類別的網站。
  4. 回到用戶端記錄,查看目標網域命中的策略組與最終節點。
  5. 鎖定螢幕 30 秒後解鎖,再次開啟網頁,確認通道沒有因背景切換而中斷。

例如在同一個 Wi-Fi 下,某節點三次 URL Test 為 86 ms、91 ms、88 ms,波動約 5 ms,便可繼續進行網頁測試;如果結果依序為 90 ms、680 ms、逾時,表示連線穩定性比平均延遲更值得關注。延遲只反映連線至測試位址所需的時間,不等於實際下載速度,也不能證明所有協定都可用。

現象 優先檢查 可執行的操作
VPN 已連線,但所有網頁都無法開啟 DNS 初始化、節點可用性、是否選取正確設定 切換節點,查看記錄中的 DNS timeout 或 connection refused
中國大陸網站也走代理 執行模式與規則順序 將模式改為 Rule,確認 MATCH 位於規則末尾
瀏覽器可用,但個別 App 無法使用 UDP、IPv6、App 自身的連線機制 查看該 App 網域與 IP 的記錄,確認是否被 REJECT 或錯誤直連
鎖定螢幕後經常斷線 隨選連線、低耗電模式、用戶端背景狀態 關閉低耗電模式測試一次,並查看用戶端是否支援隨選連線

訂閱匯入失敗的常見原因

HTTP 401、403,或訂閱回傳登入頁

401 Unauthorized 通常表示 token 遺失、錯誤或已被重設;403 Forbidden 可能來自帳戶狀態、請求限制或訂閱伺服器的存取策略。先回到訂閱控制面板重新複製 Clash/Mihomo 連結,不要手動拼接 token。若 Safari 開啟後跳至登入頁,用戶端取得的通常也是 HTML,解析時可能顯示「unexpected character <」或「invalid YAML」。

顯示逾時或無法連線至伺服器

在通道啟動前更新訂閱時,用戶端通常會使用目前的 Wi-Fi 或行動網路直接連線至訂閱網域。先在 Safari 測試該網域是否能建立 HTTPS 連線,再分別切換 Wi-Fi 與行動網路測試一次。單次更新超過 30 秒仍無回應,可以終止後重試;持續逾時應檢查 DNS、憑證時間與訂閱伺服器狀態,不要連續點選更新。

YAML 解析失敗

常見原因包括使用 Tab 縮排、冒號後缺少空格、策略組引用不存在的節點、規則集欄位僅受特定核心支援,或設定使用了目前用戶端尚未實作的 Mihomo 擴充功能。查看錯誤提示中的行號與欄位名稱。若是訂閱提供方產生的遠端設定,應回報完整錯誤文字與用戶端版本,但不要附上原始訂閱 URL。

匯入後節點數量為 0

先確認複製的是 Clash 設定,而不是訂閱轉換頁面的網址。有些面板的「複製訂閱」按鈕會依目前選項產生不同格式;Base64 通用訂閱在瀏覽器中看起來是一長串字元,Clash 用戶端未必能自動辨識。也要檢查流量方案是否已過期,以及遠端回應中是否確實存在 proxies:proxy-providers:

更新成功,但啟動後立即斷線

這類問題通常已經超過訂閱下載階段,應改查執行中的設定。先關閉其他 VPN,確認已選取目前設定,再查看啟動記錄中是否有連接埠被占用、DNS 監聽失敗、規則集下載失敗或核心不支援欄位。桌面設定中的 external-controller、區域網路監聽與固定網卡名稱不一定適合 iOS,直接複製整份桌面設定時,需依用戶端文件調整。

連線穩定後的設定建議

完成首次連線驗證後,可以將訂閱更新週期設為 12 至 24 小時。更新過於頻繁會增加失敗提示,也可能觸發訂閱伺服器的請求限制;長時間不更新則可能錯過節點位址與規則集變更。遠端設定更新後,部分用戶端需要重新載入設定或重啟通道;策略頁的更新時間變化,不一定會立即套用到正在執行的核心。

完整的成功標準是:從 App Store 取得的用戶端身分可供核對,訂閱能更新並產生節點與策略組,系統 VPN 設定已完成授權,連線後規則記錄能顯示預期命中,鎖定螢幕與切換網路後仍能恢復。若其中某一步失敗,依「商店帳號 → 訂閱回應 → 設定解析 → VPN 授權 → 節點連線 → 規則匹配」的順序定位,比同時修改 DNS、節點與執行模式更容易找出原因。

下載 Clash 依平台選擇用戶端