この記事のポイント

複数のサブスクリプションを管理するには、まず登録元を確認し、名前と順序を整えてから、不要と確認できた項目を削除します。すでに利用するサービス情報を持ち、Homeに複数のサブスクリプショングループや同名ノードが表示されている方に向けて、サブスクリプショングループとポリシーグループの違い、重複登録の見分け方、整理後の更新・接続確認を手順に沿って説明します。

1. サブスクリプション・ノード・設定ファイルの違い

Shadowrocketの一覧が長くなっても、サブスクリプションの数が増えたとは限りません。1つのサブスクリプションに複数のサーバー項目が含まれることがあります。また、同じアドレスを新しいサブスクリプションとして繰り返し追加すると、内容の似たグループが複数表示される場合もあります。整理を始める前にHomeでグループ名とノードの所属先を確認し、表示名だけを見て削除しないようにしましょう。

Homeでサブスクリプションの登録元ごとに作られるグループは、サーバー一覧を整理するためのものです。一方、Configの設定ファイルにはルールやポリシーなどが含まれます。サブスクリプショングループの名前変更・折りたたみ・移動をしても、通信の振り分け方法は変わりません。設定内のポリシーグループもHomeのサブスクリプショングループとは別のもので、名前が似ていても役割は異なります。

2つの画面
Homeでサーバーの登録元を確認し、Configで現在の設定を確認
最初に確認する3項目
プロトコル・サーバーアドレス・ポートを比較し、ほかのパラメータも確認
4つのモード
Global Routing:Proxy / Direct / Config / Scene

たとえばGlobal RoutingでConfigを使用している場合、実際の通信は現在の設定に含まれるルールやポリシーの影響を受けます。「ノードを一覧の先頭に移動したから、すべての通信がそのノードを使う」とは限りません。整理中はモードと設定を変更せずにおくと、問題の原因が一覧の整理なのかルーティング設定なのかを判断しやすくなります。

2. 登録元を記録して名前を統一する

まず、登録済みのサブスクリプションごとに、用途・登録元が現在も有効か・対応するHomeのグループ・今後も保持するかを簡潔に記録します。記録は自分で管理できる場所に保存し、完全なサブスクリプションURLや認証情報を共有ドキュメントに記載しないでください。URLのクエリパラメータにアクセス情報が含まれる場合があるため、名前にも書き込まないようにしましょう。

登録元を確認 名前を統一 順序を整理 重複を整理 更新後に確認
  1. Homeを開いて各グループを展開し、どのサーバーが含まれているか確認します。後で選び直せるよう、現在選択中の項目と所属グループも記録しておきましょう。
  2. サブスクリプション項目の編集画面からURLとメモを確認します。個別ノードの編集画面をサブスクリプション設定と取り違えないようにしてください。個別ノードの画面には通常、サーバーアドレス・ポート・プロトコルのパラメータが表示されます。
  3. 「普段使い」「予備確認」のように、用途がわかるメモをサブスクリプションに付けます。登録元が似ているものが複数ある場合は、短い番号を付けてもかまいませんが、パスワードやtokenは記載しないでください。
  4. 保存後にHomeへ戻り、意図したサブスクリプショングループに変更が反映されたか確認します。グループ内のノード名が変わらなくても問題ありません。サブスクリプションのメモとサーバー名は別の階層です。

以下の2つのカードは整理記録の例です。インポートできる設定ではなく、サービスを提供するものでもありません。実際の操作では自分がすでに持っている情報を使用してください。例のアドレス https://example.com/sub?token=xxxx は架空の値であり、更新に使用しないでください。

サブスクリプショングループの記録

表示名・メモ
普段使い
確認する場所
Homeの該当するサブスクリプション項目
登録元の確認
自分で保管している有効なサブスクリプションURLと照合
保持する条件
引き続き利用し、更新結果を確認できる

メモには用途を記載し、認証情報の全体は管理された場所に保管します。

個別ノードの記録

表示名・メモ
予備確認
登録元の確認
手動追加または単一ノードのインポート
比較する項目
種類・アドレス・ポート・認証パラメータ
管理方法
個別に確認し、特定のサブスクリプション更新には依存しない

個別の項目とサブスクリプション内のノードが同じサーバーを指すことがあります。削除する前に用途を確認してください。

3. Homeの順序を整える(並べ替えとポリシーは別)

よく使う登録元を上に、予備の登録元を下に配置し、しばらく使わないグループは折りたたむと探しやすくなります。並べ替えは検索を楽にするためのもので、一度の遅延測定で長期的な優劣を決めるためではありません。表示順・現在選択中のノード・設定内のポリシー選択は、それぞれ別に確認する必要があります。

  1. Homeで一覧の編集・並べ替え機能を使います。編集モードにドラッグハンドルが表示されたら、対象項目を希望の位置へ移動して編集を終了します。ハンドルがない場合は、何度もインポートして「先頭に固定」しようとしないでください。
  2. 移動しているのがサブスクリプショングループなのか、グループ内のノードなのかを確認します。よく使う登録元を見つけやすくしたいだけなら、グループ内の項目を一つずつ変更せず、グループの位置を調整するのがおすすめです。
  3. 名前順や遅延順で並べ替える場合は、どの範囲の一覧に適用されるかを先に確認します。決まった順序で探したい場合は、メモの付け方を統一して見分けやすくしてから、画面で利用できる並べ替え方法を選びましょう。
  4. 操作後に編集を終了してHomeを開き直し、順序が保持されているか確認します。その後、サブスクリプションを1つだけ更新し、グループ内の並びが更新結果によって再構成されるか確認します。

整理中にSettings → On Demandを同時に変更する必要はありません。On Demandは条件に応じて接続を開始する機能であり、サブスクリプションをグループ分けしたり、一覧の重複を整理したりするものではありません。接続のトリガー設定と一覧管理を分けて行うと、整理中の自動再接続によって状態がわかりにくくなるのを防げます。

4. 重複ノードはパラメータを比較してから削除範囲を決める

ノード名が同じでも、表示テキストが一致しているだけで、同じ接続とは限りません。名前が異なっていても、別の接続とは限りません。まずプロトコル・サーバーアドレス・ポートを比較し、次に認証や通信のパラメータを確認します。たとえば、同じサーバーでポートが443でも、プロトコルやTLS設定、通信経路が異なれば別の設定である可能性があります。ポート番号だけで重複と判断しないでください。

確認できた状況確認する項目対処方法
2つのグループ名とノード構成がよく似ているサブスクリプションURLが同じか、同じものを重複して追加していないか確認できたら、有効なサブスクリプショングループを1つ残す
2つのノード名が同じプロトコル・アドレス・ポート・認証パラメータパラメータが一致しない場合は、統合せずに保留する
名前は異なるが、アドレスとポートが同じTLS・通信方式・パス・プロトコル関連の項目設定全体の一致を確認してから、不要かどうか判断する
削除したノードが更新後に再び表示されるそのノードがサブスクリプションから引き続き返されていないか何度も手動削除せず、登録元を確認して対処する
同じサーバーがサブスクリプショングループと個別一覧の両方にある個別項目に予備用途があるか保持する目的を確認してから、どちらか一方を整理する

確認が必要な項目はプロトコルによって異なります。Shadowsocksでは暗号化方式とパスワード、VMess・VLESSではUUIDと関連する通信設定、TrojanではパスワードとTLSパラメータを確認します。アドレスとポートの2行だけを切り取って比較しないでください。また、認証情報を含む編集画面を公開しないようにしましょう。

まとめ:グループ全体の重複はサブスクリプションを整理し、グループ内の重複は登録元を確認

同じURLが2回追加されていると確認できた場合、個別ノードを1つずつ削除するより、不要なサブスクリプショングループを削除するほうが管理しやすくなります。1つのグループしかないのに更新のたびに同じ項目が再表示される場合は、まずサブスクリプションの内容を確認してください。次回の更新で整理結果が上書きされるのを防げます。

サブスクリプションURLの比較にも注意が必要です。ドメインとパスが同じでも、クエリパラメータに対応する権限や内容が同じとは限りません。末尾がどちらも/subだからと統合すると、残す必要のあるグループまで削除してしまう可能性があります。判断に必要な情報が足りない場合は、まとめて削除せず、いったん保持して確認待ちとして記録しましょう。

5. 古いサブスクリプションの削除と更新確認の手順

削除する前に、管理された元の記録から有効な登録元を再確認できることを確かめます。端末上のサブスクリプション項目を削除しても、通常はリモートサービスの解約を意味せず、元のURLが無効になるわけでもありません。反対に、古いグループを残しても更新できるとは限りません。「この登録元を今後も使うか」を基準に整理しましょう。

  1. 復元に必要な情報を残す。保持するサブスクリプションの名前・登録元・現在使用中のノードを記録します。パスワードや完全なURLを公開の場所に共有しないでください。バックアップが必要な場合は、自分で確認したアプリのバックアップまたは書き出し手順を使い、ファイルを安全に保管しましょう。
  2. 削除対象から先に切り替える。現在選択中のノードが古いグループに属している場合は、削除の前に保持する有効な項目を選択します。必要に応じて接続を一時的にオフにし、操作の中断が判断に影響しないようにしてください。
  3. サブスクリプション単位で削除する。Homeで古いサブスクリプショングループの削除操作を行います。確認画面が表示されたら、名前と削除範囲を確認してください。グループ内のノードを1つ削除しても、サブスクリプションの登録元を削除したことにはなりません。
  4. 保持するグループを個別に更新する。残すサブスクリプションの更新操作を行い、更新が成功したか、ノード一覧が想定どおりか確認します。既存項目を更新する代わりに、同じURLをもう一度追加しないでください。
  5. 接続を再確認する。保持するグループ内のノードを選び直し、Global RoutingとConfigで現在の設定を確認します。接続を有効にして普段利用するページにアクセスし、名前解決とリクエストが正常に完了するか確認しましょう。

不要と確認できたグループを一度に1つだけ整理します。複数の登録元を同時に削除し、モードの切り替えや設定変更も行うと、問題が起きたときに原因を特定しにくくなります。ノード数が減ること自体は不具合ではありません。保持する登録元を更新できるか、必要な項目が残っているか、現在の接続とポリシーが意図したものを指しているかを確認してください。

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

ノードを削除したのに、サブスクリプション更新後にまた表示されるのはなぜですか?

まずHomeで、そのノードがどのサブスクリプショングループに属しているか確認します。登録元から同じノードが返される限り、次回以降の更新で再び追加されることがあります。登録元全体が不要なら該当するサブスクリプションを削除します。ほかのノードを引き続き使う場合は、グループを折りたたむなど表示方法を調整し、すでに利用しているサービス情報の提供元に内容を確認してください。同じ項目を何度も削除するのは避けましょう。

同じサブスクリプションのURLが変わった場合、もう一度追加する必要はありますか?

新しいURLが元の登録元を置き換えるものか、まず確認します。そのうえで元のサブスクリプション項目の編集画面からURLを変更し、保存後に更新します。確認のため一時的に新しいグループを追加した場合は、テスト後にどちらを残すか決め、不要と確認できた古いグループを削除して、入口が2つ残り続けないようにしましょう。

ノード名が同じなら、遅延が低いほうだけ残してよいですか?

一度の遅延測定だけを根拠に削除するのは避けてください。2つの項目の編集画面を開き、プロトコル・アドレス・ポート・認証情報・通信設定を比較します。パラメータが同じなら登録元も確認し、異なる場合は別の接続設定です。遅延測定はその時点の条件を示すだけで、重複の証明にはなりません。実際のWebページへのアクセス確認の代わりにもなりません。

並べ替えたのに、通信が一覧の先頭を使わないのはなぜですか?

Homeに戻って、現在選択中のサーバーとGlobal Routingを確認します。Configを使用している場合はConfigで現在の設定とポリシーの選択を確認し、Sceneを使用している場合は該当するSceneの設定を確認してください。一覧の先頭は表示位置にすぎず、現在の選択や設定内のポリシーを自動で上書きするものではありません。

次回のインポートで重複グループができないようにするには?

インポートする前に、既存のサブスクリプションやメモを検索・確認し、同じ登録元がすでにないか確かめます。既存の登録元に変更があれば元の項目を編集し、新しい内容が必要な場合は更新します。新しい登録元を追加するのは、本当に別の登録元がある場合だけにしましょう。QRコード・クリップボード・手入力は異なる追加方法であり、同じ登録元を自動で検出して統合する機能ではありません。