インストール前に確認すること:クライアントと設定形式
iPhoneでClashの設定を使う際は、アプリ名にClashが含まれているかだけでなく、対応する設定形式やコア、現在のApp Storeの国・地域で配信されているかを確認しましょう。元のClashプロジェクトから公式iOSクライアントはリリースされていません。iOS向けの互換アプリは複数の開発者が提供しており、画面や機能もそれぞれ異なります。
「プロキシのサブスクリプションに対応」と「Clash YAML全体に対応」は同じ意味ではありません。ノード情報のみ読み込めるアプリもあれば、グループやルールまで読み込めるもの、独自形式のみ対応するものもあります。Mihomoは、一般にClash Metaと呼ばれるコアです。Mihomo向け設定には、旧Clashコアでサポートされないプロトコルや項目が含まれる場合があります。読み込む前に、アプリの説明で設定形式とコアを確認してください。
- YAML設定一式がある:
proxies、proxy-groups、rulesへの対応を確認し、設定内のプロトコルもサポート対象かチェックします。 - サブスクリプションURLのみある:提供元がClashまたはMihomo形式の設定を配布しているのか、ノードURIのみのサブスクリプションなのかを確認します。
- ノードが1つだけある:
ss://などのノードURIはYAML設定一式ではありません。通常は「ノードを追加」またはURIインポート用の画面から読み込みます。 - 複数のデバイスで使う:iPadとiPhoneでは、App Storeでの配信状況、対応OSの最低バージョン、購入履歴をそれぞれ確認してください。
App Storeから入手する:地域・OS・開発元を確認
ダウンロードページからアプリの詳細を開く
- 当サイトのクライアントダウンロードページを開き、iOS向けのリンクからApp Storeのアプリ詳細ページに進みます。
- アプリ名と開発元を確認し、「互換性」とバージョン情報を読みましょう。名前が似ていても、対応する設定形式が大きく異なる場合があります。
- 「入手」または価格ボタンをタップし、画面の案内に沿ってApple Accountの認証を行います。価格や対応デバイスは、現在のApp Storeの表示をご確認ください。
- 初回起動後は、まず「情報」や「設定」でアプリのバージョンとコアを確認してから、読み込む設定を選びましょう。
「このAppはお住まいの国または地域では現在ご利用いただけません」と表示される場合、通常はApp Storeでの配信地域が原因で、サブスクリプションの期限切れではありません。App Storeのダウンロード地域は、主に購入に使用するApple Accountの国または地域で決まります。「設定」→「一般」→「言語と地域」を変更しても、App Storeの地域は変わりません。
アプリが見つからない・インストールできない場合
- OSのバージョンを確認:「設定」→「一般」→「情報」でiOSまたはiPadOSのバージョンを確認し、App Storeに記載された最低要件と比べます。
- 購入に使うアカウントを確認:「設定」→「Apple Account」→「メディアと購入」で、現在使用中のアカウントを確認します。古いOSでは「Apple ID」と表示される場合があります。
- コアとアプリを区別する:デスクトップ向けのインストーラーはiPhoneでは実行できません。ローカルファイルのインポート画面からアプリをインストールすることもできません。
アカウントの国や地域を変更すると、残高、サブスクリプション、支払い方法に影響する場合があります。変更前にAppleのアカウント変更に関する案内を確認してください。アプリを入手するために、出所不明のデバイス管理プロファイルをインストールするのは避けましょう。
サブスクリプションURLから読み込む:URLを登録して設定を取得
ノードやルールを定期的に更新するなら、リモート設定が便利です。URLにはアクセス用の認証情報が含まれていることが多いため、パスワードと同様に取り扱ってください。ここでいう「サブスクリプションの更新」は設定内容の再取得であり、App Storeアプリのアップデートではありません。
- 設定の提供元からURL全体をコピーし、先頭が
https://であること、末尾に空白や改行が入っていないことを確認します。URLのクエリパラメーターはむやみに削除しないでください。 - クライアントで「設定」または「サブスクリプション」を開き、「リモート設定を追加」「URLからインポート」などの機能を選びます。
- 「日常の振り分け」など、見分けやすい名前を付けてURLを貼り付け、ダウンロードを実行します。初回は手動で更新し、正常に取得できたことを確認してから自動更新を設定しましょう。
- 取得結果と解析時のメッセージを確認します。保存した設定を現在使用する設定として選択してください。リストに表示されているだけでは有効になっていません。
- プロキシグループを開き、ノード数と選択状態を確認してから接続します。ルールモードを使う場合、グループが意図せず
DIRECTのままになっていないか確認してください。
クライアントでサブスクリプションの種類を選ぶ場合は、提供元の案内に従ってください。ノード一覧だけのサブスクリプションからルールやグループが自動的に追加されることはありません。また、設定一式を「ノードサブスクリプション」の画面に読み込めるとは限りません。読み込み後にノードしか表示されず、元のルールがない場合は、ノードを何度も切り替える前にインポート方法を確認しましょう。
ファイル・クリップボードから読み込む:設定本文とURLを区別
「ファイル」アプリからYAMLを読み込む
設定ファイルを「ファイル」アプリの「このiPhone内」またはiCloud Driveに保存します。クライアントの設定画面に戻り、「ファイルからインポート」を選んで、システムのファイル選択画面から.yamlまたは.ymlファイルを開きます。アプリによっては共有メニューからも読み込めますが、共有先に表示されるかどうかは対応ファイル形式によります。
ローカルから読み込む場合、通常は設定のコピーがクライアントに保存され、元のファイルの変更は自動反映されません。クラウド上のファイルを編集した場合は、クライアントで再度読み込むか、アプリの編集機能を使ってください。リモートURLから作成した設定は、次回の更新でローカルの変更が上書きされる場合があります。長期的に保持するルールは、クライアントが対応するオーバーライドやマージ機能に追加しましょう。
クリップボードに入れる内容
- YAML設定一式:「クリップボードから設定をインポート」を使います。コピー時はインデントを保ち、Markdownのバッククォート3つは含めないでください。
- HTTPS URL:リモート設定の画面から読み込みます。URLをYAML本文として解析しないようにしてください。
- ノードURI:ノードのインポート画面から読み込みます。必要な通信振り分けを行うには、その後ルールとプロキシグループも設定します。
iOSでは、ほかのアプリからのペーストを許可するか確認されることがあります。これはVPNの許可とは別の権限です。以前に拒否した場合は、入力欄を長押しして手動で貼り付けてみてください。この設定を変更できるOSでは、アプリ設定にある「ほかのAppからペースト」を確認します。iOS 18では「設定」→「アプリ」→該当するクライアントから開けます。
最小構成でYAMLの解析を確認
以下の設定は、インポートとルールの解析を確認するためのものです。すべての接続を直接接続にするため、プロキシノードは含まれていません。クライアントが追加項目を求める場合は、アプリの設定ドキュメントに従ってください。この例は、リモートプロキシに接続するためのサブスクリプションではありません。
mode: rule
log-level: info
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- MATCH,DIRECT
YAMLのインデントにはスペースを使い、Tabは使いません。rulesはリスト形式で、各ルールの先頭に付くハイフンも構文の一部です。設定内のプロキシグループ名は、ルールで参照する名前と完全に一致させてください。たとえば、ルールの参照先が「プロキシ選択」なら、同じ名前のグループが設定に必要です。最後のMATCHは、それまでに一致しなかった接続を処理するため、通常は末尾に置きます。
初回のVPN接続:システムの確認画面と接続チェック
設定を準備したら、クライアントの接続スイッチをオンにします。Network Extensionを使うクライアントでは、初めてトンネルを確立するときに、iOSから「VPN構成の追加」を求める確認画面が表示されるのが一般的です。申請元がインストールしたばかりのクライアントであることを確認して「許可」をタップし、画面の案内に従って端末のパスコード入力や認証を行います。
これはアプリによるVPN構成の作成を許可する操作です。ルート証明書のインストールや、組織による端末管理への登録とは異なります。通常のプロキシトンネル接続に、HTTPS通信の復号を有効にする必要はありません。証明書のインストールやデバイス管理への登録を求められた場合は、用途と提供元を確認してから操作してください。
- 「設定」→「一般」→「VPNとデバイス管理」→「VPN」を開き、クライアントの構成と接続状態を確認します。OSのバージョンによってメニューの階層が多少異なる場合があります。
- クライアントに戻り、使用中の設定とルールモードを確認します。トンネルが重複して干渉しないよう、ほかの同種のプロキシアプリやVPNアプリは一時的に停止してください。
- Safariで新しいリクエストを実行し、クライアントの接続ログで対象ドメイン、適用されたルール、プロキシグループ、最終的に選ばれたノードを確認します。
- 直接接続する宛先とプロキシ経由にする宛先を、それぞれテストします。VPNが「接続済み」でも、ノード・DNS・ルールがすべて正常とは限りません。
互換クライアントは通常、システムのトンネルインターフェースを使って通信を処理しますが、対象となる通信の範囲はアプリの実装やシステムの制約によって異なります。デスクトップ向けのtun、auto-route、ルート権限の設定をそのまま流用しないでください。iOSクライアントでは無視される場合もあれば、アプリ内で別途設定が必要な場合もあります。ルールモードは、取り込んだ接続の振り分け方を決めるもので、すべての接続をプロキシノード経由にするという意味ではありません。
インポート失敗・接続トラブル:メッセージから原因を確認
| 症状・表示内容 | まず確認する項目 | 次に行うこと |
|---|---|---|
| HTTP 401/403 | サブスクリプショントークン、アカウント権限、リクエスト制限 | 提供元からURLをコピーし直し、クライアントの種類に制限がないか確認します。URL全体を公開しないでください。 |
| HTTP 404 | URLが途中で切れていないか、パスが無効になっていないか | 最新のサブスクリプションURLを確認して再インポートします。クエリパラメーターは残してください。 |
| YAMLの解析エラー | ダウンロード内容、インデント、項目のデータ型 | 取得した内容がログイン画面やエラー画面ではないことを確認し、エラー行とその直前の行をチェックします。 |
| 未対応のプロトコル・項目 | コアの対応状況と設定の対象 | クライアントを更新するか、現在のコアに対応した設定を提供元から入手します。 |
| VPN接続中なのにWebページが開かない | ノードの接続性、DNS、ルールの選択 | 接続ログを確認し、利用できるノードに切り替えたうえで、Wi-Fiとモバイル通信をそれぞれテストします。 |
| 再起動後に古いルールが使われる | 使用中の設定とリモート設定の更新日時 | 手動更新後に設定を選び直し、ローカルのオーバーライドが引き続き有効か確認します。 |
トラブルシューティングでは、一度に変更する設定を1種類に絞ります。まず設定を取得できるか確認し、次に解析、トンネルとノード、最後にルールとDNSを順に確認してください。ダウンロードがタイムアウトする場合は、まずトンネルを切断した状態で試します。設定URLへのアクセスにプロキシが必要なら、更新には利用可能な接続が必要です。まだ正常に読み込めていない設定で接続できるとは限りません。
問い合わせ時は、クライアントとOSのバージョン、エラーが発生した時刻、機密情報を削除したログを添えてください。サブスクリプショントークン、ノードのパスワード、設定全体を公開しないでください。スクリーンショットにはエラー文と設定の種類を残し、アカウント情報や認証情報を隠します。
日々の更新・機種変更:復元に必要な情報を残す
- 更新元を記録:リモートサブスクリプションとローカルファイルを区別し、取得元を記録します。古いファイルを最新のサブスクリプションと取り違えないようにしましょう。
- 更新前にバックアップ:独自ルール、プロキシグループの選択、必要なオーバーライド設定を保存します。リモート更新で設定全体が置き換わる場合があります。
- 機種変更後に再確認:アプリのデータを移行した場合も、設定を取得できるか確認し、システムの案内に従ってVPNの許可をもう一度行います。
- 削除前に接続を解除:接続を停止してからクライアントを削除します。構成が残っている場合は、システムのVPN画面で対象を確認して削除してください。
インストール後は、信頼できるアプリ、対応形式の設定、システムでの認証、接続先を確認できるログという一連の流れをチェックするのが効果的です。更新に失敗したり特定のアプリだけ通信できなかったりした場合も、やみくもに再インストールせず、問題のある箇所を絞り込めます。