この記事では、自分で契約したサービスとサブスクリプションがあることを前提に、「登録元の識別、グループごとの更新、順序の整理、重複の確認、削除前のバックアップ」の順でHomeの一覧を整理します。サブスクリプションURL、サーバー項目、Configのルールによる振り分けを区別し、同じ名前のサーバーを誤って削除したり、一覧の並び順を自動切り替えの設定と取り違えたりしないようにしましょう。
1. サブスクリプション、サーバー、Configの違い
Shadowrocketのサブスクリプションは、サーバー設定を取得するための情報源です。1つのサブスクリプションから複数のサーバー項目が返されることがあり、2つのサブスクリプションに名前は同じでも設定が異なる項目が含まれる場合もあります。複数のサブスクリプションを整理するときは、まず登録元を把握し、その後で項目数を確認してください。一覧に表示された名前だけで重複かどうかを判断しないようにしましょう。
Homeではサーバーを確認して接続先を選び、Configでは設定ファイルとルールを管理します。Homeからサブスクリプションを削除しても、Configにあるサーバー名やポリシーへの参照まで削除されるわけではありません。反対に、Configを切り替えても、登録済みのサブスクリプションURLは置き換わりません。
この記事でいうグループ分けとは、サブスクリプションごとにサーバーを識別することです。速度を自動測定したり、自動で切り替えたりするポリシーグループを作ることではありません。一覧の順序、現在選択中のサーバー、ルールで最終的に使われるポリシーは、それぞれ分けて確認する必要があります。
2. 登録済みサブスクリプションに登録元を記し、1つずつ更新する
それぞれのサブスクリプションに、用途と登録元が分かる名前を付けます。たとえば「個人用-普段使いA」「外出用-予備B」のように記載します。備考にはサブスクリプションURL全体、パスワード、アカウント情報を含めないでください。名前は識別しやすくするためのもので、プロトコル、ポート、接続の優先順位は変わりません。
-
現在の状態を記録する
Homeを開き、登録済みサブスクリプションの名前、各グループの項目数、現在選択中のサーバーを記録します。名前を変更するためだけに既存のサブスクリプションを再登録しないでください。同じ登録元が重複して追加されるおそれがあります。
-
URLを確認する
対象のサブスクリプションの編集画面を開き、URLが手元にある元の記録と一致するか確認します。例の
https://example.com/sub?token=xxxxはURLの形式を示すもので、利用できるサブスクリプションではありません。 -
備考を入力する
サブスクリプションの編集画面でRemarksに短い識別名を入力し、保存します。既存のサブスクリプションを追加する場合は、Home → 右上の「+」→ Type → Subscribeの順に進み、URLとRemarksを入力します。
-
グループごとに更新する
対象のサブスクリプションに対応する更新操作を使い、毎回1つずつ処理します。Homeで下にスワイプして複数のサブスクリプションが同時に更新される場合は、更新後に各グループの結果を個別に確認してください。1つのグループが成功しても、すべて成功したとは限りません。
-
変更内容を確認する
更新前後の項目数、名前、現在の選択を見比べます。更新後に項目が減った場合は、まず登録元から返された内容と更新結果を確認してください。すぐに何度も再登録して補おうとしないでください。
サブスクリプションURLのクエリパラメーターは、認証情報として使われる場合があります。ドメインとパスが同じでも、tokenが異なるURLを同一のサブスクリプションと判断することはできません。確認は自分のデバイス上でURL全体を見比べ、問題を第三者に説明するときは認証パラメーターを隠してください。
3. 登録元ごとの順序を決めてから、サーバーを並べ替える
複数のサブスクリプションを整理する際は、2段階に分けると効率的です。最初に登録元と用途で分類し、次に各グループ内のサーバーを整理します。まず更新を済ませてから並べ替えれば、更新による項目の追加・削除や名前の変更で、確認済みの順序が崩れるのを防げます。
- 見つけやすさを重視する場合:サブスクリプションの備考に「01-普段使い」「02-予備」のような固定の接頭辞を付けます。接頭辞は識別に役立ちますが、表示順に影響するのは名前順で並べ替える場合に限られます。
- 遅延を比較する場合:同じネットワーク環境でテストしてから、一覧にある遅延順の並べ替えを使います。テストがタイムアウトした場合は今回の測定が時間内に完了しなかったという意味であり、そのサーバーが今後ずっと使えないと判断することはできません。
- 手動で並べ替える場合:現在の一覧に編集や並べ替えの操作があるか確認します。ドラッグに対応している一覧なら、順序を調整して保存します。並べ替えの方法は一覧ごとに異なる場合があります。グループ内の順序とサブスクリプションの登録元の順序を混同しないでください。
- よく使う接続先を維持する場合:並べ替え後にHomeで選択中のサーバーをもう一度確認します。一覧の先頭に表示されていても、現在の接続先に選ばれているとは限りません。
遅延が最も小さい項目が、あらゆる用途で最適とは限りません。遅延テストとWebページの読み込みや継続的なダウンロードでは測定対象が異なり、結果は使用中のWi-Fiやモバイル回線、サーバーの負荷にも左右されます。この記事では実測ランキングを掲載していません。整理の際は、同じ条件で自分が測定した記録を参考にしてください。
4. 重複サーバーの整理:名前だけでなく設定を比較する
重複項目には、同じサブスクリプションを重複して登録したケースと、異なるサブスクリプションから似たサーバーが返されるケースがあります。前者はまず重複した登録元を整理し、後者は接続設定を確認してください。名前や地域が同じ、あるいは同じIPアドレスに名前解決されるという理由だけでは、互いに置き換えられる項目だとは判断できません。
| 確認項目 | 具体例 | 判断と対応 |
|---|---|---|
| サブスクリプションの登録元 | URL全体が一致し、2回登録されている | バックアップしてから、不要な登録元を削除するか検討する |
| Typeと接続先 | 同じ名前の項目で、一方はTrojan、もう一方はVLESSを使用 | プロトコルが異なるため、名前だけで統合しない |
| AddressとPort | 同じAddressで、ポートが443と8443に分かれている | ポートが異なるため、接続先は別 |
| 認証情報 | AddressとPortは同じだが、UUIDまたはPasswordが異なる | 認証設定が異なるため、同等の項目として扱えない |
| トランスポートとTLS | 接続先は同じだが、トランスポート方式、Host、Path、SNIが異なる | これらの違いが接続の可否を左右する場合がある |
まとめ:まず登録元の重複を解消し、次に各項目の設定を確認する
同じURLを重複して登録したと確認できた場合は、備考で登録元が分かり、動作確認済みのものを1つ残します。設定に違いがある同名サーバーは、名前だけを根拠に一括削除せず、ひとまず残してください。
接続設定が完全に同じ2つの項目でも、それぞれがどのサブスクリプションに属するかを確認してください。サブスクリプション内のサーバーを1つ削除しても、配信元の内容は変わりません。次回の更新で同じ項目が再び表示されることがあります。そのため、ローカルでの削除は現在の一覧を整理する方法であり、サブスクリプションの内容を恒久的に変更するものではありません。
サーバー名はConfig内のポリシーから参照されている場合もあります。名前を一括変更または削除する前に、使用中の設定を開き、該当する名前が明示的に参照されていないか確認してください。DOMAIN-SUFFIX、GEOIP、IP-CIDRのマッチ条件だけでなく、ルール末尾のポリシーの指定先と、FINALの参照先も確認しましょう。
5. 整理後の確認:一覧の問題とGlobal Routingを切り分ける
サーバーを選択しても期待どおりに接続できない場合、並べ替えやサブスクリプションが原因とは限りません。まずHomeで現在のサーバーを確認し、次にGlobal Routingを確認してください。以下では、よく使われる3つのモードで何を確認できるかを説明します。サブスクリプションを整理するために、設定を何度も切り替える必要はありません。
Config
推奨現在の設定にあるルールとポリシーに従って接続を処理します。ルールによって直接接続、プロキシ、その他のポリシーが指定される場合があるため、Homeで選択中のサーバーだけから各リクエストの接続先を判断することはできません。
適している場面:整理後、普段の設定で実際にどう動作するかを確認する
Proxy
Shadowrocketが処理する接続をプロキシ経由にします。ルールによる振り分けが問題の原因かを比較する際に使えますが、現在のプロキシ接続先も確認が必要です。
適している場面:短時間の切り分けで、サーバー自体の問題とルール選択の影響を比較する
Direct
接続を直接接続として処理します。この状態でWebページが開いても、選択したプロキシサーバーが使えることの証明にはなりません。
適している場面:現在のネットワークで直接接続できるかを比較する
検証中は同じネットワークを使い、接続先が明確なサーバーを1つ選択して接続スイッチをオンにし、Connectivity Testを実行します。その後、実際に使いたい接続先にアクセスして動作を確認してください。一時的にモードを切り替えた場合は、確認後にGlobal Routingを元の設定に戻し、診断用の状態を普段の設定として残さないようにします。
- 項目はあるのに接続できない:プロトコル設定、認証情報、サービスの有効状態を確認します。
- 更新に失敗するが、古い項目では接続できる:サブスクリプションURLへのアクセス経路とサーバーへの接続を別々に調べ、同じ問題として扱わないようにします。
- 手動で切断しても自動的に再接続する:Settings → On Demandで有効状態と条件を確認します。整理を続ける前に、自動接続の動作を確かめてください。
6. サブスクリプションを削除する前にバックアップし、削除後に参照を確認する
削除は整理作業の最後に行います。有効なサブスクリプションURLを再取得できることを確認し、ローカルで変更した内容を記録してください。サーバー名だけのスクリーンショットでは接続設定全体を復元できず、サブスクリプションURLのバックアップにもなりません。認証情報を含む記録は、自分が管理する安全な場所に保管してください。
- 登録元の記録:サブスクリプションURL、Remarks、用途、他の登録元との違いを記録します。
- ローカルでの変更:変更した名前、プロトコル設定、並べ替え、現在選択中のサーバーを記録します。
- 設定との関連:使用中のConfigをバックアップします。特に、特定のサーバー名を参照するポリシーを確認してください。
- 代替の接続先:現在使用中の登録元を削除する場合は、先に動作確認済みの別のサーバーへ切り替えます。
Homeで対象のサブスクリプションを探し、その項目にある削除操作を使います。一覧で左スワイプのメニューが使える場合は、対象のサブスクリプション行を左にスワイプしてDeleteを表示します。削除対象がサブスクリプションの登録元であり、内部のサーバー項目ではないことを確かめてから、確認画面の指示に従ってください。削除範囲が想定と異なる場合は、いったんキャンセルします。何度も操作して試すのは避けてください。
ローカルのサブスクリプションを削除しても、サービス提供元との契約が解約されるわけではなく、URLに付与された認証権限が自動で取り消されるわけでもありません。サブスクリプションURLが漏えいした場合は、自分のサービスアカウントで、対応している方法を使って認証情報をリセットしてください。Homeから項目を削除しただけでは、古いURLは無効になりません。
削除したサーバーが更新後にまた表示されるのはなぜですか?
配信元のサブスクリプションが、その項目を引き続き返しています。削除したのがサーバー1件なのか、サブスクリプション全体なのかを確認してください。重複した登録元だけを整理したい場合は、バックアップ後に不要なサブスクリプションを削除します。更新のたびにサーバーを1件ずつ削除し直す必要はありません。
名前が同じサブスクリプションが2つあります。片方を削除してもいいですか?
それぞれの編集画面を開いてURL全体を見比べ、グループ内のプロトコル、アドレス、ポート、認証情報も確認します。名前が同じなのは表示情報が一致しているだけで、削除の根拠にはなりません。
1つのサブスクリプションだけ更新がタイムアウトします。再インストールが必要ですか?
まず該当するURLがまだ有効かを個別に確認し、次にSettings → Subscribe → Update via Proxyを確認します。プロキシ経由で更新する場合は、動作確認済みのサーバーに接続してから再試行し、結果を確かめてください。1つのサブスクリプションの失敗を理由に、一覧全体を削除しないでください。
誤って削除した場合、元の備考や順序を復元できますか?
バックアップしたURLを使ってSubscribeから再追加すると、配信元の項目を再取得できます。ローカルの備考、手動で変更した設定、並び順はそのまま復元されるとは限りません。削除前の記録をもとに設定し直し、Config内の参照も再確認してください。