Windows版Clash導入ガイド:システムプロキシ・サブスクリプション設定・ループバック対策

Windows版Clashの導入から設定インポート、システムプロキシ、接続確認までを解説。権限・ポート・UWPループバックの問題にも対応します。

Windows版のClash GUIクライアントは、通常、画面、ClashまたはMihomoコア、設定管理、システムプロキシ制御で構成されています。インストールが完了しても、プログラムが起動できる状態になっただけです。実際に接続できるかどうかは、設定の有効性、プロキシグループの選択、ローカル待受ポート、Windowsのシステムプロキシ、DNSなどに左右されます。決まった順番で確認すると、スイッチを何度も切り替えるより原因を見つけやすくなります。

インストール前にシステム・アーキテクチャ・設定の入手元を確認

まず「設定 → システム → システム情報」でシステムの種類を確認します。IntelやAMD搭載PCではx64版を選ぶのが一般的です。ARMプロセッサ搭載のWindows端末では、まずARM64版を選択してください。アーキテクチャが合わないと、インストーラーが起動しなかったり、システムの変換機能経由でコアの起動に問題が発生したりします。

まずは当サイトのクライアントダウンロードページから対象プロジェクトへ進み、ページ上でメンテナンス状況を確認して、現在も更新されているWindowsクライアントを選びます。クライアントによってメニュー名は異なりますが、設定ファイル、プロキシポート、ルールモード、TUNの基本的な考え方はほぼ共通です。古いPCに別のClashクライアントが入っている場合は、移行前にサブスクリプションURL、現在のポリシー、自作ルールを控えてください。システムプロキシを制御するアプリを2つ同時に起動してはいけません。

  • Windows 10またはWindows 11に、現在利用できるシステム更新プログラムが適用されていることを確認します。
  • ディスク上の保存先に書き込み権限があることを確認し、ポータブル版を一時ダウンロードフォルダーに置いたまま長期間使わないようにします。
  • 有効なサブスクリプションURLまたはローカルのYAML設定ファイルを用意し、入手元が信頼できることを確認します。
  • 同じポートを使用しているプロキシ、デバッグツール、旧バージョンのクライアントを終了します。
  • 既存のシステムプロキシ設定を控えます。特に職場や学校のネットワークで使う手動プロキシのアドレスには注意してください。

クライアントをインストールして初回起動を完了

インストール版は通常、スタートメニューにショートカットを作成し、実行コンポーネントをユーザーフォルダーまたはプログラムフォルダーに配置します。ポータブル版は、まずアーカイブを完全に展開してください。圧縮ファイルのプレビュー画面から直接起動すると、コア、データベース、リソースファイルを正しく読み込めない場合があります。インストール先はできるだけ固定してください。後からサービスモードや自動起動を有効にした場合、フォルダーを移動するとサービスが古い場所を参照し続けることがあります。

  1. 同種のクライアントを終了し、インストーラーを実行するか、ポータブル版のパッケージを展開します。
  2. 初回起動後、メイン画面にコアの状態、プロキシポート、設定ページが表示されることを確認します。
  3. Windowsファイアウォールがネットワークアクセスを確認してきた場合は、現在のネットワークの種類に必要な範囲だけ許可します。ローカルでプロキシを使うだけなら、「接続できるようにする」ためにすべてのネットワークを開放する必要はありません。
  4. クライアントの設定を開き、コアが起動できること、ログにポート競合、設定の解析失敗、データベース読み込みエラーがないことを確認します。
  5. 設定をインポートするまでは、システムプロキシとTUNを無効にしたままにし、その後ひとつずつ有効にします。

クライアントによっては「サービスモード」「管理者ヘルパー」「Service Mode」などの機能が用意されています。これらは主に、TUN、ルーティング、DNS変更など、より高い権限が必要なネットワーク操作を実行するためのものです。通常のローカルHTTP、SOCKS、mixedポートを使うだけなら、クライアントを常に管理者として実行する必要はありません。サブスクリプションのインポートとシステムプロキシの有効化だけが目的なら、「毎回管理者として実行」を標準の解決策にしないでください。

プログラムが起動しないときに最初に確認すること

まずタスクマネージャーを開き、同名のプロセスがバックグラウンドに残っていないか確認します。古いプロセスを終了してから、もう一度起動してください。次に、クライアントのログフォルダーとWindowsセキュリティの保護履歴を確認します。画面は開くのにコアが何度も終了する場合は、設定の構文、ポート競合、コアファイルのパス、ランタイムに関するメッセージを重点的に確認します。解析できない設定ファイルは、画面のプログラムを再インストールするだけでは直りません。

サブスクリプションをインポートし、設定を更新してポリシーを選択

クライアントの設定またはProfilesページでサブスクリプション入力欄を探し、URL全体を貼り付けてダウンロードまたはインポートを実行します。成功すると、設定名、更新時刻、選択可能なプロキシグループが表示されます。設定カードが表示されただけでは有効になっていません。クリックして選択するか、現在の設定として指定してください。

  1. サブスクリプションをインポートし、クライアントによる解析が完了するまで待ちます。
  2. インポートした設定を選択し、ログに読み込み成功のメッセージが表示されるか確認します。
  3. プロキシまたはProxiesページを開き、設定で定義されたポリシーグループを探します。
  4. 手動選択が必要なグループでは利用可能なノードを選ぶか、遅延テストを参考に判断します。
  5. 設定ページに戻って一度更新を実行し、サブスクリプションを再び正常にダウンロードできることを確認します。

Clashのポリシーグループ名は設定の提供者が定義します。代表的な種類には、手動選択、自動速度測定、フォールバック、負荷分散があります。表示される遅延値は、テスト先とノード間で行った1回の測定結果にすぎず、すべてのWebサイトでの実速度を示すものではありません。テストがすべて失敗しても、すぐにノードが無効だと判断しないでください。サブスクリプションが有効になっていない、DNS解決に失敗している、テスト先に到達できない、システム時刻がずれている、といった原因でも結果は変わります。

ルールモード・グローバルモード・ダイレクトモード

ルールモードは、設定内のルールを上から順に照合するため、日常的な利用に適しています。グローバルモードは通常、指定したグローバルポリシーグループにトラフィックを渡し、プロキシ経路の一時的な確認に向いています。ダイレクトモードではトラフィックを直接接続し、問題がプロキシ経路に起因するかを切り分けられます。トラブル解決のために一時的にモードを切り替えることはできますが、確認後は設定の設計に合ったモードへ戻してください。

サブスクリプションのインポート時にYAML解析エラーが出る場合、ダウンロードした内容が設定ファイルではない、URLのコピーが途中で切れている、ローカル編集でインデントが壊れている、といった原因が考えられます。YAMLではスペースで階層を表し、タブを混在させてはいけません。クライアントが対応するのは、使用しているコアが実装している設定項目だけです。Mihomo向けの設定には、従来のClashコアが認識できない機能が含まれる場合があるため、設定と現在のコアに互換性があるかも確認してください。

Windowsのシステムプロキシを有効にしてローカルポートを確認

システムプロキシは、ブラウザーやWindowsのプロキシ設定に従うデスクトップアプリに適しています。クライアントでスイッチを有効にすると、通常はシステムプロキシが127.0.0.1などのローカルループバックアドレスを指し、ポートには設定内のHTTPポートまたはmixedポートが使われます。実際の番号は現在のクライアント表示を基準にし、別のPCのポートをそのまま使わないでください。

「設定 → ネットワークとインターネット → プロキシ」で現在の状態を確認できます。手動プロキシのアドレスは、クライアントの待受情報と一致している必要があります。クライアントのmixedポートが7890と表示されているのに、システムプロキシが古いソフトの別ポートを指していると、ブラウザーのリクエストは現在のコアに届きません。クライアントを変更した後に古いプロキシ設定が残っていることも、「プログラムを終了したのにWebページがすべて開けない」よくある原因です。

LANアクセスは必要なときだけ有効にする

Allow LANまたは「LAN接続を許可」を有効にすると、ローカルプロキシのポートがLANインターフェースでも待ち受け、同じネットワーク内の他の端末から利用できるようになります。自分のPCだけで使う場合は無効のままで構いません。共有が必要な場合は、待受アドレス、Windowsファイアウォールのルール、現在のネットワーク環境を同時に確認し、信頼できない公衆ネットワークでプロキシポートを公開しないようにします。

4つの層を順番に確認して接続を検証

接続確認は、トレイアイコンだけで判断せず、クライアント内部から対象アプリまで段階的に進めます。安定した確認順序は、設定の読み込み、ノード経路、ローカルプロキシ、システムアプリです。各段階で結果が明確になるため、エラーが起きた場所を絞り込めます。

  1. 設定層:現在の設定が選択され、ログに解析失敗がなく、プロキシポリシーグループが明確に選択されている。
  2. 経路層:ノードの遅延テストが結果を返す、またはグローバルモードで実際の接続記録が残る。
  3. ローカルプロキシ層:HTTP、SOCKS、mixedポートが待ち受け中と表示され、ポート競合エラーがない。
  4. アプリ層:システムプロキシを有効にしてテストページへアクセスし、接続一覧またはログで対象ドメインと適用されたポリシーを確認する。

ログのDIRECTは、ルールに従って直接接続されたことを示します。ポリシーグループ名が表示されている場合は、リクエストがそのグループに渡されています。REJECTは通常、ルールによって明示的に拒否されたことを意味します。対象ドメインの接続記録があるのにアクセスできない場合は、選択中のノード、DNSの結果、リモート側の応答を確認します。記録自体がない場合は、システムプロキシ、アプリのプロキシ設定、TUNの対象範囲に問題がある可能性が高いです。

コマンドラインツールがWindowsのシステムプロキシを自動的に読み取るとは限りません。バージョンや配布形態によって、システムプロキシへの対応は異なります。テストでは、Clashクライアントが表示するプロキシアドレスを明示し、コマンドラインの直接接続失敗をClashの障害と誤認しないようにします。

curl.exe --proxy http://127.0.0.1:ローカルHTTPポート https://example.com/

「ローカルHTTPポート」は、クライアントに現在表示されている数字へ置き換えます。SOCKSポートを使う場合は、そのツールが対応するSOCKS用のパラメーターを使用してください。SOCKSポートをHTTPポートとして入力してはいけません。

Microsoft StoreとUWPアプリのループバック対策

一部のパッケージアプリは、Windows AppContainerのネットワーク分離により、127.0.0.1上で動作するプロキシへ直接アクセスできません。ブラウザーはシステムプロキシ経由で接続できるのに、特定のMicrosoft Storeアプリ、旧UWPアプリ、コンテナー制限のあるコンポーネントだけがオフラインになり、Clashのログにもそのアプリのリクエストが記録されない場合が典型例です。

まずはクライアントに用意されている「UWPループバック」「Loopback Exemption」などの管理画面を使います。通常はインストール済みアプリが一覧表示されるため、ローカルプロキシへのアクセスが本当に必要なアプリだけを選択して保存します。問題が起きており、入手元が明確な項目だけを追加してください。ループバック除外は対象アプリのネットワーク分離範囲を変更するため、すべてのパッケージを一度に選択しないでください。

システムコマンドでループバック除外を確認

管理者権限でコマンドプロンプトを開き、まず現在の除外リストを確認します。

CheckNetIsolation LoopbackExempt -s

クライアントにGUIツールがない場合は、まずシステムから対象アプリの正確なPackage Family Nameを取得し、その名前で追加します。

CheckNetIsolation LoopbackExempt -a -n=アプリのPackageFamilyName

問題が解決したら、同じパッケージファミリー名を使って対象の項目を削除できます。

CheckNetIsolation LoopbackExempt -d -n=アプリのPackageFamilyName

ここにアプリの表示名を入力したり、別のPCのパッケージ名をそのままコピーしたりしてはいけません。アプリ自体がWindowsのシステムプロキシを読み取らない場合、ループバック除外を追加しても自動的にClashを使うとは限りません。その場合は、アプリのプロキシ動作を確認するか、TUNモードで対象トラフィックを引き受ける必要があります。

TUNモード・管理者権限・DNS

TUNモードは仮想ネットワークインターフェースとルーティングルールを使い、より多くのトラフィックを引き受けます。システムプロキシに従わないプログラムに適しています。最新のMihomoコアは、Windows上でクライアントのサービスコンポーネントと組み合わせてTUNを利用できますが、TUNはすべての障害を解決する万能スイッチではありません。有効にする前に、通常のシステムプロキシ経路が正常に動作することを確認し、TUNの問題とサブスクリプション・ノードの問題を切り分けられるようにします。

TUNを有効にすると、サービス、仮想NICのインストール、または初期化時の管理者権限が必要になる場合があります。ログにインターフェース作成失敗、ルート設定失敗、権限不足が表示されたら、まずクライアントの説明に従ってサービスコンポーネントをインストールし、クライアントを再起動します。比較テストのために複数のVPN、仮想NIC管理ツール、ネットワーク高速化ツールを長時間同時実行しないでください。デフォルトルート、インターフェースの優先順位、DNSが変更される可能性があります。

「接続済みなのに開けない」原因になるDNS

プロキシ接続を確立する前に、ノードのドメイン名を解決する必要がある場合があります。ルール照合や対象サイトへのアクセスもDNSに依存します。ノードのドメイン名を解決できない、DNSリクエストを別のソフトに横取りされる、TUNのDNSリダイレクト設定がシステム環境と衝突する、といった場合、ポリシーを選択できてポートも正常なのにページがタイムアウトすることがあります。

  • ログにDNS timeout、lookup failed、nameserverのエラーがないか確認します。
  • Windowsの時刻、日付、タイムゾーンが正確か確認し、暗号化DNSとHTTPSが同時に失敗するのを防ぎます。
  • DNSやルートを書き換える他のネットワークソフトを一時的に終了し、クライアントを再起動します。
  • 設定でfake-ipを有効にしている場合、LAN機器や特定アプリに問題が起きたときは、fake-ip-filterに該当ドメインが含まれているか確認します。
  • 設定の意味を理解しないままDNS、TUN、ルールモード、ノードを同時に変更しないでください。どの変更が効果をもたらしたのか判断できなくなります。

システムプロキシとTUNは、対応するクライアントで同時に有効化できる場合があります。しかしトラブル解決の段階では、一度に1種類の経路だけを検証することをおすすめします。システムプロキシは正常でTUNだけが異常なら、サービス権限、仮想インターフェース、ルート、DNSを確認します。両方とも異常なら、設定の読み込み、ノードの状態、ローカルポートに戻って確認してください。

Windowsでよくある障害の切り分け手順

システムプロキシを有効にするとすべてのWebページが開けない

まずシステムプロキシをすぐに無効にし、直接接続が回復するか確認します。次に、クライアントが動作しているか、ローカルプロキシポートが待ち受けているか、システム設定のアドレスとポートが一致しているかを確認します。クライアントが異常終了した後もWindowsに手動プロキシが残っている場合は、システムプロキシの画面で無効にしてからクライアントを再起動します。ログのポート競合は、別のプロセスが同じポートを使用していることを示す場合があります。競合するプログラムを終了するか、設定で許可されていればポートを変更してください。

ノードに遅延はあるのにWeb接続がタイムアウトする

遅延テストの成功は、特定のテストリクエストに応答があったことだけを示します。現在のポリシーグループで本当にそのノードが選択されているか確認し、対象ドメインに適用されたルールも確認します。ドメインが別のポリシーグループに割り当てられている場合、グローバル側のノードを変更しても影響しません。サブスクリプション設定のフォールバックルール、ダイレクトルール、ノードのプロトコルが必要とするシステム時刻にも注意してください。

サブスクリプションの更新に失敗しても古い設定は使える

これは通常、既存の設定がローカルにキャッシュされている一方、更新先URLには一時的にアクセスできないことを示します。サブスクリプションURLが完全か、アカウントが有効か、更新リクエストが現在のルールで誤って転送されていないか確認します。システムプロキシを無効にして再試行するか、サブスクリプション提供元の指示に従い、更新リクエストを直接接続またはプロキシ経由にします。まだ使える古い設定は削除せず、必要なローカル変更を先にエクスポートしてください。

PCの再起動後にプロキシの状態がおかしい

クライアントの自動起動、コアの起動、自動的なシステムプロキシ設定という3つの動作の順番を確認します。プログラムの起動が遅いと、Windowsが前回のプロキシアドレスを一時的に保持したまま、該当ポートだけがまだ待ち受けていない場合があります。デスクトップが表示されたら、トレイプロセスとコアの状態を確認します。自動的な引き受けが不要なら、自動設定を無効にし、クライアントが完全に起動してから手動で有効にします。

LANアドレスやプリンターだけにアクセスできない

まず問題がシステムプロキシとTUNのどちらで発生しているかを判断します。システムプロキシモードでは、Windowsのプロキシ除外リストと設定内のLAN向けダイレクトルールを確認します。TUNモードでは、プライベートアドレス帯のルート、インターフェースの優先順位、厳格なルーティング設定も確認します。代表的なプライベートネットワークは10.0.0.0/8172.16.0.0/12192.168.0.0/16ですが、実際の対応は現在のLANアドレスと設定ルールを基準にしてください。

インストール後のメンテナンス項目

安定して動作しているなら、すべての項目を頻繁に変更する必要はありません。再現可能な状態を1つ残しておくと、異常時に比較しやすくなります。サブスクリプションを更新した後は、ポリシーグループがリセットされていないか確認します。自作ルールは、クライアントが明確に対応しているオーバーライドまたは拡張領域に配置し、更新のたびに置き換えられるサブスクリプションファイルを直接編集しないでください。

  • クライアントと使用中のコアを定期的に更新し、対象プロジェクトのリリースノートを確認します。
  • サブスクリプションを更新した後、現在の設定、ポリシーグループ、ルールモードが想定どおりか確認します。
  • 必要な設定のバックアップを保管します。ただし共有する前に、サブスクリプションのトークンとアカウント情報を削除してください。
  • クライアントを切り替える前に、古いクライアントのシステムプロキシ、TUN、バックグラウンドサービスを無効にします。
  • トラブル解決時は、時刻、エラーメッセージ、適用ルール、ポートの状態を記録します。「つながらない」だけでは不十分です。

ルール、DNS、ポリシーグループ、設定項目についてさらに確認したい場合は、当サイトのClash使用ガイドをご覧ください。別のプラットフォームを画面の手順に沿って設定する場合は、インストールと設定のチュートリアルへ進んでください。Windows版で重要なのは、すべての機能を同時に有効にすることではありません。まず設定、ノード、ローカルポート、システムプロキシで検証可能な接続経路を作り、必要に応じてループバック除外やTUNを追加します。

Clashをダウンロード