まず確認したいのは、終了したのはクライアントであって設定形式ではないこと
公式ClashのコアとClash for Windowsは、すでにメンテナンスを終了しています。Clash for Windowsでよく知られている最終バージョンはv0.20.39です。古いインストーラーは起動できる場合もありますが、使い続けると実際には3つの問題が起こります。新しいOSとの互換性問題が修正されないこと、新しいルール機能を追加できないこと、サブスクサービスがmihomoへ移行するにつれて一部の項目が認識されなくなる可能性があることです。移行で重要なのは、見た目が完全に同じクライアントを探すことではありません。サブスク、上書きルール、プロキシモード、システムの通信制御方法を、現在も保守されているクライアントへ無理なく移すことです。
現在よく使われる代替クライアントの多くはmihomoコアを採用しています。mihomoはClashの設定体系を引き継ぎながら、ルールセット、プロセスマッチング、TUN、トラフィック検出、より詳細なDNS設定に対応しています。標準的なYAML設定の大半はそのまま利用できますが、クライアント固有の画面設定は直接引き継げません。たとえばClash for Windowsのウィンドウ状態、スタートアップ設定、Mixinスクリプトは、サブスクURLだけで自動移行されません。
移行前に4種類のデータを分けて確認する
- サブスクURL:サービス側が提供するURLです。通常は旧クライアントのProfilesまたは設定画面で確認できます。
- 設定ファイル:
proxies、proxy-groups、rules、dnsなどの項目を含むYAMLファイルです。 - クライアント設定:自動起動、システムプロキシ、TUN、LANアクセス、テーマなど、本体側の設定です。
- 上書き内容:旧バージョンのMixin、Parsers、スクリプト、手動で追加したルールなど、個別に再構築が必要な内容です。
普段はサブスクURLを貼り付けてノードを選ぶだけなら、移行は通常10分ほどで完了します。DNS、ルールの順序、ポートを変更している場合は、まず現在有効な設定をエクスポートし、項目ごとに戻してください。サブスク更新のたびにローカルファイルが上書きされる可能性があるため、カスタム設定はサブスクから生成されたYAMLを直接編集するのではなく、新しいクライアントの上書き機能に登録するのがおすすめです。
FlClashとClash Verge Revの選び方
どちらもmihomo設定を実行できますが、重視している点が異なります。FlClashはWindows、macOS、Linux、Androidに対応し、デスクトップとモバイルで操作の流れが比較的統一されています。Clash Verge Revは主にWindows、macOS、Linuxのデスクトップ環境向けで、設定管理、トレイ操作、システムサービス、デスクトップでのTUN運用に重点があります。
| 比較項目 | FlClash | Clash Verge Rev |
|---|---|---|
| 主な対応プラットフォーム | Windows、macOS、Linux、Android | Windows、macOS、Linux |
| 向いている使い方 | デスクトップとAndroidで似た操作感を使いたい | PCが中心で、トレイ操作とデスクトップOSとの統合を重視したい |
| サブスクの移行 | URLを再登録するか、ローカル設定をインポートできる | URLを再登録し、上書き機能で設定を拡張できる |
| TUNの利用 | 対応。初回有効化時にシステムの許可が必要 | 対応。デスクトップでは通常、サービスモードと併用する |
| ルール操作 | マッチ結果の確認やプロキシグループの切り替えに向いている | 複数設定、全体上書き、ルールセットの管理に向いている |
| モバイル | Android版に対応 | Androidクライアントとしては使用しない |
FlClashを優先したいケース
- PCとAndroidスマートフォンの両方でClash設定を使い、メニュー構成も近づけたい。
- 主な操作がサブスク追加、ノード切り替え、接続確認、システムプロキシのオン・オフである。
- タッチ端末でプロキシグループを管理したいが、まったく異なる操作方法を2つ覚えたくない。
- ローカルYAMLファイルを使い、インポート後にエラー表示やルールのマッチ結果を直接確認したい。
Clash Verge Revを優先したいケース
- 主な端末がWindows、macOS、LinuxのデスクトップPCである。
- 複数のサブスクを頻繁に切り替え、DNS、ルール、プロキシグループの上書きを一元管理したい。
- トレイからシステムプロキシ、TUNモード、プロキシモードをすばやく切り替えたい。
- システムプロキシを参照しないアプリをTUN経由にし、システムサービスで権限操作の回数を減らしたい。
選ぶときは画面のスクリーンショットだけで判断する必要はありません。端末のプラットフォーム、TUNへの依存度、カスタムルールを維持するか、サブスクの数を基準にすると判断しやすくなります。Windows PC 1台でサブスク1つを使うだけなら、どちらでも対応できます。Androidを使うならFlClash、複数のデスクトップ設定や複雑な上書きを扱うなら、Clash Verge Revのほうが管理しやすいことが多いでしょう。
Clash for Windowsからサブスクと設定を移行する
ステップ1:サブスクURLとローカルYAMLを保存する
Clash for Windowsを開き、Profilesページに移動します。使用中のサブスクについて、名前、更新日時、URLを記録してください。画面に完全なURLが表示されない場合は、設定ファイルの取得元を確認するか、サブスクサービスの管理画面にログインして再度コピーします。続いて設定ファイルの保存先を開き、使用中のYAMLファイルを別のフォルダへコピーします。
config.yamlだけ保存しても十分ではありません。Clash for Windowsでは、サブスクファイルがprofilesフォルダに保存され、現在選択中の項目がインデックスで管理されている場合があります。MixinやParserを使っているなら、関連するテキストも通常のテキストファイルとして個別にコピーしてください。移行時は内容を理解したうえで再構築し、古いデータフォルダ全体を新しいクライアントのフォルダへ上書きするのは避けましょう。
- 自動設定更新を停止し、バックアップ中にサブスクファイルが更新されないようにする。
- サブスクURLをコピーし、各URLに「普段使い」「テスト」「予備」など用途を記入する。
- 現在有効なYAMLをエクスポートまたはコピーする。
- Generalページにあるポートとスイッチの状態を書き留める。
- カスタムMixin、Parser、手書きのルールを保存する。
ステップ2:新しいクライアントにサブスクを追加する
新しいクライアントをインストールしたら、まず主要なサブスクを1つだけ追加します。FlClashでは「設定」→「追加」と進み、URL形式を選択してサブスクURLを貼り付け、更新します。Clash Verge Revでは「サブスク」→「新規作成」と進み、名前とサブスクURLを入力して保存後、更新をクリックします。バージョンによってメニュー名は多少異なりますが、URLはローカルYAMLの内容として貼り付けず、リモートサブスクとして登録してください。
更新に成功したら、まずプロキシグループがすべて表示されるか確認し、ノードを1つ選んで遅延テストを行います。遅延結果は測定先への応答時間を示すだけで、すべてのサイトにアクセスできることを単独で証明するものではありません。ダイレクト接続のサイトとプロキシが必要なサイトをそれぞれ開き、「接続」ページでルール、プロキシグループ、実際の出口ノードを確認しましょう。
ステップ3:ポートを確認し、重複待ち受けを避ける
旧Clash設定では、HTTPポート7890、SOCKS5ポート7891、外部コントロールポート9090がよく使われます。mihomo設定でもmixed-port: 7890を使い、HTTPとSOCKSを1つの入口にまとめることがあります。2つのクライアントを同時に起動し、両方が7890を待ち受けると、「address already in use」「ポートが使用中」といったエラーが発生し、システムプロキシを有効にしても接続できなくなります。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
移行テスト中は旧クライアントを完全に終了し、システムトレイにも残っていないことを確認してから新しいクライアントを起動します。どうしても並行比較が必要なら、片方を一時的に7892へ変更します。ただしシステムプロキシは、テスト対象のクライアントが待ち受けているポートだけを指定してください。テスト後はポートを統一し、ブラウザ、ターミナル、開発ツールに異なるプロキシアドレスが残らないようにします。
カスタムルール、プロキシグループ、DNSを移行する方法
ルール移行の要点は順序を維持することです。Clashとmihomoはいずれも上から順にルールを照合し、マッチすると後続の検索を停止します。特定ドメイン向けのルールを広範囲なGEOIPやMATCHの後ろに置くと、構文が正しくても機能しません。移行時はまず具体的なルール、次にルールセットの参照、最後にフォールバックルールを確認します。
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- DOMAIN,api.example.net,Proxy
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- GEOIP,CN,DIRECT
- MATCH,Proxy
プロキシグループ名を一致させる
ルールの最後の項目はポリシー名を参照します。上の例にあるProxyはproxy-groups内に存在していなければなりません。サブスク側で実際に使われている名前が「ノード選択」や「プロキシ」なら、ルールをそのままコピーするとプロキシグループが見つからない、または読み込みに失敗することがあります。日本語名、英語名、大文字・小文字を含め、完全に一致させてください。
サブスク更新後はノード名が変わることがあるため、自作のプロキシグループでは、ほかの安定したプロキシグループを参照するか、クライアントが対応する上書き機能を使うのが安全です。多数のノード名を長期運用するルールファイルに手入力するのは避けましょう。サーバー側で名前が変更されると、1つずつ修正する必要が生じます。
古いMixinをそのまま移植しない
Clash for WindowsのMixinはJavaScriptで設定を変更でき、Parserもサブスクがコアへ渡る前に変換を行う場合があります。新しいクライアントが同じスクリプトAPIに対応しているとは限りません。移行時は、旧ロジックが実際に何をしていたのかを確認してください。ルール追加、DNS変更、ポート変更、プロキシグループ挿入のどれかを見極めます。標準YAMLで表現できる内容は、クライアントの全体拡張、マージ上書き、スクリプト上書きへ書き換えましょう。
たとえば元のMixinがログレベルをinfoに変更し、LANアクセスを有効にするだけなら、スクリプトを残す必要はありません。新しいクライアントの「設定」→「パラメータ設定」で該当項目を変更するほうが明確です。LANアクセスを許可する場合は、待ち受けアドレスを制限し、システムのファイアウォールも確認してください。信頼できないネットワークにコントロールポートを公開しないことが重要です。
DNSはまずサブスクのデフォルトを使う
DNSは移行時に「ノードは使えるのにWebページが開かない」という問題が起こりやすい部分です。古い設定でfake-ipを使っていたり、新しいクライアントでトラフィック検出がデフォルト有効になっていたりする場合があります。システムのセキュリティソフト、LAN内のドメイン、仮想マシンのネットワークとの相性も異なる可能性があります。初回起動時はサブスクが提供するDNS設定を使い、プロキシが正常に動作することを確認してから、カスタムのnameserver、fallback、fake-ip-filterを戻してください。
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 223.5.5.5
- 1.1.1.1
198.18.0.0/15はベンチマーク用に確保されたアドレス範囲で、Fake-IPモードのローカルマッピングによく使われます。接続ログがこの範囲のアドレスを示していても、リモートサイトが実際にそのIPを使っているわけではありません。LAN機器、プリンター、特定アプリの名前解決に問題が出た場合は、DNS全体を無効にする前に、そのドメインをFake-IPの除外リストへ追加すべきか確認してください。
システムプロキシとTUNを移行する順番
システムプロキシは、ブラウザ、チャットアプリ、OSのプロキシ設定を参照するソフトに向いています。TUNモードはネットワーク層でより多くの通信を取り込むため、ゲームランチャー、コマンドラインプログラム、一部のストアアプリ、システムプロキシを参照しないソフトに適しています。両者は速度設定ではなく、必ず同時に有効にする必要がある機能でもありません。
まずシステムプロキシで基本動作を確認する
- 旧Clashクライアントを終了し、残っているシステムプロキシを無効にする。
- 新しいクライアントを起動し、有効なノードを選択する。
- プロキシモードを「ルール」に設定する。
- 「システムプロキシ」を有効にし、TUNは無効のままにする。
- ダイレクト接続とプロキシ接続の対象へアクセスし、接続一覧でマッチしたルールを確認する。
ここまで成功すれば、サブスク、ポート、基本ルールは正常です。最初からTUNを有効にすると、仮想NIC、ルーティング、DNS、権限まで切り分けの範囲が広がります。Windowsでは「設定」→「ネットワークとインターネット」→「プロキシ」も確認し、手動プロキシのアドレスが127.0.0.1と現在の待ち受けポートを指していることを確認してください。
全体を取り込む必要がある場合にTUNを有効にする
Clash Verge Revのデスクトップ版では、通常サービスコンポーネントのインストールまたは有効化が必要です。FlClashでも初めてTUNを有効にするとシステムの許可を求められます。Windowsではネットワークコンポーネントのインストールを許可し、macOSでは「システム設定」→「ネットワーク」またはプライバシーとセキュリティに関する表示で許可します。Linuxでは権限やルーティング機能の設定が必要になる場合があります。許可が完了したらクライアントを再起動し、その後TUNを有効にしてください。
確認する際は遅延の数字だけでなく、実際に接続が確立するまでの時間を見ます。同じネットワーク、同じノードであれば、システムプロキシ時のWebページ初回接続が約180ミリ秒、TUN時が約190〜230ミリ秒でも一般的な変動範囲です。TUN有効後も2秒を超える状態が続く、またはDNSクエリが繰り返しタイムアウトする場合は、ルールをすべて変更する前にDNSハイジャック、IPv6、MTU、ほかの仮想NICを確認してください。
移行に失敗したときは症状から切り分ける
サブスクの更新に失敗する、または空の設定が返る
- サブスクサービスの管理画面でURLを再コピーし、末尾にスペースが混入していないか確認する。
- サブスクが期限切れになっていないか確認し、サーバー側で更新頻度やリクエスト回数が制限されていないか調べる。
- 旧クライアントでは更新できて新しいクライアントではできない場合、User-Agentの要件とネットワーク経路を比較する。
- まず上書きを無効にし、元のサブスクが読み込めた後で追加設定を1つずつ戻す。
設定でYAML解析エラーが表示される
YAMLはスペースで階層を表します。Tab、全角コロン、誤ったインデントはいずれも解析エラーの原因です。48行目を指すエラーでも、実際の原因が47行目の閉じられていない引用符である場合があります。カスタム内容を最小限のブロックまで減らし、少しずつ追加するほうが、更新ボタンを何度も押すより効果的です。ノード名にコロン、シャープ記号、特殊文字が含まれる場合は、引用符で囲んでください。
システムプロキシは有効だが、ブラウザが直接接続する
- ブラウザに独自のプロキシ拡張機能が入っていないか確認します。拡張機能がシステム設定を上書きしている可能性があります。
- 待ち受けアドレスが
127.0.0.1で、ポートがシステムプロキシと一致していることを確認する。 - 接続一覧を確認する。新しい接続がない場合、通信がクライアントに入っていない可能性が高い。
DIRECTにマッチする場合はルールの順序を確認し、プロキシにマッチして失敗する場合はノードを確認する。
TUNを有効にするとドメインを解決できない
まずTUNを無効にし、システムプロキシが正常に戻ることを確認します。次にDNSが有効か、nameserverへ到達できるか、Fake-IPの除外項目がLAN内ドメインをカバーしているかを確認してください。Windowsではターミナルでipconfig /flushdnsを実行してシステムキャッシュを消去できます。macOSではいったんネットワーク接続を切り替えてから再テストします。同じ切り分け中にDNS、MTU、IPv6、ルールを同時に変更すると効果を判断できないため、避けてください。
移行後の受け入れチェックリスト
移行完了は、ノードが緑色になったことだけを意味しません。設定更新、ルールのマッチ、システムによる通信制御、再起動後の復元という4つの観点で確認します。以下の項目をすべて満たしてから、旧クライアントをアンインストールし、不要になった設定のコピーを削除してください。
- サブスクを手動更新でき、更新後にプロキシグループとノードが正常に表示される。
- ルールモードで、ダイレクト接続の対象が
DIRECTにマッチし、プロキシ対象が想定したプロキシグループにマッチする。 - システムプロキシを無効にすると通信が直接接続へ戻り、有効にすると新しいクライアントを経由する。
- TUNが必要なアプリで接続を確立でき、LANやプリンターにも引き続きアクセスできる。
- システム再起動後も、自動起動と自動接続が想定どおり動作する。
- サブスク更新でローカルの上書きが消えず、手書きルールの順序も正しく保たれる。
- 旧クライアントがトレイに残らず、7890または9090ポートも引き続き待ち受けていない。
多くのユーザーにとって最も安定した手順は、旧データをバックアップし、現在も保守されているmihomoクライアントをインストールして、主要なサブスクだけを取り込むことです。その後、システムプロキシで動作を確認し、ルールとDNSを戻してから、必要に応じてTUNを有効にします。デスクトップとAndroidを同じ環境で使いたいならFlClash、デスクトップ設定の管理とシステム統合を重視するならClash Verge Revが向いています。1つに決めたら設定の出所を明確にして運用するほうが、複数のクライアントを長期的に並行運用するより保守しやすくなります。