この記事は、自分で用意した接続情報やサブスクリプションURLをShadowrocketに追加する方向けです。サーバーのサブスクリプションとConfigファイルの違いを確認し、情報の形式に応じてSubscribe、Add Server、QRコード、クリップボードから追加します。最後に、リストや更新結果、接続状態を確認しましょう。当サイトではサーバーやサブスクリプションを提供・販売・推奨していません。
1. SubscribeとConfigファイルの違い
4つの方法は、4種類のプロトコルを意味するものではありません。Subscribeはサブスクリプションの取得元を登録して、サーバー一覧を取得する機能です。Add Serverではサーバーを手動で登録できるほか、TypeをSubscribeに設定してサブスクリプションを追加することもできます。QRコードとクリップボードは情報を読み込む方法で、読み込み後に単一のサーバーとサブスクリプションのどちらが登録されるかは、元のデータによって異なります。
Homeではサーバーの選択や接続の操作、Configでは設定ファイルの管理、Settingsではアプリの動作設定を行います。Config内のSubscribe関連情報を確認する際は、「リモートConfigファイルのURL」と「サーバーのサブスクリプションURL」を混同しないでください。前者にはルール、DNS、ポリシー参照が含まれる場合があり、後者は通常サーバー一覧の更新に使われます。どちらもHTTPSのURLでも、見た目だけで置き換えることはできません。
情報の種類に応じた追加方法
サーバー・サブスクリプション
- サブスクリプションURL全体がある場合:Home → + → Type → Subscribe
- アドレス、ポート、パスワードなど個別の項目がある場合:Home → + から該当するTypeを選択
- 単一の共有リンクまたはQRコードの場合:読み込み後、プロトコルとサーバー情報を確認
Configファイル
- 情報の説明を確認し、サーバー一覧ではなくConfigファイルであることを確かめます。
- Configで設定ファイルを管理・確認し、使用するものを選択します。
- ルールが参照するポリシーが、既存のサーバーまたはポリシーグループに対応しているか確認します。
追加前に情報の用途を確認してください。Configの読み込み成功は、サーバーサブスクリプションの更新成功を意味しません。
2. Subscribe:取得元を保存してサーバー一覧を更新
サブスクリプションURL全体がある場合は、更新後のサーバーを1台だけコピーするのではなく、Subscribeとして登録しておきましょう。サブスクリプションには取得元のURLが保存されるため、後から一覧を再取得できます。手動登録したサーバーは、元のサブスクリプションが変更されても自動で同期されません。サブスクリプションの内容や利用期限は、利用者が契約しているサービスによって決まります。クライアントを購入しても、これらの情報は付属しません。
-
取得元を確認する
自分が利用するサービスの管理ページから、サブスクリプションURL全体をコピーします。ログインページのURLや、個別サーバーの共有リンクではなく、サブスクリプションURLであることを確認してください。
-
Typeを選ぶ
Home → 右上の + を開き、Add Serverに進んでTypeをSubscribeに設定します。サブスクリプションURLをTrojanやShadowsocksのサーバーアドレス欄に入力しないでください。
-
URLを入力する
URL欄にアドレスを貼り付け、見分けやすい名前を入力します。先頭のプロトコル、末尾のパラメーター、途中の文字列が欠けていないか確認してから保存します。
-
更新して確認する
Homeに戻り、下に引っ張ってサブスクリプションを更新し、サーバーが追加されたか確認します。該当するグループを開き、名前、プロトコル、件数が提供元の説明と一致するか確認してください。エラーが表示された場合は、まず元のメッセージを記録します。
以下はURL形式の例であり、利用可能なサブスクリプションではありません。実際のURLに含まれるtokenはアカウントの権限を識別するために使われることがあり、機密情報として扱ってください。URL全体を公開コメントやスクリーンショット、問い合わせに載せないでください。調査時にパラメーターの値を隠すことはできますが、使用中の元のURLを直接変更しないでください。
https://example.com/sub?token=xxxx
3. Add Server:プロトコルごとに項目を入力
サーバーアドレス、ポート、認証情報だけがある場合は、Add Serverで手動入力します。まずTypeを選び、提供元の情報に沿って各項目を入力してください。プロトコルによって必要な項目は異なるため、パスワード、UUID、暗号化方式、転送パラメーターを混同しないでください。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuardは、それぞれの情報に照らして確認し、不明な項目をデフォルト値で補わないようにします。
Shadowsocksの入力項目を確認
- Type
- Shadowsocks
- Address
- 手元の情報に記載されたサーバーのドメイン名またはIPアドレスを入力します。
- Port
- サーバー側で指定された待ち受けポートを入力します。
- Method
- サーバー側と同じ暗号化方式を選びます。
- Password
- 大文字・小文字や特殊文字を含め、値をそのまま入力します。
アドレス欄にサブスクリプションURLを入力しないでください。MethodとPasswordには、それぞれ対応する値を入力します。
Trojanの入力項目を確認
- Type
- Trojan
- Address / Port
- 手元の情報で指定された接続先アドレスとポートを入力します。
- Password
- 認証用パスワードを入力します。サブスクリプションURL内のtokenではありません。
- SNI
- サーバー側の指定に従ってTLSサーバー名を入力します。
- Allow Insecure
- 証明書の検証は有効のままにし、証明書エラーを隠すために検証をスキップしないでください。
接続先アドレスとSNIの役割は異なります。証明書名は実際のTLS設定に合わせてください。
たとえば、提供元の情報にPortが443と明記されている場合に限り、443を入力します。TLSを使うサービスがすべて同じポートを使用するとは限りません。保存後に項目を開き直し、入力値が別の欄に入っていないか確認します。後から提供元がパスワードやポートを変更した場合は、手動登録した項目を自分で編集してください。別のSubscribe項目を更新しても、手動登録した項目は更新されません。
4. QRコード・クリップボード:読み込み後に内容を確認
QRコードは別の画面に表示された情報の読み込みに、クリップボードは同じデバイスでコピーしたリンクの読み込みに便利です。どちらも情報を渡すための方法であり、サーバー、サブスクリプション、有効なConfigが読み込まれるとは限りません。QRコードにはWebページのURLが含まれることがあり、クリップボードには説明文が一緒に含まれる場合もあります。元の情報の用途を確認してから保存してください。
- QRコード:Homeのスキャン機能を開き、初回はカメラへのアクセスを許可して、QRコード全体を読み取り範囲に収めます。読み込み後に登録対象を確認してください。Webページが開くだけの場合、そのURLをサーバー情報として扱わないでください。
- クリップボード:共有リンクを1件、全体をコピーしてからShadowrocketに戻り、表示される案内に従って追加します。貼り付けの許可を求められた場合は、この操作に必要な範囲で許可してください。案内が表示されない場合は、該当する追加画面に手動で貼り付けます。説明文全体を何度もコピーしないでください。
- 単一サーバーの認識:
ss://、vmess://、vless://、trojan://などのプレフィックスは共有リンクの形式を見分ける目印です。プレフィックスを書き換えたり、HTTPSのサブスクリプションURLとして扱ったりしないでください。 - サブスクリプションURLの認識:HTTPSのURLは、まず取得元と用途を確認します。QRコードやクリップボードから取得した場合も、Subscribeとして保存し、一覧を正常に取得できたことを確認してください。
QRコードがデバイス内の写真に表示されている場合は、スキャン画面に写真から読み取る機能があれば利用できます。その機能がない場合は、提供元のテキストリンクを使ってください。パスワードを含むQRコードを読み取るために、作り直したり公開したりしないでください。同じ情報を異なる方法で重複して追加すると、似た項目が複数作成されることがあります。テスト前に名前と取得元を確認してください。
5. 追加後は接続スイッチだけでなく、3段階で確認
「保存済み」「サブスクリプション更新済み」「VPN接続済み」はそれぞれ異なる状態です。保存は入力内容がアプリに受け付けられたことを示します。サブスクリプションの更新成功は、取得元の内容を取得して解析できたことを示します。接続を有効にしても、実際の通信はサーバーの状態、Global Routing、現在のConfigの影響を受けます。以下の順に確認し、すべての問題を追加方法のせいにしないようにしましょう。
- Homeで、古い項目ではなく追加したサーバーが選択されていることを確認し、Connectivity Testを実行して結果を記録します。テストに成功しても、すべてのWebサイトやサービスが正常に動作するとは限りません。
- 初めて接続を有効にする際は、システムのVPN構成を許可します。許可しなかった場合は、サーバーの状態を判断する前に、まず許可の問題を解決してください。
- Global Routingを確認します。Proxy、Direct、Config、Sceneにはそれぞれ異なる用途があります。Directを選ぶと、サーバーを選択していても自動的にそのサーバー経由になるわけではありません。Configでは現在の設定に従って通信が処理されます。Sceneでは選択中のシーンも確認してください。
- Configを使用する場合は、Config画面で現在有効なファイルを確認し、ルールとポリシーの参照先をチェックします。
DOMAIN-SUFFIXはドメインの末尾で、IP-CIDRはIPの範囲で、GEOIPはIPの地理情報データベースで照合します。FINALは、それ以前のルールに一致しなかった場合の最終処理に使います。
6. サブスクリプションの更新とよくある追加時の問題
サブスクリプションの更新は取得元の内容を再取得する操作であり、クライアントを再購入することでも、Config内のすべてのルールを更新することでもありません。更新前に既存の項目を残し、エラーメッセージを記録してください。一度に変更する条件は1つにし、まずURL、次に通信経路、最後にサービスの利用権限を確認します。Configの削除、DNSの変更、サーバーの再登録を同時に行わないでください。
URLを貼り付けたのに、リストが空のままなのはなぜですか?
Homeで該当するSubscribe項目の編集画面を開き、TypeとURLを確認してから、Homeに戻って下に引っ張り更新します。URLの応答がログインページ、空の内容、または非対応形式の場合、保存しただけではサーバーは追加されません。そのURLがShadowrocketのサブスクリプション追加に使えるものか、利用しているサービスの提供元に確認してください。
サブスクリプションの更新がタイムアウトした場合、まず何を確認しますか?
まず、現在のネットワークからサブスクリプションの取得元にアクセスできるか確認します。利用可能なサーバーがある場合は、先に接続してから再試行できます。プロキシ経由で取得する必要がある場合は、Settings → Subscribe → Update via Proxyを確認してください。接続手段がない状態でこの設定だけを有効にしても、取得元にアクセスできるようにはなりません。
401または403と表示されます。追加方法が間違っていますか?
この種のHTTP応答は、多くの場合、認証またはアクセス制限に関係します。自分の管理ページからURL全体をコピーし直し、tokenが途中で切れていないこと、リンクが無効になっていないこと、サービスが正常であることを確認してください。QRコードとクリップボードを何度も切り替える必要はありません。同じURLを読み込む限り、サーバー側の認証結果は変わりません。
更新後、以前のサーバー名が見つからなくなった場合はどうすればよいですか?
サブスクリプションの取得元で一覧や名前が変更された可能性があります。まず該当するサブスクリプショングループを開いて新しい内容を確認し、現在有効な項目を選び直してから、Configで以前の名前を参照するポリシーが残っていないか確認してください。手動登録した項目とサブスクリプションの項目を分けて確認し、必要な情報を誤って削除しないようにしましょう。
問い合わせ時は、使用した追加方法、Type、エラーが発生した手順、機密情報を伏せたエラーメッセージをお知らせください。サブスクリプションURL全体、パスワード、UUID、WireGuardの秘密鍵、これらの情報を含むQRコードは送信しないでください。機密情報を公開してしまった場合は、端末から項目を削除するだけでなく、自分が利用するサービスの管理画面から認証情報を変更してください。