複数のサブスクリプションは提供元ごとに分け、グループ内でテストして並べ替えます。整理の際は、まずサブスクリプションの登録重複を確認し、その後で重複ノードを処理します。すでに自身のサービス提供元からサブスクリプションを取得している方向けに、「提供元を記録する、1件ずつ追加する、更新を確認する、古い登録を削除する、接続を検証する」の順で手順を説明します。ShadowrocketはiPhone、iPad、Mac、Windows、Android、Linuxに対応しています。以下ではiPhone / iPadのHome、Config、Settingsという画面表記を使って説明します。他のプラットフォームでは実際の画面に従ってください。
1. サブスクリプションの提供元、ノード一覧、Configを区別する
サブスクリプションはノード情報を取得するための登録先、ノードは実際の接続に使うサーバー設定、Configは主にルールなどの設定を扱います。この3つは相互に置き換えられません。サブスクリプションを追加しても、別のルーティングルールが自動で作られるわけではありません。また、Configでルールを切り替えても、サブスクリプションの提供元が切り替わるわけではありません。整理する前に、どの階層を操作するのか確認しましょう。
各サブスクリプションを個別の提供元として扱い、表示名、用途、更新履歴を記録しておきます。手動で追加したノードは別に記録し、サブスクリプション更新で一緒に更新されると誤解しないようにしてください。当サイトではノード、サブスクリプション、サービス提供元の提供・販売・推奨は行っていません。この記事の手順は、ご自身のサブスクリプションをお持ちであることを前提としています。サブスクリプションのURLは、ご利用のサービス提供元から取得してください。
Shadowrocketはクローズドソースの商用アプリです。アプリの買い切りと接続サービスのプランは別です。アプリの入手と、お持ちのサブスクリプションの利用期間もそれぞれ独立しています。iPhone / iPadのシステム要件はApp Storeの掲載情報をご確認ください。Mac版はAppleシリコンとIntelに対応しています。各プラットフォームの入手方法はアプリのダウンロードページをご覧ください。
2. サブスクリプションを1件ずつ追加し、提供元ごとに名前を付ける
複数のQRコードを続けて読み取ったり、同じURLを何度も貼り付けたりしてから整理を始めるのは避けましょう。1件追加するごとに、Homeに表示された提供元とノードを確認してから次へ進みます。これなら、一覧が空の場合や追加に失敗した場合、提供元の名前が似ている場合にも、複数の一覧を見比べて推測せず、直前の操作を確認できます。
- サブスクリプションのURLはサービス提供元から取得し、提供元が分かるように個人用の記録に残してください。URLにはアクセス用トークンが含まれる場合があります。公開するスクリーンショットやフォーラム、共有表などに貼り付けないでください。
- Homeで追加メニューを開き、Add Serverに進みます。TypeをSubscribeに設定し、完全なURLを入力します。項目の有無は現在のプラットフォームの表示に従ってください。サブスクリプションのURLを、単一ノード用のAddress欄に入力しないよう注意してください。
- Remarksなどの名前欄に提供元を記入します。「01-メイン」「02-予備」のような形式が使えます。番号は提供元の識別用であり、Shadowrocketが番号順に自動切り替えするという意味ではありません。
- 保存し、その提供元のノードが読み込まれるまで待ちます。Homeに戻り、グループ名とノード数、少なくとも1つのノードの接続情報を確認して、意図したサブスクリプションが追加されたことを確かめます。
- 次のサブスクリプションを追加します。同じURLがすでに登録されている場合、新しい提供元として再追加しないでください。最新の一覧を取得するには、既存の登録を更新します。
名前は短く、変更されにくいものにしましょう。用途や有効期限をすべてノード名に詰め込む必要はありません。サブスクリプションから取得したノードは、ローカルで名前を変更しても、更新後に提供元の内容で上書きされる場合があります。長く使うラベルは、サブスクリプションの提供元メモか個人用の記録に残すのがおすすめです。名前を維持するために、URL内のtoken、パラメーターの順序、エンコードをむやみに変更しないでください。
メインの提供元の記録
- 提供元メモ
- 01-メイン
- 追加方法
- Subscribe
- 管理場所
- Homeの該当する提供元
- 整理の目標
- 有効なサブスクリプション登録を1件残す
重複して追加するのではなく、既存の提供元を先に更新する。
予備の提供元の記録
- 提供元メモ
- 02-予備
- 追加方法
- Subscribe
- 確認する内容
- 提供元の名前とノードの接続情報
- 整理の原則
- グループごとに確認し、グループをまたいだ一括削除はしない
2つの提供元に同名ノードがあっても、重複とは限りません。
3. 遅延順に並べ替える前に、テスト条件をそろえる
遅延順の並べ替えで変わるのは一覧の表示順です。安定性の順位を示すものではなく、Configのポリシー参照が自動で書き換わることもありません。テスト方法によって測定対象は異なります。TCPハンドシェイクが成功しても、その経路で接続を確立できたことを示すだけで、認証やTLS、接続先のWebサイトへのアクセスまで正常とは限りません。比較する前に、テスト方法とネットワーク環境をそろえましょう。
- 同じWi-Fiまたは同じモバイル回線で、サブスクリプションを1件ずつテストします。テスト中はネットワークを切り替えず、大容量ファイルの転送も同時に行わないでください。
- Homeで、現在の画面にあるConnectivity Testまたは遅延テストの項目を使います。テスト方法を選べる場合は、ひととおりの測定で同じ設定を使い、異なる方法の結果を混ぜて比較しないでください。
- 結果が表示されるまで待ち、一覧のメニューから遅延順の並べ替えを実行します。メニューの場所はプラットフォームによって異なる場合があります。実際に表示されるテストと並べ替えの項目を確認してください。
- 少し時間をおいて、もう一度テストし、タイムアウトが続くか確認します。候補のノードで実際にアクセスし、TLS接続が完了して目的のサービスを開けるか記録します。
- ノードを選んだら、現在の選択状態を確認します。一覧の先頭にあるだけで、現在使用中のノードだと判断しないでください。
| 確認できた現象 | 分かること | 次の手順 |
|---|---|---|
| 同じノードで2回続けてタイムアウトする | 現在のテスト条件では有効な結果が得られていない | Address、Port、ネットワークを確認し、その後プロトコル設定を確認する |
| 遅延は小さいが、Webページにアクセスできない | テスト成功でも、リクエスト全体の成功を意味するとは限らない | 認証、TLS、DNS、ルーティングルールを確認する |
| 特定の提供元だけすべてタイムアウトする | 問題がその提供元に集中している | サブスクリプションの更新成功とサービスの状態を確認する |
| ネットワークを切り替えると結果が大きく変わる | 結果はローカルネットワークの経路に左右される | Wi-Fiとモバイル回線の結果を分けて記録し、同じテストとして混ぜない |
まとめ:まず接続できるかを確認し、その後で遅延を比べる
タイムアウトが続くノードや実際のアクセスに失敗するノードを先に除外し、残ったノードを同じ条件で並べ替えます。1回の低遅延結果だけを根拠に、他のノードをまとめて削除しないでください。
4. 重複ノードの整理:提供元を確認してから接続情報を比較する
「名前が同じ」と「接続設定が同じ」は別のことです。「予備」という名前の2つのノードでも、AddressやPortが異なる場合があります。反対に、名前が異なっていても同じサーバーに接続することがあります。同じAddressのTrojanとVLESSの設定や、認証情報が異なる設定も、そのまま重複として削除してはいけません。
- 同じ提供元を2回追加している:まず2つのサブスクリプション登録と更新内容を比較します。重複登録と確認できたら、有効な提供元を1件残してもう一方を削除します。配下のノードを1件ずつ削除する必要はありません。
- 異なる提供元に同名ノードがある:提供元ごとのまとまりを維持したまま、Type、Address、Port、認証情報を確認します。表示名だけを基準に重複を削除しないでください。
- 設定が同じように見える:TLS、SNI、トランスポート方式、関連するパスなどの設定も確認します。Portがどちらも443なのは共通点の1つにすぎず、設定が同等である証拠にはなりません。
- 手動ノードとサブスクリプションのノードが重複している:手動で追加した項目を、異なる設定として意図的に残しているか確認します。整理する場合は、元のサブスクリプションから継続して更新でき、利用可能と確認済みの記録を優先して残します。
- 削除後、更新すると再び表示される:そのノードが提供元から返される内容に残っていることを示しています。ローカルで何度削除しても、提供元の内容は変わりません。重複した提供元を追加していないか確認し、サービス提供元が案内するサブスクリプション管理方法に従ってください。
認証情報の比較は自分のデバイス上で行いましょう。サポートを求めるために、パスワード、UUID、秘密鍵、サブスクリプションURL全体を公開しないでください。違いを記録する必要がある場合も、「認証情報は同じ」「認証情報は異なる」と記載すれば十分です。具体的な値をコピーする必要はありません。整理する前に復元できる設定記録を残し、機密情報が含まれる可能性があるため安全に保管してください。
重複を判断する単位は名前の文字列ではなく、「接続設定とその提供元」です。Shadowrocketでローカル項目を削除しても、サービス提供元側のサブスクリプション内容が変更されるわけではありません。次回の更新で提供元に含まれるノードが再び読み込まれる場合があります。
5. 無効なサブスクリプションの削除と更新後の確認手順
1回更新がタイムアウトしただけで、サブスクリプションが無効になったとは限りません。まずローカルネットワークとURL全体を確認し、次にサービス提供元が案内する有効状態を確認してください。URLが変更されている場合は、元の登録を編集するか、新しい登録を確認してから古い登録を削除します。内容が似た登録を長期間2件残さないようにしましょう。
- 現在の接続を確認:Homeで、使用中のノードがどの提供元に属しているか確認します。削除予定の提供元のノードを使っている場合は、削除する前に、利用可能と確認済みの別の接続に切り替えてください。削除してから現在の選択が無効だと分かる事態を防げます。
- ルールの参照先を確認:Configで、特定のノード名やポリシーを参照している箇所がないか確認します。提供元の削除やノード名の変更後は、参照先も見直す必要があります。Homeの一覧が整理されているかだけでは判断できません。
- 削除する対象の階層を確認:サブスクリプション全体を削除する場合は、提供元を操作します。手動で追加した設定だけを削除する場合は、該当ノードを操作します。削除確認画面で対象と範囲を確認してから実行してください。
- 残す提供元を更新:引き続き使うサブスクリプションを更新します。ノードが正常に読み込まれたか、以前削除した重複項目が再表示されていないか、現在選択中のノードがまだ有効か確認してください。
- 実際のアクセスを検証:Global Routingが予定どおりの設定になっていることを確認し、プロキシ経由でアクセスする対象と直接接続する対象を1つずつテストします。整理の前後で条件をそろえると、新たな問題が発生したか判断できます。
Global RoutingのProxy、Direct、Config、Sceneはルーティングの方式であり、サブスクリプションのグループ分けではありません。ProxyとDirectは目的に応じた比較テストに使えます。Configは現在の設定にあるルールに従って接続を処理し、Sceneは設定済みのシーン条件に応じて動作します。テスト後は元の方式に戻し、問題の切り分け用に一時選択した状態をそのまま使い続けないでください。
Settings → On Demandでは、条件に応じて接続を開始または切断する動作を管理します。サブスクリプションの重複整理を行う機能ではなく、遅延に応じてノードを自動切り替えする設定でもありません。テスト中に接続状態が変わる場合は、On Demandの条件も確認してください。自動接続の動作をサブスクリプション更新による異常と誤認するのを防げます。
まとめ:削除後は更新とアクセスの検証まで行う
一覧に重複がないだけでは不十分です。残した提供元の更新が成功し、現在選択中のノードが有効で、Configの参照先が使え、実際のアクセスも想定どおりであれば、今回の整理は完了です。
6. 複数サブスクリプション管理のよくある質問
同じサブスクリプションをもう一度追加しました。ノードを1件ずつ削除すべきですか?
まずHomeで2つの提供元のURLと内容を確認します。重複登録と確認できたら、更新できることを検証した一方を残し、もう一方の提供元を削除してください。ノードを1件ずつ削除すると、消し漏れが起きたり、更新後に再表示されたりすることがあります。
遅延順に並べ替えたのに、実際には元のノードが使われるのはなぜですか?
並べ替えは表示順を変える操作であり、現在の選択も同時に変わるとは限りません。Homeに戻って選択状態を確認してください。Configのポリシーを使っている場合は、実際に適用されているポリシーの参照先も確認します。一覧の先頭にあることを、切り替え成功と判断しないでください。
削除したノードが更新後に戻ってきました。操作を間違えたのでしょうか?
まず、どの提供元に属しているか確認してください。サブスクリプションの取得内容にそのノードが含まれていれば、ローカルで削除しても更新時に再読み込みされることがあります。同じサブスクリプションを重複登録している場合は、余分な登録を削除してください。重複を解消する目的で、URLのパラメーターを適当に変更しないでください。
予備のサブスクリプションに同名ノードがあります。すべて削除してもよいですか?
そのまま削除しないでください。プロトコル、Address、Port、認証情報、TLSなどの関連設定を1件ずつ比較します。名前が同じでも設定が異なるノードは、別の接続設定かもしれません。設定が同じ場合も、どの提供元を残すか決める前にConfigからの参照がないか確認してください。
更新に失敗した後も、以前のノードは使えますか?
更新失敗だけでは、保存済みノードが使えるかどうか判断できません。既存の記録を残し、現在のノードとサブスクリプションURLの取得状況をそれぞれテストしてください。新しい内容が正常に読み込まれたと確認できるまでは、更新を再試行するためだけに古い提供元をすべて削除しないでください。