インストール前にクライアント、OS、設定を確認
「Clash」は通常、ルールベースのプロキシコア、設定形式、そして複数のGUIクライアントを指します。オリジナルのClashコアはすでにメンテナンスが終了しており、現在のデスクトップクライアントではClash Meta(mihomo)互換コアが広く使われています。クライアントによってメニュー名は異なりますが、初期設定は設定ファイル、プロキシモード、システムプロキシ、TUNの4項目が中心です。
ダウンロード前にOSのアーキテクチャを確認しましょう。Windows 10 22H2やWindows 11の一般的な端末はx64を選択します。SnapdragonなどのARMプロセッサを搭載したWindows端末はarm64を選びます。Intel Macはx64またはamd64、Apple M1、M2、M3、M4シリーズはarm64です。Linuxではamd64、arm64に加え、deb、rpm、AppImageなどのパッケージ形式も確認してください。
初回起動前に準備するもの
- 使用中のOSとプロセッサアーキテクチャに対応したクライアントのインストーラー。
- 利用可能なClash設定ファイル。通常はサブスクリプションURLまたはYAMLファイルです。
- アプリのインストール、システムプロキシの設定、TUN仮想NICの作成に必要な管理者権限。
- 初回のサブスクリプション取得とノードテストに使う、直接インターネットへ接続できる基本回線。
5つのプラットフォームで異なるインストール方法
| プラットフォーム | 一般的なインストール形式 | 初回起動時のポイント |
|---|---|---|
| Windows | EXE、MSI、またはポータブル圧縮ファイル | ファイアウォールの通信を許可し、システムプロキシの設定権限を確認する |
| macOS | DMG、PKG | 「アプリケーション」へドラッグし、案内に従ってネットワーク拡張機能を許可する |
| Linux | deb、rpm、AppImage | デスクトップセッション、トレイ対応、管理者権限を確認する |
| Android | APK | 現在の配布元からのアプリのインストールを許可し、VPN接続リクエストを承認する |
| iOS / iPadOS | App Storeクライアント | VPN構成の追加を承認し、設定ファイルの入手元が信頼できることを確認する |
サブスクリプションの追加と設定更新を順番に行う
インストール直後にTUNを有効にしたり、DNSとポートを同時に変更したりしないでください。まず設定を追加し、クライアントがプロキシノード、プロキシグループ、ルールを正しく読み込めることを確認します。問題が起きたときに、原因がサブスクリプション、ノード、システム側の接続取り込みのどこにあるか切り分けやすくなります。
方法1:サブスクリプションURLから追加
- サブスクリプションURL全体をコピーし、先頭が
https://になっていることと、末尾のパラメーターが欠けていないことを確認します。 - クライアントで「設定」または「Profiles」ページを開きます。
- 「サブスクリプションを追加」「URLからインポート」などの項目を選択します。
- URLを貼り付け、識別しやすい名前を設定してから、ダウンロードまたは保存を実行します。
- 設定一覧に更新日時、ノード数、ファイルサイズなどが表示されるまで待ちます。
- 追加した設定を選択し、現在の有効設定にします。
GUIクライアントによって手順は多少異なります。デスクトップでは「設定」→「新規作成」→「URL」、Androidでは「設定」→右上の「+」→「URLからインポート」が一般的です。「プロキシコレクション」と「サブスクリプション設定」の両方がある場合、初回は完全なサブスクリプション設定を選んでください。プロキシコレクションだけでは、ルール、DNS、プロキシグループの定義が含まれないことが多いためです。
方法2:ローカルYAMLファイルを追加
.yamlまたは.ymlファイルがある場合は、「設定」→「ローカルファイルをインポート」から選択できます。YAMLを文書ソフトで開いて保存し直さないでください。インデント、コロン後の空白、UTF-8エンコードが解析結果に影響します。設定の最上位には通常、プロキシ、プロキシグループ、ルールが含まれます。mihomoの拡張機能を使う場合は、rule-providers、tun、dnsが含まれることもあります。
mixed-port: 7890
mode: rule
allow-lan: false
log-level: info
proxies:
- name: Example
type: socks5
server: 127.0.0.1
port: 1080
proxy-groups:
- name: Proxy
type: select
proxies:
- Example
- DIRECT
rules:
- MATCH,Proxy
上記の断片は構造の説明用であり、実際のサブスクリプションの代わりにはなりません。mixed-port: 7890はHTTPとSOCKSのインバウンドで7890番ポートを共用する設定です。実際のポートはクライアントの現在の設定に従ってください。クライアントによっては7890と7891を別々に使う場合や、空いているポートをランダムに選ぶ場合もあります。
追加後すぐに行う3つの確認
- 設定の状態が成功と表示されていることを確認します。404、タイムアウト、解析失敗、内容なしではいけません。
- 「プロキシ」ページにプロキシグループが表示され、グループ内に少なくともDIRECTと選択可能なノードが1つあることを確認します。
- 遅延テストを1回手動で実行します。数十ミリ秒から数百ミリ秒という結果はテスト接続が到達可能であることを示すだけで、すべてのサイトにアクセスできるとは限りません。
ルールモード、グローバルモード、ダイレクトモードを選択
設定が利用可能になったら、「プロキシ」または「Proxies」ページでモードを選択します。一般的なRule、Global、Directは、それぞれルールによる振り分け、すべての接続を1つのプロキシポリシーに任せる方式、すべて直接接続する方式です。初回はルールモードを選び、プロキシグループで遅延が正常なノードを選択するのがおすすめです。
ルールモードは日常利用に適している
ルールモードでは、ドメイン、IP、プロセス、ルールセットなどに基づいて接続先を決定します。たとえばLAN内のアドレスは直接接続し、指定したドメインはプロキシグループへ、それ以外の通信は末尾のMATCHルールで処理します。ルールは上から順に照合され、マッチすると後続の検索は停止します。そのため、具体的なルールを広い範囲のルールより前に置いてください。
- Rule:設定ファイルのルールに従って通信を振り分けます。常用に適しています。
- Global:クライアントが取り込んだすべての接続にグローバルプロキシグループを適用します。ルール漏れの短時間の確認に適しています。
- Direct:取り込んだ接続をプロキシノードを経由せず直接アクセスさせます。問題がノードに起因するかを判断するのに適しています。
「グローバルモード」にしても、クライアントがシステムの全通信を自動的に取り込むわけではありません。アプリがClashを経由するかどうかは、システムプロキシ、アプリ独自のプロキシ設定、またはTUNモードによって決まります。システムプロキシに従うブラウザーは通常そのまま取り込めますが、一部のゲーム、コマンドラインプログラム、独自のネットワークスタックを使うソフトはシステムプロキシを迂回することがあります。
まずプロキシグループを選び、次に具体的なノードを選ぶ
サブスクリプションでは、「ノード選択」「自動選択」「フォールバック」などのプロキシグループが相互にネストされていることがあります。手動グループではユーザーがノードを選択します。URL-Testグループはテスト先と間隔に基づいて自動選択し、Fallbackグループは通常、一覧の先頭にある利用可能なノードを優先します。ノードの遅延は正常なのにWebページが開かない場合は、最終的に適用されているプロキシグループがDIRECTのままになっていないか確認してください。
接続ログでルールの適用結果を確認する
多くのクライアントでは、「接続」または「Connections」ページに対象ドメイン、送受信量、適用ルール、アウトバウンド経路が表示されます。テストページを開いた後に新しい接続を確認してください。DIRECTと表示される場合は直接接続ルールにマッチしています。「プロキシグループ → ノード」と表示される場合はプロキシ経路が機能しています。ノードを何度も切り替えるより、この結果のほうがルール振り分けの問題を特定しやすくなります。
システムプロキシを有効にしてポートを確認
ルールとノードを選択してから、システムプロキシを有効にします。デスクトップクライアントには通常、「システムプロキシ」「System Proxy」のスイッチがあります。有効にすると、OSのHTTPおよびHTTPSプロキシが127.0.0.1:7890のようなローカルループバックアドレスに設定されます。クライアントを終了する前に通常の終了操作を行い、システムプロキシ設定を解除させてください。
WindowsとmacOS
Windowsでは「設定」→「ネットワークとインターネット」→「プロキシ」で現在のプロキシ状態を確認できます。クライアントが取り込んだ後は、手動プロキシが通常127.0.0.1と現在の混合ポートを指します。クライアント終了後にWebページがすべて開けなくなった場合は、まずこの画面で残った手動プロキシを無効にしてから、クライアントを再起動してください。
macOSでは「システム設定」→「ネットワーク」→現在のネットワーク→「詳細」→「プロキシ」でWebプロキシとセキュアWebプロキシを確認できます。初回の変更時には管理者パスワードを求められることがあります。2つのプロキシクライアントに同じ項目を同時に変更させないでください。後から起動したアプリが、先に起動したアプリのアドレスとポートを上書きする場合があります。
Linuxのデスクトップと環境変数
GNOMEやKDEなどのデスクトップ環境ではシステムプロキシを利用できますが、端末プログラムがデスクトップの設定を読み取るとは限りません。コマンドラインのリクエストを一時的にローカルの混合ポートへ通す場合は、現在の端末で環境変数を設定します。
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=socks5://127.0.0.1:7890
これらの変数は、現在の端末とその子プロセスにだけ適用されます。ポートは、クライアントの「一般設定」または「外部コントローラー」ページに表示されるインバウンドポートと一致させてください。コントローラーポートは9090が一般的で、クライアント画面からコアへ接続するためのものです。ブラウザーに設定するプロキシポートではありません。
AndroidとiOSでのVPNによる通信取り込み
モバイルOSでは、デスクトップのようなシステムプロキシを変更するのではなく、通常はローカルVPNインターフェースで通信を取り込みます。Androidでは初回接続時に「接続リクエスト」が表示され、許可するとステータスバーに鍵またはVPNマークが表示されます。iOSとiPadOSではVPN構成の追加とシステム認証が必要です。権限を拒否すると、設定やノードが正常でも他のアプリはプロキシ経路に入りません。
2段階で確認する
- ルールモードのまま接続ログを開き、一般的なWebページにアクセスして、新しい接続と適用ルールが表示されることを確認します。
- システムプロキシを無効にするか、モバイル端末のVPNを切断してから再度アクセスし、接続ログへの追加が止まるか比較します。
ブラウザーのホームページが開くかどうかだけで判断しないでください。ブラウザーキャッシュ、DNSキャッシュ、既存の長時間接続によって結果の変化が遅れることがあります。テスト時はプライベートウィンドウを新しく開くか、既存の接続が閉じるまで待ってから、これまで開いていないドメインへアクセスしてください。
TUNモードを有効にするタイミング
TUNモードは仮想ネットワークインターフェースを作成し、より多くのTCP、UDP、DNS通信をmihomoコアへ送ります。システムプロキシに従わないソフト、一部のゲームランチャー、コマンドラインツール、通信を一元的に取り込みたい場面に適しています。ブラウザーがシステムプロキシで正常に動作しているなら、初回インストール時にTUNを必ず有効にする必要はありません。
有効化前の正しい手順
- まずサブスクリプションを更新でき、プロキシグループに利用可能なノードがあることを確認します。
- システムプロキシだけを有効にし、ブラウザーの通信がルールどおり転送されることを確認します。
- 他のVPN、ネットワーク高速化ツール、類似のプロキシプログラムを終了します。
- 「設定」→「サービスモード」または「Service Mode」でバックグラウンドサービスをインストールします。
- 案内に従って、管理者権限、ネットワーク拡張機能、またはVPN権限を許可します。
- TUNを有効にしたら、DNS、接続ログ、LANアクセスを再確認します。
Windowsクライアントでは、サービスモードが管理者権限で仮想NICを作成することがよくあります。macOSではネットワーク拡張機能の承認が必要です。Linuxでは通常、CAP_NET_ADMIN、root権限、またはsystemdサービスによるコア管理が必要です。AndroidとiOSはもともとVPNインターフェースで通信を取り込むため、デスクトップ版とまったく同じ「TUNスイッチ」が用意されていないのが一般的です。
TUNを有効にして通信できなくなった場合の対処
- まずTUNを無効にし、ルールモードと設定はそのまま残します。すべての設定を一度にリセットしないでください。
- 他のVPN仮想NICが接続状態になっていないか確認します。
- クライアントコアが動作していることと、接続ページに権限エラーが継続して表示されていないことを確認します。
- DNSの待受ポートが他のプログラムに使用されていないか確認します。53番ポートが競合するケースがよくあります。
- クライアントを再起動しても異常が続く場合は、システムを再起動して残ったルートと仮想インターフェースの状態を整理します。
5つの主要プラットフォームにおける権限とインストールブロック
Windows:ファイアウォール、サービスモード、ポート競合
初回起動時にWindows Defenderファイアウォールの許可画面が表示された場合、許可する範囲は利用方法によって決まります。端末内だけで使い、allow-lanがfalseなら、LAN内の端末にプロキシを提供する必要はありません。クライアントがコアを起動できない場合は、タスクマネージャーに古いプロセスが残っていないか確認し、netstat -ano | findstr :7890で7890番ポートの使用状況を調べてください。
サービスモードをインストールしてもTUNを有効にできない場合は、「設定」→「アプリ」→「インストールされているアプリ」でクライアントのバージョンを確認し、クライアントの「設定」→「サービスモード」に戻ってアンインストールと再インストールを行います。実行中のプログラムフォルダーを直接削除しないでください。バックグラウンドサービスに無効なパスが残る可能性があります。
macOS:アプリの検証とネットワーク拡張機能
アプリをDMGから「アプリケーション」へドラッグしてから起動し、ディスクイメージ内から長期間実行しないでください。システムによって起動が阻止された場合は、「システム設定」→「プライバシーとセキュリティ」で該当する警告を確認し、アプリの入手元とダウンロードしたファイルを確認します。ネットワーク拡張機能を承認すると、メニューバーまたはシステムのネットワーク設定に関連する状態が表示されます。
Linux:GUIセッション、トレイ、権限
debパッケージはsudo apt install ./package.debでインストールでき、rpmパッケージはディストリビューションに対応したパッケージマネージャーを使います。AppImageでは通常、chmod +x package.AppImageのように実行権限を付与します。一部の軽量デスクトップにはトレイ拡張機能がなく、ウィンドウを閉じると再表示しにくいことがあります。その場合は、複数のコアを起動し直すのではなく、まずプロセスがまだ動作しているか確認してください。
Android:バッテリー最適化とバックグラウンド動作
Androidでは、画面ロック後にVPNクライアントが制限されることがあります。「設定」→「アプリ」→対象クライアント→「バッテリー」で、端末のOSに応じてバックグラウンド動作を許可するか、制限なしに設定してください。項目名はメーカーによって異なります。接続後数分で自動切断され、クライアントが最近使ったアプリ一覧から消える場合は、サブスクリプションを頻繁に入れ替える前にバッテリー設定を確認しましょう。
iOSとiPadOS:VPN構成とオンデマンド接続
初回接続では、システムのVPN構成を承認する必要があります。上部のステータスバーにVPNが一瞬表示されてすぐ消える場合は、クライアントで設定の解析、ノードのハンドシェイク、DNSログを確認してください。一部の互換クライアントには「オンデマンド接続」があり、Wi-Fi、モバイルデータ通信、ドメインなどの条件に応じて自動的に有効化できます。初回インストール時はまず手動で接続し、基本経路を確認してから自動化条件を追加するのがおすすめです。
初心者によくある問題の確認手順
設定の追加には成功したが、一覧にノードが表示されない
まず、追加した内容が本当にClash YAMLか確認します。URLによってはWebページ、ログイン画面、別クライアント用の形式が返されることがあり、ダウンロードは完了してもプロキシグループを生成できません。設定の更新日時、ファイルサイズ、解析エラーを確認してください。サブスクリプション変換サービスを使っている場合は、出力形式がClashまたはClash Metaになっていることを確認します。単一のURIだけを含む汎用リストでは不十分です。
遅延テストは正常だが、ブラウザーでWebページを開けない
- システムプロキシまたはモバイル端末のVPNが有効になっていることを確認します。
- 現在のモードがDirectではなくRuleになっていることを確認します。
- メインのプロキシグループで利用可能なノードが選択されているか確認します。
- 「接続」ページで、リクエストが実際にどのルールへマッチしたか確認します。
- 一時的にGlobalへ切り替えてテストします。グローバルでは利用できるなら、問題は通常ルールのマッチングにあります。
- Globalでも失敗する場合は、ノード、DNS、システム時刻、ローカルファイアウォールを確認します。
一部のアプリだけプロキシを経由しない
アプリがシステムプロキシを無視している、UDPを使っている、または独自にDNSを指定している可能性があります。まずブラウザーでシステムプロキシの経路を確認してください。ブラウザーは正常なのに対象アプリの接続ログがない場合は、TUNをテストします。TUNを有効にすると対象アプリの記録が現れるものの通信に失敗する場合は、プロトコル、対象ポート、適用ルールを確認し、「通信を取り込めていない」状態と「ノードが利用できない」状態を混同しないでください。
LAN内の端末から本機のプロキシを利用できない
本機で127.0.0.1を使っている場合、アクセスできるのは本機自身だけです。同じLAN内の端末にプロキシを提供する必要がある場合は、アクセス範囲を十分に理解したうえで「LAN接続を許可」を有効にし、別の端末にはClashを実行している端末のLANアドレス(例:192.168.1.20:7890)を入力します。システムファイアウォールの受信規則も確認し、使用後はこの機能を無効にしてください。
クライアント終了後もシステムがインターネットに接続できない
通常はシステムプロキシが元の状態に戻っていません。Windowsでは「設定」→「ネットワークとインターネット」→「プロキシ」で手動プロキシを無効にします。macOSでは現在のネットワークの「詳細」→「プロキシ」で該当項目を解除します。Linuxでは現在の端末からHTTP_PROXY、HTTPS_PROXY、ALL_PROXYを削除します。TUNを有効にしていた場合は、仮想インターフェースとバックグラウンドサービスも停止していることを確認してください。
初回インストール完了後のおすすめ確認リスト
以下の項目をすべて確認して、初期設定は完了です。その後、更新失敗、ルールの異常、特定アプリの接続不能が起きても、直近に変更した箇所から確認すればよく、クライアントを再インストールする必要はありません。
- クライアントのインストーラーとOSのアーキテクチャが一致している。
- サブスクリプションを手動更新でき、更新日時と内容が正常である。
- 現在の設定が有効で、プロキシページにプロキシグループとノードが存在する。
- モードがRuleに設定され、メインのプロキシグループでノードまたは自動テストグループが選択されている。
- システムプロキシまたはモバイル端末のVPNに必要な権限が付与されている。
- テストページへのアクセス時、接続ログに適用ルールとアウトバウンドノードが表示される。
- サブスクリプションの自動更新間隔が、1440分などの適切な値に設定されている。
- アプリがシステムプロキシに従わない場合だけTUNを有効にし、DNSとルーティングを個別に確認する。
- システムプロキシのアドレスを残さないよう、クライアントを正常終了する方法を覚えておく。
初期設定で重要なのは、手順を一つずつ進めることです。まずサブスクリプションを追加し、次にルールとノードを選び、その後システム側の通信取り込みを有効にします。最後に必要に応じてTUNを設定してください。各手順の完了ごとに状態と接続ログを確認すれば、問題が起きても原因を具体的な段階まで絞り込めます。