利用ガイド · Clash 技術ブログ

Clash Verge Rev で複数の設定を管理する方法:サブスクリプションの自動更新、切り替え、バックアップ

複数の設定で最も問題になりやすいのは数ではなく、現在どれを使用しているか分からなくなることです。各 Profile の用途を明確にし、元の基準設定を残したうえで、更新、切り替え、バックアップを設定してください。

  • Clash Verge Rev
  • Profile
  • サブスクリプションの更新
  • バックアップ
目次

Clash Verge Rev で複数設定を管理する前に、リモートサブスクリプション、ローカルファイル、オーバーライドを区別する

業務用、日常用、テスト用、予備のサブスクリプションをすべて Profile 1、Profile 2 と名付けると、一週間後にはどれを削除できるか判断しにくくなります。名称には少なくとも入手元または用途と、識別しやすい環境を含めてください。たとえば「業務|社内ルール」「日常|メインサブスクリプション」「テスト|ローカルオーバーライド」などです。完全なサブスクリプションのドメイン、アカウント、token は名称に書き込まないでください。

まず三種類を区別します。リモート Profile は URL から更新し、ローカル Profile はディスク上のファイルだけを読み込みます。Merge、Script、オーバーライドは、読み込み時に最終設定を変更します。リモートサブスクリプションが正常でも、オーバーライドまで正常とは限りません。Profile を切り替えても、グローバルなオーバーライドが無効になるとは限りません。

三種類の設定は、それぞれ異なる役割を担う

分類保存するのに適した内容更新方法誤解しやすい点
リモート Profileサービス提供元が用意するノード、ポリシーグループ、ルールURL から手動または定期的に取得する更新が成功すれば、現在の設定も切り替わっていると考える
ローカル Profile固定したテスト、オフラインでのロールバック、自作した完全な設定手動編集とバックアップサブスクリプションと同じように自動更新されると考える
Merge / Script / オーバーライド少数の長期的なカスタムルールとフィールドクライアントの読み込み時に適用される一つの Profile だけに作用すると考える

オーバーライドを加えず、動作確認済みの設定を一つ残す

自動更新を始める前に、現在最も安定しているリモートサブスクリプションを選び、手動更新してそのまま読み込みます。追加の Merge や Script は有効にしません。利用できるノード一つに固定し、ブラウザー、普段使うアプリ、内部ドメイン、DNS がすべて正常であることを確認してください。

オーバーライドを加えていないこの Profile を残し、似た名称のコピーを多数作らないでください。後でオーバーライドに group not found が出た場合、ここへ戻れば元のサブスクリプションが利用できるかを確認できます。この設定も失敗するなら、ダウンロード、解析、サービス側の変更を確認します。

この元設定が満たす条件

  • 直前の手動更新が成功し、明確な更新時刻がある
  • ポリシーグループとノードが空ではない
  • 一時スクリプトやオンライン変換サイトに依存しない
  • 少なくとも一つの固定ノードを実際のアクセスで確認している
  • クライアント終了後に Windows のネットワークが復旧する
  • サブスクリプションの URL を安全にバックアップしている

更新間隔は実際の変更頻度に合わせて設定する。短いほど安定するわけではない

通常、サブスクリプションを取得する必要があるのは、ノード、通信量情報、ルールが変更された場合だけです。間隔が短すぎると、サーバーへのリクエスト、消費電力、失敗通知が増えます。作業中の現在設定が、一時的に誤ったレスポンスへ置き換えられる可能性もあります。日常用のサブスクリプションは控えめな周期から始め、頻繁に変わるテスト用だけを個別に短くしてください。

Clash Verge Rev の Profile 詳細またはサブスクリプション設定で自動更新を調整する際は、まず単位と次回実行時刻を確認します。バージョンやインポート方法によって表示される選択肢が異なる場合があるため、他人のスクリーンショットにある数値をそのまま使わないでください。最も重要なのは、手動更新の操作項目を残し、最後に成功した時刻と失敗理由を確認できることです。

日常用のメインサブスクリプション
安定性を重視し、サービス提供元の更新頻度に合わせて設定する。数分ごとに取得する必要はない。
業務用の設定
更新前に会議、リモート接続、固定出口への影響を考慮し、業務の途中で切り替わらないようにする。
テスト用のサブスクリプション
更新頻度を高くしてもよいが、起動時の既定設定にはせず、動作確認済みのメイン設定を上書きしない。
ローカル Profile
リモートの自動更新を無効にする。変更はバージョン履歴と手動検証で管理する。

まず更新して結果を確認し、その後で切り替えるか判断する

Profile 一覧の「更新成功」は、リモートリクエストと解析ですぐエラーが出なかったことを示すだけで、ノードが必ず利用できるという意味ではありません。一つを手動更新したら、更新時刻、ノード数、ポリシーグループ名、通信量表示に異常な変化がないかを確認してから、現在の設定として選択してください。

更新後にノードが数十個からゼロになる、ポリシーグループが突然消える、本文が実はログインページだった場合は、その設定へ切り替えないでください。以前から稼働中の設定を残し、HTTP ステータスと解析ログを確認します。自動更新も同じ原則に従い、失敗時は最後に利用できたキャッシュを使い続け、エラーレスポンスを新しい設定として扱わないようにします。

制御可能な更新を一度行う

  1. 更新前の状態を控える

    Profile の名称、現在の更新時刻、主要なポリシーグループを記録する。

  2. この一つだけを更新する

    複数の入手元が同時に変わらないよう、まず「すべて更新」はクリックしない。

  3. 結果を確認する

    ダウンロード状態、解析エラー、ノードとポリシーグループが完全かを確認する。

  4. 切り替えてノードを固定する

    接続画面を使い、普段使うドメインのルールと出口を確認する。

  5. ロールバック手段を残す

    実際の作業が完了するまで、以前の利用可能な設定を削除しない。

オーバーライドは安定した小さな要件だけを解決し、すべてのサブスクリプションを補修するものではない

グローバルな Merge が「PROXY」「ノード選択」などの固定グループ名を参照している場合、別の提供元のサブスクリプションへ切り替えるとそのグループが存在せず、proxy group not found が発生することがあります。オーバーライドは最小限にし、すべての Profile に存在するフィールドとグループ名だけを参照してください。

入手元によってグループ名と構造が大きく異なる場合は、それぞれ別のオーバーライドを管理し、一つのスクリプトですべてを扱おうとしない。

オーバーライドを調整した後は、最終的に生成された YAML を確認します。元の Profile に重複キーがなくても、マージ後に生じる場合があります。DNS、rules、proxy-groups のブロック全体が上書きされることもあります。

すべてのオーバーライドを無効にして元のサブスクリプションを読み込めることを確認し、その後一つずつ有効にします。複数のエラーを同時に読むよりも、失敗を起こした項目を特定しやすくなります。

更新は成功するが、切り替え時に group not found が出る

主な原因:オーバーライドが、この Profile に存在しないグループ名を参照している

対処方法:オーバーライドを無効にし、最終設定にある実際のグループ名と照合する。

別の Profile へ切り替えても DNS が変わらない

主な原因:グローバルな Merge が各サブスクリプションの dns を上書きしている

対処方法:意図した設計かを確認し、違う場合はオーバーライドの範囲を狭める。

更新するたびに手動変更した内容が消える

主な原因:リモートサブスクリプションのキャッシュを直接編集している

対処方法:長期的な変更は、永続的なオーバーライドまたは独立したローカル Profile へ移す。

サブスクリプション、オーバーライド、ローカル設定をバックアップし、Profile の名称一つだけをコピーして済ませない

複数設定のワークフローを復元できるバックアップには、少なくとも四つの要素が必要です。リモートサブスクリプションのアドレス、自分で管理するローカル YAML、Merge または Script のファイル、クライアントのバージョン、ポート、現在の Profile といった少数の設定です。サブスクリプションのアドレスはパスワードマネージャーへ、ローカル設定とオーバーライドは暗号化アーカイブへ保存します。バージョンと設定は、別の説明ページに記録できます。

Clash Verge Rev のキャッシュディレクトリ全体だけをコピーしないでください。キャッシュには期限切れのサブスクリプション、実行状態、以前のカーネルが含まれる場合があり、新しいインストールへ上書きすると問題まで復元されます。ロールバックが必要な場合は、最近動作確認したローカルスナップショットを先にインポートし、メイン Profile を上書きせず読み込めることを確認してください。

本当の予備設定には、独立した信頼できる入手元を使うのが理想です。メインと予備が同じサービス、同じ変換チェーンを参照し、同時刻に自動更新される場合は、まとめて失敗するためロールバック手段になりません。ローカルスナップショットにはノードの認証情報が含まれるので、バックアップを暗号化し、保存期限も設定してください。

復元可能なバックアップ一式

  • パスワードマネージャーにリモートサブスクリプションの URL を保存する
  • ローカル YAML と Merge/Script を暗号化して保存する
  • Clash Verge Rev と Mihomo のバージョンを記録する
  • mixed-port、現在の Profile、必要なスイッチを記録する
  • テスト用 Profile で復元を一度検証している

最後に確認するのは、一度開けたかどうかではなく、サイクル全体の動作である

複数 Profile を安定して管理できている状態

  • 各名称から入手元または用途が分かり、機密性の高い token が含まれていない
  • メイン設定で、最後に成功した更新時刻を識別できる
  • 自動更新に失敗しても、前回利用できた内容が維持される
  • Profile の切り替え後に、ルール、DNS、現在のノードが実際に変化する
  • オーバーライドの失敗時に、加工していない元の設定へワンクリックで戻れる
  • 予備設定が、同じオンライン変換または更新元に依存していない
  • クライアントの再起動後も、現在の Profile と自動更新予定が正しく維持される

通常の作業一回を通して、次の手順を順に検証できます。クライアントを起動し、現在の Profile を確認し、メイン設定を手動更新し、実際の作業を一つ完了し、予備へ切り替えてから元へ戻し、最後に終了してシステムプロキシの復旧を確認します。すべての手順を説明でき、ロールバックも可能になって初めて、複数の Profile が便利さをもたらします。そうでなければ、同じ不確実性を複製しているだけです。

参考資料