PCとスマホで同じサブスクリプションを使う方法|Clashの複数端末設定を同期
サブスクリプションURLの直接利用、クラウドストレージでの設定ファイル同期、WebDAVによるバックアップ・復元を比較。各OSの対応状況と、上書きルールを端末間で統一する方法を解説します。
まず確認:サブスクリプションの更新・設定の同期・実行中の状態
PCとスマホに同じサブスクリプションを登録すれば、通常は同じ配信元のノードを取得できます。ただし、プロキシグループの選択、DNS設定、アプリごとの振り分けまで同期されるわけではありません。サブスクリプションはリモート設定の入口であり、クライアントのローカル設定とは別のデータです。実行中の接続も、その時点の状態にすぎません。何を同期するか決めるには、この3つを分けて考える必要があります。
- リモート設定:サブスクリプションから取得するノード、プロキシグループ、ルール、およびDNS設定などです。内容はサーバー側で決まり、ノード一覧だけを返すURLもあります。
- ローカル設定:サブスクリプションの更新間隔、上書きファイル、システムプロキシ、TUNの有効・無効、アプリの除外リストなどです。保存場所やエクスポート範囲はクライアントによって異なります。
- 実行中の状態:現在選択中のプロキシグループ、速度テストの結果、既存の接続などです。クライアントが
profile.store-selectedで選択内容を保存していても、保存されるのはその端末内だけで、端末間の同期にはなりません。
一般的な家庭での利用なら、「同じサブスクリプションを使い、カスタムルールは共通化し、通信の処理は各端末で個別に設定する」方法が現実的です。WindowsのシステムプロキシとAndroidのVPN許可は、それぞれの端末で設定しましょう。すべての設定を完全に一致させる必要はありません。
同期方法3選:更新範囲と用途を比較
| 方法 | 同期する内容 | おすすめの用途 | 主な制限 |
|---|---|---|---|
| 各端末にサブスクリプションURLを登録 | サーバーから取得する設定内容 | PC・スマホでノード情報を継続的に更新 | ローカルの上書き設定や各種スイッチは、端末ごとに設定が必要 |
| YAMLファイルをクラウドストレージで共有 | 指定したファイルの静的な内容 | カスタムルールの配布、設定のスナップショット保存 | ダウンロード後に再インポートが必要なことが多く、複数端末で編集すると競合する |
| WebDAVでバックアップ・復元 | クライアントが定めるバックアップ対象 | 同じクライアントでの機種変更、設定の復元 | クライアント側の明確な対応が必要で、バックアップ形式が他の端末で使えるとは限らない |
3つの方法は組み合わせて使えますが、設定の管理元は1つに決めましょう。たとえば、ノードの更新はサブスクリプション、振り分けルールの管理は専用ファイル、機種変更用のバックアップはWebDAVに分けます。クラウド上のファイル、サブスクリプションの更新、バックアップの復元で同じ設定を次々に上書きすると、どのバージョンが有効なのか分からなくなります。
方法1:同じサブスクリプションを各端末に登録
登録と更新の手順
- サブスクリプションサービスのアカウントページから、使用するクライアントに対応したURLを取得します。まずPCの「設定」または「サブスクリプション」画面でURLを使って登録してください。項目名や登録場所はクライアントによって異なります。
- 登録後、利用可能なノードに加え、ルールモードで必要なプロキシグループとルールが含まれているか確認します。ノード一覧だけのデータでは、完全な実行用設定の代わりになりません。
- スマホにも同じ配信元の対応URLを登録し、OSのVPN許可を済ませてから、プロキシグループが利用できるか確認します。
- 両方の端末で1回ずつ「更新」を実行し、更新日時、ノード名、カスタムルールが維持されているか確認します。最後に、それぞれの端末で接続をテストしてください。
自動更新は、まず24時間ごとに設定すると管理しやすくなります。これは運用上の目安であり、プロトコル上の要件ではありません。サーバーにリクエスト頻度の制限がある場合は、サービスの案内に従って調整してください。スマホのOSがバックグラウンド処理を制限することもあります。更新間隔を設定しても、アプリを終了した後に予定どおりダウンロードされるとは限りません。
同じアカウントでもURLは端末ごとに異なる場合がある
Clash、mihomo、その他のクライアント向けに、形式の異なるサブスクリプションURLを提供するサービスもあります。PCではmihomo形式、スマホでは別の形式を使う場合、アカウントとノードの配信元は共通にしつつ、それぞれに対応したURLを登録できます。URLを同じ見た目にするために、クライアントが認識しない項目を無理に読み込ませないでください。
サブスクリプションの更新に成功しても、ローカルの変更が同期されたとは限りません。ダウンロードしたYAMLを直接編集すると、次回の更新で上書きされることがあります。継続して使うルールは、クライアントが対応する上書き・マージ・スクリプト設定に追加しましょう。機能名やマージ順序はクライアントによって異なります。
方法2:クラウドストレージで設定ファイルを同期
クラウドストレージは、内容が明確なファイルの受け渡しに向いています。クライアント内部のデータベースを自動で同期する用途には適しません。共有用の設定ディレクトリを作り、配布するYAMLとルールの説明だけを保存しましょう。クライアントのデータディレクトリ全体を同期すると、データベース、ロックファイル、キャッシュ、端末固有のパスなどが原因で、別の端末で読み込めない場合があります。
「エクスポート・ダウンロード・インポート・確認」の順に進める
- 共有する設定をメインの編集端末からエクスポートし、
shared-rules-2026-09-16.yamlという名前で保存します。日付を付けておくと、スナップショットを見分けやすくなります。 - アクセス制限を設定したクラウドストレージのフォルダにアップロードし、完了するまで待ちます。
- もう一方の端末にファイルをダウンロードし、クライアントのファイルインポート機能で読み込みます。クラウドストレージの共有ページのURLを、YAMLのダウンロードURLとして使わないでください。
- YAMLのインデント、プロキシグループ名、ローカルパスを確認してから設定を起動し、ログを確認します。
モバイル端末のファイル選択画面では、ファイルがアプリの専用領域にコピーされることがあります。その後クラウド上の元ファイルを変更しても、クライアント側のコピーには反映されない場合があります。指定ファイルやリモートURLを継続的に読み込む機能をクライアントが明確にサポートしている場合に限り、その仕組みに従って更新できます。「ファイルからインポート」するだけでは双方向同期になりません。
クラウドストレージのURLをリモート設定として使う場合は、アクセス権限、リダイレクト、返される内容も確認してください。ログインページや共有ページはYAMLではなくHTMLを返すことがよくあります。一時的な署名付きURLは期限切れになる場合もあります。クライアントからダウンロードできるようにするために、サブスクリプション情報を含む設定ファイルを公開共有しないでください。
方法3:WebDAVでバックアップ・復元
WebDAVはリモートファイルへのアクセス機能を提供しますが、Clashの設定を自動で認識するものではありません。アプリ内でバックアップをアップロード・復元するには、クライアントがWebDAVバックアップ機能に対応している必要があります。一般的なWebDAVストレージとサブスクリプションURLへの対応は別の機能であり、相互に代用できません。
バックアップ対象を確認してから、2台目の端末で復元する
- 接続情報:サービス提供元から案内されたHTTPSのWebDAV URL、ユーザー名、専用のアプリパスワードを使い、クライアント専用のフォルダを用意することをおすすめします。
- バックアップ対象:サブスクリプションURL、設定ファイル、上書き設定、画面設定、プロキシグループの選択が含まれるか確認してください。「バックアップ成功」と表示されても、すべてのデータが保存されたとは限りません。
- 復元の互換性:できるだけ同じクライアントの互換バージョン間で復元してください。どちらのアプリもmihomoを使っているからといって、バックアップの構造まで同じとは限りません。
- 上書きのリスク:復元する前に、対象端末の設定をエクスポートしてください。復元時にローカル設定が置き換わり、項目ごとにマージされないことがあります。
WindowsクライアントのバックアップがAndroidで使えるとは限らず、iOSクライアントが認識するとも限りません。クライアントにWebDAVの設定項目がない場合は、外部のファイルアプリでYAMLを受け渡せますが、それはファイルのインポートであり、アプリ設定を復元する機能は追加されません。
WebDAVは「古いPCから新しいPCへの移行」には向いていますが、スマホとPCでノードの選択状態をリアルタイムに揃える用途には向きません。ツールにアップロード、ダウンロード、復元のボタンしかない場合は、継続的なバックグラウンド同期ではなく、スナップショットのバックアップとして扱いましょう。
OSごとに分けておきたい設定
| プラットフォーム | 共通で使える項目 | 個別に設定する項目 |
|---|---|---|
| Windows、macOS、Linux | 互換カーネルで使えるサブスクリプション、ドメインルール、プロキシグループの構成 | システムプロキシ、TUNの権限、サービスのインストール、プロセス名とパス |
| Android | 対応形式のサブスクリプションと振り分けルール | VPNの許可、アプリごとのプロキシ設定、バッテリー制限、バックグラウンド更新 |
| iOS、iPadOS | 使用するクライアントが明確にサポートするサブスクリプション設定 | 設定構文の互換性、ネットワーク拡張の制限、バックアップのインポート形式 |
Clashは設定やカーネルのエコシステムで使われる名称であり、すべてのプラットフォームで同じアプリを指すわけではありません。mihomoの拡張項目が使えるかどうかは、カーネルの機能とクライアント側の処理の両方によります。iOSで特定のサブスクリプション形式に対応していても、デスクトップ設定にあるTUN、DNS、プロセスルールのすべてが使えるとは限りません。
デスクトップで待ち受けている 127.0.0.1:7890 の混合プロキシポートは、そのPC内の接続だけを処理します。同じ設定をスマホにインポートしても、127.0.0.1 が指すのはPCではなくスマホ自身です。サブスクリプションを端末間で同期するために、allow-lan を有効にしたり、コントロールインターフェースをLANに公開したりする必要はありません。
Androidでは通常、システムのVPNサービスを使って通信を処理します。デスクトップではシステムプロキシまたはTUNを選べます。システムプロキシの設定はシステムプロキシの設定方法、Androidで通信を処理する手順はAndroidの設定ガイドをご覧ください。
上書きルール:振り分けの考え方を共有し、端末固有の設定は分ける
端末間で共有しやすいのは、特定のドメインを直接接続にする、指定したプロキシグループに振り分ける、といったルールの意図です。ポート、TUN、DNSの待ち受けアドレス、アプリ単位の選択は端末ごとに設定しましょう。まずプロキシグループ名を揃えてから、それらを参照するルールを共有してください。名前が一致しないと、同じルールでも別の端末では参照先のプロキシが見つからないことがあります。
ルールの順序と参照先の名前を確認する
以下は、完全な設定ファイルにおける rules セクションの構成例です。Proxy は実際に存在するプロキシまたはプロキシグループ名に置き換えてください。例示したドメインも用途に合わせて調整が必要です。すべてのクライアントの上書き欄にそのまま貼り付けられる汎用ファイルではありません。
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- DOMAIN-SUFFIX,example.net,Proxy
- GEOIP,CN,DIRECT
- MATCH,Proxy
ルールは通常、上から順に評価され、最初に一致したものが適用されます。MATCH は最後に置くフォールバックルールです。クライアントが追加ルールを既存の MATCH より後ろに追加すると、それらのルールは接続に適用されません。そのクライアントが明示的にサポートする先頭への挿入方法を使いましょう。
配列のマージが単純な追加とは限らない
上書き機能によって、rules 配列全体を置き換えるもの、先頭または末尾にマージするもの、スクリプトで設定オブジェクトを書き換えるものがあります。あるクライアントの上書きファイルを、別のクライアントの設定欄にそのままコピーしないでください。ルールの内容を移し、使用先の形式に合わせて組み直しましょう。
- メインの編集端末でドメインルールの一覧を管理し、適用するプロキシグループ名も記録します。
- 各端末で対応する方法を使ってルールを適用し、通信を処理するための端末固有の設定は維持します。
- サブスクリプションを更新してから、クライアントの有効な設定を確認します。ルールが上書きされていないか、フォールバックルールより後ろに置かれていないかも確認してください。
- 対象のドメインにアクセスし、ログまたは接続の詳細で、適用されたルールの種類と最終的なポリシーを確認します。
DNSのFake-IPモードやフィルターリストも、無条件にすべての端末へ同期しないでください。スマホでは、LAN内のデバイス検出、特定のアプリ、接続するネットワーク環境に応じて個別調整が必要なことがあります。変更する場合は、まず元の設定を保存し、ログを見ながら調整してください。デスクトップ用のDNS設定が、すべての端末に適するとは限りません。
同期後の確認:更新・ルール・プライバシー・復元
4項目を確認して同期状態をチェック
- 配信元が同じ:2台のサブスクリプションが同じアカウントに属し、互換性のある形式であることを確認します。名前が同じだけの古い設定を使っていないかも確認してください。
- 更新が正常に完了:手動で1回更新し、認証エラー、タイムアウト、形式の解析エラーがないか確認します。
- カスタムルールが有効:ルールの順序とプロキシグループ名を確認し、接続の詳細で実際に適用されたことを確かめます。
- 通信の処理方法が適切:PCではシステムプロキシまたはTUN、スマホではVPNの状態とアプリの除外設定を確認します。
片方の端末では使えて、もう片方では使えない場合は、すぐにサブスクリプションURLを何度も変えるのではなく、有効な設定とログを比較してください。同じ配信元でも、クライアントごとに対応する項目が異なり、解析結果に差が出ることがあります。サブスクリプションは正常に更新されるのに対象アプリがプロキシを使わない場合は、通信がカーネルに渡っているかを確認しましょう。
サブスクリプションURLは認証情報として扱う
サブスクリプションURLにはアカウントのトークンが含まれていることがあります。設定ファイル全体、スクリーンショット、クラウド上のファイル、バックアップを共有すると、URLまで漏れる可能性があります。アクセスを制限したフォルダと専用のアプリパスワードを使いましょう。バックアップの暗号化に対応している場合は、ファイル全体が暗号化されるかも確認してください。HTTPSは通信中のデータを保護しますが、バックアップファイルの保存時の暗号化を保証するものではありません。
日常的に複数端末で使うなら、サブスクリプションURLを各端末に直接登録し、カスタムルールは管理元を1つに絞り、クラウドストレージには内容を確認できるスナップショットを保存し、WebDAVは対応クライアント間のバックアップ・復元に使う方法がおすすめです。変更のたびに「更新に成功したか」「ルールが適用されたか」「端末が正しく通信を処理しているか」の3点を確認すれば、同期の問題とネットワークの問題を切り分けて対処できます。