この記事は、iPhone の機種変更や端末のリセットを予定している方、または現在の Shadowrocket 設定をバックアップしたい方に向けたものです。App Store の購入履歴、iCloud 同期データ、Config ファイル、サブスクリプション情報を分けて確認し、「旧端末の確認、個別バックアップ、新端末での復元、項目ごとの検証」の順に移行します。接続スイッチが表示されたからといって、すべての設定が復元済みとは限りません。
移行が必要な4種類のデータを整理する
Shadowrocket の機種変更は、1つのファイルをコピーするだけでは完了しません。App Store の購入履歴、Home のサーバーまたはサブスクリプショングループ、Config のルールファイル、Settings の On Demand や DNS などの設定は、それぞれ別の階層にあります。1つの階層が復元できても、ほかの階層まで完全に復元されたとは限りません。
App Store はアプリの購入と再取得を管理します。Shadowrocket は Shadow Launch Technology Limited が提供する有料の商用アプリで、アプリ ID は 932747118 です。入手先は App Store のみです。新しい端末のシステム要件と互換性は、App Store の製品ページに記載された内容に従ってください。
iCloud 同期は、アプリが同期に対応しているデータを引き継ぐためのものです。Config の書き出しは、ルールファイルを確認可能な単独のバックアップとして保存します。サブスクリプションの URL は、利用中のサービス提供元から取得したものを使用します。同期で引き継がれるかどうかは新端末の表示で確認し、1種類のバックアップだけに頼らないでください。
結論:先に一覧を作り、その後で同期する
機種変更前に、Home で現在選択されている項目、Config で有効なファイル、Global Routing の状態、On Demand の条件をそれぞれ記録します。新端末では同じ一覧に沿って確認すると、メインの接続スイッチだけを見るよりも不足している項目を見つけやすくなります。
旧 iPhone で完全性を確認する
移行を始める前に、旧 iPhone で Shadowrocket を開きます。Home に入り、現在選択されているサーバーまたはサブスクリプショングループを記録し、Global Routing が Proxy、Direct、Config、Scene のどれになっているか確認します。ルールによる分流を利用している場合は、現在有効な Config 名を重点的に控えてください。
続いて Config を開き、対象のルールファイルが開けること、ルール一覧が空でないことを確認します。次に Settings で DNS、On Demand、その他に変更した項目を記録します。Settings → On Demand の Wi-Fi やモバイル通信のトリガー条件は自動接続に関係するため、新端末では再認証や条件の再設定が必要になる場合があります。
- アプリの入手先を確認:App Store の Shadowrocket 製品ページを開き、開発者 Shadow Launch Technology Limited とアプリ ID 932747118 を確認します。
- Home の状態を記録:現在選択されている項目、サブスクリプショングループ名、Global Routing の状態を控えます。必要に応じて、システムのスクリーンショットで画面の状態を保存してください。
- Config を確認:現在の設定を開き、カスタムの DOMAIN-SUFFIX、GEOIP、IP-CIDR、FINAL などのルールが想定した位置に残っていることを確認します。
- Settings を確認:DNS、On Demand、その他の接続に影響するスイッチを記録します。これらのシステムレベルの権限が自動的に引き継がれるとは限りません。
- サブスクリプション情報を保管:利用中のサービス提供元が発行したサブスクリプションを使っている場合は、元のアカウントページから URL を再取得できることを確認し、アクセス情報を安全に保管します。
iCloud 同期を有効にして条件を確認する
まず iPhone のシステム設定で、現在の Apple Account が iCloud Drive を有効にしており、Shadowrocket に iCloud の利用を許可していることを確認します。次に Shadowrocket に戻り、Settings → iCloud を開いて、画面に表示される同期項目を有効にします。項目名は現在のストア版によって変わる場合があるため、アプリ内の実際の表示に従ってください。
有効にした直後に旧端末を閉じたり消去したりしないでください。ネットワーク接続を維持して同期の完了を待ち、その後 Home と Config に戻って内容が安定して表示されるか確認します。iCloud 同期には反映時間があるため、スイッチを入れてすぐに変化が見えなくても、直ちに同期失敗とは判断できません。
iCloud は移行手段の1つとして扱ってください。重要なカスタムルールは別途 Config ファイルとして書き出し、サブスクリプションは利用中のサービス提供元から取得した元の URL を保管します。形式の例は https://example.com/sub?token=xxxx のように記述できます。この URL はフィールド構成を説明するためだけのもので、接続には使用できません。
iCloud 同期の確認
- システム側の場所
- 設定 → Apple Account → iCloud
- アプリ内の場所
- Settings → iCloud
- 必要な条件
- 同じ Apple Account と利用可能なネットワーク
- 完了の判断
- 新端末で Home と Config の内容が安定して表示される
同期範囲は現在のアプリ内に表示される項目を基準にします。システムの VPN 権限は新端末で別途確認が必要です。
手動コピーの確認
- ルールの場所
- Config → 対象の設定
- 保存操作
- Share または Export
- 推奨する保存場所
- Files 内の判別しやすいフォルダ
- 確認する内容
- ルールの順序と FINAL のフォールバック項目
画面に情報ボタンがある場合は、まず設定の詳細を開き、Share または Export の操作を探します。
Config ファイルを書き出してルールのコピーを保管する
Config ファイルには主にルールと関連設定が含まれます。Config を開いて使用中のファイルを選び、詳細または操作メニューから Share、Export などの操作を探して Files に保存します。画面構成によっては、情報ボタン、その他のメニュー、長押し操作として表示される場合があります。現在のアプリの表示に従ってください。
書き出した後は、テキストプレビューで重要なルールを確認します。ルールは上から順に照合され、最初に一致したルールで処理結果が決まります。FINAL は前のルールで処理されなかったトラフィックを処理します。移行後にファイル名が同じでもルールの順序が異なると、実際の分流結果が変わる場合があります。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,DIRECT
GEOIP,CN,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
- ファイルの可読性を確認:保存後、Files でファイルが存在し、名前と用途が明確で、サイズが不自然な空ファイルではないことを確認します。
- 重要なルールを確認:DOMAIN-SUFFIX、GEOIP、IP-CIDR、FINAL を検索し、アクションの値が想定どおり PROXY、DIRECT、REJECT のいずれかであることを確認します。
- ルールの順序を確認:具体的なドメインルールは、広範囲に一致するルールや FINAL より前に置きます。そうしないと、より広いルールが先に一致する場合があります。
- 機密情報は分けて保存:設定ファイルとサブスクリプションのアクセス情報は、端末の権限で保護された場所に保存し、公開ページに掲載しないでください。
Config の書き出しは、Home にあるすべての項目を完全にコピーすることとは異なります。サーバー項目、サブスクリプションの更新状態、システムの VPN 権限、On Demand の条件は個別に確認が必要です。手動コピーの主な目的はルールの内容を見える形で残し、iCloud 同期が不完全な場合の復元手段を確保することです。
新しい iPhone で Shadowrocket を復元する
新しい iPhone の準備ができたら、まず購入時に使用した Apple Account で App Store を開き、購入済み項目または Shadowrocket の製品ページからアプリを再取得します。購入状態に問題が表示された場合は、現在の App Store アカウントとストアの地域を確認してください。アプリ内で VPN 構成を繰り返し作成しないでください。
Shadowrocket を初めて開くと、接続機能を有効にする際に VPN 構成の追加を求められます。この権限は新端末固有の設定であり、再度確認が必要です。iCloud で Home と Config の内容が同期されていても、システムの権限がなければ接続を確立できません。
- アプリを復元:App Store から Shadowrocket を入手し、開発者とアプリ ID を確認してから開きます。
- iCloud を有効化:システムの iCloud Drive が利用可能であることを確認し、Settings → iCloud に進んで同期する項目を有効にし、データが表示されるまで待ちます。
- Home を確認:以前の項目が表示されているか確認し、現在選択されている項目が空の項目や無効な記録でないことを確認します。
- Config を読み込む:iCloud から対象のルールが戻らない場合は、Files から旧端末で書き出した設定を開き、Shadowrocket で読み込む操作を選択します。その後 Config で現在の設定に指定します。
- サブスクリプションを復元:利用中のサブスクリプションは、元の URL を使って再追加または更新します。完了後は項目数とグループ名を確認し、「更新成功」の表示だけで利用可能と判断しないでください。
- ルーティング状態を復元:Home に戻り、Global Routing を移行前に記録した Proxy、Direct、Config、Scene のいずれかに設定します。
- 自動接続を再設定:Settings → On Demand を開き、Wi-Fi とモバイル通信の条件を再確認し、システムの指示に従って権限を許可します。
結論:データから権限の順に復元する
まず Home と Config のデータを復元し、次に Global Routing を選択し、最後にシステム VPN と On Demand の権限を設定します。この順番なら、異常が発生した際に、データ不足、ルールの誤り、新端末の権限未完了のどれかを切り分けやすくなります。
移行後にルール、DNS、自動接続を検証する
復元が終わっても、すぐに旧端末の内容を削除しないでください。新しい iPhone の Global Routing を一時的に Direct に切り替え、ローカルネットワーク自体にアクセスできることを確認します。その後、移行前の Config または Proxy の状態に戻します。Direct では正常で Config では異常がある場合、確認すべきなのはアプリの再インストールではなく、ルールの一致、DNS、現在の Config です。
Config の状態で、DIRECT に一致するはずの対象と PROXY に一致するはずの対象へ、それぞれ1件ずつアクセスします。アプリのログまたはリクエスト記録で一致したルールを確認してください。すべてのリクエストが FINAL に到達する場合は、ドメインルールが FINAL より前にあるか、DOMAIN-SUFFIX のドメイン表記が正しいかを確認します。
DNS 設定が原因で「接続済みなのにドメインを開けない」こともあります。Settings を開き、移行前に記録した DNS 項目を確認します。IP アドレスではアクセスできるのにドメインで失敗する場合は、まず名前解決の設定を確認してください。DNS、Config、サーバー項目を同時に変更すると、どの変更が効果を与えたのか分かりにくくなります。
新しい iPhone に設定が表示されているのに、なぜ接続できないのですか?
まず、システムが Shadowrocket に VPN 構成の追加を許可しているか確認し、Home で現在の選択項目と Global Routing を確認します。Direct のままでは接続経路がプロキシルールに従って処理されません。Config を使っている場合は、FINAL とルールの一致記録を続けて確認します。
iCloud を有効にしても Config が空のままの場合は?
2台の端末が同じ Apple Account を使用していることを確認し、システムの iCloud Drive と Shadowrocket の iCloud 権限を確認します。同期を待っても空のままなら、旧端末であらかじめ書き出した Config ファイルを Files から読み込み、ルールの順序を確認します。
サブスクリプションを追加したのに、なぜ内容が更新されないのですか?
まず、URL が利用中のサービス提供元のアカウントから取得したもので、認証情報が有効であることを確認します。その後、Home またはサブスクリプション管理画面から更新します。通常のネットワークでタイムアウトする場合は、現在の接続を経由して更新するオプションがアプリにあるか確認し、ログで DNS、ネットワーク、権限のどれが原因か判断します。
On Demand が以前の Wi-Fi 条件で動作しないのはなぜですか?
Settings → On Demand を開き、条件が同期されているか確認し、新端末でシステムの VPN 権限が完了していることを確認します。Wi-Fi 名、モバイル通信の条件、接続アクションが欠けている場合は、旧端末の記録をもとに再設定してください。全体スイッチを切り替えるだけでは解決しません。
旧端末での移行準備はいつ終了できますか?
少なくとも次の3項目を確認してください。サブスクリプションを更新できること、Config のルールが想定どおり一致すること、On Demand が設定したネットワーク条件で動作することです。App Store の購入状態が正常であることも確認し、読み取り可能な Config ファイルのコピーを1つ保管してください。
切り替え前の最終確認
最後の確認では、購入、データ、ルール、権限の4つの層を対象にします。購入では Shadowrocket が App Store から入手されたこと、データでは Home とサブスクリプションの内容が表示されること、ルールでは Config が選択され FINAL の位置が正しいこと、権限ではシステム VPN と On Demand が想定どおり動作することを確認します。
旧端末と新端末を一時的に両方残す場合は、同じ Config を両方で連続して編集しないでください。最終版がどちらか分かりにくくなります。まず1台を現在の編集端末として決め、ルールの調整を終えてから iCloud 同期を待ち、日付が分かるファイル名で改めて書き出して保管することをおすすめします。
- App Store の製品ページには Shadowrocket と表示され、開発者は Shadow Launch Technology Limited、アプリ ID は 932747118 です。
- Home の現在の項目、サブスクリプショングループ、Global Routing が旧端末の記録と一致している。
- Config の DOMAIN-SUFFIX、GEOIP、IP-CIDR、FINAL の主要ルールが正しい順序になっている。
- Settings の DNS と On Demand を確認し、新端末のシステム VPN 権限が設定されている。
- Direct、Config、Proxy の各状態で、用途に応じた再現可能なテストを1回ずつ完了している。
- Files に保存した Config のコピーを開け、サブスクリプションのアクセス情報の保管場所が明確になっている。