まず、手元の情報がサブスクリプションURLか、単体の共有リンクかを確認し、適切な方法で登録します。初めての設定、PCからAndroidへの移行、更新後に一覧が空になった場合に役立つ内容です。グループ設定、URLの保存、更新、接続確認の順に進めることで、取得失敗・形式の非対応・接続失敗を切り分けられます。
サブスクリプションURL・Base64・共有リンクの違い
サブスクリプションURLは通常、https://で始まるURLです。クライアントがURLにアクセスして複数の設定を取得し、対応する項目を一覧に追加します。URL自体はノードの接続情報ではなく、ブラウザーで通常のWebページとして表示できるとも限りません。同じドメインでも、アカウントのログインページ、プラン案内ページ、サブスクリプション取得用のAPIはそれぞれ別物です。
単体の共有リンクは、vmess://やvless://で始まることが多く、1つの設定を表します。サブスクリプションURL欄ではなく、クリップボードからインポートしてください。複数行の共有リンクはまとめてコピーしてインポートできますが、これは静的なインポートです。サーバー側でアドレスやポートが変更されても、このテキストから新しい設定が自動取得されるわけではありません。
クライアント対応のサブスクリプション
おすすめサービス提供元で、v2rayNまたはv2rayNG向けと明記されたサブスクリプションを選びます。保存するのは設定を取得するためのURLです。以降はサブスクリプションを更新して一覧を最新の状態にします。
用途:継続利用、配信元の設定変更を反映したい場合
単体または複数行の共有リンク
VMessやVLESSなどの共有テキストをすべてコピーし、クリップボードからインポートします。通常、サブスクリプショングループのような自動更新機能はありません。
用途:一時的なテスト、特定の設定だけをインポートする場合
Base64はエンコード方式であり、プロキシプロトコルでも暗号化でもありません。サブスクリプションの応答では、複数行の共有リンク全体をエンコードする形式がよく使われます。また、VMessの共有リンク内のパラメーターにもBase64が使われることがあります。見た目は似ていても、前者は設定一覧を包む形式、後者は個々の設定を表す形式で、階層が異なります。長い文字列だからといって、そのままサブスクリプションURLと判断しないでください。
- サブスクリプションURL:グループのURL欄またはサブスクリプションURL欄に入力し、保存後に更新します。
- 共有リンク:プロトコルのプレフィックスとパラメーターをすべて残し、「クリップボードからインポート」などのメニューを使います。
- その他の設定テキスト:JSONやYAMLファイルは汎用サブスクリプションではありません。配信元が現在のクライアントに対応する形式を提供している必要があります。
v2rayN:サブスクリプショングループの設定と更新
デスクトップ版では、先にサブスクリプショングループを作成し、そのグループから設定を取得します。以下では一般的な中国語UIを例に説明します。バージョンによってボタンの位置や表記が異なる場合がありますが、「サブスクリプショングループ設定」と更新コマンドを探してください。「パラメーター設定」にサブスクリプションURL欄はありません。
-
サブスクリプションURLをコピーする
サービス提供元のサブスクリプションページで、v2rayN向けの項目を選び、URL全体をコピーします。ブラウザーのアドレスバーに表示されたアカウントページをコピーしたり、説明文を含むテキスト全体を貼り付けたりしないでください。
-
サブスクリプショングループを追加する
メイン画面で「サブスクリプショングループ」→「サブスクリプショングループ設定」を開き、設定画面で「追加」を選びます。メモに配信元の名前を入力し、URLをサブスクリプションURL欄に貼り付けます。先頭や末尾に余分な空白や改行がないか確認してください。
-
保存して更新する
保存を確認してメイン画面に戻り、「サブスクリプショングループ」メニューから更新します。使える接続がまだない場合は、まず「すべてのサブスクリプションを更新(プロキシを使用しない)」を選びます。使用可能なプロキシがあり、直接接続で失敗する場合は、「すべてのサブスクリプションを更新(プロキシを使用)」を試してください。
-
インポート結果を確認する
該当するグループを選び、サーバー一覧と画面下部のログを確認します。目的の設定が表示されたら、1つ選んでアクティブサーバーに設定し、用途に応じてシステムプロキシなどの通信経路を有効にします。
単体の共有リンクだけがある場合は、メイン画面の「サーバー」→「クリップボードから一括URLインポート」を使います。インポート後は、メモが表示されたかだけでなく、サーバーアドレス、ポート、通信パラメーターも確認してください。サブスクリプションを更新すると配信元の設定が再生成される場合があります。今後も使う手動設定は、次回の更新で上書きされないよう、独立した設定として保存するのがおすすめです。
v2rayNG:サブスクリプション設定とグループの更新
Android版v2rayNGはXrayコアを使用しますが、サブスクリプションの解析はクライアント側で行います。特定のサブスクリプション形式を認識できるかどうかと、基盤の接続プロトコルに対応しているかどうかは別の問題です。まずインポートできるかを確認し、その後で個々のノードに接続できるかを調べてください。両方を混同しないようにしましょう。
-
サブスクリプション設定を開く
メイン画面左上のサイドメニューを開き、「サブスクリプション設定」を選びます。ここでサブスクリプションの配信元を管理します。メイン画面右上の「+」は主に設定のインポートや追加に使うもので、別のメニューです。
-
名前とURLを入力する
「サブスクリプション設定」で「+」をタップし、メモとサブスクリプションURLを入力します。サブスクリプションが有効になっていることを確認して、保存ボタンをタップしてください。初回のインポートでは、サーバー名によるキーワードフィルターは設定しないでください。
-
サブスクリプションを更新する
メイン画面に戻り、右上のその他メニューから「サブスクリプションを更新」を選びます。画面によっては「現在のグループのサブスクリプションを更新」と表示されます。別の配信元を更新して操作が反映されていないと思い込まないよう、実行前に対象グループを選んでください。
-
接続を開始して権限を許可する
一覧から設定を選び、接続ボタンをタップします。初回の起動時にはAndroidのVPN接続リクエストが表示されるので、許可してから接続状態とログを確認してください。サブスクリプションの更新にVPN権限は必要ありません。
単体の共有リンクを受け取った場合は、テキスト全体をコピーしてから、メイン画面の「+」→「クリップボードからインポート」を選びます。インポートと接続は別の操作です。一覧に項目が表示されればクライアントによる解析は完了していますが、サーバーが稼働中であることや、アカウント・証明書・通信パラメーターが正しいことまでは保証されません。
- 更新後に項目が見つからない場合は、該当するサブスクリプショングループに切り替え、メイン画面の検索条件をクリアしてください。
- 1つの設定だけを試す場合、共有リンクのためにサブスクリプションを新しく作る必要はありません。
- Android版v2flyNGはv2flyコアを使用します。画面が似ているからといって、v2rayNGと同じプロトコルにすべて対応しているとは限りません。
デスクトップとAndroidで同じサブスクリプションを使う
同じサブスクリプションURLを共用できるかどうかは、配信元の応答形式、アカウントの利用条件、両方のクライアントの解析対応状況によって異なります。リクエストパラメーターやクライアント識別情報に応じて、異なる内容を返すAPIもあります。両方で更新に成功しても、それぞれが認識可能な設定を取得できたことを示すだけです。表示順、メモ、対応プロトコルが完全に一致するとは限りません。
両方にインポートする場合:個別に保存して個別に確認
デスクトップ版 v2rayN
- 「サブスクリプショングループ設定」で配信元を保存する。
- 更新後、現在のグループとログを確認する。
- 接続後、システムプロキシの状態を確認する。
Android版 v2rayNG
- 「サブスクリプション設定」で対応するURLを保存する。
- 更新後、検索やフィルターの影響を取り除く。
- 接続を開始し、VPN権限を確認する。
配信元で共用が認められていれば同じURLを使えますが、サブスクリプションの更新、ルーティング、接続状態はそれぞれ個別に確認してください。
サブスクリプションで更新されるのは主に設定一覧です。通常、デスクトップ版のシステムプロキシモードやルーティングルール、Androidのアプリ別プロキシ設定までは移行されません。両方の環境を「同じ見た目」にするために、設定ファイル全体をむやみにコピーしないでください。まず配信元から取得した設定が使えることを確かめ、その後、各端末で通信の経路を設定します。
更新後にノードが表示されない場合:ログを見て原因を切り分ける
まず現在使える設定とエラーログを保存してから、項目を1つずつ変更してください。原因を特定しやすくするため、一度に変更する条件は1つにします。ログにHTTPステータスコードがあれば、応答が成功したかどうかの判断材料になります。以下の数値はプロトコルのステータスコードで、クライアントのバージョンや速度測定の結果ではありません。
- グループと表示条件を確認します。対象のサブスクリプションに切り替え、検索欄を空にし、サーバー名のキーワードフィルターを一時的に解除してください。ログにインポート成功と表示されているのに一覧が空の場合は、まずここを確認します。
- 配信元が設定を返しているか確認します。HTTP 200でも、ログインページ、期限切れの案内、エラー説明が返されることがあります。ブラウザーでページを開けても、クライアントがサブスクリプションを取得できたとは限りません。
- URLが有効か確認します。サブスクリプションがリセットされていないか、アカウントに制限がないか、コピー時にクエリパラメーターが欠けていないか確認してください。疑問符以降のトークンを勝手に削除しないでください。
- ネットワークエラーを切り分けます。タイムアウト、ドメイン名の名前解決失敗、証明書エラーはそれぞれ別の問題です。まず端末の時刻と現在のネットワークを確認し、その後、既存のプロキシ経由で更新する必要があるか判断してください。
- 内容の形式を確認します。URLにアクセスできても解析に失敗する場合は、配信元でv2rayNまたはv2rayNG向けの形式を選び直してください。ファイルの拡張子を変更して、別形式の設定に見せかけることはできません。
インポート後の接続確認とよくある質問
インポート後は、設定を選択、接続を開始、ログを確認、実際のアクセスをテスト、の順に確認します。遅延テストの結果は、そのテスト方法で測定した結果にすぎず、接続全体の確認にはなりません。TLSハンドシェイクや認証のエラーが発生した場合は、証明書の検証を無効にする前に、端末の時刻、サーバーアドレス、ポート、配信元のパラメーターを確認してください。
URLをブラウザーで開けるのに、インポートに失敗するのはなぜ?
開いたページが設定テキストなのか、ログインページなのか確認してください。ブラウザーにはログイン状態が保持されていても、クライアントにはその情報がないことがあります。配信元のサブスクリプションページに戻って専用URLをコピーし、現在のクライアントに対応する形式を選んでいることを確認してください。
更新に成功したのに、設定一覧が変わらないのはなぜ?
更新したグループを選び、検索条件をクリアしてから、更新時刻付近のログを確認してください。配信元の内容に変更がなければ、一覧が変わらないのは正常です。別のグループを更新していた場合は、対象のグループを選び直して再度更新します。
同じサブスクリプションなのに、両方の端末で結果が異なるのはなぜ?
まず、両方で使っているURL全体が一致していることを確認し、次にフィルター条件を確認してください。それでも違いがある場合は、配信元がクライアントごとに異なる形式を返していないか、両方のクライアントが同じプロトコルと通信パラメーターに対応しているかを調べます。メモだけを見比べても判断できません。
ノードは表示されるのにWebページを開けない場合、再インポートが必要?
まず接続ログを確認してください。v2rayNではアクティブサーバーとシステムプロキシを、v2rayNGではVPNが起動しているか、対象アプリがアプリ別ルールで除外されていないかを確認します。設定が見つからない場合やパラメーターに誤りがある場合に限り、設定を再取得することで改善が見込めます。
サブスクリプションURLにはアカウントのトークンが含まれていることが多いため、ログイン情報と同様に厳重に管理してください。ログやスクリーンショットを共有する前に、URL全体、トークン、ユーザー識別情報、サーバーの機密パラメーターを隠します。サブスクリプション全体を見知らぬオンラインデコード・変換サイトに送信しないでください。URLが漏えいした場合は、配信元でリセットしたうえで、両方のクライアントの設定に新しいURLを登録し、再度更新してください。