v2rayNをダウンロードしたものの、「開発元を確認できない」という表示やネットワーク権限のダイアログで止まってしまうmacOSユーザー向けです。システム設定で起動を許可し、プロキシ変更、ローカルネットワークへのアクセス、TUNに必要な権限を順に確認したうえで、クライアントログ、システムプロキシの状態、ローカルポートを段階的に検証します。
ブロックされた場所と現在の状態を切り分ける
「開発元を確認できない」という表示は、アプリが実際に起動する前に発生するmacOSのアプリ起動チェックです。この段階では通常、v2rayNのメインウィンドウは表示されておらず、サブスクリプション、ノード、プロキシポートも動作を開始していません。何度もダブルクリックしたり、サブスクリプションを再インポートしたりしても解決しないため、まずシステム設定で現在のアプリを開くことを許可します。
メインウィンドウが表示されているのに、システムプロキシの切り替え時に管理者パスワードを求められる場合は、アプリの起動チェックは通過しており、現在対応しているのはシステムネットワーク設定の権限です。ノードが起動済みなのにウェブページへアクセスできない場合は、プロキシモード、ポート、ルーティングの分岐を確認してください。問題をGatekeeperのせいにし続ける段階ではありません。
- ウィンドウがまったく表示されない:まず「プライバシーとセキュリティ」で開く許可を設定します。
- ウィンドウは表示されるがコアが起動しない:ログを開き、設定項目、ポートの競合、コアの種類を確認します。
- コアは起動するがウェブページに接続できない:システムプロキシが有効になっていることと、ブラウザがシステムプロキシに従う設定になっていることを確認します。
- ターミナルだけ接続できない:ターミナルツールはシステムプロキシを読み取らない場合があるため、HTTPまたはSOCKSポートを明示的に指定します。
システムの手順に沿って初回起動を許可する
解凍したv2rayNは、初回起動の前に「アプリケーション」フォルダへ移動することをおすすめします。ダウンロードフォルダに置いたままだと、更新やダウンロードファイルの整理でパスが変わりやすく、システムに保存された起動許可も確認しにくくなります。移動後、まず一度通常どおり起動し、macOSに対応するブロック記録を作成させます。
初回起動時にブロックされたら、同じアイコンを連続してクリックしないでください。すぐに「システム設定」→「プライバシーとセキュリティ」を開き、「セキュリティ」セクションまでスクロールします。v2rayNに関する表示を見つけ、「このまま開く」を選択してください。現在のアカウントのパスワードまたは生体認証を求められる場合があります。
アプリケーションへ移動
解凍が完了したら、v2rayNアプリを「アプリケーション」フォルダへ移動します。圧縮ファイルのプレビュー画面や一時フォルダから直接実行しないでください。
ブロックを発生させる
「アプリケーション」フォルダでv2rayNをダブルクリックします。「開発元を確認できない」またはアプリがブロックされたという表示が出たら、そのダイアログを閉じます。
許可項目を見つける
「システム設定」→「プライバシーとセキュリティ」を開き、「セキュリティ」までスクロールします。直前にブロックされたv2rayNが表示されていることを確認してください。
起動を確認する
「このまま開く」をクリックしてアカウント認証を完了します。確認画面が再度表示されたら「開く」を選択し、メインウィンドウが表示されるまで待ちます。
起動場所を固定する
起動に成功したら、アプリが置かれているフォルダをそのまま維持します。更新時は古いプロセスを終了してからアプリを置き換え、2つのバージョンが同時に動作しないようにしてください。
「このまま開く」が表示されない場合、ブロック記録がまだ作成されていないか、前回の試行から時間が経っている可能性があります。「アプリケーション」に戻ってv2rayNを再度開き、ブロック表示が出たらすぐに「プライバシーとセキュリティ」を確認してください。FinderでControlキーを押しながらアプリをクリックし、「開く」を選択してから、システムの確認画面に従う方法もあります。
個別のアプリのために、アプリ全体のチェック機構を無効にする方法はおすすめしません。現在のアプリに対して明示的に一度だけ許可すれば、他のアプリのチェック手順は変わらず、問題が起動許可、コアの起動、プロキシ設定のどこにあるかも後から判断しやすくなります。
ネットワーク、プロキシ、TUNの権限を処理する
v2rayNが正常に起動した後も、macOSから別の種類の権限を求められることがあります。それぞれの役割は異なります。システムプロキシの変更は、システムネットワーク設定に従うアプリをローカルポートへ接続するためのものです。ローカルネットワークへのアクセスは同じネットワーク内のアドレスへの接続に使われます。ファイアウォールの表示は受信接続に関係し、TUNモードでは追加のシステム許可が必要になる場合があります。
通常の利用では、まずシステムプロキシを有効にし、最初からTUNを使う必要はありません。システムプロキシは権限の経路が短く、サブスクリプション、ノード、コアが正常かを確認するのに適しています。HTTPおよびHTTPS通信が安定してプロキシを通ることを確認してから、対象範囲に応じてモードを切り替えてください。
基本のシステムプロキシ
- メニューの場所
- 設定 → パラメータ設定
- 待受アドレス
- 127.0.0.1
- SOCKSの例
- 10808
- HTTPの例
- 10809
- システム操作
- システムプロキシを有効にする
まずこの設定一式を完了し、ブラウザやシステムプロキシに従うデスクトップアプリで動作を確認します。
コアとTUNを確認する
- メニューの場所
- 設定 → パラメータ設定 → Coreタイプ
- よく使われるコア
- Xray
- TUNの状態
- 初回の切り分けでは無効にする
- 許可するタイミング
- TUNへの切り替え時に確認
- トラブル対処の入口
- コアログ
VMess、VLESSなどのノードは、サブスクリプションで提供された設定を基準にしてください。転送パラメータを自己判断で書き換えないでください。
- ネットワーク設定の変更を求められる:システムプロキシを有効化または復元するときのシステム確認です。要求元のアプリがv2rayNであることを確認して許可します。
- ローカルネットワークへのアクセスが表示される:ローカルネットワークのアドレスやサービスへ接続する必要がある場合は「許可」を選択します。以前に拒否した場合は、「システム設定」→「プライバシーとセキュリティ」→「ローカルネットワーク」で再確認できます。
- 受信接続の許可が表示される:該当する接続を待ち受ける必要がある場合だけ対応します。ローカルでのみ使う場合、待受アドレスは127.0.0.1を優先してください。
- TUNの起動に失敗する:まずTUNを終了し、システムプロキシモードが動作することを確認してから、システムの許可とログを確認します。ノードと仮想ネットワークインターフェースを同時に調べるのは避けてください。
サブスクリプションをインポートしてプロキシモードを選ぶ
権限を許可しても、クライアントが動作可能になっただけで、利用できるノードがあるとは限りません。v2rayNでサブスクリプショングループを追加し、完全なサブスクリプションURLを貼り付けてから、一度更新を実行します。リストにノードが表示されたら、1つ選択してアクティブサーバーに設定し、コアの起動ログで待受が完了したことを確認してください。
サブスクリプションのインポートでは、項目をそのまま保持することが重要です。VMess、VLESSのアドレス、ポート、転送方式、TLSまたはRealityのパラメータはサービス側の設定で決まります。更新後のノード数が0の場合は、まずサブスクリプションURLが完全か、期限切れでないか、更新時にログへエラーが出ていないかを確認してください。欠けた項目を推測して手入力しないでください。
システムプロキシモード
おすすめmacOSのシステムプロキシ設定に従うブラウザやデスクトップアプリを、v2rayNのローカルHTTPまたはSOCKSポートへ接続します。必要な権限が少なく、問題の切り分けも明確です。
適しています:初回インストール、サブスクリプション確認、ブラウザでのアクセス
TUNモード
仮想ネットワークインターフェースを通じて、より広い範囲の通信を処理します。システムプロキシを読み取らないアプリにも対応できますが、システム権限、ルーティング、DNSの確認項目が増えます。
適しています:システムプロキシの確認後、対象範囲を広げたい場合
- メイン画面でサブスクリプショングループの管理を開き、新しいグループを追加して完全なサブスクリプションURLを貼り付けます。
- 「すべてのサブスクリプションを更新」を実行し、ノード一覧が更新されるまで待ちます。更新中にアプリを終了しないでください。
- ノードを1つ選択してアクティブサーバーに設定し、コアを起動してログにローカル待受情報が表示されるまで待ちます。
- まずシステムプロキシを有効にし、ブラウザでサイトを開いて基本接続が正常か確認します。
- 次にルーティングの分岐ルールをテストし、直接接続するドメインとプロキシ経由のドメインが想定した出口に振り分けられていることを確認します。
ルーティングの分岐は、通信がコアへ入った後に行われます。システムプロキシがmacOSのネットワーク設定に書き込まれていなければ、ドメインルールを変更しても効果はありません。コアが起動していなければ、ローカルポートも待ち受けません。切り分けの順序は「コアの稼働→ポートの待受→システムプロキシ→ルールの適用」に固定すると、中断箇所をすばやく特定できます。
ノードを切り替えた後は、数秒待ってからテストすることをおすすめします。短時間に何度も切り替えると、古い接続、DNSキャッシュ、新しいコアのログが混在します。特定のノードだけ失敗し、他のノードは正常に接続できる場合は、そのノードのサブスクリプション状態とプロトコルパラメータを重点的に確認し、macOSの権限を何度も変更しないでください。
システムプロキシが実際に有効か確認する
最初にv2rayNのステータスバーとコアログを確認します。通常、コアの起動後はローカルの待受アドレスとポートが表示され、「address already in use」のようなポート競合エラーは出ません。ログが再起動を繰り返す場合は、同じポートを使用している可能性のある他のプロセスを終了するか、パラメータ設定で未使用のポートに変更します。
次にmacOSの現在のプロキシ状態を確認します。「システム設定」→「ネットワーク」→現在のネットワーク接続→「詳細」→「プロキシ」を開き、ウェブプロキシと安全なウェブプロキシが有効か確認します。サーバーは通常127.0.0.1を指定し、ポートはv2rayNのパラメータ設定と一致させます。macOSのバージョンによってボタン名は多少異なりますが、現在のネットワーク接続の詳細設定内にあります。
scutil --proxy
ターミナルで上記のコマンドを実行すると、システムプロキシの設定を確認できます。HTTPEnable、HTTPProxy、HTTPPort、およびHTTPSEnable、HTTPSProxy、HTTPSPortを重点的に確認してください。有効値は1で、プロキシアドレスはクライアントの待受アドレスと同じである必要があります。ステータスバーでは有効と表示されるのに、コマンド結果が0の場合は、いったんシステムプロキシを無効にしてから再度有効にし、システムの許可を完了してください。
curl --proxy http://127.0.0.1:10809 https://v2raylink.com/
2つ目のコマンドは、ターミナルがシステムプロキシを読み取るかどうかに左右されず、指定したHTTPポートへ直接リクエストを送ります。実際のHTTPポートが10809でない場合は、v2rayN画面に表示されている値へ置き換えてください。ページ内容が返れば、ローカルHTTP入口、アクティブノード、リモート接続が少なくとも確立しています。
- ブラウザは使えるがターミナルは使えない:ターミナルプログラムがシステムプロキシを継承していない場合は、明示的なプロキシ引数を使うか、現在のターミナルセッションに対応する環境変数を設定します。
- 明示的なプロキシでも失敗する:コアが接続を受信しているか、ノードのハンドシェイク、DNS、ルーティングでエラーが出ていないかをコアログで確認します。
- v2rayNを終了するとウェブページに異常が出る:クライアントを再度開いてシステムプロキシを無効にし、macOSに停止済みポートを指すプロキシ設定が残っていないことを確認します。
- 一部のドメインだけ失敗する:ルーティングの適用結果、DNS解決、ノードのプロトコルパラメータを確認し、システムネットワーク設定をいきなりすべてリセットしないでください。
よくあるダイアログと異常への対処
同じMacでも、アプリの起動、ネットワーク設定、ローカルネットワーク、TUNの許可が順番に表示されることがあります。その都度、現在の手順だけを処理し、操作直後に結果を確認してください。複数の権限、ポート、ルーティングルールを一度に変更すると、ログと具体的な操作を対応づけにくくなります。
「このまま開く」ボタンが見つからない?
まず「アプリケーション」フォルダでv2rayNをダブルクリックし、ブロック表示が出たらダイアログを閉じます。すぐに「システム設定」→「プライバシーとセキュリティ」を開き、「セキュリティ」までスクロールしてください。アプリが圧縮ファイルや一時フォルダにある場合は、先に解凍して移動します。
システムプロキシを有効にするたびに認証を求められる?
アプリのパスが何度も変わっていないか、v2rayNのインスタンスを2つ同時に起動していないか確認します。古いプロセスを完全に終了し、「アプリケーション」フォルダ内のバージョンだけを残してから、システムプロキシを一度切り替えてください。
メインウィンドウは開くがコアの起動に失敗する?
「設定」→「パラメータ設定」→「Coreタイプ」を開き、選択されているコアを確認してからコアログを開きます。ポート競合が表示されたら、10808、10809、または画面に表示された実際のポートを確認してください。設定の解析エラーが出た場合はサブスクリプションを再更新し、プロトコル項目を自分で追加しないでください。
ノードは接続済みなのにブラウザで開けない?
まず「システム設定」→「ネットワーク」→現在の接続→「詳細」→「プロキシ」で、127.0.0.1とHTTPポートを確認してから、scutil --proxyを実行します。ブラウザが独自のプロキシ設定を使っている場合は、システム設定に従う状態へ戻して再試行してください。
TUNを有効にしたら、かえってネットワークが切断される?
まずTUNを無効にしてシステムプロキシモードへ戻し、ノードとサブスクリプション自体が利用可能か確認します。その後、TUNの起動ログ、システムの許可、ルーティングの競合を確認し、TUNだけを再起動してください。コア、ノード、DNS設定を同時に変更しないでください。
切り分けが終わったら、明確な基準設定を1組残すことをおすすめします。アプリは「アプリケーション」フォルダに固定し、コアを安定して起動できる状態にし、ローカル待受アドレスは127.0.0.1、ポートはシステムプロキシと一致させ、少なくとも1つのサブスクリプションノードを実際に検証します。以後、アップデートやネットワーク切り替えで問題が起きても、この基準と項目ごとに比較できます。
システム更新後に問題が発生した場合は、まずネットワークサービスが変わっていないか確認します。たとえば有線から無線へ切り替えた後は、システムプロキシを現在のサービスへ再設定する必要がある場合があります。v2rayNの置き換え後に発生した場合は、古いプロセスが終了していること、アプリのパスが重複していないことを先に確認し、その後で起動許可とコアログを確認してください。