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

複数のサブスクリプションをHomeで整理する方法を解説。グループの並べ替えや無効な登録の削除、更新時にノードが重複して追加されるのを防ぐポイントを紹介します。

この記事のポイント

Shadowrocketで複数のサブスクリプションを管理する際は、各グループの提供元を確認してから、並べ替え・更新・削除を行います。利用中のサービス提供元とサブスクリプションがあることを前提に、サブスクリプションのグループと個別ノードの見分け方、重複項目の確認方法、整理後に選択中の項目を確認して重複インポートを更新エラーと誤認しないための手順を説明します。

サブスクリプション・グループ・選択中の項目を区別する

Homeのサブスクリプショングループは、サブスクリプションから取得したノードを整理するためのもので、ルールのポリシーグループとは異なります。1つのサブスクリプションURLから複数のノードが取得されることがあり、同じURLを重複して追加すると、同じ提供元のグループが複数できる場合もあります。複数の登録を整理するときは、名前だけでまとめて削除せず、まず各グループの提供元を確認してください。

Homeでは主にノードの確認、接続先の選択、サブスクリプションの管理を行います。Configはルール設定、Settingsはアプリの設定に使います。グループをリストの先頭に移動しても、リストの表示順が変わるだけです。Configのルールが自動的にそのグループを使うわけではなく、すべてのリクエストがそのグループを経由するわけでもありません。

3か所
関連する画面:Home / Config / Settings
2階層
整理対象:サブスクリプショングループとノード項目
4項目
接続情報の確認:Type、Address、Port、認証情報

個別にインポートしたノードも別途見分ける必要があります。ノードの共有リンクを再度インポートしても、所属するサブスクリプションが更新されるわけではありません。サブスクリプションURLと個別ノードの共有リンクは別のものです。表示名だけで判断せず、項目の詳細を確認してください。

Homeで複数のサブスクリプションを見分けやすく整理する

整理を始める前に、利用中のサービス提供元からサブスクリプションURLを再取得できることを確認してください。URL内のtokenはアクセス認証情報として使われることが多いため、完全なURLを公開スクリーンショットやグループチャット、問い合わせ内容に載せないでください。本文中のhttps://example.com/sub?token=xxxxは形式を示す例であり、利用できるサブスクリプションではありません。

  1. Homeを開き、サブスクリプショングループを1つずつ確認します。確認するグループを展開し、含まれているノードが想定した提供元のものか確認してください。
  2. グループの操作メニューからサブスクリプションの編集情報を開きます。グループ名を長押しして利用できる操作を確認してください。編集の入口や表示される文言は、現在のアプリ画面に従います。
  3. サブスクリプションURLとメモを確認します。「主に使用」「予備接続」など、用途ごとに記録してください。token、パスワード、完全なURLはメモに記載しないでください。
  4. 2つのグループが同じ提供元のように見える場合は、まず完全なURLを比較し、次にノードの詳細を確認します。グループ名が同じというだけで重複と判断しないでください。
  5. メモを保存してHomeに戻り、意図したグループを編集したこと、別のサブスクリプションを誤って変更していないことを確認します。

サブスクリプションの提供元記録

場所
Homeのサブスクリプション編集情報
メモの例
主に使用
URLの例
https://example.com/sub?token=xxxx
確認ポイント
完全なパス、パラメーター、関連するアカウント

提供元の記録はサブスクリプションを見分けるためのもので、サーバーの接続情報は変わりません。

ノード情報の確認

Type
例:Trojan。利用中のサービス情報と一致するか確認
Address
例:edge.example.com
Port
例:443。共通の既定値とは限りません
認証情報
プロトコルに応じてPasswordやUUIDなどを確認

これらは架空の値の例です。実際の項目は、利用中のサービス設定と一致している必要があります。

リストの順序を調整する(自動切り替えとは別)

グループの順序と、グループ内のノードの順序は別々に管理します。前者は目的の項目を見つけやすくするため、後者は同じ提供元のノードから選びやすくするためのものです。まず、どの階層を移動するか決めてから、現在の画面で利用できる編集・並べ替え・ドラッグ操作を行ってください。ドラッグハンドルが表示されている場合のみ、それを使って並べ替えます。該当する操作がない場合、通常の長押しを並べ替え操作と誤認しないでください。

通常のサブスクリプショングループは、リストの先頭に置いただけで自動的にフェイルオーバー用グループになるわけではありません。設定でポリシーグループと選択方法を使っている場合は、Configで個別に確認してください。Global RoutingがConfigの場合は、ルールに実際に適用されるポリシーに応じてリクエストの送信先が決まります。Homeでノードを選択しただけで、すべてのリクエストがそのノードを経由すると判断することはできません。

要点:表示を整理してから接続を確認

一度に調整する階層は1つに絞り、保存後に選択中の項目とGlobal Routingを確認してから接続テストを行ってください。原因を特定できなくなるのを防ぐため、並べ替え・削除・ルール変更を同時に行わないでください。

同じ提供元を追加し直さず、既存のサブスクリプションを更新する

更新するのは、Homeにすでに登録されているサブスクリプションです。同じURLを追加画面から再度インポートしないでください。ノードを更新するには、対象グループの操作メニューから更新し、アプリに表示される結果を確認します。まず1つのグループだけを更新し、取得内容に問題がないことを確認してから次のグループを更新すると、特定の提供元の問題なのか、現在のネットワークでサブスクリプションを取得できないのかを切り分けやすくなります。

提供元を確認 元のグループを更新 結果を確認 選択中の項目を確認 接続テスト
  1. 更新前に、グループ名、現在のノード数、選択中のノードを記録します。これらは今回の操作前後を比べるための情報であり、固定値として扱うものではありません。
  2. そのグループを1回更新します。エラーが表示された場合は内容を記録し、同じURLを何度も追加して回避しようとしないでください。
  3. 更新に成功したらグループを展開し、項目に変化があったか確認します。ノード数が増えていても、サブスクリプションの内容が変わった可能性があるため、数だけで重複と判断しないでください。
  4. 以前選択していたノードが引き続き存在するか確認します。提供元から削除されていた場合は、現在あるノードを選び直してから接続を確認してください。

Settings → Subscribeは、サブスクリプション関連の設定を確認する画面です。更新オプションを変更する場合は、現在の画面に表示される説明を読み、影響範囲を確認してください。自動更新では提供元の内容を再取得できますが、別々のURLが同じアカウントに属するかを判断することも、複数のサブスクリプションをまたいで自動的に重複を除去することもできません。

重複ノードは提供元と接続情報で確認する

名前が同じでも重複とは限らず、名前が違っていても別のノードとは限りません。サーバーのドメインが同じでも、Port、プロトコル、認証情報、通信方式などが異なる場合があります。用途のメモを付けた別名でも、接続情報が完全に同じ場合もあります。重複を判断する前に、重複しているのがグループなのか、ノードなのかを確認してください。

確認された状況まず確認する項目対処方法
2つのグループにほぼ同じノードがある2つのサブスクリプションの完全なURLとアカウントの提供元重複インポートを確認したら片方を残し、もう一方のグループを削除する
同じグループ内に同じ名前の項目が2つあるType、Address、Port、認証情報、通信方式の項目項目が異なる場合はそれぞれ残し、名前だけで統合しない
項目を削除しても、更新後に再表示されるその項目がサブスクリプションの提供元から引き続き返されているか提供元の内容、または利用可能なサブスクリプションのフィルター設定で対処する
更新後も古いノードが残っている古い項目が個別にインポートしたものか、別のグループに属するものか所属する提供元を確認して整理し、関係のないグループを繰り返し更新しない

たとえば、edge.example.com:443とedge.example.com:8443はPortが異なるため、Addressが同じというだけでどちらかを削除してはいけません。AddressとPortが同じ場合も、認証情報やTLS、通信方式などの関連項目を確認してください。認証情報の比較は端末上で行い、完全な情報を他人に送って判断を依頼しないでください。

サブスクリプションを更新すると、提供元の内容が再取得されます。そのため、提供元から繰り返し返されるノードを端末上で削除するだけでは、長期的な除外方法になりません。現在のサブスクリプション設定にフィルター機能がある場合は、対象範囲と効果を確認してください。判断に迷う場合は、元のURLと必要な記録を残し、範囲を絞って確認してください。

無効なサブスクリプションを削除する前に、削除範囲を確認する

ノードを1つ削除する場合と、サブスクリプション全体を削除する場合では、影響範囲が異なります。操作前に確認メッセージを読み、削除対象が1つの項目なのか、グループと関連ノードなのかを確認してください。一時的に更新に失敗しただけで、サブスクリプションが無効になったとは限りません。まずURL、アカウントの状態、現在のネットワークを確認してから、削除するか判断してください。

  1. Homeで削除するグループの提供元と用途を確認し、残すサブスクリプションと重複していないか確認します。
  2. 選択中のノードが削除対象のグループに属している場合は、残す予定のノードを先に選択します。必要に応じて接続を切断してから整理してください。
  3. 対象グループの操作メニューからサブスクリプションを削除し、確認メッセージに表示される削除範囲を確認します。個別ノードを削除する場合も、残す必要があるグループに属していないことを確認してください。
  4. Homeに戻ってリストを確認し、Configで削除したノード名に依存する選択項目や設定がないか確認します。
  5. 再接続して実際のアクセスをテストします。端末上のサブスクリプション記録を削除しても、サービス提供元のアカウント上のサービスやApp Storeでのアプリ購入記録は変更されません。

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

同じサブスクリプションを2回追加しました。片方を削除してもいいですか?

まずHomeのサブスクリプション編集情報で完全なURLを比較し、残すグループを正常に更新できることを確認します。選択中の項目を残すグループ内のノードに切り替えてから、余分なグループを削除してください。グループ名が同じというだけで操作しないでください。

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

まず、そのノードが元のサブスクリプショングループに残っていないか確認してください。提供元から引き続き返される項目は、端末上で削除しても提供元の内容は変更されません。提供元の内容、または現在利用できるフィルター設定を確認してください。削除を繰り返した後に、新しいサブスクリプションとして追加し直す方法は避けてください。

予備のサブスクリプションをリストの先頭に移動すると、自動的に使われますか?

表示位置を変えただけでは、自動的に切り替わりません。Homeに戻って選択中のノードとGlobal Routingを確認してください。Configを使用している場合は、設定内のポリシー選択も確認します。自動選択が必要な場合は、グループの並び順に頼らず、ポリシーグループの設定を個別に確認してください。

1つのグループの更新に失敗しました。すべてのサブスクリプションを削除してやり直すべきですか?

まず、更新に失敗したグループだけを確認します。URLが完全か、認証情報が引き続き有効かを確認してから、そのグループを再度更新してください。他のグループが正常なら残しておきます。必要に応じてSettings → Subscribeの関連オプションを確認し、1つの提供元の問題をリスト全体の再作成に広げないようにしてください。

整理後は、提供元を見分けられること、重複したグループを確認済みであること、選択中のノードが存在すること、Global Routingと設定が想定どおりであることを順に確認し、最後に接続をテストします。サブスクリプションの管理とルールの変更を分けて行えば、問題が起きたときに直前の変更箇所を特定しやすくなります。

App Storeで正規アプリを確認