この記事の概要

機種変更前に、使用中のConfig、サブスクリプションURL、手動で追加したサーバーの設定をそれぞれ保存しておきましょう。iCloud同期に加え、独立した書き出しファイルも予備として保管します。旧端末を操作でき、自分で利用しているサービスとサブスクリプションがある方を対象に、新端末でアプリを再取得し、ルールとサーバーを復元して項目ごとに確認する手順を説明します。

1. 購入履歴・サーバー・Configを分けて確認

Shadowrocketの購入履歴と、アプリ内のデータは別のものです。新しい端末でApp Storeから購入済みアプリを再取得しても、Homeのサーバー、Configのルールファイル、Settingsの設定がすべて復元されるわけではありません。移行時はそれぞれ個別に確認しましょう。

アプリの買い切り購入と、接続サービスの契約は別です。サブスクリプションURLは利用中のサービス提供元から取得してください。サービスの有効期限やサーバーの認証情報は、機種変更やアプリの再取得でリセットされません。ShadowrocketはAppleプラットフォーム向けのクローズドソースの有料アプリで、主にiPhoneとiPadで利用できます。システム要件と購入対象の端末はApp Storeのページをご確認ください。

項目 保存する内容 復元後の確認事項
App Storeの購入履歴 アプリ購入に使用したAppleアカウント 製品ページと購入履歴が一致しているか
Homeのサーバー サブスクリプションURL、または手動サーバーの全設定 サーバーの種類、グループ、実際の設定値
Configファイル 使用中の設定とローカルで変更した内容 ファイルが選択されているか、ルールの順序が一致しているか
Settingsの設定 重要なスイッチやOn Demandの条件など 新しい端末で再設定が必要か

結論:まず別の場所にコピーを保存してから同期する

読み取り可能なConfigファイルとサブスクリプションURLを、保護された場所に先に保存してからiCloudを操作します。新しい端末に同期内容がすぐ表示されなくても、手動で復元できるようになります。

2. 旧端末でのバックアップ手順:確認・書き出し・記録

旧端末のHomeで、サブスクリプションから追加したサーバーと手動で追加したサーバーを確認し、Configで現在選択されているファイルを記録します。ファイル名だけでは不十分です。同じ名前でもルールが異なる場合があります。設定を頻繁に変更する場合は、最初のリモートURLだけでなく、実際に使用中の内容を保存してください。

データを確認 Configを書き出す 認証情報を保存 新端末で復元 接続を確認
  1. 現在の動作状態を記録します。Homeで現在選択中のサーバーと、Global Routingで使用しているConfig、Proxy、Direct、Sceneのいずれかを記録します。Sceneを使っている場合は、該当するシーンの条件も記録してください。モード名だけでは不十分です。
  2. 使用中のConfigを保存します。Configを開き、現在選択されているファイルの操作メニューから、利用可能な共有または書き出し機能でコピーを保存します。操作場所はアプリ内に表示されるメニューをご確認ください。削除操作をエクスポートと取り違えないようにしてください。
  3. 外部依存の設定を記録します。Configが参照するリモートルールのリソースにアクセスできるか確認し、ローカルにしかないリソースは別途保存します。Configファイルを書き出しても、参照先のリソースがすべて一緒に保存されるとは限りません。
  4. サブスクリプションと手動設定を保存します。元のサブスクリプションURLを完全な形で保存し、手動サーバーは各項目を記録します。サーバーの表示名だけでは認証情報を復元できません。
  5. 旧端末はそのまま保管します。新端末で接続、ルール、自動接続を確認してから、旧端末のデータを整理してください。

3. iCloud同期:アカウントを確認してからデータをチェック

iCloud同期の可否は、端末のiCloudアカウント、iCloud Driveの状態、アプリのアクセス権、利用可能なストレージ容量によって変わります。App Storeの購入に使うアカウントと、端末のiCloudアカウントは異なる場合があります。前者はアプリの購入履歴、後者はクラウドデータの保存先に関係するため、別々に確認してください。

  1. 旧端末のシステム設定でAppleアカウントを開き、iCloudに進んで、iCloud Driveが有効で十分な空き容量があることを確認します。アプリのアクセス権一覧にShadowrocketが表示されている場合は、アクセスが許可されているか確認してください。
  2. Shadowrocketに戻り、Settingsでアプリ内に表示されるiCloud関連の項目を確認します。アプリに該当する設定があることを確かめてから、案内に従って有効にしてください。端末全体のiCloudバックアップを、アプリ内同期の完了とみなさないようにしましょう。
  3. 旧端末をインターネットに接続し、2台の端末で同じConfigを同時に編集しないようにします。同期状態やクラウド上のファイル一覧が画面に表示される場合は、実際の表示で確認してください。同期にかかる時間をあらかじめ決めつけないでください。
  4. 新端末で該当するiCloudアカウントにサインインし、同じアクセス権を確認してからShadowrocketを開きます。Configのファイル内容とHomeのサーバー一覧を一つずつ照合し、ファイル数だけで判断しないでください。

iCloudにすべてのサーバー認証情報、各Settingsのスイッチ、システムのVPN許可が必ず含まれるとは限りません。Configファイルが見えることから確認できるのは、そのファイルにアクセスできることだけです。サーバー一覧やその他の設定は、個別に復元状況を確認してください。アプリ内に該当する同期機能がない場合は、書き出し済みファイルと元のサブスクリプションURLを使って復元します。

結論:データが見当たらない場合は変更を止め、同期し直すために急いで消去しない

旧端末のデータはすべて残したまま、両端末のアカウントとアクセス権を確認し、独立したコピーから不足分を補います。同期の方向が確認できるまではファイルをまとめて削除しないでください。削除がもう一方の端末にも同期されるおそれがあります。

4. Configを書き出す:ファイル名だけでなく内容を確認

Configは設定の動作を定めるもので、Homeのデータベース全体をバックアップするとは限りません。ファイルにはルール、DNS設定、ポリシー、サーバー定義などが含まれる場合もあれば、外部リソースを参照するだけの場合もあります。どのデータが含まれているかは、書き出したファイルの内容で確認してください。保存されたことだけでなく、テキストを開いて内容を照合するほうが確実です。

  1. 旧端末のConfigで現在使用中のファイルの操作メニューを開き、共有または書き出し機能を使って、システムの「ファイル」アプリ内にある管理可能な場所へ保存します。iCloud Driveに保存する場合、それはファイルストレージであり、アプリ内同期とは分けて確認してください。
  2. 保存したファイルを開き、空のファイルでも、ログイン画面やエラーメッセージでもないことを確認します。自分で変更したルールと、参照先のリソースURLが保たれているかも確認してください。
  3. 新端末では、Config内で利用できるローカル読み込み機能、またはシステムの共有メニューに表示されるShadowrocketの受け取り先からファイルを開きます。実際に表示される操作に従い、読み込み後に内容を再確認してください。
  4. 読み込んだConfigを明示的に選択します。ファイルを一覧に追加しただけでは、現在の設定として使われるとは限りません。ルールに従って通信するには、Home → Global RoutingでConfigを選択してください。

以下はルール構造を確認するための例です。完全なConfigではなく、既存ルールの置き換えを推奨するものでもありません。ルールは上から順に照合されます。自分のファイルにコピーする前に、ポリシー名が存在し、元の用途に合っていることを確認してください。

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

DOMAIN-SUFFIXはドメインのサフィックス、IP-CIDRはアドレス範囲に一致し、GEOIPは地理的な割り当て情報で判定します。FINALは、それまでのルールに一致しなかった通信を処理します。移行後はルールの順序と適用先のポリシーを確認してください。Configがポリシーグループを参照している場合は、グループのメンバーが新端末のサーバーに対応しているかも確認します。

5. サブスクリプションと手動サーバーを別々に復元

元のURLからサーバー一覧を再取得できる場合は、サブスクリプションを再読み込みします。まず利用中のサービス提供元から有効なURLを取得し、新端末のHomeにある追加メニューから、アプリ内に表示される方法で読み込みます。更新するとリモートの内容が再取得されるため、新しい一覧がバックアップ時点と完全に同じとは限りません。表示順の一致ではなく、サービスの状態と必要な設定を確認してください。

サブスクリプションの復元記録

項目
利用中のサービス提供元から取得
URLの例
https://example.com/sub?token=xxxx(架空の値です)
読み込み先
Homeの追加メニュー
復元後の確認
更新結果、グループ、サーバー設定

「?」以降のパラメーターも含めてURL全体を保存します。例のURLを復元に使わないでください。

手動サーバーの記録

Type
旧端末で使用していたプロトコルに合わせて記録
Address / Port
アドレスとポートを一字ずつ照合
認証情報
種類に応じてPassword、UUID、キーを保存
TLS / トランスポート
SNI、トランスポートの種類、関連項目を元の値どおり記録

プロトコルによって設定項目は異なります。あるプロトコルのパラメーターを、別の種類にそのまま入力しないでください。

たとえば、旧サーバーのPortが443なら、新端末にも同じ値を入力します。機種変更を理由に別のポートへ変更する必要はありません。ただし、443はあくまで例であり、すべてのサーバーの既定値ではありません。VMess、VLESS、Trojan、Shadowsocksなどは認証とトランスポートの項目が異なります。旧端末の記録またはサービス提供元の設定情報に従って、一項目ずつ復元してください。

6. 新端末での購入履歴の復元と動作確認

新しいiPhoneまたはiPadで、元の購入履歴に紐づくApp Storeアカウントを使用し、購入履歴または製品ページからShadowrocketを再取得します。再取得ではなく価格が表示される場合は、購入履歴とアカウントを先に確認してください。設定の問題を解決するために、すぐ再購入しないでください。アプリIDは932747118、開発者はShadow Launch Technology Limitedです。

購入履歴の復元とデータの復元は、分けて進めます。アプリを再取得したら、システムの案内に従ってVPN構成を許可し、ConfigとHomeのサーバーを復元します。初回の動作確認中は自動接続の条件を無効にし、ネットワーク切り替えで接続が始まり、状態の判断が難しくなるのを防ぎます。

  1. サーバーが使えることを確認します。Homeで復元したサーバーを選択して接続します。短時間Global Routing → Proxyに設定して、プロキシ経由でアクセスできるか確認できます。この方法で確認できるのは、その時点の接続経路だけです。ルール設定の復元を示すものではありません。
  2. ルールが適用されることを確認します。Global Routing → Configに戻り、現在のConfigを確認したうえで、以前直結とプロキシの対象だった接続先にそれぞれアクセスします。必要に応じて、アプリ内で確認できる接続記録からルールの適用結果を確認してください。
  3. ほかのモードも確認します。Directは直接接続に使用するため、プロキシサーバーが使えるかの確認には使えません。Sceneはシーンの条件と実際の切り替わりを別途確認してください。Configと同じものとして扱わないでください。
  4. 自動接続を再設定します。Settings → On Demandを開き、旧端末の記録に沿って条件を確認してから、システムのVPN設定で該当する状態を確認します。Wi-Fiとモバイル通信の両方で動作を確認し、片方のネットワークだけで判断しないでください。
  5. 復元用の控えを保管します。普段使う接続先を確認した後も、独立したConfigとサブスクリプションの元データを保存しておきます。新端末が継続して正常に使えることを確認してから、旧端末のデータを整理してください。

7. 機種変更時の復元に関するよくある質問

新端末でアプリを取得できたのに、Homeが空なのはなぜですか?

App Storeからアプリを再取得して復元されるのは、アプリ自体を使う権利です。まずiCloud関連のデータに実際にアクセスできるか確認し、利用中のサービス提供元からサブスクリプションURLを取得して読み込みます。手動サーバーはバックアップした設定を使って追加してください。Homeが空でも、アプリを再購入する必要があるとは限りません。

Configは表示されているのに、旧端末と通信の振り分けが異なるのはなぜですか?

まず該当ファイルが選択されていることを確認し、次にHome → Global RoutingがConfigになっているか確認します。その後、ルールの順序、ポリシーグループのメンバー、リモートルールのリソースを照合してください。同じ名前のファイル、サーバーの不足、現在のモードの違いなどが、旧端末と異なる結果につながることがあります。

iCloudにデータが表示されない場合、先に手動で読み込んでもよいですか?

内容を確認済みの書き出しファイルを使って先に復元できます。ただし、元のコピーは残し、両端末で同じ名前のファイルを同時に編集しないでください。クラウドの内容が表示されたら、まずファイルの中身を比較します。名前だけで判断して、動作確認済みのConfigを上書きしないでください。

旧端末を消去してサブスクリプションURLだけが残っています。復元できますか?

有効なサブスクリプションからは通常、現在提供されているサーバー一覧を再取得できます。ただし、バックアップしていないローカルルールの変更、手動サーバー、Settingsの設定までは復元できません。まずサブスクリプションを読み込み、個人用クラウドストレージや端末のバックアップにConfigが残っていないか確認します。失われたローカル変更は再設定が必要です。