iOS版Clashクライアントの入手方法|App Storeでのインストールと設定ファイルの読み込み
iPhoneでmihomoルールに対応するクライアントを探し、App Storeからのインストール、初回VPN設定の許可、リンクやファイルからの設定読み込みまでを解説します。
iOSクライアントとmihomo設定の互換性
iPhoneで「Clash」と検索する際は、クライアント名、プロキシコア、設定形式を区別しましょう。Clash Metaはmihomoの旧称です。App StoreでClashを含む名前のアプリが、mihomoコアを採用しているとは限らず、mihomo設定を完全に読み込めるとも限りません。一方、名前が異なるクライアントでも、Clash形式の一部に対応している場合があります。
インストール前に、開発元が公開している互換性情報を確認してください。対応するノードプロトコル、ルール形式、プロキシグループ、DNS設定を確認し、アプリ名だけで判断しないことが大切です。YAMLファイルを認識できても、それはテキスト形式を読み込めるという意味にすぎず、設定項目がすべて動作するとは限りません。
選ぶ前に確認したい4つのポイント
- サブスクリプション形式:完全なClash設定に対応しているか、ノード一覧またはクライアント専用のサブスクリプションのみを受け付けるかを確認します。
- ノードプロトコル:実際に使うプロトコルとトランスポート設定に対応しているか確認します。例:Shadowsocks、Trojan、VMess、VLESS、Hysteria2。対応範囲は、利用中のクライアントのバージョンによって異なります。
- ルールとプロキシグループ:設定内で使われている
rules、proxy-groups、rule-providersなどの構造に対応しているか確認します。 - 設定の更新:リモート設定を手動で更新できるか、自動更新に対応しているか、更新時にローカルの編集内容が上書きされるかを確認します。
App Storeでの検索とインストール時の確認
まずダウンロードページにあるiOS向けリンクで製品を確認し、App Storeを開きましょう。直接検索する場合は「Clash」や「mihomo」などのキーワードを使えますが、検索結果の表示順は互換性を保証するものではありません。アプリの配信状況、入手可否、価格は、Apple Accountの国や地域、開発元の方針によって変わることがあります。
- App Storeを開き、「検索」タブでクライアントの正式名称を入力します。
- アプリの詳細ページを開き、デベロッパ名、アプリの説明、バージョン履歴を確認します。アイコンが似ているという理由だけで判断しないでください。
- 詳細ページの「互換性」を確認し、必要なiOSの最低バージョンを調べます。iPhoneの「設定」→「一般」→「情報」で、現在のiOSバージョンを確認できます。
- 「入手」または価格ボタンをタップし、Apple Accountの認証を完了します。インストール後は、まずクライアントを開いて設定の追加方法を確認してから、サブスクリプションを読み込みます。
ページに「現在の地域では利用できません」と表示される場合、検索を繰り返しても状況は変わらないことがほとんどです。開いているリンクが開発元の案内したものか確認し、アカウントの国や地域、配信に関する説明を確認してください。提供元が不明な企業署名アプリをインストールしたり、用途の説明がないデバイス管理設定を受け入れたりしないでください。
App Storeからインストールするのはクライアントアプリであり、プロキシサービスではありません。通常は有効なサブスクリプションURLまたは設定ファイルを別途用意する必要があります。アプリが起動しても、利用可能なノードがあるとは限りません。
読み込み前にサブスクリプションURLと設定ファイルの違いを確認
設定の追加機能は、Profile、設定、設定ファイルなどの名称で表示されます。ノード、プロキシグループ、ルール、関連する動作パラメーターが保存されています。サブスクリプションURLはリモートの内容を取得するためのアドレスで、ローカルのYAMLファイルは特定の時点の内容を保存したものです。同じ内容を含む場合もありますが、更新方法は異なります。
| 設定ソース | 形式・内容 | 更新方法 |
|---|---|---|
| 完全な設定のサブスクリプション | ノード、プロキシグループ、ルールなどを含むYAMLを取得 | リモート設定を再取得。ローカルでの編集内容が上書きされる場合あり |
| ノードのサブスクリプション | ノード情報のみを提供。専用のエンコード形式やフォーマットを使う場合あり | クライアントのテンプレートやノードプロバイダーの設定が必要 |
| ローカルのYAMLファイル | 「ファイル」アプリに保存した .yaml または .yml ファイル | 通常は再読み込みまたは手動での編集が必要 |
サービス提供者のログインページのURLを、サブスクリプションURLとして使わないでください。ログインページから返されるのはHTMLであり、クライアントが解析できる設定ではないことがほとんどです。サービス提供者の管理画面で、Clashまたはmihomo向けと明記されたサブスクリプション形式を選びます。クライアントが専用形式のみ対応している場合は、その案内に従って該当するリンクを選んでください。
URLからリモートサブスクリプションを読み込む
クライアントによって画面上の名称は異なります。ここでは一般的な「設定」「追加」「URLから読み込む」機能を使う手順を説明します。ボタン名が違う場合は、同じ機能の項目を探してください。iOSの「設定」にサブスクリプションURLを貼り付けるわけではありません。
- URL全体をコピーします。信頼できるサービス提供者の管理画面からサブスクリプションURLをコピーし、前後に空白や改行、チャットアプリが付け加えた句読点がないことを確認します。
- 追加画面を開きます。クライアントの設定一覧で「追加」または「+」をタップし、URLからダウンロードまたは読み込む項目を選びます。
- 見分けやすい名前を付けます。たとえば「普段使い」や「予備回線」などです。名前はローカルで管理するためのもので、ノードの設定には影響しません。
- 貼り付けてダウンロードします。iOSから他のアプリの内容をペーストする許可を求められた場合は、コピー元を確認してから許可します。ダウンロードと解析が完了するまで待ちます。
- 使用する設定を選びます。読み込み後、設定一覧に戻って追加した項目を選択し、プロキシグループとノード一覧を確認します。
「ダウンロード成功」と「設定が動作する」は別の段階です。リモートURLからファイルを取得できても、クライアントが認識しないプロトコル、無効なインデント、外部ルールへの参照が含まれている場合があります。エラーが発生したら、proxy-groups や rule-providers など、エラーが示す項目を記録し、互換性の問題を調べてください。
設定のダウンロードがタイムアウトするときの確認手順
- まずWi-Fiまたはモバイル通信で一般のWebページにアクセスできるか確認します。ログイン認証が完了していない公衆Wi-Fiも確認してください。
- 通信経路への影響を避けるため、ほかのVPNやネットワークフィルタリングアプリを一時的に停止してから、設定のダウンロードをやり直します。
- URLの有効期限を確認します。HTTP
401または403が返る場合は、トークン、アカウントの状態、サーバー側のアクセス制限を優先して確認してください。 - サブスクリプションの取得に既存のプロキシが必要な場合は、利用可能な予備設定を使ってダウンロードするか、サービス提供者に直接接続できるサブスクリプションURLを問い合わせてください。
ダウンロードエラーを回避するために、証明書の検証を無効にしないでください。HTTPS証明書のエラーは、システム時刻、ネットワーク環境、サーバー証明書を確認して対処します。設定URLを安全でない通信方式に変更するのは避けてください。
「ファイル」アプリからローカルYAMLを読み込む
ローカルファイルは、復元用のコピーを保管するときや、サブスクリプションURLに一時的にアクセスできないときの設定移行に便利です。AirDrop、iCloud Drive、または信頼できるファイル転送方法を使って、.yaml または .yml ファイルをiPhoneの「ファイル」アプリに保存します。
- 「ファイル」アプリで対象ファイルを探し、Webページを保存したHTMLではないこと、未解凍の圧縮ファイルではないことを確認します。
- クライアントで設定の追加画面を開き、「ファイルから読み込む」を選びます。システムのファイル選択画面で対象ファイルを指定してください。
- クライアントが共有メニューからの読み込みに対応している場合は、「ファイル」アプリで対象ファイルを長押しし、「共有」からクライアントを選ぶ方法もあります。
- 読み込み後、その設定を選択してノードとプロキシグループがあることを確認します。クライアントがファイルをコピーしている場合、元のファイルを編集してもクライアント側には自動反映されません。
YAMLの階層構造とプロキシグループの参照
以下はルール構造を説明するための抜粋であり、そのまま接続できる完全なサブスクリプションではありません。ドメインルールを優先し、LAN内のアドレスは直接接続し、それ以外の通信はプロキシグループに渡す構成を示しています。「日常用出口」は、完全な設定内に同じ名前のプロキシグループが必要です。
rules:
- DOMAIN-SUFFIX,example.com,日常用出口
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,日常用出口
ルールは上から順に評価され、最初に一致した項目で出力先が決まります。後続のルールも評価する必要がある場合は、MATCH をその前に置かないでください。YAMLのインデントには半角スペースを使い、プロキシグループ名と参照先を完全に一致させます。全角コロンやタブの混入、名前の変更は、解析や読み込みに失敗する原因になります。
設定がリモートルールセットを参照している場合、ローカルYAMLの読み込み後にも、これらのリソースをダウンロードするためのネット接続が必要なことがあります。「ルールプロバイダーの更新に失敗しました」と表示されたら、同じファイルを何度も読み込み直すのではなく、該当URLとクライアントのルールセット形式への対応を確認してください。
初回接続とVPN設定の許可
使用する設定を選び、プロキシグループで実際に利用するノードを選択してから、クライアントの接続スイッチをタップします。初めてトンネルを起動すると、通常はiOSにVPN設定の追加を確認する画面が表示されます。アプリ名を確認して「許可」をタップし、画面の指示に従ってパスコードまたは生体認証で承認してください。
この許可によってクライアントがネットワークトンネルを確立できるようになりますが、ルート証明書が自動でインストールされるわけではありません。通常のプロキシ接続で、HTTPSを復号するルート証明書をユーザーがインストールする必要はありません。別途、証明書の信頼設定やデバイス管理を求められた場合は、用途を確認してください。
- システムの設定を確認:「設定」→「一般」→「VPNとデバイス管理」→「VPN」で、追加済みのVPN設定を確認できます。iOSのバージョンによって、項目名や場所が多少異なる場合があります。
- トンネルの競合を避ける:ほかのVPNや、VPN機能を使うフィルタリングツールが現在の接続と競合し、接続先が切り替わる場合があります。問題を調べる際は、まず有効なトンネルを1つだけにしてください。
- 許可をやり直す:誤って「許可しない」をタップした場合は、通常、クライアントに戻って接続を再度タップすれば設定できます。設定が破損している場合は、接続を切断し、該当するVPN設定を削除してから、クライアントで再作成してください。
デスクトップクライアントの「システムプロキシを有効にする」手順を、そのままiPhoneで使わないでください。iPhoneのWi-Fiにある手動HTTPプロキシは別の設定方法で、特定のネットワーク上で対応する通信にのみ適用されます。クライアントのシステムトンネルを使う場合、通常はデスクトップ設定の 7890 などのローカルポートをWi-Fiに入力する必要はありません。
プロキシの動作確認とよくあるトラブル
初回の動作確認では、設定、ノード、ルール、出口の4点を分けて確認します。遅延テストで分かるのは、その時点でテスト先に到達できるかどうかです。それだけでは、Webページ、UDP、すべてのアプリが正常に動作するとは判断できません。遅延が数十ミリ秒のノードでも、実際のアクセスで証明書やプロトコル、接続先サイトの制限に遭遇することがあります。
- 使用中の設定を確認します。テスト対象が、読み込んだばかりのファイルか確認してください。古い設定でテストしないよう注意します。
- プロキシグループの選択を確認します。対象のプロキシグループで、
DIRECT、無効なノード、意図しない入れ子のプロキシグループが選ばれていないか確認してください。 - 新しい接続を開始します。対象のWebページを開き直し、クライアントの接続履歴やログで、接続先ドメイン、一致したルール、出力先を確認してください。
- 出口を確認します。信頼できるIPアドレス確認ページを開き、接続前後のグローバルIPアドレスを比較します。出口の確認だけではルールによる振り分けの違いを見落とすことがあるため、対象リクエストのルールログも確認してください。
| 症状 | まず確認する項目 | 次の対応 |
|---|---|---|
| 読み込み時に形式エラーが表示される | URLがログインページを返していないか、設定形式が対応しているか | クライアントに対応したサブスクリプションを再取得し、エラーが示す項目をYAMLで確認する |
| ノードやプロキシグループが表示されない | ノードプロバイダーファイルを誤って読み込んでいないか、設定が選択されているか | 完全な設定を読み込むか、クライアントの要件に沿ってプロキシグループを作成する |
| VPN接続中なのにWebページがタイムアウトする | 使用中のノード、DNS、リモートルールのダウンロード状況 | 利用できることが分かっている別のノードに切り替え、具体的な接続エラーを確認する |
| 一部のアプリだけ接続できない | 接続先ドメインのルール、UDP対応、アプリ側に残っている既存の接続 | 対象アプリを再起動し、ログと照らし合わせて項目ごとに確認する |
| ネットワークを切り替えると接続が切れる | Wi-Fiとモバイル通信の許可、新しいネットワークからのノードへの到達性 | ネットワークが安定してから再接続し、テスト用リクエストを新しく実行する |
DNSのトラブルシューティングでは、すべてのリゾルバーやモードを一度に変更しないでください。まず元の設定を記録し、項目を1つずつ変更して同じ接続先で再テストします。デスクトップで有効なFake-IP設定が、別のiOSクライアントでも同じように実装されているとは限りません。アプリが実IPアドレスを必要とする場合は、そのクライアントのフィルタリング方式と公式情報を確認してください。
サブスクリプションの更新と設定の管理
リモート設定は更新できますが、ローカルファイルは通常、サービス提供者側の変更に自動では追従しません。最初に読み込んだ後、手動で一度更新し、ダウンロードと解析が成功することを確認してから、クライアントが対応する更新間隔を設定してください。たとえば24時間ごとの確認を目安にできますが、iOSのバックグラウンド実行はシステムの制限を受けるため、毎日決まった時刻に更新されるとは限りません。
- 更新前にバックアップを保存:ルール、DNS、プロキシグループを手動で追加した場合は特に重要です。リモート設定を更新すると、直接編集した項目が上書きされることがあります。
- 用途ごとに設定を分ける:普段使い用と予備用の設定には別々の名前を付け、切り替え後に使用中の設定とノードをあらためて確認します。
- 更新結果を確認:最終更新時刻、解析結果、ルールプロバイダーの状態を確認します。ダウンロードボタンの表示が終わっただけで判断しないでください。
- エクスポートしたファイルを保護:YAMLにはサーバーアドレス、パスワード、トークンが含まれる場合があります。バックアップはアクセス制限のある場所に保存し、トラブル情報を共有する前に機密情報を伏せてください。
インストール、読み込み、許可、動作確認を終えてから、ルールやDNSを少しずつ調整します。変更は一度に1種類にとどめ、復元できる設定を残してください。クライアントのアップデート、サブスクリプションの変更、ネットワークの切り替え後も、どの段階で問題が起きたかを特定しやすくなります。