基礎知識
クライアント、コア、通信の取り込み方法を切り分け、誤った段階で調整を繰り返さないようにしましょう。
V2Ray、v2rayN、Xrayの違いは?
V2RayはProject Vのプロキシエコシステムに属し、V2Flyは関連するコアの保守を引き継いでいます。Xrayは別系統のコア実装です。v2rayNはデスクトップ向けのGUIクライアントで、サブスクリプション管理やルーティング設定、コアの起動を担います。クライアントの画面と、実際に接続を処理するコアは別の層です。問題を調べる際は、クライアント名、選択中のコア、エラーメッセージをそれぞれ記録してください。画面側のプログラムを更新しても、コアが特定のプロトコルパラメーターに対応していない問題は解決しない場合があります。
デスクトップとAndroidでは、どのクライアントを選べばよいですか?
Windows、macOS、Linuxではv2rayN、AndroidではXrayコアを採用したv2rayNGが第一候補です。V2Flyコアが必要な場合はv2flyNGを選べます。まずOSに合わせてクライアントを選び、次にプロセッサーのアーキテクチャに合ったインストーラーを選んでください。コアの名称とインストーラーの対応プラットフォームは別のものです。既存の設定を使う場合は、プロトコルやトランスポートのパラメーターをクライアントが認識できるかも確認しましょう。当サイトはダウンロードと設定方法を案内するサイトであり、各クライアントの公式開発元ではありません。
クライアントをインストールしたら、サブスクリプションも必要ですか?
クライアントは設定を読み込んで接続を確立するもので、利用可能なリモートサービスを自動で用意するものではありません。利用前に、使用権限のあるサブスクリプションURL、共有リンク、またはサーバー情報を用意し、サービスが有効であることを確認してください。サブスクリプションURLは通常、複数の設定をまとめて取得するために使います。一方、共有リンクは個別の設定を示すもので、読み込み場所が異なる場合があります。サービスの案内ページやアカウントのログインページをサブスクリプションURLとして使わないでください。また、公開するスクリーンショットやログ、質問文にはサブスクリプション情報を含めないようにしましょう。
システムプロキシ、ルーティングモード、TUNの違いは何ですか?
システムプロキシは、システム設定に従うアプリにローカルのプロキシ接続先を知らせます。ルーティングモードは、コアが受け取ったリクエストを直接接続、プロキシ、その他のアウトバウンドのどれに送るかを決めます。TUNは仮想ネットワークインターフェースを使い、対象となる通信を取り込みます。それぞれ動作する段階が異なるため、グローバルルーティングに切り替えても、すべてのアプリが自動的にシステムプロキシに従うわけではありません。まずシステムプロキシでブラウザーの接続を確認し、サブスクリプションとコアが正常に動作することを確かめてから、必要に応じてTUNを有効にしましょう。複数の設定を同時に変更しないことも大切です。
インストールと設定
アーキテクチャに合ったインストーラーを選び、サブスクリプションを更新してから、システムへの通信取り込みと権限を設定します。
Androidではarm64とuniversalのどちらを選べばよいですか?
2015年以降の一般的なスマートフォンでは、まずarm64を検討できます。ただし、最終的には端末が対応するアプリのアーキテクチャに合わせてください。プロセッサーが64ビット対応でも、OSで64ビットアプリを実行できるとは限りません。端末の仕様やシステム情報でアーキテクチャを確認できます。判断できない場合は、複数のアーキテクチャに対応するuniversalを選びましょう。通常はインストーラーのサイズが大きくなります。インストール時に非対応と表示されたら、Androidのシステム要件とアーキテクチャを確認してください。署名の競合が表示された場合は、アーキテクチャを何度も変えるのではなく、既存アプリとの入手元の違いを確認しましょう。
v2rayNのDesktop版とWPF版、どちらからインストールすればよいですか?
Windowsのダウンロードページには、Desktop版とWPF版の2つの選択肢があります。Desktop版は新世代のクロスプラットフォームUIを採用し、WPF版は従来のWindowsデスクトップUIを維持しています。メニュー構成や設定の保存場所が異なる場合があるため、チュートリアルの画面と違うだけで機能がないと判断しないでください。初めてインストールする場合はDesktop版から試し、従来の操作手順が必要ならWPF版を検討しましょう。切り替える前に設定をエクスポートし、起動中の旧バージョンを終了してから別の版を起動してください。2つのインスタンスがローカルの待ち受けポートを同時に使用するのを防げます。
サブスクリプションURLをコピーした後、どこから読み込めばよいですか?
v2rayNで「サブスクリプショングループ」のグループ設定を開き、新しいグループを作成して、メモとサブスクリプションURLを入力します。保存後、そのグループのサブスクリプションを更新してください。説明用のURLは https://example.com/sub?token=xxxx です。実際に使う際は、有効な自分のURLに置き換えてください。Androidクライアントでは、サブスクリプション設定にURLを追加し、メイン画面に戻って更新します。メニューの位置はバージョンによって異なります。貼り付けたURLの前後の空白や改行、パラメーターの不足を確認しましょう。グループを保存しただけでは、サーバー設定は取得されません。
TUNを有効にすると権限不足と表示されます。どうすればよいですか?
まずTUNを無効にし、通常のプロキシ接続が使えることを確認してから、権限を設定します。Windowsではクライアントの案内に従って管理者権限を付与するか、必要なサービスを設定してください。macOSとLinuxでは、利用中のクライアントの説明に沿ってシステムの許可を完了します。アプリのディレクトリ全体を、すべてのユーザーが書き込める状態にしたままにしないでください。Androidでは、初回接続時にシステムのVPN接続許可を確認し、ほかのVPNアプリがインターフェースを使用していないかも確認します。許可後も失敗する場合は、仮想インターフェースの作成に関するログを確認し、権限不足、インターフェースの競合、ルート追加の失敗を切り分けましょう。
使い方のヒント
サブスクリプション設定、手動変更、プラットフォームごとの設定を分けて管理すると、更新や移行後に元へ戻しやすくなります。
普段使いには、中国本土を迂回、グローバル、直接接続のどれを選べばよいですか?
「中国本土を迂回」では、該当するドメインまたはIPのルールに一致するリクエストを通常は直接接続し、それ以外は事前に設定されたアウトバウンドで処理します。「グローバル」では、通常、コアに届いたリクエストをプロキシ経由で送ります。「直接接続」は、通常、直接アクセスや一時的な切り分けに使います。実際の動作は使用中のルーティング設定によって異なり、すべてのバージョンで同じルールとは限りません。まず普段の利用に合った振り分けモードを選び、特定のサイトだけに問題がある場合は、短時間グローバルモードと比較してください。変更前に元の設定を記録し、テスト後は元に戻しましょう。
サブスクリプションを更新した後も、独自の設定変更を残すにはどうすればよいですか?
サブスクリプションを更新すると、そのグループが管理する設定は再生成されます。サブスクリプションの項目を直接編集すると、次回の更新で上書きされる場合があります。長期間残したいテスト用設定は、先に独立した手動グループへ複製し、内容が分かるメモを付けてから変更してください。ルーティングやローカルポートなど、クライアント単位の設定も別途バックアップしましょう。更新前に現在有効な設定とグループ名を記録し、更新後に選択状態を確認してください。提供元が項目名やパラメーターを変更した場合、古い項目と新しい内容が必ずしも一対一で対応するとは限りません。
ターミナルのアプリがブラウザーのシステムプロキシに従わないのはなぜですか?
多くのターミナルツールはデスクトップのシステムプロキシを参照せず、独自の設定やHTTP_PROXY、HTTPS_PROXY、ALL_PROXYなどの環境変数を使います。変数名の大文字・小文字やプロキシプロトコルへの対応はツールによって異なります。まずクライアントで実際の待ち受けアドレス、ポート、入口のプロトコルを確認し、各ツールの説明に従って現在のターミナルセッションに設定してください。例示されたポートを、端末で実際に使われている値だと思い込まないようにしましょう。設定後に開いた別のセッションには、一時的な環境変数が引き継がれない場合があります。クライアントを終了する前に、使わなくなったプロキシ設定も削除してください。
パソコンやスマートフォンを替えるとき、設定ディレクトリ全体をそのままコピーできますか?
設定ディレクトリ全体を異なるプラットフォーム間で上書きするのではなく、クライアントのエクスポート、共有、サブスクリプション読み込み機能を優先して使いましょう。デスクトップとAndroidでは、ローカルポート、ファイルパス、システムプロキシ、TUNの権限をそのまま流用できません。移行時はまず接続設定を読み込み、移行先のルーティングと通信の取り込み方法を設定し直してください。エクスポートしたデータに認証情報が含まれる場合は、信頼できる方法で転送し、安全に保管しましょう。新しい端末で接続できることを確認してから、旧端末のサブスクリプションや一時的なエクスポートファイルを整理してください。唯一のバックアップを誤って削除しないよう注意が必要です。
トラブル対処
サブスクリプションの取得、アプリへの通信の取り込み、DNS、リモート接続のどこで失敗しているかを特定してから、該当する設定を確認します。
サブスクリプションを読み込めない・更新できない場合、まず何を確認すればよいですか?
まず、URLにアクセスできないのか、取得した内容を解析できないのかを切り分けます。URL全体をコピーしたか、サービスの有効期限が切れていないか、システムの日付が正確かを確認し、ログにあるHTTPステータスや解析エラーを調べてください。ログインページや通常のWebページが返された場合、サブスクリプションとして解析できないことがあります。更新方法で直接接続とプロキシ経由を選べる場合は、利用可能な接続がある状態で比較します。まだ読み込んでいない設定に依存して循環するのを避けるためです。短時間に何度も更新しないでください。解決しない場合は、エラーの種類をサブスクリプションの提供元に伝え、URL内の認証情報は隠しましょう。
ノードのテストがタイムアウトしたら、サーバーが必ず使えないということですか?
必ずしもそうではありません。テスト方法やテスト先、DNS、現在のネットワーク、サーバー設定などが結果に影響します。1回のタイムアウトだけでは原因を特定できません。まず端末自体がインターネットに接続できることを確認し、アドレス、ポート、プロトコル、トランスポート方式、TLS関連の項目、システム時刻を確認してください。次にコアのログを見て、ドメイン名の解決失敗、接続拒否、ハンドシェイク失敗を切り分けます。有効だと分かっている設定や別のネットワークでも比較できます。エラーを消すために証明書の検証を無効にしないでください。設定やサーバー側の問題が見えなくなるおそれがあります。
接続済みなのにWebページが開けない場合、どう調べればよいですか?
接続済みという表示は、クライアントがローカルサービスやVPNインターフェースを起動したことを示すだけで、リモート接続やDNSが正常とは限りません。まずWebページにアクセスしたとき、接続ログが出るか確認します。ログがまったくない場合は、アプリの通信が取り込まれているか、ローカルポートが正しいかを優先して確認してください。ログはあるものの名前解決に失敗している場合はDNSを確認し、ハンドシェイクや接続のエラーがある場合はリモート側の設定を見直します。ブラウザーと設定をそれぞれ1つに絞って再現し、プロキシ設定を上書きする可能性のある拡張機能は一時的に無効にしてください。一度に変更する設定は1つだけにして、結果を記録しましょう。コア、ルーティング、DNSを同時に切り替えると、原因を特定しにくくなります。
v2rayNでシステムプロキシを有効にしたのに、ブラウザーで反映されません。
v2rayNで「システムプロキシを自動設定」が選択されていることを確認してください。「システムプロキシを変更しない」ではありません。次にシステムのプロキシ設定を開き、アドレスとポートがクライアントの待ち受け設定と一致しているか確認します。ブラウザー独自のプロキシ設定や拡張機能が有効になっていないか、ほかのネットワークツールがシステム設定を繰り返し書き換えていないかも調べてください。ブラウザーを完全に終了してから開き直し、クライアントのログを確認します。設定が残っている場合は、まず「システムプロキシを解除」を選んで元に戻ったことを確認してから、再度有効にしてください。クライアントを終了する前に、不要なシステムプロキシ設定を解除しましょう。