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

複数のサブスクリプションを使っている方向け。グループ名の付け方、表示順の変更、無効なサブスクリプションの削除、統合後に重複ノードを防ぐ方法を解説します。

この記事の概要

Shadowrocketの複数サブスクリプションを管理するときは、まず提供元ごとに名前を付け、1件ずつ更新して重複する提供元がないか確認し、最後に表示順を整えます。利用中のサービスとサブスクリプションがすでにあることを前提に、同じ名前のノードと本当に重複している項目の見分け方、削除したノードが再び表示される理由、整理前後に復元できる記録を残す方法を説明します。サブスクリプションはご利用のサービス提供元から入手してください。

1. サブスクリプションの提供元・ノード・構成ルールを区別する

複数サブスクリプションの整理は Home から始め、まず Config 内の構成ファイルを削除するのは避けてください。サブスクリプションは更新可能なリモートノード一覧、ノードはその中の個々の接続項目です。構成ファイルはルールやポリシーなどの動作を決定します。構成ファイルを削除してもサブスクリプションの重複は解消されず、かえって既存の通信振り分けが変わるおそれがあります。

同じ提供元を2回追加すると、名前や内容が似たノードのグループが2つできることがあります。一方、提供元が異なっていても、ノードに同じ表示名が付けられている場合があります。そのため、名前が同じだからといって接続パラメータも同じとは限りません。整理では重複した提供元や不要な項目を減らし、同じ名前のノードをすべて削除することを目的にしないでください。

3つの層
サブスクリプションの提供元・ノード項目・Configの設定を分けて確認
2回
整理後に再確認:直後に確認し、もう一度更新して確認
1件
変更元を特定しやすいよう、1回に扱うサブスクリプションは1件にする

2. 提供元ごとに名前を付け、1件ずつ追加・更新する

サブスクリプション名は「提供元の識別名-用途」の形式がおすすめです。たとえば「提供元A-普段使い」「提供元B-予備」のようにします。A、Bは利用中の提供元を区別するために自分で付けるローカルな識別名であり、サービスの推奨を意味するものではありません。提供元の名前は固定し、ネットワーク環境によって変わる一時的なテスト結果や現在の遅延を、長期的に使う名前にするのは避けましょう。

以下では iPhone / iPad の Home での操作を例に説明します。他のプラットフォームでも、各項目を確認する手順は同様です。編集画面や並べ替え操作の場所は異なる場合があります。サブスクリプションのメモとノードのメモは別々に管理してください。個々のノード名を変更しても、サブスクリプション全体の名前は変わりません。

  1. 現在の状態を記録する

    Homeで現在のサブスクリプション名、各グループのノード数、選択中のノードを記録します。Configでは現在有効な構成ファイルを控えます。既存のサブスクリプションURLを安全に保管し、再追加できることを確認してから削除を始めてください。

  2. 提供元を確認する

    Homeで既存サブスクリプションの編集画面を開き、URLとメモを確認します。ノード数が少ないからといって、同じ提供元を「+」からもう一度追加せず、まず現在の登録内容を確認してください。

  3. 不足分を追加する

    提供元の登録が本当に不足している場合は、Home →「+」→ Type → Subscribe と進み、URLにサービス提供元から入手したサブスクリプションURLを入力します。Remarksには提供元と用途を記入して保存してください。

  4. 1件ずつ更新する

    対象のサブスクリプションに対応する更新操作を使い、毎回1件だけ更新します。ノード一覧を開き、更新の成否と件数の変化を記録してください。重複して追加されていないことを確認してから次のサブスクリプションを処理します。

  5. 名前を確認する

    Homeに戻り、各サブスクリプションの名前から提供元を判別できるか確認します。ノードの編集画面でパラメータを確認するときは、Address、Port、認証項目を誤って変更しないよう注意してください。

サブスクリプションURLは、パスとクエリパラメータを含めてそのまま保管してください。以下はURLの形式例にすぎず、インポートには使えません。また、tokenも実際の認証情報ではありません。2つのURLを同じ見た目にするためにクエリパラメータを削除しないでください。パラメータが異なれば、取得するリストも異なる場合があります。

https://example.com/sub?token=xxxx

3. 表示順とルールの順序を分けて調整する

サブスクリプションのグループは、利用頻度順に並べると管理しやすくなります。よく使う提供元を先頭に、予備を後ろに、調査中の提供元を末尾に配置します。リストに編集やドラッグによる並べ替え機能があれば、編集モードで調整してください。該当する操作がない場合は、提供元のメモを残して、使わないグループを折りたたんでおけば十分です。位置を変えるために何度も削除・再追加する必要はありません。

ノード名順と遅延順では、解決できる問題が異なります。名前順なら提供元、地域の識別名、重複項目を確認しやすくなります。接続テスト後に遅延順で表示すれば、現在のネットワークで候補のノードを絞り込めます。テスト結果はその時点の観測値です。タイムアウトしただけではサブスクリプションが無効とは断定できず、グループ全体をすぐ削除する根拠にもなりません。

たとえば DOMAIN-SUFFIX、IP-CIDR、GEOIP、FINAL はルールキーワードです。サブスクリプションを整理するときに、これらのルールまで並べ替える必要はありません。特に、最終ルールの FINAL を個別ルールより前に移動しないでください。リストを見やすく整えることと、意図どおりに通信を振り分けることは、それぞれ別に確認する必要があります。

4. 重複ノードは名前だけでなくパラメータを比較する

2つのサブスクリプションからノードをまとめた場合、まず「同じサブスクリプションを重複して追加していないか」を確認し、次に「異なるサブスクリプションが同じ接続先を返していないか」を確認します。前者は余分なサブスクリプション登録を削除するのが適切です。後者は、どちらの提供元を残すかを先に決めましょう。サブスクリプション内のノードだけを削除しても、次回の更新時にリモートリストから再び追加されることがあります。

確認項目確認する内容判断の目安
表示名Remarksが同じか、所属するサブスクリプションが同じか判断材料にとどめ、これだけで削除しない
接続先Address、Port。たとえば同じAddressでも443と8443の場合Portが異なる場合、同じ接続とは判断できない
プロトコルと認証Type、認証情報、パスワードまたは鍵が一致するか認証情報が異なる項目は、用途も異なる可能性がある
トランスポート設定TLS、SNI、トランスポート方式、および必要に応じてHost、PathAddressが同じでも、これらの設定によって接続先が異なる場合がある
サブスクリプションの提供元完全なURL、取得したリスト、更新結果同じ提供元を重複登録していると確認できたら、有効な登録を1件だけ残す

Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardでは、使用する項目がそれぞれ異なります。すべての項目が同じ入力フォームになっていることを求めず、各プロトコルで実際に使われる項目を比較してください。名前が違ってAddressが同じでも、必ずしも重複ではありません。認証情報やトランスポート設定が異なれば、別の接続である可能性があります。

結論:提供元の重複を先に解消し、その後で個々の項目を確認する

同じURLを重複して追加していると確認できたら、正常に更新できるサブスクリプションを1件だけ残すのが基本です。重複がリモートリスト自体に含まれている場合は、リストの内容をサービス提供元に確認してください。ローカルのノードを何度も削除しても、恒久的な重複解消にはなりません。

5. 整理中は手動で更新し、完了後に自動更新を再開する

手動更新と自動更新は管理方法の違いであり、サブスクリプションの提供元は変わりません。整理中に自動更新が実行されると、削除したばかりの項目が再び表示され、判断しにくくなることがあります。Settings → Subscribeを開き、サブスクリプション更新関連の設定を確認して現在の値を記録します。自動更新が有効な場合は、整理中だけ該当する設定を一時的にオフにできます。

手動更新

おすすめ

整理中は1件ずつ手動で更新し、更新前後のグループと件数を記録します。どの提供元から重複項目が戻ったかを確認しやすくなります。ここでのおすすめは整理作業中に限ったもので、常に自動更新をオフにするべきという意味ではありません。

適した場面:重複した提供元の調査、削除前の確認、整理後の再確認

自動更新

設定済みの更新条件に従って、リモートリストを維持します。提供元の重複を解消し、更新結果を確認したら、元の設定に戻せます。同じ名前のノードが同一かどうかは、自動更新では判断できません。

適した場面:提供元が安定しており、整理が済んだ後の日常的な管理

更新時に使うネットワーク経路も別途確認してください。現在の直接接続ではサブスクリプションURLにアクセスできず、利用可能な接続がある場合は、Settings → SubscribeでUpdate via Proxyを確認します。有効にするには利用可能なプロキシ経路が必要です。無効な認証情報や、すでに停止されたサブスクリプションURLを修復する機能ではありません。

6. 無効なサブスクリプションを削除したら、2段階で確認する

使わなくなった、別のものへ移行した、またはサービス提供元から無効と確認された場合に限り、その提供元をリストから削除してください。テストで一度タイムアウトした、または更新に一度失敗しただけでは、サブスクリプション全体が無効とは判断できません。まずURLと必要なメモを記録します。削除するグループに現在選択中のノードがある場合は、残す予定の利用可能なノードへ先に切り替えてください。

  1. Homeで削除するサブスクリプションを見つけ、提供元のメモとURLを確認します。iPhone / iPadでは、リストを左にスワイプして削除できます。実行前に、削除対象がサブスクリプション全体なのか、グループ内の個別ノードなのか確認してください。
  2. 削除したらすぐにグループとノードのリストを確認します。残す提供元が表示され、選択中のノードが削除対象を指していないことを確かめてください。
  3. Configを開いて現在の構成を確認します。自分で作成したポリシーグループがノード名を参照している場合は、削除した名前への参照が残っていないか確認してください。
  4. 残したサブスクリプションを1件ずつ更新します。重複グループが再び表示されないことを確認したら、事前に記録した更新設定に戻します。
  5. 普段の使い方で接続し、必要なサービスにアクセスして、接続状態と通信の振り分け結果をそれぞれ確認します。リストが整っているかだけで判断しないでください。

整理のために通常 Settings → On Demandを変更する必要はありません。On Demandは条件に応じて接続を確立する機能であり、サブスクリプションの重複を解消する機能ではありません。また、リストを「有効にする」ためにGlobal Routingをむやみに切り替えないでください。必要な状態を維持し、アクセスに問題がある場合は、選択中のノード、構成、ネットワーク経路を個別に確認します。

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

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

まずHomeで、該当ノードがどのサブスクリプションに属しているか確認してください。リモートリストにノードが残っていれば、更新後に再度追加されることがあります。同じURLを重複して追加していないか確認しましょう。リストから恒久的に除外する必要がある場合は、ローカルの項目を何度も削除するのではなく、サービス提供元に確認してください。

名前が同じノードが2つあります。片方だけ残してもよいですか?

名前だけを見て判断しないでください。それぞれの編集画面を開き、Type、Address、Port、認証情報、トランスポート設定を比較します。用途と有効なパラメータが一致すると確認してから、残す提供元を決めてください。異なる提供元にある同名ノードは、まず別々の項目として扱います。

サブスクリプションの更新がタイムアウトしました。削除して追加し直すべきですか?

元の登録を残し、Homeで対象のサブスクリプションだけを再試行して、URLが完全か確認してください。利用可能な接続がある場合は、Settings → Subscribe → Update via Proxyの設定が現在のネットワーク環境に合っているかも確認します。削除して追加し直しても、ネットワークに到達できない問題や無効な認証情報は通常解決しません。

整理後に接続はできるものの、通信の振り分けが変わりました。どうすればよいですか?

まずHomeでGlobal Routingと選択中のノードを確認し、次にConfigで元の構成が有効になっているか確認してください。構成内のポリシーグループが削除したノード名を参照している場合は、その参照を修正します。構成の参照エラーを隠すために、重複したサブスクリプションを再追加しないでください。

サブスクリプション全体を誤って削除しました。どうすれば戻せますか?

整理前に保存した有効なURLを使い、Home →「+」→ Type → Subscribeから追加し直して、提供元のメモも復元してください。URLを保存していない、または無効になっている場合は、サービス提供元から入手します。再追加後は、選択中のノードと構成内の名前参照も確認してください。

Shadowrocket をダウンロード