· クライアント選び · 読了時間の目安:12分

Clash for Windowsのサポート終了後は?Clash Verge Rev・FlClashへの移行方法と代替クライアント

旧クライアントのサポート終了後に、サブスクリプションや設定をバックアップしてClash Verge RevまたはFlClashへ移行する手順と、ポート・システムプロキシの設定方法を解説します。

まずサブスクリプションを移行し、ローカル設定は後から復元

Clash for Windows(通称CFW)はGUIクライアントです。サブスクリプションはノードとルールを提供し、コアが接続を確立、クライアントが設定のインポートやプロキシグループの切り替え、システムプロキシの設定を担います。この3つはそれぞれ別の役割です。CFWのサポートが終了しても、既存のサブスクリプションが使えなくなるとは限りません。クライアントを変更するだけでサービスを再購入する必要もありません。

安全に移行するには、まず旧設定を保管し、新しいクライアントをインストールしてサブスクリプションを取り込みます。接続を確認してから、カスタムルールとTUNを復元しましょう。TUNは仮想ネットワークインターフェースを使って通信を制御する方式で、システムプロキシより多くのネットワーク設定が関わります。初回の移行では有効にせず、設定やポートの問題に絞って確認するのがおすすめです。

Clash Verge RevとFlClash、どちらを選ぶ?

Clash Verge RevとFlClashは、どちらもmihomoコアを使用するGUIクライアントです。mihomoはClash Metaプロジェクトで引き続き使われているコアの名称で、Clash形式のYAML設定に対応し、独自の拡張機能も備えています。ここでいう「互換性」は設定方式が近いという意味であり、旧クライアントのデータフォルダーを新しいクライアントにそのまま上書きできるわけではありません。

比較項目Clash Verge RevFlClash
主な用途Windows・macOS・Linuxでのデスクトップ設定管理デスクトップとAndroidで共通性のある操作
CFWからの移行まずPCでサブスクリプション、ルール、プロキシ設定を復元したい場合に適していますPCとスマートフォンの両方でサブスクリプションを使いたい場合に適しています
再設定が必要な項目システムプロキシ、サービスモード、TUN、オーバーライド、ローカルポートシステムプロキシまたはVPN権限、TUN、オーバーライド、ローカルポート
そのまま移行できない項目CFWの画面データベース、専用の前処理スクリプトCFWの画面データベース、専用の前処理スクリプト

Windows PCだけで使うなら、まずClash Verge Revを選ぶとよいでしょう。Androidスマートフォンでも同じサブスクリプションを使う場合は、FlClashも検討できます。インストーラーはデバイスのアーキテクチャに合わせて選んでください。たとえばWindows x64用とARM64用は別です。対応プラットフォームやインストール要件は、ダウンロードページと各プロジェクトのリリースノートで確認してください。

ノードの遅延値だけでクライアントの優劣を判断するのは避けましょう。同じノードでも測定する時間によって結果は変わります。移行できたかどうかは、サブスクリプションを更新できるか、ルールが適用されるか、目的のサイトにアクセスできるか、アプリが実際にどのプロキシ経由で接続しているかで確認してください。

移行前にバックアップ:サブスクリプション、YAML、ローカル変更

ノード名だけでなく、サブスクリプションの取得元も記録

  1. CFWのProfilesページで現在有効な設定名を確認し、リモートサブスクリプションかローカルファイルかを記録します。
  2. サービス提供元のアカウントページから、Clashまたはmihomo形式のサブスクリプションURLを取得します。旧クライアントにURLのコピー機能がある場合は利用できますが、コピーしたものが元のサブスクリプションURLであることを確認してください。
  3. CFWのSettings → General → Home Directoryから設定フォルダーを開きます。バージョンによって項目名や場所が多少異なる場合があります。CFWを終了してから、フォルダー全体をローカルのバックアップ先にコピーしてください。
  4. 現在の混合ポート、HTTPポート、SOCKSポート、プロキシモード、選択中のプロキシグループ、TUNの有効・無効も記録しておきます。

ユーザーフォルダーは通常 %USERPROFILE%\.config\clash ですが、ポータブル版やカスタムインストールでは別の場所が使われることがあります。旧クライアントに表示された実際の場所を確認してください。見返せるようフォルダー全体をバックアップし、新しいクライアントには必要なサブスクリプションや設定ファイルだけをインポートします。フォルダー全体を上書きしてはいけません。

カスタム設定は個別に書き出す

リモートサブスクリプション以外の変更は、移行後に失われやすい項目です。rules、dns、hosts、proxy-groups、tunを変更したか、CFWのParsersで設定の前処理やスクリプトを利用したかを確認してください。それぞれの変更目的も「社内ドメインは直接接続」「ダウンロードツールは指定したプロキシグループを使用」のように記録しておきます。

CFWの前処理はクライアント側の機能であり、新しいクライアントでも同じように実行されるとは限りません。新しいクライアントのオーバーライドやマージ機能を使って再構成してください。スクリプトを使う場合は、新しいクライアントが対応する入力・出力形式を事前に確認します。旧スクリプトを貼り付けてすぐにすべての機能を有効にするのは避けてください。

Clash Verge Revにサブスクリプションを再インポート

以下では日本語UIの項目を使って説明します。実際のボタン名はバージョンによって変わる場合があります。基本の流れは「サブスクリプションを追加、更新、有効化」です。URLをリストに保存するだけでは完了しません。

  1. CFWを終了し、Clash Verge Revを開いて「サブスクリプション」→「インポート」からリモートサブスクリプションURLを貼り付けます。バージョンによっては、サブスクリプション画面にURLの入力欄が直接表示されます。
  2. ダウンロードが完了したら設定カードが作成されたことを確認します。その設定を選択または有効化し、「プロキシ」画面でプロキシグループとノードが表示されるか確認してください。
  3. まずはルールモードを使います。ルールモードでは設定内のルールに基づいて直接接続かプロキシ接続かが選ばれます。グローバルモードでは、通常ルールで振り分ける接続もグローバルプロキシグループ経由になります。
  4. 「設定」で実際の待ち受けポートを確認してから、システムプロキシを有効にします。ポートが使用中と表示された場合は、旧クライアントがバックグラウンドで動作していないか確認してください。
  5. 直接接続するサイトとプロキシが必要なサイトをそれぞれ開き、接続一覧で適用されたルールとポリシーを確認します。

ローカルのYAMLファイルしかない場合は、サブスクリプション画面からローカルファイルのインポートを選びます。YAMLはインデントで階層を表す設定テキストです。インポート前にリッチテキストエディターで編集しないでください。単独で使える設定には、通常ノードまたはプロバイダー、プロキシグループ、ルールが必要です。数行のルールだけでは完全なサブスクリプションにはなりません。

インポートできてもノードが表示されない場合は、ダウンロードした内容がアカウントのログイン画面やエラーページ、別クライアント専用の形式ではないか確認します。ブラウザーでサブスクリプションURLを開けても、Clash設定が返されるとは限りません。個人用のサブスクリプションを、出所不明のオンライン変換サイトに送るのも避けてください。

FlClashにサブスクリプションを再インポート

  1. 「設定」画面を開き、追加メニューからURLインポートを選びます。バックアップファイルしかない場合は、ファイルインポートを選択してください。
  2. 見分けやすい設定名を入力して保存し、更新を実行した後、その設定を現在の使用項目に指定します。
  3. 「プロキシ」画面を開き、手動選択が必要なプロキシグループでノードを選択してから、プロキシ接続を開始します。
  4. デスクトップ版ではシステムプロキシと待ち受けポートを確認します。Android版では初回起動時にシステムVPN接続の許可を求められることがあります。許可すると、仮想インターフェース経由で通信を制御できます。
  5. 設定画面に戻って手動更新を実行し、ローカルキャッシュを使えるだけでなく、サブスクリプションも更新できることを確認します。

AndroidのVPN接続による通信制御と、Windowsのシステムプロキシは別の機能です。スマートフォンでCFWとまったく同じボタンを探す必要はありません。Androidでは通常、システムVPNを使用できるアプリは1つだけです。すでにVPN、パケットキャプチャ、ローカルフィルターのアプリが動作していると競合する場合があります。

PCとスマートフォンで同じサブスクリプションURLを使っても、選択中のノード、カスタムルール、ローカルポートが共有されるわけではありません。これらの設定は各デバイスに保存されることがあります。サービス提供元が同時接続デバイス数を制限している場合は、複数のデバイスで同時に接続する前にプランの条件を確認してください。

ポートとシステムプロキシ:推測に頼らず一つずつ確認

システムプロキシは、対応するアプリに対して、リクエストをローカルの特定アドレスとポートへ送るよう指示する設定です。すべてのプログラムの通信を自動的に制御するわけではありません。ブラウザー拡張機能、ターミナル、ダウンロードツールに古いポートが直接設定されている場合も変更が必要です。

項目意味移行時の操作
HTTPポートHTTPプロキシリクエストとCONNECTトンネルを受け付けるアプリのHTTPプロキシアドレスを、新しいクライアントが実際に待ち受けている値に変更する
SOCKSポートSOCKSプロキシ接続を受け付けるSOCKS5を使うアプリは個別に確認する。システムプロキシの変更だけでは不十分
混合ポート同じポートでHTTPとSOCKSのプロキシ接続を受け付ける有効になっていることを確認し、各アプリから対応するプロトコルでこのポートに接続する
コントロールインターフェースクライアントやダッシュボードからコアを管理するためのものインターネット接続用のプロキシポートではありません。ブラウザーのプロキシ設定に入力しないでください。

たとえば、旧アプリに 127.0.0.1:7890 が設定されている一方、新しいクライアントが実際に待ち受けているのが 127.0.0.1:7897 なら、そのアプリは引き続き旧ポートへ接続します。アプリのアドレスを変更するか、競合がないことを確認したうえで新しいクライアントのポートを 7890 に戻してください。ここで示した数値は確認用の例で、すべてのバージョンの初期値ではありません。

以下は設定項目の例であり、そのままインターネットに接続できる完全な設定ではありません。GUIクライアントが実行時設定を生成する場合は、次回起動時にファイルが上書きされないよう、クライアントの設定画面から変更してください。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

allow-lan: false は、LAN内のデバイスからこのポート経由でプロキシを使えないことを示します。移行の動作確認をローカルだけで行う場合に適しています。PCのブラウザーを接続するためだけにLANアクセスを有効にしないでください。まずはループバックアドレス 127.0.0.1 を使って確認します。

リクエストを明示的に送って接続先を確認

Windows PowerShellでは、curl.exeを明示して実行すると、古い環境で同名のエイリアスが使われている場合の混乱を避けられます。以下のポートを実際の混合ポートまたはHTTPポートに変更してください。このテストでは、ブラウザーがシステムプロキシを読み取るかどうかに左右されません。

curl.exe --proxy http://127.0.0.1:7890 --head --max-time 15 https://example.com/

すぐに接続拒否と表示される場合は、まずコアが起動しているか、ポートの指定が正しいか確認してください。プロキシには接続できてもリクエストがタイムアウトする場合は、ノード、DNS、ルールを確認します。HTTPレスポンスが返っても、そのリクエストが通ったことを示すだけで、すべてのアプリの移行が完了したとは限りません。

ルールとTUNを復元:一度に変更するのは一項目

まずサブスクリプションの標準設定が動作することを確認し、その後でカスタムルールを追加します。Clash形式のルールは通常、上から順に照合され、最初に一致したルールのポリシーが適用されます。社内ドメインを直接接続したい場合は、広範囲に一致するルールより前に追加してください。最終ルールの MATCH の後ろに追加するだけでは機能しません。

rules:
  - DOMAIN-SUFFIX,example.org,DIRECT
  - MATCH,PROXY

上の例はルールの順序を説明するためのものです。example.orgとそのサブドメインは直接接続し、それ以外はPROXYという名前のポリシーに渡します。実際の設定にこのポリシー名が存在する必要があります。サブスクリプションのプロキシグループ名が異なる場合は、正確な名前を指定してください。この2行でサブスクリプション全体のルールを置き換えると、既存の振り分け設定が失われます。

システムプロキシの動作を確認してからTUNを有効化

旧CFWのTUN設定をそのまま一括で移行するのは避けてください。コアのバージョンやネットワークアダプターの実装、クライアントが設定を生成する方法は異なる場合があります。特にDNSのハイジャック、自動ルート、除外するネットワーク範囲は、新しいクライアントが現在サポートしている設定に合わせてください。

移行後によくあるトラブルと確認手順

サブスクリプションを更新できないが、旧設定は使える

まずURLの期限切れ、アカウントでのサブスクリプション再発行の必要性、URL内の余計な空白を確認します。次に、更新リクエストが直接接続かプロキシ経由かを切り分けてください。現在のプロキシが使えない場合、それを経由した更新がループすることがあります。使用できるキャッシュは残し、更新エラーに表示されたHTTPステータスや接続メッセージを確認します。すべての設定を何度も削除するのは避けてください。

ノードは表示されるのに、ブラウザーでWebページを開けない

「コアの動作状態 → ローカルの待ち受けポート → システムプロキシ → プロキシグループの選択 → 接続ログ」の順に確認します。プロキシを明示したリクエストは成功するのにブラウザーで失敗する場合は、ブラウザーのプロキシ拡張機能とシステムプロキシ設定を重点的に確認してください。特定のドメインだけ開けない場合は、その接続に適用されたルールやポリシー、DNSの結果を確認します。

クライアント終了後にネットワークへ接続できない

Windowsの「設定」→「ネットワークとインターネット」→「プロキシ」を開き、「プロキシサーバーを使う」が、すでに待ち受けていないローカルポートを指していないか確認します。すべてのプロキシクライアントを終了している場合は、手動プロキシを無効にしてから再度接続を試してください。会社支給のデバイスでは組織指定のプロキシが使われていることがあります。アドレスや自動構成スクリプトを勝手に削除しないでください。

ルールの復元後に設定エラーが発生する

まず最後に追加したオーバーライドを取り消し、元のサブスクリプションが起動することを確認します。次にYAMLのインデント、ポリシー名、キーの重複をチェックしてください。スペースとタブを混在させないでください。エラーに表示される行番号は、サブスクリプションの元ファイルではなく、クライアントがマージした実行時設定を示している場合があります。実行時設定とマージログの両方を確認してください。

移行完了前のチェックリスト

すべて確認できたら、旧クライアントの自動起動設定と不要なプログラムファイルを整理します。サブスクリプショントークンを含むバックアップは安全な場所に保管し、確認完了後、必要に応じて削除してください。移行の目的は旧フォルダーを別のソフトに丸ごと移すことではなく、サブスクリプション、ルール、ネットワーク接続先を一つずつ設定し直すことです。

Clashをダウンロード