iPhone で Clash 購読を使うときの前提

デスクトップの Clash/Mihomo(旧 Clash Meta)系クライアントと同様、YAML ベースのルールとプロキシグループをそのまま持ち歩きたい需要は iPhone にもあります。一方で iOS はサンドボックスとストア審査の影響が大きく、「公式の Clash for iOS が一つに決まっている」状態ではないのが現実です。利用者は、Clash 互換の設定や購読 URL を読み込めるサードパーティ製クライアントの中から、更新頻度・プライバシーポリシー・配布形態(App Store/TestFlight など)を見て選ぶことになります。

本稿は特定の商標アプリへの依存を避け、「Clash 形式のプロファイル/購読を iOS で扱う」全般に当てはまる手順と切り分けを説明します。コアの改称や機能差は Mihomo アップグレードガイド も参照してください。Android 側のモバイル運用の考え方は Clash Android 完全ガイド と対照になるので併読すると理解が早いです。

利用は契約先・職場・学校などの方針と法令を順守し、許可された範囲で行ってください。技術手順の整理であり、特定サービスの回避を推奨するものではありません。

Clash 購読クライアントの選び方:判断軸をそろえる

1. 互換性のレイヤー

まず「そのアプリが何を読むのか」をはっきりさせます。購読 URL が返すのが Clash/Mihomo 互換の YAML か、あるいは別形式を中継しているかで、インポート画面の項目名も失敗時の症状も変わります。アプリ説明に「Clash 設定」「YAML」「プロファイル」などの表記があるか、バージョン履歴で Mihomo 系の機能追随があるかを見るのが近道です。ルールの高度な書き方はデスクトップで検証し、モバイル側は動作確認済みのサブセットに留めると初回トラブルが減ります。

2. 配布元と更新

改ざんパッケージのリスクを下げるため、入手元を一つに固定し、更新ログを追う習慣があると安心です。当サイトの クライアント公式ダウンロードページ では、プラットフォーム別の入手導線をまとめています。オープンソースのリポジトリでライセンスを確認するのは有用ですが、実際のインストールパッケージの主導線は検証済みのページに合わせると、初日からの迷いが少なくなります。GitHub 等のソース情報は、ダウンロード CTA とは別枠で参照するのがよいでしょう。

3. iOS 特有の制約を織り込む

VPN トンネルを張るクライアントは、システムの「VPN とデバイス管理」にプロファイルが現れ、初回に許可ダイアログが必ず挟まります。また iOS のバージョンによっては、ローカルネットワークやクリップボードへのアクセス確認が追加されることがあります。これらは「設定は取り込めたのに通信だけが出ない」原因の上位に入るため、後述のチェックリストとセットで覚えておきます。

サブスクリプションとプロファイルのインポート

1. 購読 URL 方式

多くの運用では、プロバイダが発行する HTTPS の購読 URL をアプリの「サブスクリプション」「Remote」などの欄に貼り付けます。失敗時は次を順に疑ってください。URL の末尾までコピーできているか(改行や空白が混ざっていないか)、トークンの有効期限端末台数制限プロバイダ側のメンテナンスです。モバイルブラウザから開いたページが HTML エラーやログイン画面を返している場合、YAML ではないためアプリ側でパースエラーになります。Safari で URL を開き、先頭が portmixed-portproxies: などのキーワードで始まるテキストかをざっと確認すると切り分けが早いです。

2. ファイル/QR 方式

すでに PC で動いている config.yaml をそのまま持ち込む場合は、AirDrop や「ファイル」アプリ経由でインポートする流れが一般的です。QR コードはカメラアプリから読み取ったあと、対応アプリで開けるかどうかが実装差の出やすいポイントです。インポート直後にノード一覧が空のままなら、ファイルが暗号化 ZIP になっていないか、文字コードが UTF-8 かも確認します。

3. 更新間隔とキャッシュ

自動更新の間隔を短くしすぎると、バックグラウンド実行と電池消費のバランスが悪化します。まずは既定値から始め、イベント時だけ手動更新する運用でも十分なことが多いです。更新後に古いノードが残る場合は、アプリ内のキャッシュ削除やプロファイルの「再適用」、アプリのスワイプアウトによる再起動を試してください。

ヒント:インポートは成功したのに一覧が古いままのときは、DNS の結果がキャッシュされているケースがあります。一度機内モードのオン/オフでラジオをリセットし、購読を手動更新すると改善することがあります。

VPN プロファイルと OS 権限

初回接続で必ず通るのが、iOS の VPN 構成の許可です。設定アプリの「一般」→「VPN とデバイス管理」にプロファイルが追加され、有効化スイッチがアプリ内外のどちらで動くかは実装によります。許可をスキップしたままではトラフィックがトンネルに入らないため、「購読は取れたが速度が変わらない」ように見えます。

iOS 14 以降では、一部アプリが ローカルネットワーク上の機器へアクセスするときに別ダイアログを出します。ストリーミング端末や NAS への直接通信を併用する構成では、ここを拒否すると「プロキシ ON なのに特定アプリだけ失敗」に見えることがあります。macOS でシステム拡張の話を扱った macOS のシステム拡張と購読トラブル と同様、OS 側の許可レイヤーを先に潰すのが定石です。

初回だけ接続できないときのチェックリスト

  1. 出口ノードが選ばれているか:プロキシグループで REJECTDIRECT 固定になっていないか。ルールモード(mode: rule)と整合しているか。
  2. DNS:設定内の dns ブロックが強すぎて名前解決だけ失敗していないか。深掘りは DNS 漏洩防止ガイド が参考になります。
  3. キャプティブポータル:公共 Wi-Fi のログイン画面が出ている間は VPN が張れないことがあります。一度 Safari でログインを完了してから VPN をオンにする。
  4. 時刻ずれ:TLS ハンドシェイクは端末時刻に敏感です。「自動設定」がオフになっていないか確認する。
  5. 他社 VPN との競合:別アプリの Always-On VPN が有効だと、新しいプロファイルが無視されることがあります。

ログが読めるアプリでは、timeoutrejectdns error などのキーワードから、ノード側の問題かルールか DNS かを切り分けます。ログ機能の有無はアプリ差が大きいので、長期運用ではログの見やすさも選定材料にするとよいです。

証明書や HTTPS 解読まわり(該当する場合のみ)

一部の高度な機能やデバッグ用途では、ローカルに生成した説明付き証明書を iOS にインストールし、HTTPS を可視化する構成があります。これはセキュリティ上のインパクトが大きいため、信頼できる自分の設定だけを扱い、不要になったらプロファイルを削除する運用が前提です。通常の出口プロキシ利用だけであれば、証明書インストールは不要なケースがほとんどです。「証明書を入れろと言われたが本当に必要か不明」という場合は、まず公式ドキュメントで目的を確認し、代替手段(ルールのみでの分流など)がないかを検討してください。

デスクトップ設定をそのまま持ち込むときの注意

PC では動くのに iPhone だけ失敗する典型は、ローカル専用のパスやスクリプトを参照していることです。例えば rule-providers のローカルファイルや、社内 DNS のみ名前解決できるドメインを前提にしたルールなどです。モバイル用には購読側で完成した YAML を返すか、リモート URL に置き換えると再現性が上がります。Windows や Linux での常駐運用は Linux の systemd 常駐ガイド のように別記事で扱っているので、役割分担を意識するとメンテナンスが楽になります。

プロトコルやルール設計の基礎から追いたい場合は、技術ブログの一覧 から順に読み進めると学習効率が上がります。iPhone は「移動中に購読を更新し、必要なときだけ VPN をオンにする」という軽量運用向きでもあり、デスクトップで重めのルールを検証し、モバイルには安定したサブセットだけを載せる二段構えが扱いやすいです。

まとめ:初日のつまずきを短くする

Clash iOS まわりで迷いがちなのは、「クライアント選定 → 購読インポート → VPN 許可 → ノードと DNS の実効確認」という一本の導線のどこかで止まっているケースです。アプリごとの UI 差はあっても、確認すべき OS 権限と設定ファイルの健全性は共通しています。上流の Mihomo/Clash の進化に合わせて書式が変わることもあるため、購読側とクライアントの両方を時々見直す習慣があると安心です。

パッケージの入手と更新を一か所に寄せられると、端末をまたいでも運用がぶれません。オープンソースの透明性を尊重しつつ、日常のインストールと更新は検証済みの導線に合わせるのがおすすめです。→ Clash を無料ダウンロードして、iPhone を含む各 OS で同じ体験を揃える