Clashよくある質問
基礎知識、インストール設定、使い方、トラブル対処の4つのカテゴリでよく寄せられる質問を収録しています。各項目には実際にすぐ操作できる手順を記載しているので、展開してそのまま読めば解決します。答えが見つからない場合は設定ガイドで完全マニュアルを確認するか、設定手順で一連の流れを最初から見直してみてください。
基礎知識
CONCEPT / KERNEL / SUBSCRIPTIONClashとMihomoカーネルの関係は?
Clashは元々ルールベース振り分け型プロキシカーネルの名称でしたが、オリジナル開発が停止した後、コミュニティフォークのClash MetaがMihomoに改名して開発を継続しています。現在主流のクライアント(Clash Plus、Clash Verge Rev、FlClashなど)はいずれもMihomoカーネルを内蔵しており、設定ファイル形式は後方互換のため、日常的に言う「Clash設定」はこれらのクライアントで共通して使えます。
サブスクリプションリンクとは?どこで入手する?
サブスクリプションリンクはURLの一種で、アクセスするとノードとルールを含む設定内容が返されます。クライアントが定期的にこのURLを取得することで、最新ノードへ自動同期できます。リンクはノード提供事業者(プロバイダー)のユーザーパネルから取得でき、自前サーバーを運用している場合は自分で生成することも可能です。
サブスクリプションリンクはアカウント情報と同等なので、フォーラムやグループチャットに公開投稿しないでください。
ルールモード・グローバルモード・ダイレクトモードの違いは?
ルールモード(Rule)は設定ファイル内のルールを上から順に照合し、DIRECTに一致すれば直結、プロキシグループに一致すればノード経由となる、日常的に推奨されるモードです。グローバルモード(Global)はルールを無視し、すべての通信を選択中のノードへ送ります。ダイレクトモード(Direct)はすべての通信がプロキシを経由しません。
トラブル調査時は一時的にグローバルやダイレクトに切り替えて変数を切り分け、普段はルールモードのままにしておきましょう。
Clashクライアント自体がノードを提供する?
提供されません。Clash系クライアントはあくまで通信転送とルール振り分けのツールで、インストール直後は空の設定状態です。サブスクリプションを読み込むか、ノード情報を手動入力しないと使用できません。ノードの入手は自分で行う必要があります:プロバイダーのサブスクリプションを購入する、または自前サーバーにプロキシサービスを構築して接続情報を設定に入力する、のいずれかです。
ネット上で流通している無料ノードは概して不安定で、通信内容が記録されるリスクもあるため、利用には注意が必要です。
GEOIPとGeoSiteデータベースは何のため?
GEOIPはIPの所属地域を示すデータベースで、GEOIP,CN,DIRECTのようなルールは、宛先IPが中国本土に属するかどうかをこれで判定します。GeoSiteはドメイン分類データベースで、よく使われるサイトを用途別に分類したものです。両方ともルール振り分けの基礎データで、クライアント設定に通常更新ボタンがあります。データベースが古いと一部サイトの振り分け判定が誤る場合があるため、1〜2か月おきの更新がおすすめです。
インストール設定
WINDOWS / MACOS / IOS / TUNWindowsにはどのクライアントが向いている?
まず候補になるのはClash Plusで、インストール後すぐに使え、サブスク読込とシステムプロキシのスイッチがホーム画面にまとまっているため多くのユーザーに向いています。スクリプトや外部コントロール、Merge設定などより高度なカスタマイズをしたい場合はClash Verge Rev、シンプルな画面とクロスプラットフォーム対応を重視するならFlClashが選択肢です。旧来のClash for Windowsは開発が終了し、カーネルやルールデータも更新されないため新規インストールは避けましょう。
インストーラーはすべてダウンロードページにプラットフォーム別で用意しており、選び方の詳細はクライアント比較を参照してください。
macOSで「アプリが壊れているため開けません」と表示される場合の対処は?
これはApp Store経由で配布されていないアプリに対するGatekeeperの制限であり、インストーラー自体が壊れているわけではありません。対処法:ターミナルを開き、sudo xattr -rd com.apple.quarantine の後にアプリの完全パス(例:/Applications/Clash Verge.app)を指定して実行、パスワード入力後に再度開いてください。
「システム設定」の「プライバシーとセキュリティ」ページで、ブロック通知が出た後に「このまま開く」を選ぶ方法もあります。
サブスク読込後ノードリストが表示されない原因は?
次の4点を順に確認してください。1つ目、リンクのコピーが不完全または余分な空白が含まれている場合、パネルから再度コピーする。2つ目、サブスクの通信量が上限に達しているか期限切れの場合、パネルでステータスを確認する。3つ目、サブスクがクライアントが認識できない形式で返されている場合(例:V2RayのBase64形式サブスクをそのままClashクライアントに入力するなど)、サブスク変換サービスでClash YAML形式に変換する必要がある。4つ目、サブスクのドメインがネットワーク側で遮断されている場合、一時的に別のネットワークで更新を試す。
TUNモードをオンにするのに管理者権限やシステム拡張の許可が必要な理由は?
TUNモードは仮想ネットワークアダプタを作成し、システム全体の通信をカーネル側で処理する仕組みです。アダプタの作成はシステムレベルの操作であるため、Windowsではクライアントを管理者権限で実行するかサービスコンポーネントへの許可が必要、macOSではネットワーク拡張の承認が必要、LinuxではrootまたはバイナリへのCAP_NET_ADMIN権限付与が必要です。
この権限は仮想ネットワークアダプタの作成にのみ使われ、許可を拒否するとTUNは有効化できませんが、通常のシステムプロキシモードには影響しません。
iOSデバイスでClashクライアントをインストールするには?
iOSでは、App StoreでClash Plusを検索してそのままインストールするか、本サイトのダウンロードページのiOS欄からストアの詳細ページへ進んでください。公式サイトはclashplus.ioです。インストール後の初回起動時にVPN設定の追加を求められますが、これはiOS上のプロキシ系アプリすべてに共通する標準的な許可プロセスです。許可すればアプリ内でサブスクリプションリンクを貼り付けてノードを読み込み、接続できます。
使い方
LATENCY / RULES / PORTノードの遅延をテストして使えるノードを選ぶには?
クライアントのプロキシページでノードリストを開き、遅延テスト(雷アイコンやTestボタン)を押すと、各ノードに対してHTTP探測を1回行い、応答時間をミリ秒で表示します。この数値は探測経路の応答速度を示すだけで、低遅延=高帯域とは限りませんが、タイムアウト表示のノードは確実に使用できません。
日常的にはプロキシグループをurl-testタイプに設定しておけば、カーネルが自動で最も遅延の低いノードを選んでくれます。
サブスクの自動更新はどう設定する?
各クライアントとも定期的なサブスク取得に対応しています。Clash Verge Revはサブスクカードの編集画面で更新間隔(分単位)を入力、Clash Plusはサブスク管理から自動更新をオンに、FlClashは設定詳細から行います。1440分(1日1回)を目安に設定するのがおすすめです。頻度が高すぎるとサブスクサーバーに負荷をかけ、事業者によっては高頻度リクエストを制限することもあります。
更新に失敗した場合、クライアントは直前の有効な設定を保持します。
特定サイトを常に直結、または常にプロキシ経由にするには?
設定のrulesブロックの先頭にドメインルールを1行追加します。ルールは上から順に照合され、最初に一致したものが優先されます。常に直結にするならDOMAIN-SUFFIX,example.com,DIRECT、常にプロキシ経由にするなら出口をプロキシグループ名に変更してDOMAIN-SUFFIX,example.com,PROXYのように書きます。
GUIクライアントならサブスク本文を編集せずに済む方法もあります:Verge Revはグローバル拡張設定でルールを追記、Clash Plusはオーバーライド設定に追加でき、サブスクを更新してもカスタムルールは保持されます。
混合ポート7890とは何?他のソフトにプロキシを設定するには?
mixed-port 7890はカーネルがデフォルトで待ち受ける混合ポートで、HTTPとSOCKS5両方のプロキシリクエストを受け付けます。コマンドラインツールやサードパーティ製ソフトにプロキシを設定する場合、アドレスに127.0.0.1、ポートに7890を指定するだけです。例えばgitならgit config --global http.proxy http://127.0.0.1:7890を実行します。
ポート番号を変更している場合は、クライアント設定ページに表示されている実際の値に従ってください。
トラブル対処
TIMEOUT / PORT / LOOPBACK / 404システムプロキシをオンにしてもブラウザがネットに繋がらない場合の切り分け方は?
経路を1段ずつ分離して確認します。まずクライアントのログにブラウザからの接続記録があるか確認し、記録がなければシステムプロキシが反映されていないことを意味するので、OSのプロキシ設定のアドレスとポートがクライアントと一致しているか、他のプロキシソフトに設定が上書きされていないかを確認します。記録はあるがページが開けない場合はダイレクトモードに切り替えて国内サイトなどをテストし、開けるならノードの問題なので別のノードで再テストします。さらにブラウザ自体にプロキシを乗っ取る拡張機能が入っていないかも確認してください。
ノードが全部タイムアウトになる場合の対処は?
全ノードが一斉にタイムアウトする場合、単一ノードの問題ではないケースがほとんどです。まずサブスクを更新してください、事業者側がサーバーを一括更新している可能性があります。次にシステム時刻を確認してください、一部のプロトコルは時刻のズレに敏感で、1〜2分以上のずれがあるとハンドシェイクが全て失敗します。さらに本機のファイアウォールやセキュリティソフトがクライアントのプロセスをブロックしていないか確認します。最後に別のネットワーク環境(スマートフォンのテザリングなど)で再テストし、テザリングでは正常なら、現在のネットワークがプロキシプロトコルを遮断していることになります。
起動時に bind: address already in use エラーが出た場合の対処は?
このエラーは、待ち受けポート(よくあるのは7890や9090)が他のプロセスに使用されていることを意味します。Windowsではnetstat -ano | findstr 7890を実行して占有プロセスのPIDを特定し、タスクマネージャーで該当プロセスを見つけます。macOSとLinuxではlsof -i :7890を使います。
占有元は残留した旧カーネルプロセスや別のプロキシソフトであることが多く、それを終了すれば解決します。常駐ソフトが原因の場合はクライアント設定で混合ポートを7891など空いているポートに変更し、旧ポートを参照している他のソフト設定も合わせて更新してください。詳しい手順は記事『Clashのポート競合を解決する方法』を参照してください。
Windowsストアアプリ(UWP)がプロキシを経由しない場合の対処は?
UWPアプリはネットワーク分離のサンドボックス内で動作し、デフォルトで127.0.0.1へのアクセスが禁止されているため、ローカルのプロキシポートに接続できません。対処法は2つあります。1つ目はクライアント付属のUWPループバック解除ツール(Verge Rev設定内のUWPツール)を使い、対象アプリにチェックを入れてループバック制限を解除する方法。2つ目はTUNモードを直接オンにする方法で、通信は仮想ネットワークアダプタの層で処理されるためループバックアドレスに依存せず、すべてのUWPアプリに一括で効果があります。
サブスク更新時に404やタイムアウトが表示される場合の対処は?
404はサブスクアドレスが失効していることを示し、事業者がパネルのドメインを変更したりサブスクトークンをリセットした場合によく起きます。パネルにログインして新しいリンクをコピーし直してください。タイムアウトはサブスクサーバーへの通信が届いていないことを意味するので、クライアント側でサブスク更新時に「プロキシ経由で更新」を有効にしてノードを介して取得するか、別のネットワークで再試行してください。
何度も失敗する場合はブラウザで直接サブスクリンクにアクセスし、設定テキストが返るかエラーページが表示されるかを見れば、原因の切り分けが早くできます。
折りたたみ項目はすべてスクリプト不要で閲覧でき、質問をクリックするだけで展開されます。トラブル系の質問は項目内の順序どおりに1段ずつ実行し、変更のたびに動作確認をしてから次に進んでください。複数の変数を同時に変更しないよう注意してください。
質問が一覧にない場合は?
設定ガイドでは基本概念からTUN、日常的なメンテナンスまでを一連の流れで解説しており、用語集には設定ファイル中のすべてのフィールドの意味を収録しています。まだクライアントをインストールしていない方は、まずダウンロードページからパッケージを取得してください。