クライアントレビュー · Clash 技術ブログ

Clash for Windows から Clash Verge Rev へ移行する方法

Clash for Windows のデータディレクトリ全体を新しいクライアントへコピーしないでください。サブスクリプションとカスタムルールを残し、まず Windows の直接接続を復元してから、Clash Verge Rev で層ごとに検証します。

  • Clash for Windows
  • Clash Verge Rev
  • 移行
  • Windows
目次

Clash for Windows から移行するときは、まずサブスクリプションと本当に必要なカスタム設定だけを移す

Clash for Windows のメンテナンス終了後に Clash Verge Rev へ移行する場合、通常残す価値があるのは、サブスクリプションの入手元、ローカル設定、自分で作成したルールまたは Mixin、普段使うポリシーの選択、少数のポート設定だけです。ウィンドウの状態、キャッシュ、以前のカーネル、サービスファイル、過去のログをまとめてコピーしないでください。これらは以前の問題を新しいクライアントへ持ち込む主な原因になります。

以前のクライアントを開き、各項目をスクリーンショットまたはローカル文書へ記録します。現在有効な Profile の名称と更新時刻、General で使用中のポート、System Proxy、TUN、Allow LAN が有効かどうか、Profiles 画面にローカルの Mixin があるかを確認してください。サブスクリプションリンクには個人の token が含まれるため、パスワードマネージャーまたは暗号化バックアップだけに保存し、スクリーンショットには入れません。

移行チェックリスト

  • 現在も更新できるサブスクリプションのアドレス
  • 再ダウンロードできないローカル YAML
  • 自分で管理しているルールとオーバーライドのロジック
  • mixed-port またはローカルネットワーク共有用のポート
  • 本当に残す必要があるポリシーグループの選択
  • トラブルシューティングで比較するための、以前のクライアントとカーネルのバージョン

以前のクライアントを終了する前に、それがなくても Windows からインターネットへ接続できる状態にする

移行で最も避けるべきなのは、二つのクライアントが同時にシステムプロキシまたは TUN を制御することです。まず Clash for Windows で System Proxy、TUN、自動起動を無効にし、次にシステムトレイから完全に終了します。その後「設定 → ネットワークと Internet → プロキシ」を開き、「プロキシ サーバーを使う」が以前の 127.0.0.1 ポートを参照し続けていないことを確認してください。

両方のクライアントを終了したままブラウザーで通常の Web サイトへアクセスし、社内ネットワークまたはルーターの管理画面も開けることを確認します。この状態が正常であれば、その後の問題が新しいクライアントに起因するかを判断できます。

この時点ですでにネットワークへ接続できない場合は、以前のプロキシまたは TUN の残存設定を消去してください。Clash Verge Rev を起動して一時的に隠さないでください。

現在の Clash Verge Rev プロジェクトのリリースページから、アーキテクチャに合う版をインストールする

一般的な Windows 11 コンピューターでは x64 インストーラーを使用し、Windows on ARM デバイスの場合にだけ arm64 を選択します。インストール前に、リリース元のリポジトリ、ファイル名、バージョン情報を確認し、クライアント、サブスクリプション、ノードをまとめた第三者の「ポータブル強化版」は使用しないでください。

初回起動時は、サービスモードと TUN をすぐ有効にしないでください。まずサブスクリプションまたは設定画面で元のサブスクリプションを追加し直し、一度手動更新して、更新時刻、プロキシグループ、ノードが表示されることを確認します。その後、固定ノードを一つ選び、システムプロキシを有効にしてください。これにより、ダウンロード、解析、基本的な転送の三段階が正常だと先に確認できます。

新しいクライアントでの最初のテスト

  1. サブスクリプションを一つインポートする

    問題のある設定を特定できなくなるため、過去の Profile をすべて一度にインポートしない。

  2. 手動で更新する

    HTTP または解析エラーを記録します。「追加しました」と表示されても、設定本文が読み込まれたことまで確認してください。

  3. ノードを固定する

    テスト中に url-test が出口を切り替えないようにする。

  4. システムプロキシを有効にする

    ブラウザーと、システムプロキシを参照するアプリ一つで接続記録を確認する。

  5. 通常の手順で終了する

    終了後は Windows が直接接続へ戻り、以前のポートを残さない。

ポリシーグループは設定とともにインポートされるが、現在選択中のノードは新しいクライアントで改めて確認する

プロキシグループの定義は通常サブスクリプションの YAML に含まれるため、再インポートすると一緒に表示されます。一方、Clash for Windows で各 Selector が現在どのノードを選んでいるかは実行時の状態であり、キャッシュをコピーして移行するのには適しません。

Clash Verge Rev のプロキシ画面を開き、「ノード選択」「自動選択」「ストリーミング」など普段使うグループを一つずつ確認し、必要な出口を手動で選び直します。

同じサブスクリプションでも新しいクライアントでポリシーグループが少ない場合は、まずサブスクリプションの更新時刻と最終設定を比較します。サービス側の更新、以前の Parsers、新しい Merge のいずれでもグループ名が変わる可能性があります。以前の選択を一つ復元するために、古いキャッシュ全体をコピーしないでください。

ポリシーグループの移行完了条件

  • 普段使うポリシーグループがすべて新しいクライアントに表示される
  • 手動選択グループで固定ノードを選び直している
  • 自動選択グループが正常に速度を測定し、頻繁に切り替わらない
  • 接続記録で、対象ドメインが想定したグループに一致している
  • Clash Verge Rev の再起動後も選択が想定どおり維持される

以前の Mixin をまとめて貼り付けず、まず何の問題を解決するためのものだったかを確認する

Clash for Windows の Mixin、Parsers、スクリプトは固有のマージ方式に依存することがあります。Clash Verge Rev には現在の Merge、Script、オーバーライドの操作箇所があります。名称は似ていますが、生成順序とフィールドが同じとは限りません。

移行前に、各カスタム設定の目的を一文で記録してください。たとえば「社内ドメインへ直接接続する」「GitHub を開発用グループへ入れる」などです。その後、現在のクライアントが対応する方法で作り直します。

設定を一つ追加するたびに、最終的なマージ設定または実行ログを確認します。group not found、duplicated key、unknown field が出た場合は、追加したばかりのオーバーライドを元に戻してください。最後にまとめて直そうとして、次の設定を重ねないでください。

以前の設定の扱い方

以前の内容移行方法検証結果
カスタム DOMAIN-SUFFIX ルール現在のルールオーバーライドへ入れ、対象のポリシーグループが存在することを確認する対象ドメインへアクセスした際、接続画面でそのルールに一致する
カスタム DNSまずサブスクリプションの既定値を使い、その後で個別に移行する内部ドメインと公開ドメインの両方で想定した結果が得られる
ポート設定Clash Verge Rev の一般設定で改めて指定する実際にポートが待ち受け、システムプロキシが同じ値を参照する
UI、キャッシュ、過去のログ移行対象にしない新しいクライアントをクリーンな状態から起動する

まずシステムプロキシを復旧し、本当に必要な場合に限り TUN を移行する

サブスクリプション、ポリシーグループ、カスタムルールが安定したら、Clash Verge Rev で System Proxy を有効にします。Windows の「プロキシ」画面が現在の mixed-port を参照し、ブラウザーと普段使うアプリで接続記録が生成されることを確認してください。クライアントを通常の手順で終了した後は、システムプロキシも自動的に元へ戻る必要があります。

ゲーム、ターミナル、その他システムプロキシを参照しないプログラムが接続記録にまだ現れない場合に限り、TUN を有効にします。サービス権限、仮想アダプター、休止状態からの復帰、ほかの VPN がそれぞれ正常で、TUN を無効にすると既定のルートが戻ることを確認してください。同じ日に TUN、自動起動、複数のオーバーライドをまとめて移行しないでください。

普段実際に行う作業で検収してから、以前のクライアントをアンインストールする

少なくとも一つの業務サイクルを通して継続的に検証する

  • サブスクリプションを手動で更新でき、次回起動時にも自動的に使用できる
  • ブラウザー、Git、普段使う業務アプリが想定したルールに一致する
  • 内部サイト、NAS、プリンターへ引き続き直接接続できる
  • TUN が必要なプログラムが実際に接続記録へ表示される
  • 終了と再起動の後も Windows にプロキシ設定が残らない
  • 以前の設定をオフラインでバックアップし、token を公開していない

以前のインストールは数日間残しても構いませんが、自動起動はさせないでください。新しいクライアントに異常が出た場合は、まずそれを終了して Windows の直接接続を復旧し、バックアップを使って以前の環境へ戻します。比較のために二つのクライアントを互いに制御させないでください。更新、利用、終了、再起動が安定したら Clash for Windows をアンインストールし、以前のサービスと起動ショートカットも消去されたか確認します。

参考資料