古いiPhoneやiPadでShadowrocketを利用していて、機種変更や設定のバックアップを予定している方向けです。まずHomeのサーバーとサブスクリプション、Configのルールファイル、端末内の設定を区別し、iCloud同期と手動書き出しをそれぞれ確認します。復元時はファイルとサービス設定を確認してから、ルール、接続、On Demandを検証します。新しい端末での確認が完了するまでは、古い端末のデータを残しておきましょう。
バックアップの範囲:Configファイルだけではアプリのデータ全体を保存できない
Shadowrocketの機種変更では、「ファイルをコピーできたか」だけを確認しても不十分です。Homeのサーバーとサブスクリプション、Configの設定ファイル、Settingsのアプリ設定は、それぞれ別に確認する必要があります。ルール設定を書き出しただけで、サブスクリプションURL、サーバーの認証情報、システムのVPN許可まですべて保存されたと考えないでください。
日常的に使う設定ファイルはConfigで確認・管理できます。ファイルはアプリ内で管理されるため、「ファイル」アプリの決まったフォルダにあるとは限りません。共有シートから「“ファイル”に保存」を選ぶと、指定したiCloud Driveまたは端末内の場所に独立したコピーが保存されます。このコピーは、アプリ内で使用中のファイルとは別の編集対象です。
ルールと設定ファイル
- 確認場所
- Config
- 確認する項目
- ルールの順序、DNS設定、ポリシー参照
- 独立したコピー
- 「ファイル」アプリに書き出して内容を確認
- 復元時の確認
- ファイルを読み込んだ後、現在の設定として選択されているか確認
ファイルが見えるのは、ファイルが存在することを示すだけです。有効になっているとは限りません。
サービスと端末の状態
- 確認場所
- Home、Settings
- サービスの種類
- 利用中のサブスクリプションまたはサーバー設定
- 別途記録
- サブスクリプションの元のURL、手動入力した認証情報
- 端末側の項目
- VPNの許可、Global Routing、On Demand
サービス設定と端末の許可は、ルールファイルとは別に確認してください。
機種変更の前に、選択中のConfigファイル名、Homeのサブスクリプショングループ、選択中のサーバー、Global Routingの状態を記録します。独自ルールや手動入力したサーバーを使っている場合は、元のテキストと必要な設定値をそれぞれ保存してください。記録にパスワード、秘密鍵、tokenが含まれる場合は、認証情報として適切に保護し、公開メモや共有リンクには記載しないでください。
移行の手順:先にコピーを保存し、その後で同期を確認
iCloud同期を使うと複数の端末でデータをそろえやすくなりますが、過去の状態を保存する機能ではありません。変更や削除がほかの端末にも反映される場合があるため、初めて機種変更する前に、日付を付けた手動コピーを別に保存しましょう。新旧の端末で同時に設定を整理、改名、削除すると、移行するデータを判別しにくくなります。
- 旧端末でHomeとConfigを開き、現在のサービスとルールが正常に使えることを確認します。旧端末ですでに問題が起きている場合は、症状を記録しておき、移行後の不具合と混同しないようにしてください。
- 使用中の設定ファイルを保存し、サブスクリプションの元のURLと手動サーバーの設定値も別に保管します。リモートルールファイルを使っている場合は、復元後に再取得できるよう、取得元も記録してください。
- 手動での書き出しが終わってからiCloudの状態を確認します。新端末では、まずデータを受け取り、同じ名前の設定をすぐに書き換えないようにしてください。
- 新端末でサブスクリプション、ルール、接続、自動接続の条件を一つずつ確認します。確認が済んでから、旧端末のデータを整理するか判断してください。
iCloud同期:アカウント、システムの許可、アプリの設定を確認
iCloudで移行するには、両方の端末で同じiCloud用Apple Accountを使い、関連するクラウドデータへのアクセスを許可する必要があります。App Storeの購入用アカウントとiCloud同期用アカウントは役割が異なります。購入済みアプリを再入手できても、同じiCloudデータを読み込んでいるとは限りません。
- 両方の端末でシステムの「設定」からアカウント画面を開き、iCloudに進んで、同じアカウントでサインインしていることとiCloud Driveが利用可能なことを確認します。システム画面の項目名や配置は、OSのバージョンによって異なります。
- iCloudのアプリ一覧でShadowrocketのアクセス許可を確認します。一覧に一部のアプリしか表示されない場合は、すべてのアプリを表示してから探してください。同期を促すために、アカウントから何度もサインアウトするのは避けましょう。
- Shadowrocketを開き、SettingsでiCloud同期の項目と説明を確認します。実際に表示される項目に従い、アプリの同期と端末全体のiCloudバックアップを同じ設定とみなさないでください。
- 旧端末をネットワークに接続してアプリを開き、新端末でConfigとHomeを確認します。ファイル名、ルールの内容、サブスクリプショングループを照らし合わせ、スイッチがオンかどうかだけでなく、実際にどのデータが届いたかを確認してください。
新端末にデータが表示されない場合は、アカウント、システムの許可、アプリの設定、利用可能なストレージ容量、ネットワーク接続の順に確認します。同期にかかる時間を決めつけず、新端末で実際の内容を開いて確認できることを完了の目安にしてください。旧端末のデータが残っているなら、同期を待つために元の設定を削除せず、手動で読み込む方法も使えます。
手動で書き出す:Configファイルを保存し、機密情報を確認
手動での書き出しは、移行前の状態を保存したい場合や、整理済みのルールだけを移したい場合に便利です。まず使用中のファイルを特定してから、ファイルの操作メニューを開きます。ファイル行の長押しメニュー、編集画面、共有メニューで該当の操作ができるかどうかは、現在の画面で確認してください。ファイル本体を書き出し、ファイル名やリモートURLだけをコピーしないようにしましょう。
- Configを開き、使用中の設定ファイルを見つけて操作メニューを開き、利用できる共有または書き出し操作を選択します。
- システムの共有シートで「“ファイル”に保存」を選び、iCloud Driveまたは「このiPhone/iPad内」の保存先を指定します。元のファイル拡張子は変更せずに保存してください。
home-rules-before-migration.confのように判別しやすいファイル名を付け、バックアップの日付と端末名も別に記録します。同じ名前のファイルで以前のコピーを上書きしないようにしてください。- 「ファイル」アプリでファイルを開けることを確認し、末尾のルールまでそろっているかを調べます。自分の別の端末に共有した場合も、受信後にファイルの内容を確認してください。
- サブスクリプションURLとサーバーの認証情報は、保護された場所に別途保存します。Configファイル単体ではなく完全なバックアップを書き出した場合は、書き出し画面の説明に従って対象範囲を確認し、復元テストも行ってください。
以下はルールテキストが1行ずつ欠けずに保存されているかを確認する例です。元のファイルにそのまま上書きするための汎用設定ではありません。実際の設定環境でPROXYに対応するポリシーが利用できる必要があります。ルールを数行コピーしても、サーバーの作成やサブスクリプションの復元はできません。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
まとめ:読み込み可能な独立コピーを移行の起点にする
同期設定を変更したり旧端末を整理したりする前に、書き出したファイルを少なくとも1つ開けることと、内容がそろっていることを確認し、サブスクリプションの認証情報とは分けて保管します。ファイル名やクラウドの状態表示だけでは、復元できるバックアップかどうか判断できません。
設定にはサーバーアドレス、認証情報、WireGuardの秘密鍵、token付きのリモートリソースURLが含まれる場合があります。主にルール振り分けに使うファイルでも、URLや追加パラメータを確認してください。問題の相談で共有する場合は、必要な箇所だけを認証情報を削除したうえで提示し、バックアップ全体をそのまま送らないでください。
新端末で復元:サービス、ルール、自動接続の順に確認
新しいiPhoneまたはiPadでApp StoreからShadowrocketを入手し、デベロッパがShadow Launch Technology Limitedであることと、アプリIDが932747118であることを確認します。Shadowrocketは買い切りのクローズドソース商用アプリです。アプリの購入と通信サービスの契約は別です。対応OSの要件および一般的な購入条件は、App Storeの掲載内容を確認してください。サービスの復元には、利用中のサブスクリプションまたはサーバー設定を使用します。
- データを受け取る。まず、iCloudから必要な内容が届いているか確認します。完全に復元されていない場合は、「ファイル」アプリで書き出した設定を探し、共有シートからShadowrocketで開くか読み込みます。完了後、Configにファイルが表示されることを確認してください。
- サービスを復元する。HomeでサブスクリプションURLとサーバー一覧を確認します。見つからない場合は、元のサブスクリプションURLから再度追加して更新します。手動で登録したサーバーは、アドレス、ポート、認証情報、プロトコル関連の項目を一つずつ確認してください。
- 設定ファイルを選ぶ。Configで復元したファイルを選び、参照先のポリシーやグループが引き続き利用できることを確認します。ファイル名が同じでも内容が同じとは限りません。カスタムルールと末尾の
FINALを確認してください。 - ルーティングを確認する。設定ルールに従って通信を振り分ける場合は、Global RoutingをConfigに設定します。Proxy、Direct、Sceneはそれぞれ用途が異なるため、設定を読み込んだだけで現在のモードを確認しないままにしないでください。
- 接続する。Homeから接続を開始し、システムの確認画面が表示されたらVPN構成の追加を許可します。旧端末での許可は、新端末で必要なシステム確認の代わりにはなりません。
- 自動接続の条件を復元する。手動接続を確認してから、Settings → On Demandを開き、オンデマンド接続の設定とシステムのVPN設定に表示される状態を確認します。
サブスクリプションの更新が完了したことから分かるのは、サブスクリプションの内容を取得して処理できたことだけです。ルールファイルの復元や、すべてのサーバーへの接続成功を意味するわけではありません。同様に、Configを読み込んだ後もファイルを選択し、Global Routingを確認してください。設定が異なると、Webサイトへの接続が想定と異なる場合があります。
移行後の確認:症状から不足している項目を特定
移行後の確認では、遅延の数値だけでなく、実際にアクセスできるかもテストします。利用中のサービスを使ってアクセスする必要がある対象を1つと、ルールによりDIRECTになるはずの対象を1つ選び、それぞれ接続結果とルールの適用を確認してください。テスト対象は通常の利用環境から選び、テストを通すために出所不明の設定を一時的に適用しないでください。
| 症状 | 優先して確認する項目 | 対処の順序 |
|---|---|---|
| Configファイルは見えるが、Homeにサーバーがない | ルールファイルだけが復元されている | 利用していたサブスクリプションまたは手動サーバー設定を復元し、利用可能なサーバーを選択します。 |
| Homeの一覧はそろっているが、カスタムルールによる振り分けが反映されない | 選択中の設定ファイルとGlobal Routing | 対象のConfigファイルを選び、Configの選択状態とルールの順序を確認します。 |
| 遅延は正常だが、ドメインにアクセスできない | DNSと設定内のリモート依存先 | 復元したファイルのDNS設定とリソースURLを確認し、リクエストログを調べます。 |
| 手動接続は成功するが、ネットワークを切り替えると自動接続しない | On DemandとシステムのVPN状態 | 接続のトリガー条件を確認し、Wi-Fiとモバイル通信でそれぞれテストします。 |
| 新端末に表示されるのが古いファイル内容 | 書き出したコピーとアプリ内のファイルを取り違えていないか | ファイル名だけで比較せず、ルールの内容を照合し、確認済みのコピーを再度読み込みます。 |
- Homeで使用するサーバーを選択できることと、サブスクリプション更新後に意図しない重複グループができていないことを確認します。
- Configで手動追加した
DOMAIN-SUFFIX、IP-CIDR、FINALの順序が保たれていることを確認します。 - 手動での接続・切断とネットワーク切り替え後の動作を確認してから、日常的に必要なOn Demandの条件を有効にします。
- 普段使うネットワークと重要なアクセス先をすべて確認できるまで、移行前のコピーと旧端末のデータを残しておきます。
よくある質問:同期、共有、サブスクリプションの復元
iCloudを有効にしているのに、新しいiPadに設定が表示されない場合は?
App Storeのアカウントだけでなく、iCloudに使っているアカウントを確認します。次に、システムのiCloudアプリ許可と、Shadowrocket → Settingsの同期設定を確認してください。旧端末にファイルが残っている場合は、先に独立したコピーを書き出し、「ファイル」アプリから新端末に読み込みます。同期を試すために旧端末のファイルを先に削除しないでください。
自分に設定ファイルを送って読み込んだのに、接続できないのはなぜですか?
まずHomeで利用可能なサーバーがあるか確認します。Configファイル単体はサービス全体のバックアップではありません。使用していたサブスクリプションまたは手動設定を復元し、サーバーとConfigファイルを選んでから、Global Routingを確認してください。初回接続時には、新端末でシステムのVPN許可も必要です。
サブスクリプションを復元したら、旧端末で手動変更したサーバー設定が見当たらないのはなぜですか?
サブスクリプションを再更新すると、リモート側の内容に基づいて関連項目が更新されます。サブスクリプションの復元によって、端末で手動変更した内容まで戻るとは限りません。機種変更前の記録と照らし合わせて、アドレス、ポート、認証情報を確認してください。長期的に使う個別の手動設定は別に管理し、サブスクリプション管理の項目と混同しないようにしましょう。
新端末で接続できるようになりました。旧端末の設定を削除してもよいですか?
ルールの適用、サブスクリプションの更新、Wi-Fiとモバイル通信の切り替えテストを済ませ、独立したコピーを1つ保管したことを確認してください。同期を有効にしている場合、削除がほかの端末にも影響することがあります。整理する前に画面の確認メッセージで適用範囲を確かめ、クラウド上のデータ削除を旧端末だけの整理だと思い込まないようにしてください。