1. iPhoneアプリとサブスクリプション形式を確認する

iPhoneで「iOS版Clash」を検索する場合、既存のサブスクリプション、プロキシプロトコル、ルールを扱えるアプリを選ぶ必要があります。Clashはプロキシコアや設定エコシステムの名称です。アプリ名にClashとあるだけで、手元のYAMLをそのまま使えるとは限りません。また、デスクトップ版のインストーラーはiOSアプリとしてインストールできません。

この記事では、App Storeから入手でき、Clash形式のYAMLに対応するアプリを使って説明します。選択肢の一つがStashです。ただし、Stashは独自の実装と対応設定の範囲を持ち、デスクトップ版ClashやClash Meta(mihomo)を完全に置き換えるものではありません。特にmihomo専用のフィールドやスクリプト、一部のプロトコルパラメーターは、読み込む前にアプリのドキュメントを確認してください。

手元にあるもの確認すること次の操作
Clash YAML形式のサブスクリプションアプリが含まれるプロトコルやフィールドに対応しているかアプリに合ったサブスクリプションの追加方法を選ぶ
個別ノードの共有リンクアプリがリンクのプロトコルに対応しているかノード単位で読み込む。ルールを含む完全な設定として扱わない
他のアプリ専用のサブスクリプションサーバー側でClashまたはStash形式を出力できるか先に出力形式を切り替えてからリンクをコピーする
ローカルのYAMLファイルファイルにノード、プロキシグループ、ルールが含まれているかファイルから読み込み、以後の更新は自分で管理する

2. App Storeからアプリを入手する

App Storeの掲載情報とシステム要件を確認する

  1. iPhoneでApp Storeを開き、画面下部の「検索」をタップして、「Stash」など正確な製品名を入力します。アイコンの色や検索順位だけでアプリを選ばないでください。
  2. アプリの詳細ページを開き、デベロッパ、機能説明、「互換性」を確認して、使用中のデバイスとiOSバージョンに対応しているか調べます。有料の場合は価格を確認してから、システムの購入手順に進んでください。
  3. インストールが完了したら「開く」をタップします。初回はまず設定の追加画面を確認し、すぐに接続スイッチをオンにする必要はありません。設定が空のままVPNを有効にしても、利用可能なノードには接続できません。

アプリが検索結果に表示されない場合は、現在のストアで配信中か、Apple Accountのストア地域が適切かを確認します。iOS 18の場合、「設定」→画面上部のApple Account→「メディアと購入」→「アカウントを表示」→「国または地域」から確認できます。メニューはiOSのバージョンによって異なる場合があり、ストアでの配信状況も変わることがあります。

ストア地域の変更には、残高、サブスクリプション、支払い方法に影響する場合があります。接続トラブルの確認に必須の手順ではありません。出所の不明な共有アカウントは使わず、アプリのインストールのためにApple Accountのパスワードを第三者サイトへ入力しないでください。企業証明書でのインストールやデバイス管理プロファイルの追加を求めるページが表示された場合は、いったん中止して提供元を確認してください。

対応システムやアプリの入手先を比較する場合は、クライアントのダウンロードページをご覧ください。iOSアプリの配信状況、価格、対応システムは、App Storeの最新情報をご確認ください。

3. サブスクリプションURLを用意して設定を読み込む

アカウント管理ページではなく、設定用URLをコピーする

サービス提供元のサブスクリプション管理ページで、使用するアプリに合ったエクスポート項目を探します。汎用ノード用、Clash、Stash、mihomoなど複数の項目がある場合は、使用中のアプリに対応すると明記されたものを選んでください。コピーするのはサブスクリプションURLです。ログインページや注文ページ、ブラウザーのアドレスバーに表示されたURLではありません。

  • URLのクエリパラメーターを含め、全体をそのまま保持してください。疑問符以降を削除しないでください。認証トークンや出力形式が含まれている場合があります。
  • URLの前後に空白や改行、日本語の引用符が入っていないか確認します。チャットアプリ経由で転送された長いURLは特に注意してください。
  • サブスクリプションURLにはアカウントへのアクセス権が含まれることがあります。公開コメントやスクリーンショットに載せたり、オンラインの形式チェックツールに入力したりしないでください。

アプリに設定を追加して有効にする

  1. アプリの設定管理画面を開きます。Stashの場合はホーム画面の設定メニューから設定一覧に進み、追加またはリモート設定のダウンロードを選びます。バージョンによって「URLからダウンロード」など表示名が異なるため、実際の画面に従ってください。
  2. サブスクリプションURL全体をURL入力欄に貼り付けます。名前を設定できる場合は「メイン用」など見分けやすい名前にし、パスワードやトークンは名前に含めないでください。
  3. ダウンロードまたは確認をタップし、設定が一覧に表示されるまで待ちます。エラーが表示された場合は、エラーの種類を記録してください。同じ操作を何度も続けて実行するのは避けましょう。
  4. 追加した設定をタップし、現在の設定として選択します。ホーム画面またはプロキシグループの画面に戻り、設定名だけでなく、プロキシグループとノードも表示されるか確認してください。
  5. 既定のプロキシグループを開き、利用可能なノードを一つ選びます。初回のテストでは手動選択のグループを使うと、実際に使用する出口を確認しやすくなります。自動選択グループを使う場合は、速度テスト先とメンバーが有効かどうかも確認してください。

読み込みに成功したことは、アプリが設定を受け付けたという意味であり、すべてのノードに接続できる保証ではありません。Clash形式の設定には通常、ノードまたはプロキシプロバイダー、プロキシグループ、ルールなどが含まれます。リモートルールセットやノードプロバイダーに依存する設定では、それらのリソースもダウンロードできるか確認してください。プロキシグループ名だけがあり、グループ内にノードがない場合は、接続を有効にしないでください。

4. VPN構成を許可して初回接続する

iOSアプリは通常、システムのNetwork Extensionを使ってトンネルを作成し、設定の対象となる通信を処理します。デスクトップ版の「システムプロキシポート」と同じ仕組みではありません。iPhoneでこの種のアプリを使う際、通常はWi-Fi設定で 127.0.0.1:7890 を手動入力する必要はありません。このアドレスとポートはデスクトップ向けの説明でよく見かけますが、iOS共通の設定手順ではありません。

  1. 設定が選択されていることを確認し、アプリのホーム画面で接続スイッチをオンにします。
  2. アプリによるVPN構成の追加を許可するか、システムの確認画面が表示されたら、要求元のアプリ名を確認してから「許可」をタップします。
  3. システムの指示に従って、デバイスのパスコードまたは生体認証で確認します。認証はiOSのシステム画面で行い、Webフォームに画面ロックのパスコードを入力しないでください。
  4. アプリに戻り、接続状態に変わるまで待ちます。先ほど許可をキャンセルした場合は、接続スイッチをもう一度オンにして、再度許可してください。
  5. システム側の記録を確認するには、「設定」→「一般」→「VPNとデバイス管理」→「VPN」を開き、該当する構成と接続状態を確認します。表示場所はiOSのバージョンによって多少異なる場合があります。

システム上のVPN表示はトンネルの状態を示すもので、接続先ノードの検証が済んだことを意味しません。ノッチやDynamic Islandのある機種では、ステータスバーにVPNの文字が常に表示されるとは限りません。コントロールセンター、システム設定、アプリの状態を合わせて確認してください。一般的な個人利用では、別のVPNアプリが接続中だと現在の接続に影響する場合があります。初回テストでは、他のVPNを切断してください。

5. ノード、ルール、DNSの動作を確認する

初回接続は「ノード1つ、ネットワーク1つ、テスト1組」で進め、変更する項目は一度に1つにします。ノードを切り替えながらDNSやルールも変更すると、復旧しても原因を特定しにくくなります。以下のテスト回数はトラブルシューティングの手順であり、回線性能を実測した結果ではありません。

  1. 動作モードを確認:通常はRule(ルール)モードから試します。Direct(直結)モードでは想定どおりにプロキシノードが使われず、Global(グローバル)モードではルーティング結果が変わるため、ルールの正しさを確認する用途には適しません。
  2. ノードへの到達性をテスト:プロキシグループで同じノードの遅延テストを3回行い、タイムアウトが続くか確認します。遅延テストは通常、指定されたテスト先への通信です。動画のダウンロード速度を示すものではなく、すべてのWebサイトにアクセスできる保証にもなりません。
  3. 実際のWebページを確認:Safariで、直結するはずのWebサイトと、現在のルールでプロキシを経由するはずのWebサイトをそれぞれ開きます。ページを1回ずつ再読み込みし、アプリの接続履歴またはログで該当ドメインを確認してください。
  4. 適用されたルールを確認:ログに想定したルール、プロキシグループ、出口が表示されているか確認します。ページが開けてもDIRECTに一致している場合、Webページの表示だけではプロキシノードが有効とは判断できません。
  5. 接続ネットワークを比較:同じノードを使い、Wi-Fiとモバイル通信でそれぞれテストします。片方だけ失敗する場合は、接続ネットワーク、ログイン認証、サーバー側の制限を優先して確認してください。

ログにドメインの名前解決タイムアウトが続く場合は、設定のDNS項目と、アプリが関連フィールドに対応しているか確認します。複数の解説にある dns セクションをそのままつなぎ合わせないでください。キーの重複、インデントの誤り、非対応フィールドが新たな問題を引き起こすことがあります。Clash Meta(mihomo)設定の特定のDNSやTUNオプションも、iOSアプリでそのまま使えるとは限りません。

6. 設定の読み込み失敗や接続後の通信不能に対処する

表示される症状まず確認すること対処方法
ダウンロード時に401または403が返るトークン、サブスクリプションの利用権限、サーバー側のアクセス制限サービスの管理画面で状態を確認し、有効なURLをコピーし直す
ダウンロード時に404が返るサブスクリプションのパスが無効になっていないか、途中で切れていないかサービス提供元の現在のページからURLを取得し直す
YAMLの解析エラーが表示される取得した内容がWebページではないか、形式がアプリに合っているか適切なサブスクリプション出力を選び、エラー行番号を控える
ノードが空、またはプロトコル非対応と表示されるノードのリソース取得状況と、アプリのプロトコル対応プロバイダーの更新結果を確認し、互換性のある設定を入手する
VPN接続済みなのにWebページが開かない選択中のノード、ルールの出口、DNS、サブスクリプションの状態まず同じグループ内の有効なノードに切り替え、その後ログで原因を調べる
スイッチをオンにするとすぐ切断される設定の読み込みエラー、または他のVPNとの競合まずログを確認し、他のVPNを切断してから再試行する

解析エラーに <html> やログインページのタイトルが含まれる場合、URLからアプリが必要とするサブスクリプションではなくWebページが返されていることがよくあります。ノード一覧が空の場合は、プランの期限切れや通信量の上限到達、リモートノードプロバイダーの更新失敗も考えられます。アプリの不具合と決めつけないでください。

通常のインターネット接続に戻すには、まずアプリの接続をオフにし、システムのVPN設定でも切断されていることを確認します。オンデマンド接続が有効な場合は、アプリまたは該当するVPN構成の設定を確認し、自動再接続を防いでください。最初から「ネットワーク設定をリセット」するのは避けましょう。保存済みのネットワーク情報に影響する一方、サブスクリプション形式の問題が解決するとは限りません。

7. サブスクリプションを更新し、日常的に設定を管理する

  • リモートサブスクリプションとローカルファイルを区別:URLから追加した設定は再取得できます。ローカルのYAMLを読み込んでも、サーバー側の変更が自動で反映されるわけではありません。
  • 更新前に動作中の設定を残す:現在の設定をエクスポートするかコピーしてから、手動で一度更新します。その後、ノード数、プロキシグループの選択、接続結果を確認してください。
  • 自動更新の仕組みを確認:アプリ起動時の更新、バックグラウンドタスク、ノードプロバイダーの更新はそれぞれ別の仕組みです。iOSはバックグラウンドタスクをスケジュールするため、間隔を設定しても毎分正確に実行されるとは限りません。
  • 手動での変更は分けて保存:リモートサブスクリプションを直接編集すると、次回の更新で変更が上書きされる場合があります。ルールをカスタマイズする場合は、アプリが明示的にサポートするオーバーライド機能やローカル設定の仕組みを使ってください。
  • サブスクリプションが漏えいしたら速やかに再発行:サービスの管理画面でサブスクリプショントークンを再発行したら、アプリのURLも更新してください。古いURLが使えなくなるのは正常な動作です。

以上の手順を終えたら、次の3点を確認できる状態にしておきましょう。現在どの設定が有効か、どの出口を選択しているか、アクセスがどのルールに一致したか。接続に問題が起きたら、この3か所から調べるほうがアプリを再インストールするより原因を特定しやすくなります。設定の詳しい手順は使い方ガイド、ルールや設定の基礎はClash設定ガイドをご覧ください。