- 設定・サブスクリプション
- 接続・ルーティング
- 権限・ネットワーク
Clashのよくある質問
問題に合わせて設定を確認します。エラーを記録してから、一度に一つずつ変更してください。
基本知識
まずクライアント、カーネル、通信の制御方法を切り分け、どの設定を変更するか判断しましょう。
Clash、mihomo、GUIクライアントの違いは?
Clashは一般に、プロキシカーネルとその設定エコシステムを指します。mihomoは関連する設定機能を引き継ぎ、拡張したカーネルプロジェクトで、以前はClash Metaとも呼ばれていました。GUIクライアントはサブスクリプション管理、モード切り替え、システム連携を担い、利用できる機能はカーネルとバージョンによって異なります。トラブル対処の前に、クライアントの「バージョン情報」やカーネル情報で名称とバージョンを控え、該当するドキュメントを確認してください。ボタンの場所はクライアントによって異なるため、画面上の名称だけで機能の対応状況を判断しないでください。
クライアントをダウンロードしたのに、サブスクリプションや設定ファイルが必要なのはなぜですか?
クライアントにはプロキシ接続やルール処理の機能がありますが、利用可能なプロキシサーバーが自動で付属するわけではありません。サブスクリプションからサービス提供元の設定を取得し、設定ファイルでプロキシ、プロキシグループ、ルール、DNSなどを指定します。提供元と対応形式を確認してからクライアントにインポートしてください。サブスクリプションURLにはアカウントの権限に関わる情報が含まれる場合があるため、公開チャットやスクリーンショットに載せないでください。自前のサービスを使う場合も、実際のプロトコルに合わせて接続情報を設定します。
ルール・グローバル・直接接続、どのモードを選べばよいですか?
普段はルールモードを使い、設定内のルールに従って接続ごとに直接接続かプロキシ経由かを選ぶのがおすすめです。グローバルモードは、カーネルに渡された接続にグローバルポリシーを適用します。ルールの影響を一時的に確認する際に便利ですが、端末上のすべての通信を制御する機能ではありません。直接接続モードでは、カーネルに渡された接続が宛先へ直接アクセスします。クライアント自体を終了する設定ではありません。モードを切り替えたら新しい接続でテストしてください。既存の接続には以前のポリシーが適用されたままの場合があるため、必要に応じて接続画面から該当する接続を終了します。
Clash for Windowsの代替クライアントはどう選ぶ?
まずOS、CPUアーキテクチャ、必要な通信の制御方法で候補を絞り、サブスクリプション管理やルール編集の使いやすさを比較します。WindowsではClash Plusのほか、Clash Verge RevやFlClashなども確認できます。Clash for Windowsは開発が終了しているため、古い解説記事の画面や操作手順を現行版の基準にしないでください。移行時はサブスクリプションとカスタムルールを引き継ぎつつ、旧クライアントのデータフォルダー全体をそのままコピーするのは避けます。インポート後、ポート、プロキシグループ、DNSの設定を一つずつ確認してください。
システムプロキシとTUNモードの違いは?
システムプロキシはHTTPなどのプロキシ接続先をOSに登録する仕組みです。その設定に従うアプリだけが利用します。TUNは仮想ネットワークインターフェースとルーティングを使って、より多くの接続を制御します。システムプロキシを参照しないアプリにも使えますが、追加の権限が必要で、ほかのVPNと競合する場合があります。どちらもルールや設定の影響を受けるため、TUNを有効にしてもすべての通信がプロキシ経由になるとは限りません。まずシステムプロキシで基本動作を確認し、対象アプリを広げる必要がある場合にTUNを有効にしてください。複数のネットワーク設定を同時に変更するのは避けましょう。
導入・設定
CPUアーキテクチャに合ったパッケージを選び、設定をインポートして、権限と待受先を確認します。
サブスクリプションURLとローカルのYAMLファイルは、それぞれどうインポートしますか?
クライアントの設定またはサブスクリプション画面を開き、URLからのインポートを選んでサブスクリプションURL全体を貼り付けます。ダウンロード後、その設定を選択してください。ローカルファイルがある場合は、ファイルのインポートからYAMLを選び、読み込みログを確認します。Base64形式のノード一覧だけを含むURLは、そのまま使えるClash設定とは限りません。サービス提供元に互換性のある形式を確認してください。アカウント情報を含むURLを、信頼できない変換サービスに入力しないでください。インポート後はプロキシグループに選択可能なプロキシがあることを確認してから、システムプロキシを有効にします。
インストーラーはx64、ARM64、汎用版のどれを選べばよいですか?
まずシステム設定の「バージョン情報」でCPUアーキテクチャを確認してください。IntelやAMDの一般的なデスクトップPCでは通常x64を使います。Apple Silicon搭載Macでは対応するARM版を選びます。Windows ARM端末では、クライアントがネイティブ対応しているか確認してください。Androidは端末のアーキテクチャに合わせて選び、不明な場合は汎用版の有無とシステム要件を確認します。Linuxではdebやrpmなど、パッケージ形式もディストリビューションに合わせる必要があります。端末のメーカーや外観だけでアーキテクチャを判断しないでください。
TUNで権限不足やサービス未インストールと表示された場合の対処法は?
まずTUNを無効にし、クライアントにサービスのインストール、サービスモード、修復などの項目があるか確認します。画面の案内に従ってOSの許可を済ませ、クライアントを再起動してください。Windowsでは管理者権限を持つサービスが仮想インターフェースを管理することがよくあります。macOSでは関連するネットワーク権限の許可が必要です。Linuxはクライアントの権限昇格方式によって異なります。すべてのアプリを高い権限で常時実行する方法で代用しないでください。サービスがインストール済みでも失敗する場合は、ログに最初に記録されたエラーを確認し、ほかのVPN、仮想NIC、セキュリティポリシーがインターフェース作成を妨げていないか調べます。
mixed-portには何を指定しますか?7890なら必ず正しいですか?
mixed-portはHTTPとSOCKSの両方のプロキシ接続を受け付けるポートです。7890はよく使われる例ですが、すべてのクライアントで現在使われているとは限りません。設定画面または有効な設定ファイルに表示される待受ポートを確認し、ブラウザー、ターミナル、システムプロキシを同じポートに設定してください。ローカル接続では通常127.0.0.1を使います。ポートを変更したら、システムプロキシを再適用してください。ログにアドレスの使用中と表示された場合は、どのプロセスが使っているか調べ、システムプロセスをむやみに終了しないでください。
「LAN内接続を許可」はどんなときに有効にしますか?
同じLAN内のほかの端末からプロキシを使う必要がある場合に限り、有効にしてください。LAN内接続の許可に加えて、待受アドレス、ホスト側のファイアウォール、端末間のネットワーク接続を確認します。ほかの端末では、クライアントを実行しているPCのLAN内IPアドレスと実際のポートを指定してください。127.0.0.1はその端末自身を指すため、入力しないでください。クライアントで対応している場合は、アクセス認証と接続元の制限も設定します。プロキシポートや外部制御インターフェースをインターネットに公開せず、公衆Wi-Fiで常時開放するのも避けてください。
使い方
元に戻せる設定を保存し、接続履歴で変更結果を確認しましょう。
自動更新の間隔はどう設定しますか?更新時にプロキシは必要ですか?
サブスクリプションの詳細画面で自動更新を有効にし、入力欄の単位を確認してください。分単位で指定するクライアントでは、1,440分が1日に相当します。一方、provider設定のintervalは通常秒単位のため、数値をそのまま流用できません。更新頻度はサービス提供元の推奨に従ってください。頻繁すぎると利用制限がかかる場合があります。現在のネットワークからサブスクリプションURLに直接アクセスできず、プロキシが利用可能な場合に限り、プロキシ経由での更新を試します。設定を変えたら手動で更新し、ログで成功を確認してください。更新前に戻せる設定も保存しておきましょう。
サブスクリプション更新後も消えないように、カスタムルールを追加するには?
クライアントのオーバーライド、マージ、拡張ルール機能を優先して使い、リモートサブスクリプションで上書きされる元ファイルを直接編集しないでください。Clashのルールは通常上から順に評価されるため、具体的なドメインルールは広範囲に適用されるルールより前に置きます。MATCHは通常末尾に配置します。ルールを追加する際は、指定したポリシー名が実際に存在し、大文字・小文字や文字列が一致していることを確認してください。保存後に設定の検証結果を確認し、新しい接続で適用ルールを確かめます。マージ順序はクライアントによって異なるため、最終的に有効な設定を基準にしてください。
特定のサイトがプロキシ経由か直接接続かを確認するには?
クライアントの接続画面を開き、対象のドメインまたはアプリで絞り込んで、適用されたルール、プロキシグループ、最終的な接続先を確認します。既存の接続を終了してから対象サイトを開き直し、接続の再利用による誤判定を防いでください。クライアントのトップ画面にあるスイッチやブラウザーに表示されるIPだけでは、すべてのリクエストの経路を判断できません。Webページから複数のドメインへ同時に接続する場合があるためです。接続一覧に対象の通信がまったく表示されない場合は、アプリが現在のプロキシ設定を使っているか確認し、それからTUN、ブラウザー独自のプロキシ、アプリ内のネットワーク設定を調べてください。
fake-ipとredir-host、どちらを選べばよいですか?
まず、動作確認済みのサブスクリプション設定か、クライアントの推奨設定を使ってください。fake-ipはドメインに仮想IPアドレスを割り当て、カーネルが接続を制御する際にドメイン情報を保持しやすくします。redir-hostは通常、実際に名前解決したIPアドレスを返します。一部のゲーム、LANサービス、実IPアドレスを必要とするアプリでは個別の調整が必要な場合があります。問題が起きるたびに全体のモードを切り替える必要はありません。まずfake-ip-filterと関連するDNSルールを確認してください。切り替え後は、該当アプリのDNSキャッシュを消去して接続し直し、以前の名前解決結果がテストに影響しないようにします。
スマートフォンのバッテリー消費が多い場合、バックグラウンド動作はどう調整しますか?
まずシステムのバッテリー使用状況を確認し、クライアントの常時動作と、ほかのアプリがプロキシ経由で発生させる通信を切り分けます。不要な速度測定やサブスクリプションの更新頻度を下げ、詳細ログの常時記録を停止してください。Androidで接続が頻繁に切れる場合は、必要に応じてバッテリー最適化やバックグラウンド制限を調整できますが、制限を緩めると消費電力が増える場合があります。iOSでは主にシステムのネットワーク拡張の動作方針に依存します。一度に変更する項目は一つにし、実際の使用状況を確認してください。バックグラウンド動作を保つために常駐ツールを複数同時に有効にするのは避けましょう。通信を継続して制御するには、ネットワークサービスを動作させ続ける必要があります。
トラブル対処
サブスクリプションのダウンロード、プロキシ接続、DNS名前解決を切り分け、同じ操作を繰り返さないようにしましょう。
サブスクリプションの更新に失敗したとき、タイムアウト・証明書エラー・401を見分けるには?
まず更新ログの具体的なエラーを確認します。タイムアウトの場合は、サブスクリプションのドメインに接続できるか確認し、直接接続とプロキシ経由の更新を比較してください。証明書エラーでは、まずシステムの日付を修正し、ログイン画面やネットワーク機器に通信が遮られていないか調べます。証明書の検証を無効にするのは避けてください。401や403は、認証情報、権限、サービス提供元による制限が原因の場合があります。サービス提供元のアカウントページで確認してください。YAMLではなくHTMLが返る場合は、ログイン画面やエラーページを取得している可能性があります。以前の設定を保存し、サブスクリプションURLをコピーし直して再試行してください。ログを共有する前にアカウント情報を隠します。
ノードの速度測定がタイムアウトします。サブスクリプションの失効か、ネットワークの問題ですか?
速度測定のタイムアウトは、指定されたテスト先と制限時間内に期待した結果を取得できなかったことを示すだけで、サブスクリプションの失効を証明するものではありません。まずプロキシを一つ選び、実際にアクセスしたいサイトを開いてください。次にテストURLへの接続、システム時刻、現在のネットワークでWebログインが必要かを確認します。別のネットワークや、同じサブスクリプション内の別のプロキシでも比較してください。すべて失敗する場合は、設定の読み込み状況とカーネルログを確認します。一部のプロキシだけ失敗する場合は、サービス提供元に問い合わせてください。タイムアウト時間を何度も短くすると、利用可能な接続まで失敗と判定されやすくなります。
システムプロキシを有効にしてもブラウザーでWebページを開けない場合は?
待受ポート、システム設定、アプリ設定の順に確認してください。まずカーネルが動作中で、待受ポートとシステムプロキシのポートが一致しているかを確認します。次にOSのプロキシアドレスがローカルホストを指しているかを調べ、最後にブラウザーの設定を上書きしている可能性があるプロキシ拡張機能を無効にします。接続がクライアントに表示される場合は、適用されたルールと選択中のプロキシを確認してください。記録がない場合は、プロキシへの接続経路を調べます。ほかのVPNを終了して、新しい接続でテストしてください。クライアントを終了してもアクセスできない場合は、停止したサービスを指すシステムプロキシ設定が残っていないか確認し、以前のネットワーク設定に戻します。
WindowsのUWPアプリがプロキシを使わない場合、ループバックはどう設定しますか?
AppContainerで分離された一部のWindowsアプリには、ローカルのループバック接続に制限があり、127.0.0.1上のプロキシに直接接続できません。まず対象アプリが該当することを確認します。次に、クライアント付属のUWPループバックツールを使い、必要なアプリだけを例外に追加して、画面の案内に従って許可してください。Windowsの管理に詳しい場合は、CheckNetIsolationで設定を確認する方法もあります。すべてのアプリを一括で許可するのは避けてください。それでも解決しない場合は、アプリがシステムプロキシを参照するか、セキュリティポリシーで設定変更が禁止されていないかを確認します。
TUNを有効にした後にネット接続やDNS名前解決が失敗した場合、どう戻せばよいですか?
まずTUNを無効にして、通常のネットワーク接続が戻ることを確認します。その後、同じ設定をシステムプロキシ経由でテストしてください。TUNだけで失敗する場合は、ログにあるルーティング、DNSのリダイレクト、仮想インターフェースのエラーを確認し、ほかのVPNを無効にして比較します。インターネット上のDNS設定を丸ごとサブスクリプションに上書きしないでください。上流のDNSサーバーに接続できるか、名前解決のリクエストがループしていないかを確認します。変更前に元の設定を保存し、一度に変更するパラメーターは一つにしてください。クライアントを終了しても問題が続く場合は、プロキシやルートの設定が残っていないか確認し、クライアントのドキュメントに従ってサービスを修復するか、ネットワーク接続を再起動します。