Shadowrocketの設定バックアップと機種変更時の移行|iCloud同期・設定ファイルの書き出しと復元手順

Shadowrocketのノードと設定をiCloud同期や設定ファイルの書き出しでバックアップする方法、新しいiPhoneやiPadで購入済みアプリを再インストールして復元する手順を解説します。

この記事の要点

機種変更の前に旧端末を手元に残し、iCloud同期と別途保存した設定ファイルでデータを保管します。新端末にApp Storeからアプリを再インストールしたら、Homeのノード、Configのルール、Settingsの接続設定をそれぞれ確認しましょう。自分で契約しているサービスとサブスクリプションがあり、iPhoneやiPadの買い替えを予定している方向けに、個別に保存すべきデータと復元後の確認方法を説明します。

1. 購入履歴・ノード情報・設定ファイルの違い

Shadowrocketのアプリ購入履歴とアプリ内のデータは別のものです。App Storeからアプリを再インストールしても、ノード、サブスクリプションURL、ルールファイル、接続設定がすべて復元されるとは限りません。移行が完了したかどうかは、新端末で各項目を確認して判断しましょう。アプリのアイコンが表示されただけでは、復元完了とはいえません。

Homeでは主にノード、サブスクリプショングループ、接続状況を確認します。Configでは設定ファイルを管理・選択し、Settingsの項目も別途確認が必要です。Configから書き出したファイルには、通常ルールや関連設定が保存されます。ただし、ファイルがあるだけでHomeの全項目や端末上のすべての設定まで含まれているとは判断できません。

3つの画面
Home、Config、Settingsを個別に確認
2つの方法
iCloud同期と独立したファイル保存を併用
1つのID
App StoreアプリID:932747118

要点:先に一覧を作り、その後に同期する

旧端末で現在使っているサブスクリプショングループ名、Configファイル名、Global Routingの選択内容を記録し、サブスクリプションの取得元と設定ファイルのコピーをそれぞれ保存します。新端末で項目ごとに確認でき、「同期されたはず」という思い込みに頼らずに済みます。

2. 旧端末でバックアップする手順

まず、旧端末で現在正常に使えることを確認してからバックアップします。サブスクリプションの更新に失敗している場合は、サービス提供元のリンク切れとローカル設定の問題を切り分けてください。移行で既存データを移すことはできますが、期限切れの認証情報は修復できません。サブスクリプションとノードは、ご利用のサービス提供元から入手してください。

データを確認 同期を確認 コピーを書き出す 新端末で復元 接続を確認
  1. Homeを確認:サブスクリプショングループ、手動で追加したノード、現在選択中のノードを記録します。サブスクリプションから再取得できる情報と、この端末で手動変更した情報は分けて記録してください。
  2. Configを確認:現在選択中のファイルと、ローカルで編集したファイルを記録します。設定からリモートルールを参照している場合は、リソースのURLと取得元も控えておきましょう。
  3. 接続設定を確認:Global Routingの現在の選択内容を記録し、Settings → On Demandで自動接続の条件が有効になっているか確認します。
  4. 復元元を保存:既存のサブスクリプションURLを安全な場所に保存します。URLに含まれるtokenにはアクセス権限がある場合が多いため、公開の掲示板などに投稿しないでください。
  5. 旧端末はすぐに消去しない:新端末への読み込み、ルールの確認、実際の接続テストが終わってから、旧端末のデータを整理してください。

3. iCloud同期で確認すること

iCloud同期は、個人の端末間でアプリのデータを引き継ぐのに便利ですが、過去の状態を永続的に保管するバックアップではありません。同期の対象はアプリが提供するオプションや端末の設定によって異なります。また、削除や上書きの変更がほかの端末にも反映される場合があります。そのため、新端末で大規模な整理を始める前に、独立したコピーを書き出しておきましょう。

  1. 旧端末のシステム設定で「設定 → Apple Account → iCloud」を開き、アカウントと空き容量を確認します。iCloud DriveとShadowrocketのiCloud利用が有効になっていることも確認してください。システムメニューの名称は、OSの画面表示の変更により異なる場合があります。
  2. ShadowrocketのSettingsでiCloud関連の項目を確認し、移行するデータの同期が許可されていることを確かめます。同期の設定場所や対象範囲は実際の画面で確認してください。特定のスイッチだけで、すべてのデータがバックアップされたと判断しないようにしましょう。
  3. 旧端末をインターネットに接続した状態にし、データの保存が完了してから、新端末で同じiCloudアカウントを使い、関連する権限を確認します。両方の端末で項目をまとめて削除したり、作り直したりしないでください。
  4. 新端末でShadowrocketを開き、HomeとConfigをそれぞれ確認します。アカウントにサインイン済みかどうかではなく、グループ名、ファイルの内容、独自の変更が一致しているかで判断してください。

App Storeでの購入に使うApple Accountと、iCloudに使うアカウントは異なる場合があります。前者は購入済みアプリの履歴、後者はクラウド上のデータに関係します。購入履歴が表示されても、iCloudのデータが同じアカウントにあるとは限らないため、別々に確認してください。

要点:同期されない項目があれば、上書きせずにいったん停止

新端末に一部のノードしかない、または独自ルールが見当たらない場合は、まず旧端末の状態を保ちます。両端末のアカウント、同期権限、ネットワークを確認してから、独立したコピーで不足分を補ってください。完全同期を促す目的で旧端末のデータを削除しないでください。

4. 設定ファイルを書き出し、コピーの内容を確認する

独立したファイルを保存しておくと、特定時点の状態を後から確認できます。特に、手動でルールを編集した場合に役立ちます。Configを開いて実際に使用している設定を見つけ、ファイルの操作メニューから画面に表示される書き出しまたは共有機能を使って「ファイル」に保存します。具体的な操作場所は現在のアプリ画面で確認してください。リモートファイルのURLだけでなく、設定内容そのものが保存されていることを確かめましょう。

  1. まず変更していない元のコピーを保存し、その後、新端末に読み込むためのコピーを作成します。ファイル名に用途を加えて、たとえば home-rules-before-migration.conf とすれば、空の設定ファイルと区別しやすくなります。
  2. 「ファイル」からコピーを開き、実際のルールが含まれているか確認します。ファイル名が表示されていても、内容全体が保存されているとは限りません。
  3. 独自ルール、DNS関連の設定、リモートリソースへの参照を確認します。コピーがリモートリソースに依存している場合、復元時にもURLが有効で、アクセスできる必要があります。
  4. 手動で追加したノードに必要なプロトコル、サーバー、ポート、認証情報は別途保存してください。Configから書き出したファイルにHomeの全ノードが含まれるとは限りません。

以下はルールの内容を見分けるためのテキスト例であり、完全な設定ファイルでも、そのまま使えるノード情報でもありません。復元時は自分の元ファイルを基準にしてください。特に、PROXYなどのポリシー名が移行先の設定内で対応する意味を持つことを確認しましょう。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY

ルールは上から順に照合されます。DOMAIN-SUFFIXはドメインの末尾、IP-CIDRはIPアドレスの範囲、GEOIPはIPアドレスの所在地、FINALはそれ以前のルールに一致しなかった通信を処理します。新旧の設定を比べる際は、キーワードの有無だけでなく、順序、パラメーター、最終的なポリシーも確認してください。

5. 新しいiPhoneやiPadでアプリとデータを復元する

ShadowrocketはAppleプラットフォーム向けに提供されており、購入・インストールはApp Storeから行います。新端末で元の購入に使ったアカウントを使い、App Storeの購入済みアプリからShadowrocketを探して再インストールしてください。ストア画面では「App」や購入済み項目などと表示される場合があります。実際の端末画面に従ってください。

アプリのインストール後、まずiCloudから復元された内容を確認し、不足分を補います。サブスクリプションをすぐにすべて再インポートしないでください。同じノードが別々のグループに表示され、その後の確認が難しくなる場合があります。アプリの入手先と確認手順は正規版の確認ページをご覧ください。

  1. Homeでサブスクリプショングループと手動ノードを確認します。サブスクリプションが欠けている場合は、保存しておいたURLから再度読み込み、そのサブスクリプションを更新して項目が実際に取得できることを確認してください。
  2. Configで保存済みの設定ファイルを読み込みます。「ファイル」のシステム共有機能からShadowrocketに渡す方法、またはアプリ内のファイル読み込み機能を使う方法があります。読み込み後、使用する設定が選択されていることを確認してください。
  3. 手動ノードの各項目を確認します。サーバーアドレス、ポート、パスワードまたはUUID、TLSとトランスポートの設定が元の情報と一致している必要があります。ノードの表示名だけをコピーしないでください。
  4. 初回接続時は、システムの案内に従ってVPN構成の追加を許可します。システム上の許可は新端末で個別に行う必要があり、テキスト形式の設定ファイルと一緒に完了するものではありません。

サブスクリプションURLの例はhttps://example.com/sub?token=xxxxです。これは復元には使えない架空の値です。実際のURLはご利用のサービス提供元から入手してください。サブスクリプションからノードを再構築すると、通常はサービス提供元が現在公開している内容が取得され、旧端末の特定時点の状態が完全に再現されるとは限りません。手動で変更した項目は別途確認してください。

6. 復元後、接続とルールを順番に確認する

「ノードが表示された」ことと「復元が完了した」ことは同じではありません。手動テストに影響する可能性があるOn Demandの自動接続条件をいったん無効にし、手動で接続を確認してから、元の自動接続設定に戻すことをおすすめします。テストでは一度に変更する条件を1つにして、問題の原因を特定しやすくしましょう。

  1. データを確認:旧端末の一覧と照らし合わせ、Homeのサブスクリプショングループ、手動項目、Configで現在選択されているファイルを確認します。ノード数はサービス提供元の更新で変わることがあるため、合計数だけで欠落を判断しないでください。
  2. Global Routingを確認:ルール設定を検証する場合はConfigを選択します。Proxy、Direct、Sceneでは処理方法が異なります。動作の違いによるアクセス結果の変化を、バックアップファイルの破損と誤認しないようにしてください。
  3. ノードの接続を確認:有効であることを確認したノードを選び、アプリに備わっている接続テストを実行してから、普段使っているページを開きます。遅延の結果だけでは通信経路の一部しか確認できず、実際にアクセスできるかどうかの検証にはなりません。
  4. ルーティングを確認:直結を想定した宛先とプロキシ経由を想定した宛先にそれぞれアクセスし、接続ログで適用されたルールとポリシーを確認します。独自ルールがFINALより前に残っているかも確認してください。
  5. 自動接続を再開:Settings → On Demandに戻り、旧端末で記録した条件を確認してから有効にします。ネットワーク切り替え後の接続状況も確認してください。

サブスクリプションの更新に成功してもノードに接続できない場合は、サービス提供元の指定情報を一つずつ確認します。たとえば、元のノードのポートが443なら、新端末でもサービス提供元が指定する同じポートを使う必要があります。ポートが一致していても、TLS、サーバー名、認証情報が正しいとは限りません。確認のために、よく使われるポートへ安易に変更しないでください。

普段のアクセス、ルールによる振り分け、自動接続の確認がすべて終わるまで、旧端末と独立したコピーを保管してください。後から変更を戻す場合は、まず接続を停止してから保存しておいた元の設定を読み込みます。唯一使えるファイルを、コピーなしで上書きし続けないでください。

7. 機種変更時のよくある質問

アプリを再インストールしたのに、Homeに何も表示されないのはなぜ?

まずシステムのiCloudアカウント、iCloud Drive、アプリの同期権限を確認し、旧端末に元のデータが残っているか調べます。App Storeからのインストールで戻るのはアプリ本体です。同期されていないサブスクリプションは保存済みのURLから再読み込みし、手動ノードはバックアップした項目を使って再設定してください。

設定ファイルが1つあれば、すべてのノードを復元できますか?

ファイルの拡張子だけでは判断できません。コピーを開いて内容を確認し、ルール、ノード定義、リモート参照を区別してください。ルールしか含まれていない場合は、自分のサブスクリプションの取得元や手動で保存した情報からHomeの項目を復元する必要があります。ルールだけのファイルをアプリ全体のバックアップとみなさないでください。

新端末でサブスクリプションを更新したら、以前のノード名が変わりました。どうすればよいですか?

まず元のサブスクリプションURLを使っていることを確認し、サービス提供元から現在返されるノードを確認します。更新によってノード名や項目が変わる場合があります。元の設定を残したまま、参照されているポリシー名やノード名と照らし合わせて対応関係を修正し、ルールをテストしてください。グループをすべて削除するのは避けましょう。

ルールファイルを読み込んだのに、旧端末とアクセス結果が違うのはなぜ?

まずConfigで該当ファイルが選択されていることを確認し、次にGlobal RoutingがConfigになっているか確認します。その後、ルールの順序、リモートリソース、選択中のノードを確認してください。Directのまま、または別の設定を使っている場合、ファイルを何度読み込み直しても解決しません。

旧端末がなく、購入履歴しかない場合、サブスクリプションを復元できますか?

購入履歴で確認できるのはアプリの入手資格であり、サービス提供元のサブスクリプション認証情報は含まれません。まずiCloudから復元できるアプリデータと、自分で保存したファイルを確認してください。それでも不足する場合は、ご利用のサービス提供元からサブスクリプションとノードを入手し、再設定します。

Shadowrocket 公式ガイドまずApp Storeの情報を確認 →