この記事の要点

この記事は、利用中のサービス事業者から取得したサブスクリプションURLをお持ちの方向けです。まずHomeでサブスクリプショングループを確認し、手動で更新します。アプリ起動時に更新するには、Settings → SubscribeでUpdate on Openを確認してください。更新できない場合は、URL、通信経路、応答形式の順に確認します。サブスクリプションの更新は接続項目を更新する操作であり、Config内のルール更新やサービスの延長とは異なります。

サブスクリプション更新で変わる内容・変わらない内容

Shadowrocketのサブスクリプションは、アプリがURLからサーバーの接続項目を取得する仕組みです。サービス事業者がアドレスやポートなどの接続情報を変更した場合、アプリからサブスクリプションを再取得する必要があります。手動で追加した個別項目とサブスクリプショングループはデータの取得元が異なります。同じ画面に表示されていても、更新によってすべての項目が書き換わるわけではありません。

まずHome、Config、Settingsの用途を区別しましょう。Homeでは接続項目の確認と選択、Configでは設定ファイルの管理、Settingsではアプリの動作設定を行います。この記事で扱うのはHomeにあるサブスクリプション項目の更新であり、Config内のリモート設定ファイルの更新ではありません。

Home
サブスクリプショングループと更新後の接続項目を確認
Config
設定ファイルとルールを管理
Settings
Subscribeでサブスクリプションの更新方法を設定

たとえば、設定内のDOMAIN-SUFFIX,example.com,DIRECTは、ドメインのサフィックスを指定するルールです。サーバーのサブスクリプションを更新しても、このルールのポリシーが自動的に変更されることはありません。サービスの有効期限や残りの利用量は、利用中のサービス事業者によって決まります。更新操作によって容量が増えたり、有効期限が延長されたりすることもありません。

手動で更新する:Homeから更新して結果を確認

初回の追加後、サービス事業者から接続情報の変更通知があったとき、または項目が古いように見えるときは、まず手動で更新します。操作前に現在選択している項目名を控えておきましょう。通信に失敗したときに元の情報を失わないよう、サブスクリプションはすぐに削除しないでください。

  1. グループを確認

    Homeを開き、自分のサブスクリプショングループを探します。手動で追加した項目しか表示されない場合は、サブスクリプションを取り込んでいるか確認してください。サブスクリプションを取得元としない個別項目は、更新しても新しい接続情報を取得できません。

  2. URLを確認

    サブスクリプション項目の編集画面で、URLが正しく入力されているか確認します。初めて追加する場合は、Home右上の「+」をタップし、TypeをSubscribeに設定して、自分のサブスクリプションURLを入力して保存します。サービス事業者のログインページのURLを、サブスクリプションURLとして使用しないでください。

  3. 下に引いて更新

    Homeに戻り、リストの先頭で下に引いて指を離すと、サブスクリプションの更新が始まります。リクエストが完了するまで待ってください。リストが長い場合は、先に最上部までスクロールします。通常のスクロールを更新操作と取り違えないようにしましょう。

  4. 結果を確認

    エラーメッセージの有無を確認し、グループ内の項目名と件数を照合します。サービス事業者から項目の改名や削除が明確に通知されている場合は、その変更を確認材料にできます。リストに変化がないことだけでは、更新失敗とは判断できません。

  5. 接続をテスト

    現在選択している項目を確認してから接続し、必要な接続先にアクセスできるかテストします。更新成功はデータの取得と解析が完了したことを示しますが、すべてのサーバーが利用可能であることを保証するものではありません。

サブスクリプションURLは機密情報です

URLに含まれるtokenは、アクセス認証情報として機能する場合があります。サービス事業者への問い合わせには、事業者が用意する非公開のサポート窓口を利用してください。スクリーンショットやエラーログを公開する場合は、URL全体、token、パスワード、個人を特定できる情報を隠してください。

起動時の自動更新:Update on Openの動作範囲

Settings → Subscribeを開き、Update on Openを確認します。有効にすると、アプリを開いたときに設定に従ってサブスクリプション更新が実行されます。アプリを長時間開いていない間もシステムが定期的に確認し続ける、という意味ではありません。また、VPN接続を維持していれば一定の間隔で更新されるわけでもありません。

Update on OpenとUpdate via Proxyは、それぞれ異なる設定です。前者は更新を開始するタイミング、後者は更新リクエストにプロキシ経由の通信を使うかどうかを決めます。自動更新を有効にする前に、同じサブスクリプションを手動で更新できることを確認しましょう。URLの誤りを自動更新の不具合と取り違えずに済みます。

アプリを何度も素早く切り替えても、有効な診断にはなりません。通信には時間がかかることがあり、サービス事業者によるアクセス頻度の制限を受ける場合もあります。一度に変更する設定は一つにし、リクエストが完了してから結果を比べましょう。どの変更が影響したのか判断しやすくなります。

まず通信経路を確認し、Update via Proxyを使うか判断

サブスクリプションの更新は、4つの段階に分けられます。アプリが認識できる内容を取得して初めて、リストにデータを書き込めます。そのため、「Webページが開く」「VPNが接続されている」「サブスクリプションの更新が成功する」は、それぞれ別の条件です。

サブスクリプションURLを読み込む ネットワークに接続する 応答内容を取得する 項目データを解析する ローカルのリストを更新する

まず、現在のWi-Fiまたはモバイル通信でインターネットに接続できること、ログイン待ちのネットワーク認証ページが表示されていないことを確認します。現在のネットワークからサブスクリプションのドメインに直接アクセスできず、利用可能な接続項目がある場合は、Settings → Subscribe → Update via Proxyを試し、Homeに戻って手動更新の結果を比較してください。

Wi-Fiとモバイル通信の切り替えは、比較テストに役立ちます。同じURLが一方のネットワークだけで失敗する場合は、そのネットワークのアクセス条件を優先して確認します。複数のネットワークで同じ認証エラーが返る場合は、URLとサービスの状態を確認してください。

更新できないときの対処法:タイムアウト・認証・URL・形式を確認

エラーはダイアログや関連するリクエスト記録に表示されます。表示はシステムの言語や応答元によって異なります。以下はネットワークリクエストで返されることのある英語のエラー原文やHTTPステータス行で、毎回同じダイアログに表示されるとは限りません。問い合わせの際は、実際に表示された文言を控えてください。

The request timed out.

原因:制限時間内にリクエストが完了しませんでした。現在のネットワーク、通信経路、サーバーの応答などが関係している可能性があります。

対処法:まずネットワークを一度切り替えて再試行します。利用可能なプロキシ接続がある場合は、Update via Proxyの有効・無効を切り替えて結果を比べてください。短時間に何度も更新しないようにしましょう。

401 Unauthorized

原因:サーバーが今回のリクエストの認証情報を受け付けませんでした。サブスクリプションのtokenが無効になったか、リセットされた可能性があります。

対処法:サービス事業者にサブスクリプションURLを確認し、URL全体を入れ替えて再試行します。ネットワークを切り替えるだけでは、無効な認証情報は修復できません。

403 Forbidden

原因:サーバーがアクセスを拒否しました。アカウントの状態、アクセス方針、リクエスト元の制限などが関係している可能性があります。

対処法:サービス事業者にサブスクリプションのアクセス条件を確認し、機密情報を隠したエラー記録を提示してください。このエラーだけで、アプリの解析に問題があると判断しないでください。

404 Not Found

原因:リクエストされたURLに該当するリソースがサーバーにありません。URLのパスが不完全、または接続先が変更された場合によく発生します。

対処法:URLのパスとクエリパラメーターを確認し、自分のサブスクリプションURL全体をコピーし直してください。URLを手入力で組み立てたり、パラメーターを削除したりしないでください。

上記のネットワークエラーが表示されないのに、更新後の項目が使えない場合は、応答内容がアプリ対応のサブスクリプション形式か確認してください。ログインページ、期限切れの案内ページ、ネットワーク認証ページは正常に取得できても、サーバーリストではありません。ブラウザーでページを表示できるのは何らかの内容を取得できたということであり、その内容がSubscribeで利用できることを意味しません。

更新後によくある質問と確認方法

更新後は、データを取得できたか、リストが想定どおりか、選択した項目で接続できるかをそれぞれ確認します。Webサイトに一度アクセスできなかっただけで、サブスクリプションのリクエスト全体が失敗したと判断しないでください。以下の質問を参考に、問題の範囲を絞り込みましょう。

更新完了と表示されたのに、項目が一つも変わりません。更新されていないのでしょうか?

必ずしもそうとは限りません。サーバー側の内容に変更がなければ、リストはそのまま表示されます。まずエラーが表示されていないことを確認し、サービス事業者から明確に変更が通知された項目と照合してください。件数を変えるために、削除と再追加を繰り返さないでください。

起動時の自動更新を有効にしているのに、なぜ手動更新が必要なのですか?

手動更新を使うと、最新の内容を取得してエラーをすぐに確認できます。Update on Openは更新を開始するタイミングを決めるだけで、通信の完了を保証するものではありません。問題が起きた場合はHomeで下に引いて更新し、結果を記録してから原因を調べてください。

更新後、以前選択していた項目が見つかりません。どうすればよいですか?

まず、その項目がサーバー側で削除または改名されていないか確認してください。現在のグループに残っている有効な項目を選び直し、接続をテストします。サブスクリプションから取得した古い項目が常に残るとは限りません。手動で管理する場合は、データの取得元を区別してください。

更新は成功したのに接続できません。次に何を確認すればよいですか?

Homeで現在選択している項目を確認し、接続状態とGlobal Routingを確認してください。Configのルーティングを使用している場合は、適用されるルールとポリシーも確認します。サブスクリプションを更新しても、誤ったルール選択は自動で修正されません。接続の問題は、よくある質問ページのトラブル対処も参照してください。

対処後は、更新に成功した通信経路を維持し、問題発生時のネットワーク種別、実際に表示されたメッセージ、試した操作を記録しておきましょう。追加のサポートを求める際、「更新できない」と伝えるよりも、これらの情報があるほうが原因を特定しやすくなります。接続の問題については、よくある質問のトラブル対処方法もご覧ください。

アプリの購入とサブスクリプションサービスは別々に確認

アプリの買い切り購入と、接続サービスのプランは別のものです。Shadowrocketはクローズドソースの有料アプリで、Appleプラットフォーム向けにApp Storeのみで入手できます。主な対応デバイスはiPhoneとiPadです。開発者はShadow Launch Technology Limited、アプリIDは932747118です。価格、システム要件、購入の適用範囲はApp Storeの掲載内容をご確認ください。この記事では、利用中のサブスクリプション情報の管理方法を説明します。