Clashをスマホに初めてインストールする方法|Android APK・iOSの初期設定チェックリスト
Androidの不明なアプリのインストール許可、VPN権限、バッテリー最適化の除外、最初のサブスクリプションの追加など、Clash初回インストール後に確認したい設定をまとめました。
インストール前に確認:クライアント・サブスクリプション・通信の取り込み
Clashをスマホで初めて使うには、クライアントのインストール、利用可能な設定の読み込み、クライアントによる通信の取り込み許可という3つの作業が必要です。インストールできても、アプリを開けるようになっただけです。設定を読み込めても、内容を解析できたことを示すにすぎません。VPNの表示が出ても、トンネルが確立したことを示すだけです。いずれも、それだけでプロキシ経由の通信が成功しているとは判断できません。
AndroidにはAPKをインストールできますが、iOSではAPKを使えません。iOS対応クライアントと、そのクライアントが案内する配布方法を利用してください。Clashはコアや設定形式のエコシステムに関する名称であり、全プラットフォーム共通の同名公式アプリがあるという意味ではありません。Clash Meta(現 mihomo)コアを使うAndroidクライアントと、一部のClash設定形式に対応するiOSクライアントでは、利用できる機能が異なる場合があります。
- クライアント:設定管理、プロキシグループの選択、接続ログ、システム通信の取り込み機能を提供します。
- サブスクリプション:設定やノード情報を提供します。サブスクリプションURLには認証情報が含まれることが多いため、アカウントのパスワードと同じように管理してください。
- ルールとプロキシグループ:ルールがリクエストの振り分け先を決め、プロキシグループが実際に使用するアウトバウンドを選択します。
- VPN/TUN:デバイスの通信を受け取るための仕組みです。通信の取り込み方法であり、ノードでも接続成功の保証でもありません。
Android APKのインストール:APKを開くアプリにインストールを許可する
1. アーキテクチャを選び、提供元を許可する
ダウンロードページでクライアントとインストール手順を確認してください。近年のAndroidスマートフォンの多くはARM64で、通常はarm64-v8aに対応します。古い端末ではarmeabi-v7aが必要な場合があります。判断できない場合は、端末のプロセッサ情報を確認するか、プロジェクトが提供する汎用パッケージを選んでください。x86エミュレーター向けのパッケージをスマートフォン用と間違えないようにしましょう。
- APKをダウンロードしたら、ブラウザーのダウンロード一覧またはファイル管理アプリから開きます。
- システムにインストールをブロックされた場合は、表示された案内から「設定」を開き、APKを開いたアプリに「この提供元のアプリを許可」を設定します。
- インストール画面に戻ってインストールを完了し、クライアントを起動します。
- 今後その提供元からアプリをインストールしない場合は、同じ設定画面で許可をオフにできます。
一般的な設定手順は「設定」→「アプリ」→「特別なアプリアクセス」→「不明なアプリのインストール」です。メーカーによっては「セキュリティ」や「プライバシー」にあります。設定内で「不明なアプリのインストール」を検索する方法もあります。重要なのは、実際にAPKを開くアプリに許可を与えることです。ファイル管理アプリから開くなら、ブラウザーではなくファイル管理アプリを許可してください。
2. インストールできないときはエラーの種類を確認
| 表示・症状 | まず確認すること | 次の対応 |
|---|---|---|
| 端末に対応していません | プロセッサのアーキテクチャと最低システム要件 | プロジェクトの説明に従って適切なパッケージを選び直す |
| 既存のアプリとパッケージが競合しています | 同じパッケージ名のアプリで署名が異なっていないか | 配布元を確認し、設定をエクスポートしてから旧バージョンを削除するか判断する |
| パッケージを解析できません | ダウンロードが完了しているか、ファイルがAPKか | 失敗したファイルを削除して、もう一度ダウンロードする |
| インストールボタンを押せません | システム制限、仕事用プロファイル、オーバーレイ表示の影響 | システムの案内を確認し、必要なら端末の管理者に問い合わせる |
競合が起きても、すぐにアプリのデータを消去しないでください。アンインストールすると、ローカルのサブスクリプション、オーバーライド設定、プロキシグループの選択内容が消える場合があります。会社支給の端末には組織のポリシーによる制限があることもあり、通常のアプリ設定では回避できません。
iOSへのインストール:配布元と設定形式への対応を確認
iOSでは、クライアントのプロジェクトが案内するApp Store、TestFlight、その他の対応する方法でインストールしてください。ストアでの公開状況はアカウントの地域やアプリの配信状況によって異なります。テスト枠やテスト版には期限がある場合もあります。プロキシに対応しているからといって、mihomoの設定を完全に読み込めるとは限りません。
- クライアント選びガイドで、対応プラットフォーム、設定形式、インストール方法を確認してください。
- アプリを開き、サブスクリプションの追加画面で、Clash設定全体を読み込めるのか、ノード情報のみを取り込むのか確認します。
- 初回接続時にシステムの「VPN構成を追加」ダイアログが表示されたら、要求元がインストールしたクライアントであることを確認してから許可します。
- 設定を確認するには、「設定」→「一般」→「VPNとデバイス管理」を開き、関連項目を確認してください。
インポート後にノードだけが表示され、元のプロキシグループやルールが見当たらない場合は、まずクライアントのドキュメントを確認してください。ノードだけを取り込む方式だった可能性があり、設定全体がそのまま適用されたとは限りません。そのクライアントが対応するルール設定方法を使い、同じリンクを何度も貼り付けないようにしてください。
最初のサブスクリプションを追加:取得・選択・プロキシグループの確認
クライアントによって、設定画面の名称は「設定」「Profiles」「サブスクリプション」など異なります。ここでは操作の流れを説明し、特定アプリのメニュー名を共通の手順として扱いません。初回設定では、提供元が明確なサブスクリプションを1つだけ追加し、複数の設定を頻繁に切り替えないことをおすすめします。
- URLをすべてコピーします。アカウントページからサブスクリプションURLをコピーし、疑問符以降のパラメーターも含めてください。チャットアプリによって付加された空白、改行、文末の句読点が原因で失敗することがあります。
- リモート設定を追加します。設定管理画面でURLから追加する方法を選び、見分けやすい名前を付けてから、ダウンロードまたは更新を実行します。
- 読み込み結果を確認します。構文エラー、未知の項目、未対応プロトコルの表示がないか確認してください。ダウンロード成功と設定の解析成功は別の段階です。
- 設定を選択します。追加した設定が自動で有効にならないクライアントもあります。設定を選び、読み込みまたは再読み込みを実行してください。
- プロキシグループを確認します。ルールから参照されているグループを探し、利用可能なノードまたは適切な自動選択グループを選びます。
サブスクリプションを追加しても接続できない場合は、まず2つの状況を切り分けます。ノード一覧が空なら、URL、アカウントの状態、形式を確認します。ノードが表示されるのにリクエストが失敗するなら、プロキシグループ、ノードの稼働状況、通信の取り込み状態を確認します。HTTP 401や403が返る場合は、認証情報、アクセス制限、アカウントの状態を先に調べてください。何度も更新しても解決しません。
サブスクリプションURLをブラウザーで開けても、アプリに読み込めるとは限りません。ブラウザーにログイン画面、エラーページ、HTMLが表示される場合がありますが、クライアントが必要とするのは設定データです。原因を調べる際は、返されたデータの種類とエラーメッセージを確認してください。サブスクリプションURL全体が写ったスクリーンショットを公開しないでください。
初回接続:VPN権限・ルールモード・DNS
システムの許可は、使用中のクライアントからの要求を確認して行う
Androidクライアントは通常、システムのVPNサービスを使って端末の通信を受け取ります。TUNで通信を取り込む実装では、関連パラメーターが画面上で自動管理される場合があります。接続を開始したら、システムの許可画面に表示されたアプリ名を確認してください。別のプロキシ、会社のVPN、VPNインターフェースを使うフィルタリングアプリが動作している場合は、停止してからクライアントをテストします。
iOSでも、一般的な個人用VPNがほかのトンネル設定と競合することがあります。接続できない場合は、システムのVPN状態とクライアントのログを確認してください。複数のアプリで自動接続を何度も切り替えないようにしましょう。管理対象デバイスのネットワーク設定は、組織のルールに従ってください。
初回はルールモードを使う
- ルールモード:現在の設定ルールに従って通信を振り分けます。サブスクリプションが想定どおり機能しているか確認するのに適しています。
- グローバルモード:通常、クライアントが取り込んだ接続をグローバルポリシーに従って処理します。ポリシーで使用するアウトバウンドも選ぶ必要があります。
- ダイレクトモード:通常、取り込んだ通信を直接接続します。プロキシノードが利用可能かどうかの確認には使えません。
モードが適用されるのは、すでにクライアントに取り込まれた通信だけです。アプリがVPNの対象外なら、ルールモードやグローバルモードに切り替えても自動で対象にはなりません。初回のテストでは、複雑なアプリ別振り分けを有効にせず、シンプルで再現可能な接続確認を行ってください。
ポートとDNSはデスクトップ向け手順をそのまま使わない
スマートフォンでVPNによる通信の取り込みを使う場合、通常はWi-Fi設定で手動プロキシを指定する必要はありません。手順によく登場する127.0.0.1:7890はローカルプロキシアドレスの例です。実際のポートは現在の設定を確認してください。127.0.0.1は常にその端末自身を指し、別のパソコンを指すアドレスではありません。
初回は、サブスクリプションまたはクライアントが推奨するDNS設定をそのまま使ってください。Webページで名前解決エラーが発生する場合は、DNSログ、Androidの「プライベートDNS」、ブラウザーのセキュアDNS設定を確認します。証明書検証を無効にしても、一般的な解決策にはなりません。また、VPNアイコンだけを見てDNSリクエストが想定どおりに処理されていると判断しないでください。設定項目の意味はDNS技術リファレンスで確認できます。
Androidのバックグラウンド動作とiOSの自動接続は個別に設定
Android:フォアグラウンドサービスを確認してから省電力制限を調整
接続後にホーム画面へ戻り、クライアントの実行中通知が仕様どおり表示されるか確認してください。通知権限は状態表示の見え方に影響しますが、通知があることと、システムに終了されないことは別です。画面をロックすると接続が切れる場合は、アプリのバックグラウンド実行権限を確認します。
- 一般的な設定手順は「設定」→「アプリ」→クライアントを選択→「バッテリー」です。バックグラウンドでの使用を「許可」または「制限なし」に設定します。項目名はシステムによって異なります。
- メーカーによっては「自動起動管理」や「バックグラウンド電力管理」もあります。それぞれで許可が必要です。最近使ったアプリの画面でロックする機能は、補助的な対策として利用してください。
- まず端末全体の省電力モードをオフにして比較テストを行い、長期的に除外設定が必要か判断します。
- 起動時の自動起動、アプリ起動後の自動接続、システムのVPN常時接続は別々の設定です。必要なものだけ有効にしてください。
Androidの「VPNを常時接続」と「VPN未接続時の通信をブロック」は別の機能です。後者を有効にすると、トンネルが利用できないときに該当するネットワーク通信が遮断されます。初回設定の動作確認が済むまではブロックを有効にしないでください。サブスクリプションの更新やトラブル調査まで妨げられるおそれがあります。
iOS:Androidのバッテリー最適化除外を適用しない
iOSのトンネル拡張と通常アプリの前面画面では、ライフサイクルが異なります。トンネルを維持するために「Appのバックグラウンド更新」が必須だと考えたり、Androidの最近使ったアプリをロックする方法をそのまま使ったりする必要はありません。クライアントの説明に従ってオンデマンド接続やネットワーク切り替え後の再接続などを確認し、システムのVPN状態で接続を確認してください。
インストール後の動作確認:前面・画面ロック・ネットワーク切り替えの順にテスト
以下は自分で実行できるチェック手順です。記載した時間はテスト条件をそろえるための目安であり、性能を保証するものではありません。一度に変更する条件は1つに絞り、どの段階で失敗したか記録すると、設定を同時にいくつも変えるより原因を特定しやすくなります。
| 確認項目 | 操作 | 確認すること |
|---|---|---|
| 前面での接続 | 接続を開始し、直結する想定のページとプロキシ経由の想定ページをそれぞれ開く | ログに記録されたルール、プロキシグループ、実際のアウトバウンド |
| バックグラウンドでの維持 | ホーム画面に戻って画面を5分間ロックし、その後ページを開く | VPN接続が維持されているか、再接続やタイムアウトが発生するか |
| ネットワークの切り替え | Wi-Fiからモバイル通信に切り替え、約30秒待ってから新しいページを開く | 新しい接続が復旧するか、DNSエラーが発生するか |
| サブスクリプションの更新 | 現在の設定を手動で1回更新する | 更新時刻が変わったか、元のプロキシグループの選択が保たれているか |
| 停止後の復旧 | クライアントの接続を停止してから、通常のページを開く | システムのネットワークが復旧したか、手動プロキシ設定が残っていないか |
ノードの遅延テストで分かるのは、特定のプローブリクエストの結果だけです。テストに成功しても、すべてのWebサイトやプロトコルが使えるとは限りません。ページを開けても、想定したルールが適用されたとは限りません。調査時は接続ログも確認し、少なくともリクエスト先ドメイン、適用ルール、最終的なアウトバウンドを確認してください。ログを共有する前に、サブスクリプションのトークン、アカウント情報、不要なアクセス履歴を隠しましょう。
初回設定で見落としやすい4つの確認事項
- システム時刻:日付と時刻の自動設定を有効にしてください。時刻が大きくずれていると、HTTPS証明書の検証に失敗し、サブスクリプションの取得やノード接続に問題が起きることがあります。
- 設定の選択状態:サブスクリプションを追加した後、アプリに付属する空の設定ではなく、追加した設定が現在有効になっていることを確認してください。
- 自動更新:まず手動で1回更新し、その後、提供元の推奨に従って更新間隔を設定してください。設定を更新してもサブスクリプションの有効期限は延長されず、期限切れのアカウントも復旧しません。
- ローカルバックアップ:アプリの再インストールやデータ消去の前に、必要な設定、オーバーライド内容、設定記録を保存してください。認証情報を含むバックアップは、安全な場所に保管します。
初回インストールの完了条件は、設定を解析できること、現在のプロキシグループに利用可能なアウトバウンドがあること、VPNによる通信の取り込みが許可されていること、ルールが想定どおり適用されること、画面ロック後やネットワーク切り替え後も通信が復旧することです。ここまで確認できたら、アプリ別の振り分け、カスタムルール、自動接続を1つずつ追加してください。続きはスマホへのインストール・使い方ガイドを参照してください。