Shadowrocketの複数サブスクリプション管理|グループ分け・並べ替え・更新・削除と重複ノードの整理

複数のサブスクリプションをサービスごとに整理し、並べ替えや個別更新・削除を行う方法と、Homeの重複ノードを見分ける手順を解説します。

この記事の概要

複数のサブスクリプションはそれぞれの提供元を確認できる状態で管理し、個別に更新してから重複を整理します。利用中のサービスのサブスクリプションをすでにお持ちの方向けに、Homeでのグループの見分け方から、命名と並べ替え、個別更新、削除前の確認、同名ノードと重複インポートの判別まで説明します。作業後は各グループの提供元、現在のデフォルトサーバー、更新によって選択内容が変わっていないかを確認できます。

1. サブスクリプション・サーバー・Configの違い

Shadowrocketでは、サブスクリプションURLからサーバー項目を取得し、Homeでサーバーとサブスクリプショングループを表示します。Configでは構成ファイルとルーティングルールを管理します。これらはそれぞれ別のものです。サブスクリプションを更新してもConfigが切り替わるわけではなく、グループを上位に並べても、そのグループがすべての通信の出口に自動設定されるわけではありません。

この記事は、利用するサービスと有効なサブスクリプションをすでにお持ちの方を対象としています。当サイトではノードやサブスクリプションの提供・販売・推奨は行っていません。サブスクリプションURLに含まれるtokenは通常、アクセス認証情報です。提供元を記録するときはサービス名の略称、用途、識別用のメモにとどめ、URL全体をチャットや公開スクリーンショットに貼り付けないでください。

登録元を確認個別に追加名前を付けて並べ替え個別に更新重複を確認接続を確認
Home
グループ、サーバー項目、デフォルト選択を確認
Config
構成ファイルとルールの参照先を確認
Settings
アプリ設定を確認し、リストの並べ替えとは分けて対応

2. 個別に追加して見分けやすいグループを作る

まずHomeに同じ提供元のグループがすでにあるか確認してから、追加するかどうかを決めます。既存のサブスクリプションの内容が古いだけなら、URLを再登録せず、元のサブスクリプションを更新してください。同じものを重複して追加すると、同じサーバー群が複数のグループに表示され、更新のたびに重複する可能性があります。

  1. Homeを開き、既存のグループ名を記録します。グループを展開し、含まれている項目がサブスクリプションから取得したものか、手動で追加したサーバーかを確認してください。
  2. 新しい提供元を追加する場合は、Add Serverを開き、TypeでSubscribeを選択して、ご自身のサブスクリプションURLを入力します。サブスクリプションURLを個別サーバーのAddress欄に入力しないでください。
  3. 「01-サービスA-日常用」「02-サービスB-予備」のように、見分けやすいメモを付けます。メモは識別のためのもので、プロトコル、ルーティング、接続の優先順位は変わりません。
  4. 保存したらHomeに戻り、その提供元の内容が読み込まれるまで待ちます。新しいグループが既存のグループと別に表示されることを確認してから、次の提供元を追加してください。

以下の2つのカードは、情報を記録する方法の例であり、接続可能なサービスではありません。example.comとxxxxはどちらも仮の値です。実際に追加する際は、サービス提供元から案内された完全なURLを使用し、パラメーター名を独自に置き換えないでください。

提供元の記録 A

メモ
01-サービスA-日常用
タイプ
Subscribe
URLの例
https://example.com/sub?token=xxxx
管理場所
Home内の該当サブスクリプショングループ

同じURLでサブスクリプションを何度も作成せず、既存のグループを更新します。

提供元の記録 B

メモ
02-サービスB-予備
提供元の識別
利用者がすでに契約している2つ目のサービス
URLの保存
完全なURLは非公開で保存
更新範囲
2つ目のサブスクリプショングループのみ操作

「予備」はメモにすぎず、自動的に切り替わることを意味しません。

3. グループの並べ替えとノードの並べ替えは別々に行う

並べ替える前に、対象を確認してください。サブスクリプショングループの順序は提供元を探しやすくするためのもの、グループ内のサーバー順は個々の項目を探しやすくするためのものです。どちらもGlobal Routingを直接変更しません。「一番上にある」ことを「デフォルトサーバーに選択されている」ことの確認代わりにしないでください。

まとめ:メモで提供元を確認し、選択状態で接続先を確認

並べ替えたらHomeに戻り、現在選択されているサーバーを確認します。Configに特定サーバーやポリシーグループを指定するルールがある場合は、該当する参照先も確認してください。リストの位置だけでは、これらの確認の代わりになりません。

4. サブスクリプションを個別に更新し、まとめて操作する前に確認する

特定の提供元を調べるときは、まず該当グループだけを更新します。全グループを一度に更新すると複数の提供元が同時に変わり、どのURLがタイムアウトしたのか、内容が空だったのか、項目名が変わったのかを判断しにくくなります。ここでいう「更新」はサブスクリプションの内容を再取得することで、アプリ自体のアップデートではありません。

  1. Homeで対象のサブスクリプショングループを見つけ、現在の項目数と選択中のサーバー名を記録します。件数は比較のための記録であり、サービス品質の判断基準ではありません。
  2. 該当サブスクリプションの操作メニューを開き、Updateを実行します。操作場所は現在の画面に従ってください。今回は対象のサブスクリプションだけを更新し、すべてのサブスクリプションを対象にした操作は行いません。
  3. 処理が終わるまで待ち、エラーメッセージとグループの内容を確認します。正常に完了しても件数が変わらない場合、提供元の内容に変更がなかった可能性があります。件数だけを見て更新失敗と判断しないでください。
  4. タイムアウトが発生したら、まずデバイスがインターネットに接続できることを確認し、次にサブスクリプションURLが有効か確認します。サービス提供元がURLを再発行している場合は、古いURLを残してグループを追加し続けるのではなく、既存サブスクリプションのURLを編集してください。
  5. 以前選択していたサーバーが削除された場合は、Homeで現在利用できる項目を選び直し、Connectivity Testを実行します。更新結果が想定どおりだと確認できるまで、引き続き使える元の記録を残してください。

5. 重複ノードは提供元を確認してから接続情報を比較する

項目名が同じでも、重複とは限りません。異なるサービスが同じ地域名を使うこともあれば、同じサービスが同じ地域で異なるプロトコルやポートを提供することもあります。反対に、名前が異なる2つの項目が同じサーバーエンドポイントを参照している場合もあります。表示名だけで一括削除せず、項目の詳細を開いて一つずつ確認してください。

見られる状態確認する内容対処方法
グループ名は異なるが、内容がほぼ同じサブスクリプションURLの提供元が同じか、重複登録されていないか残すグループが正常に更新されることを確認してから、余分なサブスクリプションを削除
名前は同じだが、ポートが443と8443Type、Address、Port、およびプロトコル関連の項目ポートが異なれば接続情報も異なるため、名前だけで重複と判断しない
名前は同じだが、プロトコルがVMessとVLESSプロトコルの種類と、それぞれに必要な認証・トランスポート設定個別に確認し、同一の設定として扱わない
同じ項目が手動リストとサブスクリプショングループの両方にあるサブスクリプション内のサーバーを手動で複製したことがないかサブスクリプション管理と手動コピーのどちらを残すか決め、両方を使い続けない
項目を削除しても、更新後に再び表示されるその項目がサブスクリプションの取得内容にまだ含まれているか提供元側の重複とローカルでの削除を分けて対処

表の443と8443はポート比較の例であり、同じ値を設定すべきという意味ではありません。2つの設定が同等か判断するには、UUID、Password、TLS、SNI、トランスポート方式、パスなどの項目も比較する必要があります。これらはご自身のデバイス上で確認し、問い合わせの際に認証情報全体を公開しないでください。

まとめ:重複登録した場合は余分な提供元を削除

2つのグループが同じサブスクリプションに由来すると確認できたら、正常に更新できるグループを一つ残し、もう一方を削除します。余分なグループ内のサーバー項目だけを削除しても、次回の更新で再生成されるのを防げません。

6. サブスクリプションを削除する前にデフォルトサーバーとルール参照を確認

サブスクリプショングループ全体の削除と、サーバー項目一つの削除は別の操作です。グループを削除すると、管理対象の項目にも影響します。項目だけを削除した場合は、次回の更新で再び表示されることがあります。削除前に確認メッセージをよく読み、対象が該当グループであり、リスト全体ではないことを確認してください。

  1. 残すサブスクリプションの提供元情報は非公開で保存し、削除するグループ名とURLを確認します。同名のグループを誤って削除しないよう注意してください。
  2. 現在のデフォルトサーバーが削除対象のグループに含まれる場合は、Homeで別の接続確認済みの項目を選びます。メンテナンスのため接続を中断する必要があるときは、先に接続スイッチをオフにしてください。
  3. Configで削除対象サーバーの名前を使用している場合は、関連するポリシーグループやルールの参照先を確認します。グループを削除すれば、参照先が別のサーバーに自動で置き換わるとは限りません。
  4. 対象サブスクリプションの操作メニューを開いてDeleteを実行し、確認メッセージをチェックします。削除後は、ほかのグループが残っていることを確認してください。
  5. Global Routingとデフォルトの選択先をもう一度確認し、実際にアクセスする必要のある対象でテストします。Connectivity Testに成功した後も、該当するアプリやリクエストが想定どおり動作することを確認してください。

Global RoutingのProxy、Direct、Config、Sceneはルーティングの選択肢であり、サブスクリプションの並べ替え方法ではありません。Configを使う場合は構成ファイル内のルールやポリシーも確認してください。Directで切り分ける場合も、直接接続の結果を特定サーバーのテスト成功とみなすことはできません。メンテナンス中は元の設定を記録し、完了後に用途に応じて戻してください。

7. 複数サブスクリプション管理のよくある質問

同じサブスクリプションを更新すると、削除したノードが再び表示されるのはなぜですか?

サブスクリプションを更新すると、提供元の内容が再取得されます。削除したのが個別の項目か、重複したサブスクリプション全体かをまず確認してください。ローカルで項目だけを削除し、提供元の内容にその項目が残っている場合は、更新後に再表示されることがあります。同じ提供元を重複登録している場合は、残すグループが正常に動作することを確認してから、余分なサブスクリプションを削除してください。

2つ目のサブスクリプションだけを更新するには、ほかのグループに影響させないためにどうすればよいですか?

Homeで2つ目のサブスクリプションのグループ操作メニューを開き、Updateを実行します。すべてのサブスクリプションを対象にした更新は使用しないでください。更新前にそのグループの項目を記録し、更新後は該当グループだけを確認します。問題がないことを確かめてから、ほかの提供元を操作してください。

予備のグループを一番上に並べると、自動的に切り替わりますか?

リストの順序を変えただけでは、接続先は切り替わりません。Homeでデフォルトサーバーを確認してください。Configを使っている場合は、ポリシーグループとルールの実際の参照先も確認します。自動選択が必要な場合は、構成内の該当する仕組みを別途確認してください。グループのメモや並び順を自動切り替えの条件とみなさないでください。

サブスクリプションの更新は成功しましたが、新しいノードに接続できません。次に何を確認すればよいですか?

Homeで該当項目を選択してConnectivity Testを実行し、デバイスのネットワーク、サーバー情報、Global Routingを確認してください。更新成功で確認できるのは内容の取得までです。特定の提供元の項目だけ接続できない場合は、必要なエラー内容を添えてサービス提供元に状態を確認してください。サブスクリプションURL全体は公開しないでください。

App Storeで正規アプリを確認 →