トラブルシューティング講義

Clash よくある質問:まず分類から症状を探す

サブスク導入、ノードタイムアウト、TUN権限、システムプロキシなど、実際に何度も聞かれてきた場面から選んだ18件の高頻度Q&A。各項目でまず確認方法を示し、続いて対処手順を提示します。読んでも解決しない場合は、本文中に示した関連する解説記事・トラブル解決記事への入口を活用してください。

分類 1 / 4

基礎知識

まず用語を揃えましょう。設定・サブスク・コアといった言葉の意味を理解していないと、その後の手順すべてで迷いが生じます。

Clash とは何か?設定ファイル・サブスク・ノードはそれぞれ何を指すのか

Clash はルールベースのプロキシクライアントの総称で、核となるのは YAML 形式の設定ファイルです。設定内で重要なのは3つ:proxies はノード、つまり利用可能なプロキシサーバーです。proxy-groups はポリシーグループで、どのノードを使うかを決めます。rules はルールで、どの通信をプロキシ経由にするかを決めます。

サブスクは業者が提供するURLで、クライアントが定期的に取得してこの設定を自動生成します。まず覚えておきたいのは、クライアントは単なる入れ物であり、動作はすべて設定内容によって決まるという点です。各項目の詳細な意味は用語集をご覧ください。

Clash for Windows が更新停止、今どのクライアントを使うべきか

開発者はメンテナンスを終了し、リポジトリはアーカイブされ、新しいOSや新プロトコルに対応していません。Windows での主流の代替は Clash Verge Rev と FlClash で、両者ともコアが mihomo に切り替わっており、対応プロトコルも豊富で、既存のサブスクはほぼそのまま移行できます。

Clash for Windows を使い続けても構いませんが、プロトコル未対応やOS互換性の問題が出た場合は旧クライアントの原因調査をせず、そのまま新しいクライアントに切り替えるのが得策です。ダウンロードページにはOS別に現在利用可能なクライアントをまとめています。

オリジナルコア・Clash.Meta・mihomo の関係とは

3つの名称は一本の進化の流れです。オリジナルの Clash コアが出発点でしたが開発は停止。Clash.Meta はコミュニティによる強化版で、VLESS や Hysteria2 など新プロトコルへの対応を追加しました。その後 Meta は mihomo に名称を変え、現在唯一活発にメンテナンスされているメインラインです。

現在ダウンロードできる Clash Verge Rev や FlClash などのクライアントには、いずれも mihomo が組み込まれています。設定項目は後方互換性があり、既存の設定はほぼそのまま動作します。コア系統ごとの機能差の比較はプロトコル解説をご覧ください。

ルールモード・グローバルモード・直接接続モードはそれぞれいつ使うべきか

ルールモード(rule)は日常的なデフォルト設定で、通信を rules に照らして1件ずつ判定し、該当したルールに従って処理され、直接接続とプロキシ経由が互いに干渉しません。グローバルモード(global)はすべての通信を同じ出口に流すもので、ノードの一時的な検証やルールの明らかな誤判定時に短時間だけ使うものです。直接接続モード(direct)はプロキシを一時的に無効化しつつクライアントの稼働自体は継続する状態と同じです。

長時間グローバルモードのままにすると通信量の無駄になるうえ、ローカルのサイトアクセスも遅くなります。日常的には rule に固定しておけば十分で、この点はチュートリアルのステップ2で詳しく解説しています。

分類 2 / 4

導入設定

インストールからサブスク導入までの間に、詰まりやすい落とし穴が集中しています。形式の不一致、システムによるブロック、依存関係の不足などです。

サブスクリンクを導入してもノード一覧が空になる場合の対処法

順番に3点を確認してください。1点目、サブスクが期限切れまたはトラフィック使い切りになっていないか──業者の管理画面でステータスを確認します。期限切れのサブスクが空の内容を返すのはよくあることです。2点目、サブスクの形式とクライアントが一致しているか──一部のサブスクはデフォルトで V2Ray 形式を出力するため、Clash クライアントでは認識できません。業者の案内に従いサブスクリンクの末尾に Clash 用パラメータを付与するか、サブスク変換を利用してください。3点目、導入方法──貼り付けたのがサブスクのURL自体であり、サブスクを開いて表示されたページの内容をコピーしたものではないか確認します。

修正後、クライアント側でサブスクを手動更新して結果を確認してください。導入の詳しい手順はチュートリアルのステップ1をご覧ください。

Windows で Clash Verge Rev をインストール後、画面が白くなる、または WebView2 エラーが出る場合

Clash Verge Rev の画面表示はマイクロソフトの WebView2 ランタイムに依存しています。Windows 11 には標準搭載されていますが、一部の Windows 10 や簡易版OSでは不足しており、起動時の白い画面やエラー表示の原因になります。マイクロソフト公式サイトから WebView2 Evergreen ランタイムをダウンロードしてインストールすれば起動できるようになります。

もう一つよくある原因はインストール先のパスに特殊文字が含まれていることで、デフォルトのパスへのインストールを推奨します。インストーラーの選び方から振り分け動作の確認までの全手順は、ブログ記事Windows で Clash Verge Rev を導入する全手順をご覧ください。

macOS でクライアントを開くと「開発元が未確認」または「破損している」と表示される場合

これは App Store 経由で配布されていないアプリに対する Gatekeeper のデフォルトの警告であり、インストーラー自体に問題があるわけではありません。対処法:システム設定 → プライバシーとセキュリティで、ブロック表示の下にある「このまま開く」をクリックします。「破損しているため、ゴミ箱に入れます」と表示された場合は、ターミナルで xattr -cr /Applications/アプリ名.app を実行して隔離属性を解除してから再度開いてください。

もう一点、チップのアーキテクチャに注意が必要です。Apple Silicon と Intel ではそれぞれ対応するバージョンをダウンロードしてください。ダウンロードページの macOS 欄に両方を掲載しています。

クライアントが自分のサブスクを認識しない、「サブスク変換」とは何をするものか

クライアントごとに対応する形式が異なります。Clash系はYAMLを、V2Ray系はBase64のリンク一覧を読み込みます。サブスク変換はこの形式を翻訳する仕組みで、業者から提供されたリンクを対象クライアントが認識できる形式に変換し、多くの場合振り分けルールのテンプレートも一緒に適用します。

まずは業者に Clash 専用のサブスクURLを発行してもらうのが最善で、多くの業者がこれに対応しています。それが本当にない場合のみ変換サービスを利用してください。サブスクリンクにはアカウント情報が含まれるため、出所不明の変換サイトには絶対に提出しないよう注意してください。各クライアントのサブスク形式の対応状況はプロトコル解説をご覧ください。

分類 3 / 4

使い方

接続できるようになった後、振り分け・速度測定・共有をきちんと整理しておくと体験の差が大きく変わります。

サイトごとに異なるノードを使い分ける方法

「ルール+ポリシーグループ」の組み合わせで実現します。rules の各ルールの出口はポリシーグループを指すことができます。例えば動画配信サイトのドメインを「ストリーミング」グループに、通常の海外通信を「自動選択」グループに割り当てます。クライアントの画面上で各グループにノードを選択し、ルールに一致した通信はそのグループの現在の選択に従って出力されます。

多くのサブスクはこの分類をあらかじめ備えており、プロキシページでそのまま切り替えるだけで使えます。自分でカスタマイズしたい場合は、設定またはクライアントのルール設定で DOMAIN-SUFFIX ルールを1つ追加し、目的のグループを指定します。ルールは上から順にマッチングされ、一致したところで処理が止まるため、新しいルールは MATCH の兜底ルールより前に配置することを忘れないでください。

url-test と select ポリシーグループの違いとは

select は手動グループで、選んだノードをそのまま使い、切り替えるまで変わりません。url-test は自動グループで、バックグラウンドで定期的にテストURLへリクエストを送り、遅延を測定して最速のノードを選び、切断時は自動で切り替えます。日常的には二段構成を推奨します──外側の select グループの中に url-test グループを「自動」の選択肢として1つ用意し、通常は自動選択に任せ、特別な用途では個別のノードに手動で切り替えるという運用です。

自動選択のノードが思わしくない場合は、テスト間隔(interval)と許容誤差(tolerance)を確認してください。許容誤差を大きくすると、遅延が近いノード同士の頻繁な切り替わりを防ぐことができます。

ノードの遅延はどう測定される?数値の意味は?

クライアントのプロキシページには遅延テストボタンが用意されており、そのノードを経由してテスト用アドレスにHTTPリクエストを送り、その所要時間をミリ秒単位で記録する仕組みです。数値が示すのは「接続確立+1往復」の時間であり、ダウンロード速度とは異なります。遅延80msのノードでも帯域が非常に狭いことがあり、逆に300msのノードで動画視聴が快適な場合もあります。

遅延はタイムアウトや明らかに劣化したノードをふるい落とすのに向いています。ノード選びで見るべきは、遅延が安定して跳ねないこと、実際に使ってみて詰まらないことの2点です。すべてタイムアウトと表示される場合は、まずノードを疑うのではなく、下記のトラブル対処分類の順序に従って確認してください。

テレビやゲーム機でパソコンのプロキシを共有する方法

クライアントで「LAN接続を許可」(allow-lan)を有効にし、パソコンのLAN内IPアドレスと混合ポート番号(多くは7890)を確認します。テレビやゲーム機のネットワーク設定で、プロキシサーバーにパソコンのIPアドレス、ポートに7890、プロトコルにHTTPを指定します。

前提:両方の機器が同じルーター下にあり、パソコン側のファイアウォールで該当ポートを許可していること──Windowsでは初回にファイアウォールの許可ダイアログが表示されるので、プライベートネットワークにチェックを入れてください。パソコンがスリープするとプロキシは切断されるため、長時間使う場合はスリープを無効にすることを推奨します。

サブスクは手動更新が必要?どれくらいの頻度で更新すればよいか

更新は必要ですが、頻繁に行う必要はありません。業者側でノードのアドレスやポートが変更されることがあり、ローカルのサブスクを更新しないままだと古いノード情報のままになり、ノードが次々とタイムアウトする原因になります。主要なクライアントはサブスクの自動更新に対応しており、間隔は12〜24時間程度で十分です。ノードに大規模な異常が発生した場合は、まずサブスクを手動で1回更新してみるのが最初の対処です。

自動更新の失敗は多くの場合サイレントに起きる点に注意してください。クライアント内でサブスクの「最終更新時刻」を確認できるので、トラブル時はまずこのタイムスタンプを見てください。

分類 4 / 4

トラブル対処

接続できない、効かない、起動できない──この種の問題にはいずれも決まった確認順序があります。手順を飛ばさないようにしましょう。

トラブル対処の基本原則:一度に1箇所だけ変更し、変更したらすぐに確認する。3つの設定を同時に変えてしまうと、うまくいってもどれが効いたのか分からず、失敗した場合はさらに元に戻せなくなります。

システムプロキシは有効なのに、ブラウザがプロキシ経由にならない場合

まずクライアントの「システムプロキシ」スイッチが確実にオンになっているか確認し、その上で3点を確認します。1点目、OSのプロキシ設定が元に戻されていないか──Windowsの設定 → ネットワークとインターネット → プロキシのページには 127.0.0.1 とクライアントのポートが表示されているはずですが、一部のソフトは終了時にこの設定を消去することがあります。2点目、PACの残留設定──以前別のプロキシソフトを使っていた場合、「自動構成スクリプト」が無効なアドレスを指したままになっていることがあるので、これをクリアします。3点目、ブラウザのプロキシ拡張機能はシステム設定より優先度が高いため、拡張機能側を「システムプロキシ」モードに切り替えます。

それぞれ修正後、ブラウザを再起動して確認してください。ブラウザとターミナルの両方の完全な確認手順は、ブログ記事システムプロキシが有効なのに効かない場合の対処をご覧ください。

ノードが全てタイムアウトする場合、どの順序で確認すべきか

全ノードがタイムアウトする場合、基本的にノード自体の問題ではないことが多いです。順番に確認:①サブスクが期限切れやトラフィック使い切りになっていないか(業者の管理画面で確認);②ローカルのシステム時刻が正確か──一部のプロトコルは時刻のずれに敏感で、数分の誤差でもハンドシェイクに失敗するため、自動同期を有効にする;③ポートが他のソフトに占有されていないか──別のプロキシソフトが7890を使用している場合、クライアントのログに bind 失敗の記録が残る;④コアとプロトコルが一致しているか──サブスクに Hysteria2 や VLESS などの新プロトコルが含まれているのに古いコアのクライアントを使っている場合は、mihomo コアのクライアントに切り替える;⑤スマホのテザリングなど別のネットワーク環境で再テストし、ローカルネットワークの干渉を排除する。

各ステップの確認方法と対処については、ブログ記事Clashのノードが全てタイムアウトする場合の確認順序をご覧ください。

TUNモードが起動できず、権限不足と表示される場合

TUN はシステム内に仮想ネットワークアダプタを作成する必要があるため、管理者/root権限が必須です。Windows:Clash Verge Rev の設定でまず「サービスモード」をインストールして有効化し、システムサービスの許可を得てから TUN を有効にする必要があり、直接有効化すると失敗します。macOS:初回有効化時にシステム拡張や権限確認のダイアログが表示されるので、システム設定で許可してください。Android:VpnService の許可ダイアログで必ず「許可」をタップする必要があります。

有効化後に通信ができない場合は、クライアントの推奨に従って DNS ハイジャック設定を有効にしているか確認してください──TUN モードでの DNS 設定不備は通信断の主な原因です。TUN とシステムプロキシの仕組みの違いについては、ブログ記事TUNモードとシステムプロキシの違いをご覧ください。

UWPアプリ(Microsoft Store アプリ)がプロキシ経由にならない場合

Windows には UWP アプリに対するネットワーク分離機能があり、デフォルトでローカルループバックアドレス 127.0.0.1 へのアクセスを禁止しているため、ストアアプリにはシステムプロキシが効きません。解決策は2つ:1つ目は、クライアントに搭載されている「UWPループバック解除」ツール(Clash Verge Rev の設定内に入口があります)を使う方法で、対象アプリにチェックを入れて制限を解除します。2つ目は、TUNモードを直接有効にし、ネットワーク層で通信を引き継ぐことでループバック制限を回避する方法です。

同じソフトにデスクトップ版(win32)がある場合は、そちらに切り替えることでもこの制限を回避できます。

ブラウザは正常なのに、ターミナルやコマンドラインがプロキシ経由にならない場合

これは正常な現象です。ターミナル内のコマンドはシステムプロキシ設定を読まず、環境変数のみを認識します。一時的な対処として、現在のセッションで export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890 を実行します(ポート番号はクライアントの実際の混合ポートに合わせて変更してください)。永続的に有効にしたい場合は shell の設定ファイルに書き込みます。Windows の PowerShell では $env:https_proxy の構文を使用します。

git や docker などのツールにはそれぞれ独自のプロキシ設定項目があり、環境変数を読まないものは個別に設定する必要がある点に注意してください。両方の完全な対照表は、ブログ記事システムプロキシ確認手順の記事をご覧ください。

まだ解決しませんか?

別の入口から調べる

Q&Aで解決しない場面は、問題の性質に応じて以下のページをご利用ください。導入手順はチュートリアル、選定の判断はプロトコル解説、用語の確認は用語集をご覧ください。