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

複数のサブスクリプションを追加した後、提供元ごとの整理やノードの並べ替え、無効な購読の削除、重複ノードの整理を行う方法を解説します。

この記事の概要

複数のサブスクリプションをShadowrocketで管理するには、まず提供元ごとに分け、表示順を整えてから、重複して取り込まれた項目を整理します。自身が利用するサービスとサブスクリプションをすでに持っていることを前提に、Homeの一覧とConfigのポリシー参照の違い、更新後に削除した項目が再び表示されるのを防ぐ方法を説明します。

サブスクリプションの提供元・ノード名・ポリシーグループを区別する

サブスクリプションは接続パラメータをまとめて取得するための提供元で、ノードはその中の個々の接続情報です。Homeで提供元ごとに表示されるグループは一覧の整理に使います。一方、Configでルール振り分けに使うポリシーグループは、リクエストの接続先を決めます。一覧の上に表示した提供元が、すべてのリクエストで優先されるわけではなく、ルールが自動的に書き換わることもありません。

整理を始める前に、Homeで登録済みのサブスクリプションとメモを確認し、次にConfigで現在使っている設定を確認します。設定がノード名を直接参照している場合、削除や名前の変更によって参照先がなくなることがあります。条件でノードを抽出している場合も、名前の変更で抽出結果が変わらないか確認してください。

提供元を確認 グループを区別 表示順を整理 重複を整理 接続を確認

提供元ごとに整理する:同じURLの管理入口は1つにする

まず、登録済みのサブスクリプションを安定して見分けられるようにします。たとえば用途に応じて「普段使い」「予備」とメモを付けます。これは整理のための例であり、サービスの推奨ではありません。Homeで該当するサブスクリプションの編集画面を開き、URLとメモを確認してください。項目名は現在の画面表示に従い、表示名を変えるために元のURLを変更しないでください。

同じサブスクリプションURLを2回追加すると、管理入口も2つ作られます。メモが異なっていても、更新時に同じ内容が取得されることがあります。整理する際はドメインだけでなく、URL全体を比較してください。パスやクエリパラメータ、認証情報が異なる場合、取得される内容も異なる可能性があります。サブスクリプションURL全体は機密情報として扱い、公開スクリーンショットや共有記録に載せないでください。

提供元の整理メモ

項目
Homeのサブスクリプション一覧
メモの例
普段使い
URLの確認
URL全体とクエリパラメータ
管理の基本
同じURLの管理入口は1つにする

自分が登録済みのサブスクリプションだけを整理し、表示名を提供元の識別子として扱わないでください。

Configの参照先を確認

項目
Configで現在使用中の設定
直接参照
参照されているノード名を確認
抽出条件
名前の変更で一致条件に影響しないか確認
変更後
ポリシーの選択肢を再確認

提供元のグループ分けとルールのポリシーは別々に管理し、一覧の順番から振り分け結果を推測しないでください。

2つのサブスクリプションに一部だけ同じノードが含まれている場合は、まず提供元ごとに分けたままにし、統合は保留します。更新時に問題が起きた場合、どのサブスクリプションが原因か特定しやすくなり、「提供元の内容が重複している」ケースと「自分で重複して取り込んだ」ケースを区別できます。内容をすべて手作業で記録すると、接続パラメータが変わるたびに管理の手間が増えます。

ノードの並べ替え:名前順かテスト結果順かを決める

並べ替えは項目の検索や比較に使うもので、接続品質を保証するものではありません。Homeで対象のグループを開き、現在の画面で利用できる並べ替え操作を使ってください。ノードを見分けやすくしたい場合は名前順、現在のネットワークでの応答を比較したい場合は、先に遅延テストを実行してからテスト結果順に並べます。操作前に対象範囲を確認し、一覧全体の並べ替えを特定の提供元だけの変更と取り違えないようにしてください。

  1. 整理する提供元を開き、現在選択されているノードと、その名前・提供元を確認します。
  2. 遅延を比較する場合は、同じネットワーク環境で一連のテストを実施してください。Wi-Fiとモバイル通信の結果を混ぜて比較しないでください。
  3. 現在の画面で利用できる並べ替え方法を選び、ノードの表示位置だけが変わったのか、選択中の項目も変わったのかを確認します。
  4. サブスクリプションの更新後に、順序をもう一度確認してください。取得内容や並べ替え設定の変更が一覧の表示に影響することがあります。

遅延の数値は、そのときのテスト方法とネットワーク状況を反映したものです。継続的な通信速度を示すものでも、目的のWebサイトに必ずアクセスできることを保証するものでもありません。特定の項目がタイムアウトした場合は、サブスクリプション全体を無効と判断する前に、プロトコルのパラメータと現在のネットワークを確認してください。

要点:並べ替えた後も、実際の選択項目を確認する

接続先を切り替える場合は、目的のノードを明示的に選択してリクエストを確認してください。項目を一覧の先頭に移動するだけでは、ノードの選択やConfigのポリシー設定の代わりにはなりません。

重複ノードの整理:名前だけでなく接続パラメータも比較

重複した項目が見つかる主な原因は3つあります。同じサブスクリプションを複数回追加した、サブスクリプション内のノードを個別にも取り込んだ、異なるサブスクリプションに一部同じ接続パラメータが含まれている、のいずれかです。同じサブスクリプションの重複、手動で追加した複製、提供元をまたぐ項目の順に確認してください。こうすることで、提供元の内容が重複しているだけなのに、アプリの保存異常と誤認するのを防げます。

2つの項目
AddressとPortで接続先を特定
443
ポートの例。実際の値は登録済みのパラメータを確認してください
2か所を確認
Homeの項目とConfigの参照

たとえば、どちらもedge.example.com:443を使用していても、アドレスとポートだけを見て片方を削除してはいけません。プロトコルや認証情報、TLSや転送の設定が異なる場合があります。ここに示したドメインは比較方法を説明するための例であり、接続設定ではありません。

名前が同じでもパラメータが異なる項目は、区別できる印を付けて残してください。名前が異なり、パラメータが同じ項目は重複候補です。名前はConfigから参照されている場合もあるため、重複を調べる前に一括で名前を変更しないでください。まず対応関係を記録し、小規模な変更を1回行って検証してから、次の項目に進みます。

無効なサブスクリプションを削除する:一時的な更新失敗と利用停止を見分ける

更新が1回失敗しただけでは、サブスクリプションが無効になったとは限りません。まずネットワーク、サブスクリプションURL全体、サービス提供元が示す有効状態を確認し、そのサブスクリプションを再度更新します。ネットワークのタイムアウト、内容の解析失敗、認証情報の無効化は、それぞれ異なる問題です。画面に表示されたメッセージを確認し、原因に応じて対処してください。問題を隠すために削除と再追加を繰り返さないでください。

  1. 残す提供元を決める。予備の接続パラメータが使用できることを確認し、現在選択中のノードがどのグループに属しているか記録します。
  2. 必要な設定を保存する。登録済みのサブスクリプションURLと、現在のConfigの必要なバックアップを保存してください。バックアップには認証情報が含まれる場合があります。
  3. 削除対象を確認する。Homeで対象のサブスクリプションを削除し、確認メッセージを読んでください。提供元全体と個別のノードを区別し、使用中のグループを誤って削除しないようにします。
  4. 残った項目を確認する。Homeに戻り、対象の提供元が削除されたことを確認してから、Configを開き、古い名前を参照しているポリシーが残っていないか調べます。
  5. 接続を確認する。残す提供元のノードを選択して接続し、利用予定の宛先にアクセスできるかテストします。

アプリ内のサブスクリプション記録を削除しても、サービス提供元での契約が解約されるわけではありません。サブスクリプション内のノードだけを削除しても、更新後に取得される内容にそのノードが含まれていれば、再び取り込まれることがあります。一覧の項目数を継続的に減らしたい場合は、現在の画面で利用できる適切なフィルタ設定があるか確認するか、利用中サービスの管理画面で配信内容を調整してください。アプリ内での削除は、提供元の内容を恒久的に変更するものではありません。

整理後にGlobal Routingとルールの参照先を確認

一覧を整理しても、ルーティング設定が連動して変更されるわけではありません。Homeに戻り、Global Routingを確認してください。Proxy、Direct、Config、Sceneは、それぞれ異なるルーティング方法を示します。サブスクリプションを整理するために設定を変更する必要はありません。ルールによる振り分けを確認する場合は、意図したConfigが使われていることを確かめてください。Directでのアクセス結果を、プロキシノードの動作と混同しないようにしましょう。

変更は一度に1種類ずつ行うことをおすすめします。まず重複した提供元を整理し、次に名前と並び順を整え、最後にポリシーの参照を変更します。提供元・ノード名・ルーティング設定を一度に変更すると、問題の原因がパラメータの変化、名前の不一致、ルーティング状態の違いのどれなのか判別しにくくなります。

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

グループ名が異なるのに、中のノードが同じです。どちらを削除すればよいですか?

まず2つのサブスクリプションの編集画面を開き、URL全体を比較してください。URLが同じなら管理入口を1つ残します。URLが異なる場合は、プロトコル、接続先、認証パラメータを確認し、残す提供元を決めてから削除してください。グループ名だけで判断しないでください。

削除したノードが更新後にまた表示されるのはなぜですか?

まず、そのノードを再び取り込んだサブスクリプションを特定します。取得内容にそのノードが含まれている場合、次回の更新でアプリ内の削除が上書きされることがあります。フィルタ設定か、利用中サービスの管理画面で配信内容を確認してください。手動で追加した複製とサブスクリプションの項目が併存している場合は、継続して更新できる提供元を優先して残します。

遅延順で1番のノードが自動的に使われないのはなぜですか?

並べ替えによって変わるのは表示順です。Homeで目的のノードを明示的に選択してください。現在のConfigでポリシーグループを使っている場合は、そのグループの選択方法と現在のメンバーを確認します。一覧の先頭にある項目から実際の接続先を推測することはできません。

古いサブスクリプションを削除した後に接続できなくなった場合、まず何を確認すればよいですか?

まずHomeに有効な選択中ノードが残っているか確認し、次にConfigが削除済みの名前を参照していないか確認します。提供元を復元する必要がある場合は、保存しておいた元のサブスクリプションURLから再登録し、パラメータを確認してください。すべての設定を同時にリセットする必要はありません。

App Storeで正規版を確認購入と対応デバイスの情報を見る