Clashのよくある質問
とトラブル対応
基本モード、サブスクリプションの読み込みから、TUN、システムプロキシ、DNSまで。問題が発生している層を確認し、順番に範囲を絞り込みます。
基本知識
まずコア、動作モード、設定の取得元を区別すると、その後の切り分けが明確になります。
Clash、Clash Meta、mihomoの関係は?
Clashは、ルール設定ツールとその設定形式を指す一般的な呼び名です。Clash Metaは従来の機能を拡張し、プロトコル、ルール、DNS機能を追加しました。その後、コアプロジェクトはmihomoへ改称されています。現在もClashの名を冠する新しいクライアントの多くはmihomoコアを使用しているため、画面上の名称は異なっても、サブスクリプションの読み込み、プロキシグループ、ルールのマッチング方法は通常互換性があります。
ルール、グローバル、ダイレクトモードはどう選ぶ?
普段はルールモードを選ぶのがおすすめです。接続は設定内のrulesを上から順に照合され、DIRECT、REJECT、または指定したプロキシグループに振り分けられます。グローバルモードでは、ほとんどの接続を同じプロキシグループに渡すため、ルールの問題を一時的に切り分ける場合に適しています。ダイレクトモードはプロキシを迂回し、ルール設定を一時停止したいときに使います。モードを切り替えてもサブスクリプションファイルは書き換わりませんが、現在の接続処理は変わります。
システムプロキシとTUNモードの違いは?
システムプロキシは、OSのプロキシ設定に従うアプリだけを対象にします。多くのブラウザーやデスクトップアプリが該当します。TUNモードは仮想ネットワークインターフェースを作成し、システムプロキシを参照しないアプリ、一部のコマンドラインプログラム、ゲームにも対応できます。まずはシステムプロキシを使うと手軽です。対象外のアプリがある場合にTUNを有効にし、システムの案内に従ってネットワーク拡張機能や管理者権限を許可してください。
サブスクリプションURLとローカルのconfig.yamlの違いは?
サブスクリプションURLはサーバーから設定を提供し、クライアントが更新間隔に応じて再取得できます。プロキシグループや接続情報を継続的に同期したい場合に適しています。ローカルのconfig.yamlは端末に保存されるため、ルール、DNS、ポートを直接変更できますが、サブスクリプションの変更には自動追従しません。長期的にカスタマイズする場合は、元のサブスクリプションを残してクライアントのオーバーライド機能を使うと、更新時に手動変更が上書きされるのを防げます。
インストールと設定
サブスクリプションの読み込み、設定更新、TUNの権限付与、モバイル端末でのVPN競合に対応します。
サブスクリプションURLの読み込みに失敗したら、まず何を確認する?
まずサブスクリプションURLをブラウザーに完全に貼り付け、ログインページやエラーページ、空白ではなく、YAMLテキストが表示されるか設定ファイルのダウンロードが始まるかを確認します。次に、URLの前後に空白が混ざっていないか、チャットアプリで途中が切れていないか、端末の時刻が正しいかを確認してください。それでも読み込めない場合は、いったんローカルファイルとしてダウンロードしてから読み込みます。ファイルも解析できない場合は、YAMLのインデントを確認するか、サブスクリプション提供元からURLを再取得してください。
サブスクリプションは読み込めるのに、更新だけ失敗し続ける場合は?
まずシステムプロキシとTUNを一時的に無効にしてから、サブスクリプションを更新します。古いルールによってサブスクリプションのドメインが利用できないプロキシグループへ転送されていないかを切り分けられます。サブスクリプションURLが変更されていないか、現在のネットワークから直接アクセスできるか、クライアントに設定ディレクトリへの書き込み権限があるかも確認してください。更新後は設定ファイルを再選択し、画面に表示された現在の設定が更新直後のものか確認します。
TUNモードを有効にすると権限不足と表示される場合の対処法は?
Windowsでは、クライアントによるサービスのインストールまたは起動を管理者権限で許可する必要があります。macOSではシステム設定でネットワーク拡張機能を承認し、VPN構成の追加を許可してください。Linuxでは通常、TUNインターフェースの作成とルート変更をコアに許可する必要があります。許可した後はクライアントを完全に終了して再起動します。古いサービスが残っている場合は、クライアントでTUNを無効にし、古いサービスを削除してからサービスを再インストールしてください。
AndroidやiOSで既存のVPN接続があると表示された場合は?
モバイルOSでは通常、1つのアプリだけがVPNトンネルを使用できます。ほかのプロキシ、企業VPN、広告ブロッカー、プライベートDNSアプリが作成したVPNを切断してから、Clash互換クライアントで再接続してください。Androidでは常時接続VPNが別のアプリに紐付いていないかも確認します。iOSではシステムのVPN一覧で現在有効な構成を確認できます。クライアントを切り替える前に、元の接続を手動で切断してください。
使い方のコツ
ルールの順序、システムプロキシ、UWPループバック、Fake-IPを調整して動作を最適化します。
カスタムルールを追加したのに、期待どおりにルール設定されないのはなぜ?
Clashのルールは上から順に照合され、最初に一致した時点で停止します。まず、カスタムルールがより広いルールセットやMATCHより前にあることを確認し、DOMAIN、DOMAIN-SUFFIX、IP-CIDRなどの種類が対象に合っているか確認してください。変更後は設定を再読み込みする必要があります。接続詳細やログで実際に一致したルールを確認すれば、原因がルールの順序、ドメイン解決、プロセスの未捕捉のどれかを判断できます。
システムプロキシを有効にしても、一部のアプリが直接接続する場合は?
まず、システムプロキシのアドレスがクライアントの現在のmixed-portまたはHTTPポートを指していることを確認し、ポートがほかのプログラムに使用されていないか確認します。アプリによっては独自のプロキシ設定を使う、システムプロキシを無視する、またはUDP接続を直接開始するため、システムプロキシでは対応できません。アプリ内でプロキシアドレスを手動設定するか、TUNモードに切り替えてください。変更後は対象アプリを再起動し、古い接続が再利用されないようにします。
WindowsのUWPアプリがClash経由で接続できない場合は?
UWPアプリには通常、ローカルループバック制限があり、127.0.0.1で動作するプロキシポートにアクセスできないことがあります。クライアントのUWPループバックツールを使い、接続が必要なストアアプリにループバックの除外を設定して保存し、アプリを再起動してください。すべてのシステムコンポーネントを一度に選択するのは避けます。クライアントに該当する項目がない場合は、TUNモードを有効にして仮想インターフェース経由で通信させます。
Fake-IPモードで一部のWebサイトやLAN機器を開けない場合は?
Fake-IPはまず予約済みアドレスを返し、コアがドメインを復元してルールを適用します。LAN機器、プリンター、画面ミラーリング、または実際のDNS応答に依存するアプリで問題が起きた場合は、対象ドメインをfake-ip-filterに追加し、プライベートアドレスにはDIRECTルールを設定してください。DNS設定を変更した後は、システムのDNSキャッシュを消去して対象アプリを再起動します。影響範囲が広い場合は、一時的にredir-hostへ切り替えて比較テストします。
トラブル対応
ネットワーク、コア、サブスクリプション、DNS、ルーティングを順に確認し、障害箇所を段階的に切り分けます。
ノードテストが常にタイムアウトになる場合、どう切り分ける?
まず別のネットワークに切り替え、現在のWi-Fi、モバイル回線、ファイアウォールが遮断していないことを確認します。次に、クライアントの時刻、サブスクリプションの更新時刻、ノードのプロトコルに必要なシステムコンポーネントを確認してください。1つのノードだけがタイムアウトする場合は、通常ノード側の状態が原因です。すべてのノードが同時にタイムアウトする場合は、DNS、コアの起動、ポート競合、サブスクリプションの失効が考えられます。ログのtimeout、refused、DNS errorを確認すると、接続のどの段階で失敗したかをさらに絞り込めます。
サブスクリプションが突然無効になった、または設定が空と表示される場合は?
まず、現在も使えるローカル設定を削除しないでください。復旧用の入口を失うのを防げます。ブラウザーでサブスクリプションURLに直接アクセスし、URLの期限、アカウント状態、返された内容がClash設定のままかを確認します。サーバーがログインページ、案内テキスト、空ファイルを返している場合、クライアントはプロキシ一覧として解析できません。新しいURLを取得したら別の設定として追加し、動作を確認してから古い設定を削除します。
Clash終了後にパソコンでインターネットへ接続できなくなった場合の復旧方法は?
多くの場合、システムプロキシまたはTUNのルートが元に戻っていません。クライアントを再起動し、まずシステムプロキシとTUNを無効にしてから、メニューから通常どおり終了します。クライアントを起動できない場合は、OSのネットワーク設定で手動プロキシを無効にし、残っているプロキシアドレスを削除してください。その後、ネットワークを切断して再接続します。それでも戻らない場合は端末を再起動し、仮想インターフェース、ルーティングテーブル、DNS設定を初期化します。
Clashは接続済みなのにWebページを開けない場合、どの順番で確認する?
まずダイレクトモードに切り替えて基本ネットワークが正常か確認し、ルールモードに戻してプロキシグループを変更します。次に、ログにDNS解決失敗、接続拒否、タイムアウトがないか確認し、現在の設定、システムプロキシのポート、実行中のコアが一致しているか確認してください。ブラウザーだけに問題がある場合は、ブラウザー独自のプロキシやセキュアDNSを無効にして再試行します。すべてのアプリで問題がある場合は、サブスクリプション、DNS、TUNルート、端末のファイアウォールを優先的に確認してください。