この記事は、iPhone / iPadの機種変更時にShadowrocketの設定を引き継ぎたい方を対象にしています。「内容の確認、同期、個別書き出し、復元、動作確認」の順に進め、Homeの接続項目、Configのルールファイル、Settingsの動作設定を分けて確認します。ご自身が利用しているサービスやサブスクリプションがあることを前提とし、復元完了と接続確認は別々に行ってください。ファイルが表示されたことだけで移行完了と判断しないようにしましょう。
1. バックアップ対象:Configファイルだけではアプリデータすべてを保存できない
Shadowrocketの移行では、少なくとも3種類のデータを確認する必要があります。Homeには接続項目、サブスクリプショングループ、現在の選択状態があります。ConfigにはルールやDNSなどの設定が含まれます。SettingsにはOn Demandなどの動作設定があります。Configファイルを1つ書き出しただけでは、サブスクリプションURL、すべての接続情報、端末のシステム権限まで保存されたことにはなりません。
同期やアップデートを行う前に、旧端末で現在の動作状態を記録してください。パスワード、秘密鍵、完全なサブスクリプションURLを通常のスクリーンショットに残すのは避けましょう。グループ名、項目数、選択中のConfig名、Global Routingの状態などはローカルのチェックリストに記録できます。機密情報はアクセス制限のあるバックアップ先に保存してください。
| データの種類 | 移行前の確認 | 新端末での確認 |
|---|---|---|
| Homeの接続項目 | グループ、項目数、必要な接続情報を記録 | 項目を開き、アドレス、ポート、プロトコルの設定を確認 |
| Subscribeのデータ | 元のサブスクリプションURLが手元にあることを確認し、ローカルで変更した内容を記録 | グループの所属を確認し、更新結果を個別に検証 |
| Configファイル | 現在選択中のファイルと、残しておきたいほかのファイルを書き出す | インポート後に正しいファイルを選択し、ルールの順序を確認 |
| Settingsの動作設定 | On Demandなどの個人設定を記録 | すべて自動で復元されるとは限らないため、項目ごとに確認 |
| システムのVPN権限 | 旧端末で現在の接続が正常に動作することを確認 | 初回接続時にシステムの案内に従って再度許可 |
サブスクリプションから取得されるデータは、時間の経過とともに変わる場合があります。移行前後で項目数が異なる場合は、サブスクリプションが更新されていないか確認してから、書き出し漏れを判断してください。名前、グループ、設定値を手動で変更した項目は、再取得してもその変更が引き継がれるとは限らないため、特に個別に記録しておきましょう。
2. iCloud同期:旧端末からのアップロードと新端末での受信を確認
iCloudは同じApple Accountを使う端末間の引き継ぎに便利ですが、過去の状態を保管する独立したバックアップではありません。追加、変更、削除が同期されることがあります。また、一方の端末にデータが表示されていても、もう一方で受信済みとは限りません。機種変更前は旧端末の状態を保ち、同期を促すために先にデータを削除しないでください。
- システムアカウントを確認します。iPhone / iPadの「設定 → Apple Account → iCloud」で、サインイン中のアカウントを確認し、空き容量、iCloud Drive、アプリのiCloud利用権限をチェックします。OSのバージョンによっては、アプリの一覧が「すべてを表示」の中にあります。
- アプリの同期設定を確認します。ShadowrocketのSettingsで、現在のインストール版にあるiCloud同期オプションを確認して有効にします。スイッチの名称や同期対象は実際の画面で確認してください。システム全体のバックアップ設定を、アプリの同期設定と混同しないようにしましょう。
- ネットワークに接続したまま、同期を確認します。旧端末で保存したら同期に時間を取り、新端末でアプリを開いて確認してください。どちらの端末が意図した状態なのか分からなくなるため、同じ設定を両方の端末で同時に編集するのは避けましょう。
- 名前だけでなく内容を確認します。Configファイルを開けること、必要なルールが含まれていることを確認してから、Homeのグループと接続項目をチェックします。ファイル名が同じでも、内容が完全であることや、そのファイルが選択されて有効になっていることの証明にはなりません。
新端末にデータが表示されない場合は、まず両端末のアカウント、アプリの権限、クラウドの空き容量、ネットワーク接続を確認し、アプリを開き直して様子を見てください。同期のオン・オフを何度も切り替えたり、ローカルデータを消去したりするのは最初の対処にしないでください。クラウド上の状態を確認できない場合は、下記の個別ファイルによるバックアップも利用し、同期だけに依存しないようにしましょう。
3. Configを書き出す:単独で読み込める設定ファイルを保存
旧端末でConfigを開き、どのファイルが選択されているか確認します。対象の設定ファイルの操作メニューを開き、画面に表示される書き出しまたは共有機能を使って、システムの「ファイル」にある管理可能なフォルダへ保存します。プラットフォームや画面レイアウトによって操作場所は異なる場合があります。ファイル名や設定のダウンロードURLをコピーするだけでなく、実際のファイルを保存してください。
- 必要なファイルを1つずつ書き出します。まず現在使用中のConfigを保存し、次に残しておきたいほかの設定も保存します。用途やバックアップ時期を区別できるファイル名を付け、同名ファイルで上書きしないようにしましょう。
- ファイルを開いて確認します。「ファイル」で書き出したファイルを開けることを確認し、必要なセクションやルールが含まれているかチェックします。ファイル名だけがある状態、内容が空の状態、エラーページは有効なバックアップではありません。
- 外部依存を確認します。設定がリモートルール、スクリプトなどの外部リソースを参照している場合、ファイルを保存しても、それらのリソースすべてが保存されたことにはなりません。用途を記録し、新端末で正常に取得できるか確認してください。
- 接続データも別途保存します。Homeで元のサブスクリプションや手動で追加した項目を確認し、現在の画面で利用できる共有、書き出し、バックアップ機能を使って必要なデータを個別に保存します。保存の前後に、どの範囲が含まれるか確認してください。
- 管理されたバックアップをもう1つ保管します。同期フォルダ以外にも、今回の同期による削除の影響を受けないコピーを保存してください。接続情報を含むファイルはアクセスを制限し、転送後は一時的な中継ファイルを削除します。
リモート設定のURLだけを保存している場合、後日再ダウンロードすると内容が変わっていることがあります。移行前の状態に戻す必要がある場合は、その時点で書き出したローカルファイルを保管してください。リモートで管理される最新の内容を使う場合は、別途更新します。「以前の状態に戻す」と「最新の内容を取得する」を分けることで、差分の原因を特定しやすくなります。
4. 新端末で復元:アプリをインストールしてから設定を読み込み、選択
iPhone / iPadでは、App Storeのアカウントページから「購入済み」または該当するアプリの一覧を開き、購入時に使用したアカウントでShadowrocketを検索して再ダウンロードできます。メニュー名はシステムの画面によって異なります。アプリの再インストールとアプリデータの復元は別の作業です。App Storeからダウンロードできても、Config、サブスクリプション、動作設定が復元されたことにはなりません。
入手先は当サイトのダウンロードページにまとめています。iPhone / iPad版はApp Storeで$2.99の買い切りです。システム要件はApp Storeの掲載内容をご確認ください。Mac(Appleシリコン / Intel)、Windows、Android、Linux版は無料です。iPhone / iPad版を確認する際は、デベロッパがShadow Launch Technology Limited、アプリIDが932747118であることを確認してください。アプリの買い切り購入と接続サービスの契約は別です。既存のサブスクリプションはご自身で管理してください。
- まず自動復元の状態を確認します。アプリを開き、iCloudからどのデータが復元されたかを確認してください。すでにファイルがあり、内容も正しければ、同名のコピーができるのを避けるため、すぐに再インポートする必要はありません。
- 不足しているConfigをインポートします。Configのインポート機能を使うか、システムの「ファイル」から共有機能でShadowrocketに渡して開きます。インポート後に内容を確認し、使用する設定を明示的に選択してください。
- 接続元を復元します。バックアップからHomeの手動追加項目、またはご自身が利用しているサブスクリプションを復元します。サブスクリプションURLだけがあり、ローカルに接続項目がない場合は、ネットワークに接続して更新してください。更新に失敗した場合は別途原因を調べ、Configが無効だと決めつけないようにしましょう。
- ルーティングと動作設定を確認します。Global Routingが旧端末と同じ状態であることを確認し、Settings → On Demandもチェックします。移行直後は自動起動をいったんオフにし、手動テストが終わってから元の条件に戻す方法もあります。
- システムの許可を設定します。初めて接続を有効にするときは、システムの案内に従ってVPN構成の追加を許可してください。アプリ内のデータを復元しても、新端末でのシステム許可は別途必要です。
異なるプラットフォーム間の移行では、App Storeの「購入済み」から復元する手順を使わず、iCloudがWindows、Android、Linuxにも同期されると想定しないでください。ダウンロードページから対象プラットフォーム版をインストールし、そのバージョンで対応しているインポート形式を確認します。システムのVPN権限、ファイルアクセス権限、自動接続条件も移行先で改めて設定してください。
5. 復元後の確認:接続パラメータとルールの動作を個別にチェック
移行後の最初のテストでは、できるだけ条件を揃えます。同じネットワーク、同じ既存の接続項目、同じConfigを使ってください。サブスクリプションを更新しながらDNSを変更し、さらにGlobal Routingも切り替える、といった操作は避けましょう。差が生じても、どの変更が原因なのか特定しにくくなります。
接続と動作の確認
- Home
- グループ、項目名、選択状態を照合
- アドレスとポート
- 元の値と1文字ずつ比較します。元の値が443なら、同じ値を保ってください。
- Global Routing
- Proxy / Direct / Config / Sceneを確認
- On Demand
- Settings → On Demandを確認し、テスト後に条件を元に戻す
ポート443は確認用の例であり、すべてのプロトコルやサービスで標準となる値ではありません。
ルール構文の確認
- DOMAIN-SUFFIX
DOMAIN-SUFFIX,example.com,PROXY- IP-CIDR
IP-CIDR,192.168.0.0/16,DIRECT- GEOIP
GEOIP,CN,DIRECT- FINAL
FINAL,PROXY
上記は構文の例であり、移行時に必ず追加するルールではありません。復元時は元のファイルを基準にしてください。
Global Routingでは、Proxyは全体をプロキシ経由にし、Directは直接接続、Configは設定のルールに従って振り分け、Sceneは設定済みのシーン条件に応じた動作を選択します。Config内のルールを確認するときは、Directが選択されたままになっていないことを確認してください。Sceneの動作確認では、設定ファイルだけでなくシーンの条件も照合します。
ルールは通常、上から順に評価され、最初に一致したルールの動作が適用されます。DOMAIN-SUFFIXはドメインのサフィックス、IP-CIDRは宛先IPのネットワーク範囲、GEOIPはIPの位置情報データベースによる分類を確認します。FINALは、それ以前のルールに一致しなかった接続を処理します。同じルールでも順序が異なれば結果が変わることがあります。復元時は項目の有無だけでなく、並び順やポリシー名も確認してください。
- まず接続項目の設定を確認します。Shadowsocksの暗号化方式とパスワード、VMess / VLESSのIDや転送設定、TrojanのパスワードとTLS関連設定が元の値と一致していることを確認します。Hysteria2とWireGuardも、それぞれの項目を個別に確認し、ほかのプロトコルの設定項目を当てはめないでください。
- 次に実際のリクエストを確認します。アクセスできることが分かっている同じ宛先にリクエストを送り、利用可能な接続ログで適用された動作を確認します。1回のレイテンシテストに成功しても、そのテスト経路で応答があったことしか分からず、すべてのアプリやルールが正常に動作する証明にはなりません。
- 最後に自動動作を確認します。手動接続に問題がないことを確認してからOn Demandの条件を戻し、Wi-Fiとモバイル通信を切り替えた後の状態をそれぞれ確認してください。自動切断を接続データの消失と誤認しないようにしましょう。
まとめ:旧端末の状態を固定してからサブスクリプションとルールを更新
バックアップファイルを使って、再現可能な手動接続とルールの確認を一度行ってから、サブスクリプションやリモート設定を更新してください。差異が生じた場合は、直近で変更した項目だけを元に戻します。Home、Config、Settingsを同時にリセットしないでください。
6. 移行時によくある質問:不足している箇所ごとに対処
新端末で同じアカウントにサインインしているのに、Configが空なのはなぜですか?
まずシステムの「設定 → Apple Account → iCloud」でアプリの権限と空き容量を確認し、次にShadowrocketのSettingsで現在利用できる同期オプションを確認してください。旧端末に元のファイルが残っていることも確認します。同期状態をすぐに確認できない場合は、個別に書き出したConfigをインポートしてください。旧端末のデータを先に消去しないでください。
Configをインポートしたのに、Homeに以前の接続が表示されないのはなぜですか?
書き出したファイルを開き、実際に含まれる内容を確認してください。ルールと設定だけが含まれている場合は、手動追加項目や既存のサブスクリプションを別途復元する必要があります。Homeでサブスクリプショングループを確認し、元のURLを使って更新してください。Configファイルがあるだけで接続情報まで復元されたと判断しないでください。
復元後に接続はできるものの、以前の端末と振り分け結果が異なります。まず何を確認すればよいですか?
まずHomeのGlobal Routingを確認し、次に正しいConfigファイルが選択されているかをチェックしてください。ルールの順序、ポリシー名、リモートリソースの読み込み結果を照合します。Sceneを使用している場合は、シーンの条件も確認してください。調査中はサブスクリプションを更新せず、接続設定まで同時に変わらないようにしましょう。
復元後に自動接続したり、自動切断したりするのはなぜですか?
Settings → On Demandで自動起動の条件を確認し、システムのVPN設定にあるオンデマンド接続の状態も確認してください。まず自動起動をオフにして手動テストを行い、基本の接続が正常になってから、Wi-Fiやモバイル通信の条件を元の使い方に合わせて1つずつ戻します。
新端末でサブスクリプションを更新できません。旧端末を引き続き使えますか?
両端末のデータを保持し、旧端末の接続項目を削除しないでください。サブスクリプションURLが完全か、システム時刻が正しいか、現在のネットワークから元の配信元にアクセスできるかを確認します。旧端末でも失敗する場合は、移行手順以外に原因がある可能性があります。利用中のサービス提供元にサブスクリプションの状態を確認する際も、完全なパスワードや秘密鍵を送らないでください。
7. 旧端末を手放すタイミング:動作確認後に機密データを整理
移行完了の目安は「新端末にアプリをインストールできた」ことではありません。接続データ、現在のConfig、ルールの動作、自動接続条件をすべて確認してください。旧端末で正常にアクセスできる間は、最も確実な比較対象になります。新端末で実際に一通り使用するまでは、元のファイルを急いで削除しないでください。
- 旧端末の一時的な共有機能に頼らず、新端末でバックアップファイルを単独で開けることを確認します。
- Homeに必要な接続項目とサブスクリプション元が揃い、手動追加項目の個別設定が保持されていることを確認します。
- Configの選択状態、ルールの順序、外部リソースへの依存が想定どおりであることを確認します。
- システムのVPN許可とOn Demandの動作を実際にテストします。スイッチがオンになっていることだけで判断しないでください。
- 保護された最終バックアップを保管し、転送中に作成した一時的な機密ファイルを削除します。旧端末を引き渡す前に、システムの手順に従って個人データを消去してください。
今後ルールや手動接続の設定を変更するときも、同じ方法を使えます。まず動作確認済みのコピーを保存し、変更は一度に1つずつ行い、最後に結果を記録します。次回の機種変更や誤操作からの復元時に、「バックアップ自体の不足」と「新しい環境の違い」を切り分けやすくなり、再インポートやリセットの繰り返しを防げます。