2026-08-09 · はじめに · 約8分

Shadowrocketのサブスクリプション更新方法|手動更新・起動時の自動更新・更新できない原因

Homeでのサブスクリプションの手動更新方法と、起動時の自動更新設定を解説。リンク切れやネットワーク制限など、更新できない主な原因も紹介します。

この記事の概要

この記事は、ご自身で契約しているサービスのサブスクリプションをShadowrocketで利用している方向けです。まずHomeで対象のサブスクリプションを手動更新し、リンクから有効な設定を取得できることを確認してから、起動時の自動更新を設定します。更新に失敗した場合は、ネットワークへの接続、リンクの権限、取得した内容を順に確認してください。サーバーリストの更新はConfigの更新やサービスの有効期限延長とは異なります。

1. サブスクリプションの更新と接続テストの違い

サブスクリプションリンクは、サーバー設定を取得するための接続先です。更新するとShadowrocketがリンク先にリクエストを送り、設定を読み取ってHomeの該当グループに反映します。リクエストが完了するかどうかは、リンク、現在のネットワーク、サービス提供元から返される内容によって異なります。リスト内のサーバーに接続できるかどうかは、別途確認が必要です。

リンクを読み込む 内容を取得する 設定を解析する リストを更新する 接続を確認する

レイテンシテストをサブスクリプション更新の代わりにしないでください。レイテンシテストで確認するのは既存のサーバー情報であり、サービス提供元が追加・変更したサーバーは取得されません。反対に、更新に成功しても、特定のサーバーが利用できない、アカウントのデータ容量を使い切っている、サービスの有効期限が切れているといった場合があります。

Home
サブスクリプショングループとサーバーリストを確認する
Settings
サブスクリプションの更新動作を設定する
Config
サブスクリプションリストとは別にルール設定を管理する

まず、更新する対象を確認します。サービス提供元のサーバーリストを更新する場合はHomeのサブスクリプションを操作します。ルールファイルを更新する場合は、Configで該当設定の取得元を確認してください。それぞれ別々に管理されていることがあり、一方を更新しても、もう一方が更新されたことにはなりません。

2. Homeでサブスクリプションを手動更新する

まずは現在のリストを残し、サブスクリプションを削除しないでください。削除して再度追加すると、サーバーの選び直しやグループの確認、設定の復元が必要になり、問題の切り分けに使う以前の情報も失われることがあります。初回はサブスクリプションを1つだけ更新すると、どのリンクから取得した結果か確認しやすくなります。

  1. サブスクリプションを見つける

    Homeを開き、ご自身のサブスクリプショングループを探します。グループ名と登録済みサーバーを確認し、個別に追加したサーバーをサブスクリプションと取り違えないようにしてください。

  2. 操作メニューを表示する

    Homeでサブスクリプショングループのタイトルから操作メニューを表示し、Updateを選びます。まずグループタイトルを長押ししてください。画面によっては左スワイプで操作ボタンが表示されます。その場合はサブスクリプショングループの行を左にスワイプして更新操作を選び、個別サーバーの行でDeleteを実行しないようにしてください。

  3. 完了まで待つ

    アプリを前面に表示したまま、リクエストが終わるまで待ちます。更新を連続して実行しないでください。エラーが表示された場合は、メッセージ全文と発生時刻を記録してから次の項目を確認します。

  4. リストを確認する

    グループが残っているか、項目を展開できるか、サービス提供元が変更を告知したサーバーが追加されているかを確認します。内容が変わっていない場合は、まず提供元から実際に新しい内容が配信されているか確認してください。

  5. 接続を再テストする

    選択中のサーバーが引き続き有効か確認し、接続して同じテストページにアクセスします。「更新に成功したか」と「サーバーが利用できるか」は分けて記録し、混同しないようにしてください。

3. 起動時の自動更新を有効にする

自動更新を設定する前に、まず手動更新を1回行います。先にサブスクリプションリンクが有効か確認しておけば、アプリを開くたびに同じエラーが繰り返されるのを防げます。起動時の自動更新はサブスクリプションの管理機能であり、接続のオン・オフやルールモードではありません。

  1. 設定を開く

    Settings → Subscribeを開き、Update On Openを探します。実際の設定項目はインストール中のバージョンに表示される内容を確認してください。このスイッチの代わりにConfigでルールを変更しないでください。

  2. オプションを有効にする

    Update On Openを有効にします。更新間隔などの条件も表示される場合は、その説明も確認してください。実際にリクエストが行われるかどうかは、これらの条件を踏まえて判断します。

  3. 戻って確認する

    ネットワークに接続できる状態でアプリを開き直し、Homeで更新結果を確認します。特定のサブスクリプションをすぐ確認したい場合は、Updateを手動で実行できます。自動更新のタイミングを待つ必要はありません。

Update On Openは、一定間隔で実行されるバックグラウンドタスクではありません。アプリを離れる、画面をロックする、システムのVPN表示を確認するといった操作だけでは、サブスクリプションがバックグラウンドで更新され続けているとは限りません。バックグラウンドからアプリに戻った場合も、その操作だけでリクエストが完了したと判断しないでください。

  • Update On Open:アプリを開いたときのサブスクリプション更新動作を制御します。ネットワークや関連する更新条件の影響を受けます。
  • Settings → On Demand:オンデマンド接続に関する設定です。サブスクリプション内のサーバーリストを置き換える機能ではありません。
  • Global Routing:Proxy、Direct、Config、Sceneなどを選択し、通信の処理方法を制御します。サブスクリプションの更新頻度を設定する項目ではありません。

4. エラーメッセージからリンクとネットワークの問題を切り分ける

更新に失敗したら、まずエラーメッセージを保存し、どの段階で失敗したかを確認します。以下はリクエストエラーやHTTPステータスの例です。実際の表示は、システムの言語、ネットワーク環境、サービス提供元の応答によって異なる場合があります。エラーを消すために、同じリンクを何度も削除して再追加しないでください。

エラー:The request timed out.

原因と対処:許容時間内にリクエストが完了しませんでした。ネットワークの切断、接続先に到達できない、または接続先の応答が遅い可能性があります。まず通常のWebページを開けるか確認し、別の信頼できるネットワークから同じサブスクリプションを再試行して、結果を比べてください。

エラー:Could not connect to the server.

原因と対処:接続先サーバーへの接続に失敗しました。接続先のサービス、ネットワーク制限、通信経路などが関係している可能性があります。サブスクリプションのドメインが完全に入力されているか確認し、リンクの接続先が現在利用できるか、ご自身のサービス提供元に問い合わせてください。

エラー:HTTP 401 Unauthorized

原因と対処:接続先が現在の認証情報を拒否しました。ご自身のサービス提供元のアカウントでサブスクリプションの利用権限と現在のリンクを確認し、リンクがリセットされていないか問い合わせてください。tokenを推測したり、独自に組み立てたりしないでください。

エラー:HTTP 403 Forbidden

原因と対処:サーバーはリクエストを受信しましたが、アクセスを拒否しました。権限、アクセス元、セキュリティポリシーなどが関係している可能性があります。発生時刻と使用したネットワークを記録し、制限条件をサービス提供元に確認してください。403だけでは、契約期間が終了したとは判断できません。

リンクがリセットされると、以前のリンクが使えなくなることがあります。ご自身のサービス提供元のアカウントから現在のサブスクリプションURLをコピーし、対象のサブスクリプションのURLを置き換えてから手動更新してください。コピー時に先頭・末尾の空白や改行がないか、クエリパラメータがすべて含まれているか確認してください。ドメインだけを残さないようにしてください。

5. リクエスト成功後にリストがおかしい場合の確認手順

ネットワークリクエストが成功しても、有効なサブスクリプションが返されたとは限りません。接続先がログインページや認証ページ、アカウント状態の案内を返す場合があります。HTTPステータスが200でも、本文がHTMLで、Shadowrocketが解析できるサーバー設定ではないことがあります。この場合、サーバーを切り替えても通常は解析の問題を解決できません。

確認できる現象 まず確認すること 次の対応
更新が終了したが、項目に変化がない 接続先の内容が実際に変更されたか サービス提供元の告知に記載された項目を照合します。件数の変化だけで結果を判断しないでください。
解析エラー、または利用可能な項目がないと表示される 正しいサブスクリプションURLか、Webページが返されていないか ご自身のアカウントからShadowrocket用のサブスクリプションURLをコピーし直してください。
リストは正常だが接続できない 選択中のサーバー、サービスの有効期限、アカウントのデータ容量 接続の問題とサブスクリプションの取得を分けて考え、対象サーバーの状態をサービス提供元に確認してください。
あるネットワークでは失敗し、別のネットワークでは成功する ネットワーク認証、ドメイン名の名前解決、アクセス制限 同じサブスクリプションと同じ設定のままネットワークごとの差を比較し、一度に複数の条件を変更しないでください。

プロトコル名だけでは更新の成功は保証されません。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardはそれぞれ異なる接続設定を示します。サブスクリプションのリクエストは設定を取得するもので、誤ったポート、パスワード、UUID、TLSパラメータを自動修正するものではありません。サービス提供元の設定内容に問題がある場合は、まず情報の取得元を確認してください。

  • 公衆Wi-Fiを利用する場合は、ネットワークへのログインや利用確認を済ませてからサブスクリプションを更新してください。
  • DNSの問題が疑われる場合は、まずサブスクリプションのドメイン名を名前解決できるか確認してください。ドメイン名を直接IPアドレスに置き換えないでください。HTTPS証明書やサーバー側のルーティングが元のドメイン名に依存している場合があります。
  • 証明書の検証エラーが発生した場合は、デバイスの日付と時刻、ネットワーク環境を確認してください。証明書検証を無効にすることは、通常の解決策として行わないでください。
  • リンクが無効になった場合、DOMAIN-SUFFIXを追加したりFINALを変更したりしても解決しません。ルールで接続先の権限を復元することはできません。

6. 更新後に記録しておくこと

問題の切り分けでは、一度に変更する条件を1つにします。まず同じリンクを異なるネットワークで試し、次にリンクの権限を確認し、最後に取得した内容を調べます。サブスクリプションの変更、DNSの調整、Global Routingの切り替え、古い設定の削除を同時に行うと、復旧してもどの操作が有効だったのか分かりにくくなります。

  1. 対象の記録:サブスクリプショングループ名を記録し、token全体は残さないでください。サーバーのパスワードを障害内容として送らないでください。
  2. 環境の記録:Wi-Fiかモバイル通信か、通常のWebページにアクセスできるかを記録してください。
  3. 結果の記録:更新エラー、リストの変化、接続エラーを区別し、エラーメッセージ全文と発生時刻を記録してください。
  4. 変更内容の記録:変更した設定を1つだけ記録します。改善しない場合は元の値に戻してから、次の項目を試してください。

ShadowrocketはAppleプラットフォーム向けのクローズドソースの有料アプリです。主にiPhoneとiPadで利用でき、入手先はApp Storeのみです。開発者がShadow Launch Technology Limitedであることと、アプリIDが932747118であることを確認してください。システム要件はApp Storeの掲載内容を確認してください。アプリの買い切り購入は通信サービスの利用プランとは別で、サービス提供元のサブスクリプション利用権に代わるものではありません。

接続の問題を調べる場合は、サイト内のトラブル診断をご覧ください。Subscribe、Config、Global Routingの違いは用語解説で確認できます。まず手動更新が完了することを確認してから起動時の自動更新を有効にすると、今後問題が起きたときに原因を特定しやすくなります。

App Storeで正規アプリを確認