Android での Clash とは:クライアントの種類と前提
スマートフォンでプロキシルールをそのまま持ち歩きたい場合、Clash 互換の設定(YAML)を読める Android クライアントが便利です。オリジナルの Clash for Android は開発が終了していますが、Mihomo(旧 Clash Meta)コアを同梱したコミュニティ版や派生アプリが引き続きメンテナンスされており、購読 URL からノードとルールを取り込み、画面タップだけで ON/OFF を切り替える運用が可能です。
本記事では特定の商標アプリ名に依存せず、「Clash 形式のプロファイルを扱う Android クライアント」全般に当てはまる操作と概念を説明します。メニュー名は実装ごとに多少異なりますが、「プロファイル」「購読」「VPN 権限」「アプリ別プロキシ(Per-App Proxy)」といった語は多くの派生版で共通して見かけます。コアの新機能や改称の経緯は Mihomo アップグレードガイド も参照してください。
利用にあたっては、契約先・職場・学校などのポリシーと法令を順守し、許可された用途の範囲で設定してください。本稿は技術的な設定手順の整理であり、特定のサービス回避を推奨するものではありません。
インストール前の準備と APK の入手
1. 実行ファイルの入手元をそろえる
Android では、ストア外の APK を入れる場合に「提供元不明のアプリ」を許可する必要が出ることがあります。改ざんされたパッケージのリスクを下げるため、信頼できる配布元から入手することが重要です。当サイトの クライアント公式ダウンロードページ では、検証済みのビルドをプラットフォーム別にまとめています。オープンソースのライセンスやソースコードを確認したい場合は、公式リポジトリの情報を参照しつつ、実際のインストールパッケージの主導線は当ページに合わせると手戻りが少なくなります。
2. 初回起動で求められる権限
VPN 機能(後述の TUN)を使うクライアントは、システムからVPN 接続の許可ダイアログが出ます。これはトラフィックを仮想インターフェース側に流すために必須です。通知アクセスやバッテリー最適化の除外を求められる場合もあります。省電力設定でプロセスが止まると、バックグラウンドで切断されることがあるため、メーカー固有の「自動起動」「バックグラウンド制限」の項目もあわせて確認すると安定しやすいです。
プロファイルとサブスクリプション(購読)
1. 新規プロファイルの作成
初回は空のプロファイルを作成するか、テンプレートから始めます。すでに PC 版で動いている config.yaml がある場合は、ファイルとしてインポートする方法と、同じ購読 URL を Android 側に貼り付ける方法のどちらかで再現できます。URL 方式は更新が自動化されやすく、モバイル運用には向きがちです。
2. 購読 URL の取り込みと更新
プロバイダが発行する購読リンクを「サブスクリプション」欄に追加し、自動更新間隔を設定します。間隔が短すぎるとバッテリーと電波消費が増えるので、既定値から始めて必要なら調整する程度で十分なことが多いです。更新後にノードが増えない場合は、URL の有効期限、User-Agent の指定、あるいはプロバイダ側のデバイス数制限を疑ってください。
3. プロキシグループと選択ルール
インポート後は GLOBAL や PROXY など、プロバイダ定義のグループが UI に現れます。ここで実際に使う出口ノードを選び、ルールモード(設定ファイル内の mode: rule)であることを確認します。DNS やルール設計の深掘りは 高速化と DNS の実用テクニック と相性がよいです。
VPN(TUN)モードとシステムプロキシの違い
Android では、ブラウザだけでなくアプリ全体の通信をルール配下に載せるために VPN(TUN)モードを使うのが一般的です。仮想 VPN インターフェースが有効になると、許可されたアプリのトラフィックがクライアントに渡り、Clash のルールエンジンで振り分けられます。一方、HTTP プロキシだけに頼る構成は、アプリがシステムプロキシを参照しない場合にルールが効かないことがあります。モバイルで「とにかく漏れなく同じポリシーを適用したい」なら TUN を優先する考え方が安全です。
ただし TUN はループバックやローカル通信の扱い、分割トンネル(split tunneling)の有無など、実装差の影響を受けやすい領域です。銀行アプリや社内 VPN と併用する場合は、競合で接続できなくなることがあるため、アプリ別プロキシで対象を絞るか、該当アプリをバイパスする必要が出ます。
アプリ別プロキシ(Per-App Proxy)の考え方と設定
1. ルールベースとの関係
アプリ別プロキシは、「どのアプリのトラフィックを、そもそも Clash に渡すか」を OS レベルで先に絞り込む機能です。YAML のドメインルールより手前でフィルタするイメージに近く、次のような使い分けができます。
- バイパス(除外)リスト:国内アプリや金融系など、プロキシを通したくないアプリを指定。指定アプリは VPN トンネルの外側を通ることが多く、ルール評価自体が走りません。
- 対象指定(ホワイトリスト)モード:指定したアプリだけをトンネルに載せ、それ以外は直出しにする。動画やブラウザだけをプロキシにしたい場合に有効です。
どちらのモードも、クライアントのスイッチで切り替わるため、設定前に今どちらの意味のリストを編集しているかを必ず確認してください。文言は「アプリをプロキシから除外」「プロキシ対象のアプリのみ」など、アプリごとに異なります。
2. 典型的な手順
- 設定画面で「アプリ」「Per-App」「アプリの管理」などの項目を開く。
- モードを「全アプリをプロキシ」か「選択したアプリのみ」か、あるいは「除外リスト」かを選ぶ。
- 一覧からアプリにチェックを入れる。システムアプリやダウンローダーまで含めると想定外の通信が乗るので、必要最小限に留める。
- 変更後、VPN を一度オフにしてからオンにし、想定どおりの経路かを確認する。
3. ハマりどころ
ホワイトリスト運用では、OS の更新後に追加されたシステムサービスがトンネルに含まれず、通知や位置情報まわりで不具合が出ることがあります。除外リスト運用では、除外しすぎると「プロキシ ON なのに特定アプリだけ別経路」になり、プライバシーポリシーと期待がずれる場合があります。いずれも、ルールファイルの DIRECT 指定とは別レイヤーの制御であると捉えると整理しやすいです。
また、一部アプリは証明書ピンニングや独自 DNS を使うため、プロキシ経由で TLS エラーになることがあります。これは Clash 側のルール以前の問題なので、そのアプリをバイパスするか、プロキシを通さない設計に切り替える判断が必要です。
DNS 設定とアプリ別運用の相性
Android クライアントでも、PC と同様に fake-ip や redir-host、DoH などの DNS モードを選べます。TUN 有効時は、クライアントが名前解決を握る範囲が広がるため、ルールと整合する DNS 設計が重要になります。アプリ別プロキシで国内アプリを外に出した場合でも、そのアプリがまだクライアントの DNS を参照するケースがあるため、挙動は端末と ROM によって差が出ます。疑わしいときは、設定をシンプルに戻してから段階的に有効化するのが安全です。
よくあるトラブルと切り分け
- VPN を ON にすると一切繋がらない:プロファイルの構文エラー、期限切れ購読、または必須ノードが選択されていない。ログ画面でエラー文言を確認する。
- 特定アプリだけ失敗する:アプリ別プロキシのリストと競合していないか、ピンニングや独自 DNS かを疑う。
- バッテリーで勝手に切断される:省電力とバックグラウンド制限を緩める。一部メーカー ROM では「ロック」や「自動起動」の設定が必要。
- 速度が不安定:ノードだけでなく、DNS や巨大ルールの影響もある。前述の高速化記事の手順で購読間隔とルール量を見直す。
関連記事とブログ一覧
プロトコル選びやデスクトップとの併用については 技術ブログの一覧 から他記事へ進むと学習効率が上がります。Android は持ち運びの要となる端末なので、ルールとアプリ別プロキシの二段構えで「普段は軽く、必要なときだけ全体をトンネルに載せる」といった運用に落とし込めると、バッテリーと体感のバランスが取りやすくなります。
まとめ:モバイルでもルール駆動の利点を活かす
Clash 形式の設定を Android で回す最大のメリットは、ドメインやプロセスではなく、自分の YAML ポリシーに沿って一貫した振り分けができる点にあります。VPN(TUN)で全体を載せ、アプリ別プロキシで例外を切る二層構えは、金融アプリや社内ツールとの共存場面で特に有用です。クライアント実装のメニュー名は移り変わりますが、「プロファイル」「購読」「TUN」「アプリ単位の除外/限定」という軸さえ押さえれば、新しいフォークに乗り換えても迷いにくくなります。
安定ビルドの入手から端末ごとの最適化まで、ひとつのサイトで流れをそろえられると運用が楽になります。オープンソースの透明性を尊重しつつ、パッケージの取得と更新は検証済みの導線に寄せるのがおすすめです。→ Clash を無料ダウンロードして、Android でも同じルール体験を試す