インストール前にクライアント、アーキテクチャ、カーネルを確認
Windowsで「Clash」という場合、通常はGUIクライアントとプロキシカーネルの両方を指します。GUIクライアントは設定管理、トレイメニュー、システムプロキシの切り替え、ログ表示を担当し、ルールの解析と接続の確立を実際に行うのはClashカーネルです。2026年現在も更新されているWindowsクライアントは、通常mihomoカーネルを採用しています。初期のClash for Windowsで最後によく使われたバージョンは0.20.39ですが、すでにメンテナンスが終了しており、新しいフィールドに依存するmihomo設定をそのまま扱う用途には適しません。
現在も保守されているmihomoクライアントを優先する
代表的な選択肢には、Clash Verge Revなどmihomoベースのデスクトップクライアントがあります。ダウンロード前に、Windowsの「設定」→「システム」→「バージョン情報」→「システムの種類」を確認し、対応するインストーラーを選びます。IntelまたはAMD搭載PCの多くはx64、Snapdragon XシリーズなどARMプロセッサ搭載デバイスはarm64を使用します。ファイル名のアーキテクチャを一致させる必要があり、Windows 10かWindows 11かだけで判断してはいけません。
| インストーラーの表記 | 対応デバイス | よくあるケース |
|---|---|---|
x64 / amd64 |
IntelまたはAMDの64ビットプロセッサ | 大半のWindows 10・Windows 11 PC |
arm64 |
Windows on ARMデバイス | Snapdragon X Elite、X Plusなどのプラットフォーム |
portable |
ポータブル実行 | 設定は通常、プログラムフォルダーまたは指定データフォルダーに保存されます |
setup / installer |
標準インストール | スタートメニュー項目を作成し、アンインストール情報を登録できます |
ダウンロード後にセキュリティソフトでブロックされた場合
プロキシクライアントはローカルポートを待ち受け、システムプロキシを変更し、TUNサービスをインストールする場合もあるため、セキュリティソフトのヒューリスティック検知に引っかかりやすい傾向があります。ブロックされたときは、出所の不明なインストーラーを次々に試さないでください。まずファイル名、バージョン番号、配布元を確認し、「Windows セキュリティ」→「ウイルスと脅威の防止」→「保護の履歴」で検知対象と処理時刻を確認します。
インストーラーを起動した直後に消える場合は、WindowsのSmartScreenの警告も確認してください。「詳細情報」を選ぶと発行元とファイル情報を確認できます。企業PCがグループポリシーで管理されている場合は、管理者によるソフトウェア実行ポリシーの確認が必要です。インストール後は、通常プログラムフォルダーと設定フォルダーが別々に存在するため、アンインストールしてもユーザー設定まで削除されるとは限りません。
インストールを完了し、初回起動時の問題を確認する
標準的なインストール手順
- 起動中の古いClashクライアントを終了し、
7890、7891、9090ポートが使われ続けないようにします。 - プロセッサのアーキテクチャに合ったインストーラーを実行し、インストールウィザードに従ってインストールします。
- スタートメニューからクライアントを起動し、タスクトレイにクライアントのアイコンが表示されることを確認します。
- 「設定」→「システム設定」を開き、アプリのデータフォルダーを正常に開けることを確認します。
- 「設定」→「Clash設定」または同様のカーネル設定ページを開き、カーネルの状態とバージョン情報を確認します。
クライアントによってメニュー名はバージョンごとに変わります。Clash Verge Revでは、デスクトップ動作を「設定」→「システム設定」に、ポート、カーネル、実行モードを「設定」→「Clash設定」に配置していることが多いです。一方、Clash for Windows 0.20.39では、ポート、システムプロキシ、自動起動の切り替えは主にGeneralページに表示されます。
ダブルクリックしてウィンドウが表示されなくても、起動していないとは限らない
Windowsクライアントは通常、メインウィンドウを閉じた後もトレイに常駐できます。最初の確認では、タスクバー右側にある非表示アイコンの矢印をクリックし、複数のプロセスを何度も起動しないようにします。「タスクマネージャー」→「詳細」でクライアントのプロセスとmihomo.exeを検索することもできます。GUIは表示されるのにカーネルプロセスが繰り返し終了する場合は、アプリ内の「ログ」ページを直接確認してください。
ログの最初のエラーは、後続の連鎖的なエラーより重要な情報を含むことが多いです。設定構文の問題ではparse config error、ポート競合ではbind: Only one usage of each socket address、サービス権限の問題ではAccess is deniedが表示されることがあります。エラーが発生した時刻を記録し、Windowsイベントビューアーのアプリケーションログと照合すると、GUIのクラッシュとカーネルの起動失敗を切り分けられます。
サブスクを導入し、設定が実際に動作しているか確認する
サブスクURLから導入する
サブスクURLをコピーしたら、クライアントの「サブスク」または「設定」ページで「新規作成」→「URLからインポート」を選び、URLを貼り付けて識別しやすい名前を設定します。例:「プロバイダーA-メイン設定」。サブスクURLには通常アクセス情報が含まれるため、公開されている変換サイト、スクリーンショット、問い合わせ本文に貼り付けないでください。
導入に成功したことは、クライアントが内容を取得できたことを示すだけで、設定が有効になったことを意味しません。設定一覧で対象設定を選択し、カーネルの再読み込みを待ったうえで、「プロキシ」ページに少なくとも1つのプロキシグループと選択可能なノードがあることを確認します。ページに空のグループしか表示されない場合は、サブスクの応答がログインページ、エラーメッセージ、HTML内容に置き換わっていないか確認してください。
ローカルYAML設定で最低限確認する項目
YAMLを手動でインポートする場合、インデントにはスペースだけを使用します。以下はポートとコントロールインターフェースを理解するための基本フィールドであり、ノード設定全体ではありません。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
dns:
enable: true
listen: 127.0.0.1:1053
enhanced-mode: fake-ip
mixed-port: 7890は、HTTPとSOCKSのリクエストを同じローカルポートで受け付けることを示します。allow-lan: falseは、デフォルトでLAN内の他のデバイスからの接続を受け付けないことを示します。external-controllerはコントロールインターフェースであり、ブラウザーに入力するプロキシポートではありません。9090を誤ってプロキシポートとして設定すると、接続拒否やコントロールインターフェースの応答が返ることがあります。
まずノードをテストし、その後にシステムプロキシを有効にする
「プロキシ」ページでノードを1つ選び、遅延テストを実行します。遅延結果はテストURLへの1回のHTTP往復を示すだけで、ノードの帯域が安定していることを単独で証明するものではありません。初回確認は、プロキシグループでノードが選択されていることを確認し、ログにアウトバウンド接続が出ているかを確認してから、ブラウザーで通常のHTTPページとHTTPSページにアクセスする順序が確実です。
PowerShellでローカルプロキシを明示的に指定してテストすれば、システムプロキシの設定を回避できます。
curl.exe -x http://127.0.0.1:7890 https://www.gstatic.com/generate_204 -I
正常であれば、数秒以内にHTTPステータス行が返ります。コマンドは成功するのにブラウザーだけ失敗する場合、問題は通常Windowsのシステムプロキシまたはブラウザー拡張機能にあります。コマンドも失敗する場合は、ノード、ルール、DNS、ローカルの待ち受けポートを引き続き確認してください。
システムプロキシを有効にし、ポート競合に対処する
システムプロキシが実際に影響するアプリ
クライアントで「システムプロキシ」を有効にすると、Windowsのプロキシ設定は通常127.0.0.1:7890を指します。「設定」→「ネットワークとインターネット」→「プロキシ」で現在の状態を確認できます。ChromeやEdgeなどシステムプロキシに従うアプリはClash経由で接続しますが、一部のゲーム、コマンドラインツール、バックグラウンドサービス、独自のネットワークスタックを実装するソフトウェアは、この設定を無視することがあります。
システムプロキシを有効にしてもウェブページが直接接続される場合は、まずブラウザーを完全に終了して再起動します。ブラウザーにプロキシ拡張機能を入れている場合は一時的に無効にし、PAC、固定プロキシ、Windows設定が上書きし合うのを避けてください。コマンドラインプログラムにも固有のルールがあり、たとえばGitはhttp.proxyを読み取る場合があります。また、一部のシステムコンポーネントはWinHTTP設定を使用するため、すべてのプログラムが自動的にデスクトップのプロキシに従うとは限りません。
7890が使用中か確認する
複数のプロキシクライアントを同時に実行することは、ポート競合のよくある原因です。管理者権限または通常権限のPowerShellで次のコマンドを実行すると、7890を待ち受けているプロセスを確認できます。
Get-NetTCPConnection -LocalPort 7890 -State Listen |
Select-Object LocalAddress, LocalPort, OwningProcess
Get-Process -Id プロセスID
Windows標準のコマンドも使用できます。
netstat -ano | findstr :7890
tasklist /fi "PID eq プロセスID"
ポートが旧版Clash、別のプロキシツール、または残存しているカーネルに割り当てられている場合は、まず該当プログラムを通常の手順で終了します。2つのクライアントを同時に動かす必要がある場合は、一方の混合ポートを7892に変更し、システムプロキシの接続先も合わせて更新します。YAMLだけを変更して設定を再読み込みしなければ、ポートはすぐには変わりません。
| 主なポート | 用途 | 確認するポイント |
|---|---|---|
7890 |
MixedまたはHTTPプロキシ | システムプロキシが同じポートを指しているか |
7891 |
一部の旧設定で使われるSOCKSプロキシ | アプリが誤ったプロキシプロトコルを選んでいないか |
9090 |
外部コントロールインターフェース | ウェブプロキシのポートとして入力しない |
1053 |
DNSの例示用待ち受けポート | ローカルDNSツールと競合していないか |
クライアント終了後もシステムプロキシが残る
クライアントが異常終了すると、Windowsのプロキシ設定が復元される前に処理が終わることがあります。まずクライアントを再起動して「システムプロキシ」を無効にし、その後通常の手順で終了します。クライアントを起動できない場合は、「設定」→「ネットワークとインターネット」→「プロキシ」を開き、手動プロキシサーバーを無効にして、アドレスとポートが127.0.0.1:7890のままになっていないか確認してください。
TUNモードのインストール、権限、DNSを確認する
TUNが必要になる場面
TUNモードは仮想ネットワークインターフェースを作成し、システムプロキシに従わないアプリもmihomoに通過させます。ゲームプラットフォーム、一部のコマンドラインプログラム、UDPを使用するアプリではTUNが必要になる可能性が高くなります。通常のブラウザー利用では、まずシステムプロキシを使い、サブスク、ノード、ルールが正常であることを確認してからTUNを個別に有効にすると、問題を特定しやすくなります。
WindowsでTUNを有効にするには、通常、管理者権限またはクライアントがインストールするサービスコンポーネントが必要です。Clash Verge Revを例にすると、「設定」→「システム設定」でサービスモードをインストールし、その後「設定」→「Clash設定」でTUNを有効にします。メニュー位置はクライアントのバージョンによって変わりますが、「サービスのインストール成功」と「TUNスイッチの有効化」は別の状態です。
TUN有効化後にインターネットへ接続できない場合の4項目
- サービス状態を確認:「サービス」アプリを開き、クライアントに対応するサービスが実行中であることを確認します。サービスが起動直後に停止する場合は、クライアントログとWindowsのシステムログを確認してください。
- 仮想ネットワークアダプターを確認:「設定」→「ネットワークとインターネット」→「ネットワークの詳細設定」を開き、TUNインターフェースが作成され、手動で無効化されていないことを確認します。
- DNSを確認:ログに名前解決のタイムアウトが継続して表示される場合は、まず設定内のDNSサーバーに到達できることを確認し、他のDNSフィルタリングソフトが
53ポートを使用していないか確認します。 - ルーティング競合を確認:企業VPN、ゲームアクセラレーター、Hyper-V、WSL、その他の仮想ネットワークアダプターがルートを書き換えることがあります。同種のソフトウェアを一時的に終了して再テストすると、競合元を素早く切り分けられます。
mihomoのTUN設定にはstack、auto-route、auto-detect-interfaceなどのフィールドが含まれることがあります。一般的な設定ではmixedスタックと自動ルーティングを使用しますが、最終的に利用できる値はカーネルのバージョンによって異なります。古いチュートリアルからTUN設定全体をコピーし、サブスクが提供する設定をそのまま上書きしないでください。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
dns-hijackは、指定したDNSリクエストをカーネルに処理させるための設定です。すべてのDNS問題が自動的に解消されるわけではありません。上流サーバーに到達できない、ルールがDNSリクエストを誤った出口へ送る、またはローカルのセキュリティポリシーが仮想インターフェースを遮断する場合は、引き続き名前解決に失敗します。
自動起動が機能しない場合とアップグレード後の復旧手順
アプリの自動起動、カーネル起動、プロキシ適用を切り分ける
「自動起動」には少なくとも3つの段階があります。Windowsへのログイン後にGUIクライアントが起動すること、クライアントがmihomoカーネルを起動すること、クライアントがシステムプロキシまたはTUNの状態を復元することです。トレイアイコンが表示されただけでは、プロキシが適用されたとは限りません。同様に、バックグラウンドサービスが動作していても、現在の設定が正常に読み込まれたとは限りません。
まずクライアントの「設定」→「システム設定」で自動起動を有効にし、「タスクマネージャー」→「スタートアップアプリ」で該当項目が有効になっていることを確認します。バージョンによってはレジストリのスタートアップ項目を使い、別のバージョンではタスクスケジューラやスタートアップフォルダーを使います。アップグレードでインストール先を変更すると、古いスタートアップ項目が存在しない実行ファイルを指したままになることがあります。
自動起動後にプロキシが適用されない場合の確認手順
- Windowsにログインしてから15~30秒待ち、クライアントがトレイに表示されるか確認します。
- クライアントのログを開き、カーネルが起動を完了して現在の設定を読み込んだか確認します。
- サブスク設定が選択されたままか、空の設定やデフォルト設定に戻っていないか確認します。
- 「システムプロキシ」またはTUNスイッチが、クライアントの設定どおりに復元されているか確認します。
- Windowsのプロキシアドレスが現在のポート、たとえば
127.0.0.1:7890になっているか確認します。
クライアントがネットワーク接続の準備より先に起動すると、ログイン時のサブスク自動更新に失敗することがあります。この場合、サブスクの失敗をノードの無効と誤判断しないでください。ネットワークが安定してから手動で一度更新し、HTTPステータスとログの時刻を確認します。ノートPCがスリープから復帰してWi-Fiを切り替えた後も、デフォルトのネットワークアダプターを再検出する必要が生じることがあります。TUN使用時は特に顕著です。
クライアントのアップグレード時に保持する情報
アップグレード前に、現在のクライアントバージョン、カーネルバージョン、ポート、実行モード、設定名を記録します。サブスクURLとローカルの上書きルールは別途保存し、クライアント内部のデータベースだけに依存しないようにします。アップグレード後はまずTUNを無効にし、システムプロキシで接続テストを1回行ってから、サービスモードとTUNを復元します。
Clash for Windows 0.20.39からmihomoクライアントへ移行する場合、古いデータフォルダー全体をそのままコピーすることはおすすめしません。旧クライアントのGUI設定、データベース、上書きスクリプトは、新しいクライアントで認識されない可能性があります。より安定した方法は、サブスクを再導入し、ルール、DNS、ポート設定を項目ごとに移行することです。
Windowsへの初回インストール後に行う確認リスト
インストール完了後、以下の順序で一通り確認できます。各手順には明確な確認状態があるため、後で問題が起きても、どの層で障害が発生したかを素早く判断できます。
- クライアントのアーキテクチャがシステムと一致し、GUIとmihomoカーネルが安定して動作する。
- サブスクがダウンロードされて選択済みで、プロキシページにプロキシグループとノードが表示される。
- ローカルの
7890ポートが待ち受け状態で、他のプログラムに使用されていない。 127.0.0.1:7890を指定したcurl.exeテストでHTTP応答を取得できる。- Windowsのシステムプロキシのアドレスとポートが、クライアントの実際の待ち受け値と一致する。
- ルールモードで異なるサイトにアクセスした際、ログに対応するルールとアウトバウンドポリシーが表示される。
- TUNが必要な場合、サービス、仮想インターフェース、自動ルーティング、DNSがすべて正常に動作する。
- Windowsを再起動した後、クライアント、カーネル、プロキシ適用の状態が想定どおり復元される。
Windows版Clashの導入で難しいのはインストーラー自体ではなく、GUIクライアント、mihomoカーネル、サブスク設定、システムプロキシ、TUNルーティングの状態を連携させることです。「カーネルの動作 → 設定の読み込み → ローカルポート → 指定プロキシのテスト → システムプロキシ → TUN」の順に確認すると、複数のスイッチを同時に切り替えるより問題を特定しやすくなります。