Clashのよくある質問とトラブル対処
モード選択、サブスクリプションのインポート、TUN、DNS、ノード接続まで、問題の種類から原因と対処の順番を確認できます。一度に変更する設定は1つに絞り、結果を確認してから次へ進むのがおすすめです。
基本知識
通信の取り込み方法、動作モード、コア、サブスクリプションの関係を先に整理し、異なるレイヤーの問題を混同しないようにしましょう。
Clashのルールモード、グローバルモード、ダイレクトモードの違いは?
ルールモードは設定ファイルのルールに従って通信を順番に振り分け、サイトごとにプロキシ接続と直接接続を使い分けられるため、普段使いに適しています。グローバルモードは、処理可能な接続を1つのプロキシグループに割り当てるため、ノードの一時的な確認に便利です。ダイレクトモードではプロキシを使わず、問題の切り分けやプロキシの一時停止に向いています。モードを切り替えてもサブスクリプションの内容は変更されません。
システムプロキシとTUNモードはどちらを選ぶべき?
ブラウザやOSのプロキシ設定に従う多くのアプリは、システムプロキシを有効にすれば利用できます。ゲーム、コマンドラインプログラム、一部のストアアプリ、システムプロキシを参照しないアプリでは、通常TUNモードによる通信の取り込みが必要です。初めて使う場合は、まずシステムプロキシを有効にし、通常のウェブ閲覧を確認してから、必要なアプリに応じてTUNを有効にしてください。
Clash、Clash Meta、mihomoの関係は?
Clashは一般に、設定形式やプロキシルール体系、および関連クライアントのエコシステムを指します。Clash Metaはそれに対応し、機能を拡張したコアの派生版で、現在は主にmihomoという名称で開発・保守されています。Clash Verge RevやFlClashなどのGUIクライアントはmihomoコアを利用できますが、画面構成、更新方法、対応プラットフォームは各クライアントが個別に実装しています。
設定ファイル、サブスクリプションURL、ノードの違いは?
サブスクリプションURLはリモート設定を取得する入口で、クライアントが更新すると設定ファイルが取得されます。設定ファイルにはノード、プロキシグループ、ルール、DNSなどが含まれ、ノードはプロキシ接続を確立する要素の一部です。サブスクリプションを更新すると、サブスクリプションで管理される内容は上書きされます。継続して使うローカル設定は、クライアントのオーバーライド機能やマージ機能に追加してください。
インストールと設定
サブスクリプション形式、システム権限、仮想ネットワークアダプター、プラットフォームの制限を確認し、まずクライアントで基本的な通信の取り込みができる状態にします。
サブスクリプションURLをインポートできない、または形式エラーが表示される場合は?
まずブラウザでサブスクリプションURLを開き、URLが有効で設定内容を返しているか確認してください。ログインページ、案内ページ、空のレスポンスが表示される場合は利用できません。次に、コピー時にスペース、改行、日本語の句読点が混入していないか確認します。返された内容がClash形式でない場合は、サブスクリプションサービス側でClashまたはmihomo形式を選択し、失敗した項目を削除して再度インポートしてください。
WindowsでTUNモードを有効にすると権限不足と表示される場合は?
まずクライアントを終了し、管理者権限で起動してからTUNを再度有効にします。クライアントにサービスモードや補助サービスがある場合は、設定画面からサービスをインストールして再起動してください。それでも失敗する場合は、セキュリティソフトがネットワークアダプターの作成を妨げていないか確認し、デバイスマネージャーに異常な仮想ネットワークアダプターが残っていないか確認します。
Windowsストアアプリがネットワークに接続できない場合、UWPループバックを設定するには?
従来のシステムプロキシでは、一部のUWPアプリを直接取り込めないことがあります。クライアントのツールメニューからUWPループバック管理を開き、接続を許可するストアアプリを選択して保存し、アプリを再起動してください。TUNモードを使う場合は通常、個別のループバック設定は不要です。モードを切り替えた後は、重複したループバックルールを残さないようにしてください。
macOSでネットワーク拡張機能や補助プログラムが未承認と表示される場合は?
システム設定の「プライバシーとセキュリティ」を開き、対象クライアントによるネットワーク拡張機能の読み込みを許可します。補助プログラムのインストールを求められた場合は、クライアントの設定画面にある案内からインストールし、Macの管理者パスワードを入力してください。承認後、クライアントを完全に終了して再起動します。旧バージョンの残存で通知が繰り返される場合は、旧補助プログラムをアンインストールしてから現行版をインストールしてください。
使い方のヒント
サブスクリプション更新、遅延テスト、ポート、Fake-IPにはそれぞれ明確な役割があります。利用環境に合わせて調整するほうが、すべての設定を頻繁に切り替えるより効果的です。
サブスクリプションはどのくらいの頻度で更新すべき?手動設定は上書きされる?
ノードやルールに変更があったときに更新すれば十分です。クライアントの自動更新機能を利用することもできます。更新すると通常、そのサブスクリプションから生成されたノード、プロキシグループ、ルールが置き換えられるため、キャッシュファイルを直接編集するのは避けてください。ポート、DNS、ルールなど長期的に保持したい変更は、ローカルオーバーライド、スクリプト、またはマージ設定に記述します。
ノードの遅延テストがタイムアウトする場合、ノードは完全に利用できない?
必ずしもそうとは限りません。遅延テストは指定されたテスト先、タイムアウト時間、現在のネットワーク環境に左右されます。テスト先がブロックされていたり、DNS解決に問題があったりしてもタイムアウトになります。まずテスト先を変更し、ブラウザで対象サイトに実際にアクセスして確認してください。すべてのノードが同時にタイムアウトする場合は、ローカルネットワーク、サブスクリプションの有効性、システム時刻、DNSを優先して確認します。
Clashの混合ポート、HTTPポート、SOCKSポートはどう設定する?
混合ポートはHTTP接続とSOCKS接続の両方を受け付けるため、アプリを個別に手動設定する場合に便利です。HTTPポートとSOCKSポートは、使用するプロトコルを明確に指定する必要があるプログラムに適しています。ポート番号は他のプロセスが使用していないものを指定してください。変更後はアプリ側のプロキシ設定も合わせて変更し、アドレスには通常127.0.0.1を使用します。
Fake-IPモードでLAN機器や一部のソフトに異常が起きる場合は?
まず、その異常がFake-IPモードでのみ発生しているか確認します。LAN内のドメイン、プリンター、ルーターの管理画面、実際のDNS結果を必要とするソフトについては、関連ドメインをFake-IPの除外リストに追加してください。影響範囲が広い場合は、一時的にredir-hostへ切り替えて検証します。DNSモードを変更した後は、システムのDNSキャッシュを削除し、関連アプリを再起動してください。
トラブル対処
まずリクエストがクライアントに入っているかを確認し、ノード、DNS、ルール、システムプロキシの残留設定を順に切り分けて、問題の範囲を絞り込みます。
システムプロキシを有効にしてもブラウザが直接接続する場合は?
まずクライアントが起動しているか、システムプロキシが実際に有効になっているか確認します。次に、OSのプロキシアドレスとクライアントのポートが一致しているか確認してください。ブラウザの独立したプロキシ拡張機能、企業ポリシー、手動プロキシ設定がシステム設定を上書きしている可能性があるため、一時的に無効にします。最後に接続ログでリクエストがクライアントに入っているか確認し、取り込みの問題なのか、ルールによって直接接続になっているのかを切り分けます。
ノード接続がタイムアウトする、またはすべてのノードが利用できない場合の確認方法は?
まずプロキシを無効にして基本ネットワークが利用できることを確認し、サブスクリプションを更新してシステムの日付とタイムゾーンを確認します。1つのノードだけ失敗する場合は、同じサブスクリプション内の別ノードに切り替えてください。すべて失敗する場合は、サブスクリプションの期限、ネットワークによるプロトコル制限、ファイアウォールによるクライアントのブロックを確認します。モバイル回線や別のブロードバンド回線に切り替えると、端末の設定と上流ネットワークの問題を切り分けられます。
Clashを有効にした後、DNS解決に失敗したりウェブページを開けなくなったりする場合は?
まずログで、ドメイン解決の失敗なのかノード接続の失敗なのかを確認します。一時的にクライアント内蔵DNSを無効にして、DNSをシステムの自動取得に戻すと、問題がClashのDNS設定に起因するか判断できます。カスタム設定を使っている場合は、nameserver、fallback、enhanced-mode、待ち受けポートが有効か確認し、変更後にDNSキャッシュを削除して再テストしてください。
Clashを終了してもネットワークが復旧しない場合は?
まずクライアント内でシステムプロキシとTUNを無効にしてから、通常どおり終了します。クライアントが異常終了している場合は、OSのネットワーク設定で手動プロキシを無効にし、127.0.0.1を指したままのプロキシアドレスを削除してください。その後、現在のネットワーク接続をいったん無効にして再度有効にし、必要に応じてシステムを再起動します。使用中の物理ネットワークアダプターを直接削除したり、ネットワーク設定全体をむやみにリセットしたりしないでください。