この記事の要点

v2rayNをダウンロードしたものの、macOSで初めて起動するときやネット接続時に先へ進めない方に向けた内容です。まずチップの種類とアプリの入手元を確認し、システム設定から開発元の確認を許可します。続いて、システムプロキシ、ローカルネットワーク、TUNの権限を切り分けます。ローカルプロキシが正常に待ち受けていることを確認してから、ブラウザーやコマンドラインの通信が実際にプロキシ経由になっているかを調べましょう。

1. インストール前にチップの種類とアプリの場所を確認

v2rayNは、サブスクリプション、ノード、ルーティングを管理するデスクトップクライアントです。実際のプロキシ接続は、v2rayNが起動するコアが処理します。画面が開いても、コアが正常に動作しているとは限りません。インストーラーのアーキテクチャが合わない、アプリがディスクイメージ内に残っている、コアの実行に失敗しているといった原因が、権限不足のように見えることがあります。

Appleメニューから「このMacについて」を開きます。Appleシリコン搭載MacではmacOS ARM64版、Intelプロセッサ搭載MacではmacOS x64版を選んでください。ダウンロード先とインストール手順はダウンロードセンターをご覧ください。必要なmacOSの最低バージョンは、ダウンロードページとパッケージ内の説明で確認してください。ファイルを展開できるだけで互換性があるとは判断できません。

チップに合ったネイティブ版

おすすめ

Appleシリコン搭載MacにはARM64版、Intel Macにはx64版を選びます。クライアントと同梱コアの両方を対象プラットフォームに合わせ、アーキテクチャ変換による余分な要因を減らしましょう。

おすすめの用途:初回インストール、アプリの配置を整理するとき。

Appleシリコン搭載Macでx64版を実行

一部のアプリはRosettaで実行できますが、パッケージ内のすべての補助プログラムに互換性があるとは限りません。リリースノートで対応が明記されている場合に限って検討し、通常の解決方法としては扱わないでください。

おすすめの用途:互換性が必要で、リリースノートを確認できる場合。

ディスクイメージをダウンロードした場合は、アプリを「アプリケーション」フォルダにドラッグしてから起動します。アーカイブの場合は完全に展開し、同梱フォルダも残してください。メインプログラムだけを一式から取り出したり、アーカイブのプレビューから直接実行したりしないでください。更新前に旧バージョンを終了し、クライアント設定をバックアップします。バックアップにはサブスクリプションURLが含まれる場合があるため、個人用のフォルダに保管してください。

2. 「開発元を検証できません」と表示されたときの許可手順

この警告は通常、macOSのGatekeeperによる確認が原因です。現在のポリシーではアプリの開発元や公証状況を確認できないことを示しています。ノードの利用可否やVMess、VLESSの設定値とは関係ありません。ダウンロード元とアプリ名を確かめたうえで、このアプリだけを個別に許可してください。Mac全体のセキュリティチェックを無効にする必要はありません。

  1. 警告を一度表示する

    Finderの「アプリケーション」フォルダでv2rayNをダブルクリックします。警告の文面を記録してから、ダイアログを閉じてください。アプリの入手元を確認できていない場合は、許可を進めないでください。

  2. セキュリティ設定を開く

    Appleメニューから「システム設定」→「プライバシーとセキュリティ」を開き、「セキュリティ」セクションまでスクロールします。直前にブロックされたアプリについて、許可するための案内が表示されることがあります。

  3. 「このまま開く」を選択

    案内の対象がv2rayNであることを確認して、「このまま開く」をクリックします。求められた場合はTouch IDまたは管理者の認証情報で承認し、次のダイアログで「開く」を選択してください。

  4. 起動し直して確認

    メイン画面が表示されるまで待ち、クライアントのログに補助プログラムのブロック、非対応アーキテクチャ、コアの起動失敗が記録されていないか確認します。新たなセキュリティ警告が出た場合は、対象のコンポーネントを確かめてください。不明なファイルを何度も許可するのは避けましょう。

この手順は「システム設定」を使用する比較的新しいmacOS向けです。古いmacOSでは「システム環境設定」→「セキュリティとプライバシー」→「一般」と表示されることがあります。ボタン名もバージョンによって異なります。特にmacOS 15以降では、「Controlキーを押しながらクリックして開く」を共通の回避策と考えず、「プライバシーとセキュリティ」にあるシステム標準の操作を使ってください。

「このまま開く」ボタンがない場合は、アプリをもう一度起動してブロックを発生させてから、設定を再確認してください。組織管理下のMacではデバイス管理ポリシーによって制限されていることがあります。管理者に相談してください。管理者アカウントでも組織のポリシーを回避できるとは限りません。

3. システムプロキシ、ローカルネットワーク、TUNの権限を切り分ける

macOSには、許可すればあらゆるネット接続の問題が解決するような「万能の権限」はありません。通常の外向き接続には個別の確認は不要ですが、ローカルネットワークへのアクセス、システムプロキシの変更、特権付き補助コンポーネントのインストール、TUNインターフェースの作成は、それぞれ別の操作です。まずは範囲の小さいシステムプロキシを使い、動作を確認してから必要に応じてTUNを有効にしましょう。

まずシステムプロキシを使い、必要に応じてTUNを有効化

システムプロキシを使う場合
  • システムプロキシに対応したブラウザーやアプリを、ローカルのプロキシポートに接続します。
  • v2rayNのシステムプロキシメニューから「システムプロキシを自動設定」を選びます。メニューの場所はバージョンによって異なる場合があります。
  • ネットワークサービスのプロキシ設定を変更するときは、管理者の承認が必要になる場合があります。
TUNを使う場合
  • 使用中のバージョンがmacOSのTUNに対応していることを前提に、仮想ネットワークインターフェースで通信を取り込みます。
  • 補助コンポーネントのインストール、管理者権限での操作、ネットワーク設定の承認が必要な場合があります。実際に表示されたシステムの案内に従ってください。
  • ルートやDNSも変更されるため、スイッチがオンになっただけで通信を取り込めているとは判断できません。

最初は通信を取り込む方法を一つだけ有効にします。システムプロキシが使えることを確認してからTUNを個別にテストすると、問題の発生箇所を特定しやすくなります。

システムプロキシを確認するには、「システム設定」→「ネットワーク」→使用中のWi-FiまたはEthernetサービス→「詳細」→「プロキシ」を開きます。HTTP、HTTPS、SOCKSの各項目が、正しいポートを使ったローカルループバックアドレスを指しているか確認してください。ここにリモートノードのサーバーアドレスを入力しないでください。各項目は、このMac上で動作しているローカルプロキシに接続するためのものです。

4. ローカルの待ち受けポートとシステムプロキシを確認

サブスクリプションをインポートしたらノードを選択してアクティブにし、ログでコアが起動していることを確認します。「設定」→「パラメーター設定」でローカルの待ち受け設定を確認してください。バージョンによって「ローカルポート」や「インバウンド設定」など、項目名が異なる場合があります。画面とログに表示された実際のポート番号とプロトコルを確認し、解説記事の数字がすべてのバージョンの初期値だと考えないでください。

10808
この記事で例に使うHTTPまたは混合インバウンドのポート
443
以下のHTTPSテストで接続するポート

以下の例では、クライアントで127.0.0.1:10808がHTTPプロキシ接続を受け付けることを確認済みとします。このポートがSOCKSインバウンド専用の場合は、後述のSOCKSコマンドを使ってください。実際のポートが異なる場合は、コマンド内のポート番号を変更します。例に合わせるために、現在使えている設定を上書きしないでください。

HTTPテストのパラメーター

待ち受けアドレス
127.0.0.1
ポート番号の例
10808
コマンドで指定するプロトコル
http://
対応するインバウンド
HTTP、またはHTTPに対応した混合インバウンド

システムのHTTPプロキシとHTTPSプロキシには、同じローカルHTTPプロキシポートを指定できます。

SOCKSテストのパラメーター

待ち受けアドレス
127.0.0.1
ポート番号の例
10808
コマンドで指定するプロトコル
socks5h://
対応するインバウンド
SOCKS、またはSOCKSに対応した混合インバウンド

socks5hを使うと、接続先のドメイン名はプロキシ経由で名前解決されます。このコマンドはHTTP専用インバウンドでは使えません。

「ターミナル」を開き、まずポートの待ち受け状態を確認し、次にシステムプロキシの設定を確認します。以下のコマンドは状態を読み取るだけで、ネットワーク設定は変更しません。

lsof -nP -iTCP:10808 -sTCP:LISTEN
scutil --proxy

1つ目のコマンドで該当する待ち受けプロセスが見つかるはずです。何も表示されない場合は、まずコアの起動状態やポート設定を確認してください。2つ目は現在のシステムプロキシ設定を調べるコマンドです。HTTPEnable、HTTPProxy、HTTPPortなどの項目を確認します。有効になっている項目が実際のローカルインバウンドに対応している必要があります。プロキシが有効と表示されても、リモートノードに接続できるとは限りません。

5. プロキシを明示して接続を確認

macOSのターミナルで動くプログラムは、システムプロキシを自動的に使うとは限りません。そのため、ブラウザーでは接続できても通常のcurlが失敗するだけで、v2rayNの異常とは判断できません。まずプロキシを明示するコマンドでテストし、「アプリがプロキシを使っているか」と「プロキシ自体が接続できるか」を分けて確認しましょう。

# HTTPプロキシを受け付けるローカルインバウンド向け
curl --noproxy "" --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/

# このポートがSOCKSを受け付ける場合のみ使用
curl --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/

実際のインバウンドの種類に応じて、どちらか一方のコマンドを実行します。--noproxy ""は、環境変数に設定されたプロキシ除外リストが今回のテストに影響しないようにするための指定です。HTTPレスポンスが返れば、このリクエストで接続先との通信が行われたことを示します。すべてのアプリの通信が取り込まれていることや、あらゆるサイトにアクセスできることを意味するわけではありません。HTTPプロキシでトンネル確立と表示された場合も、最終的なサイトのレスポンスやエラーを確認してください。

症状まず確認する項目次に行うこと
ローカルポートへの接続が拒否されるコアが起動していない、ポート番号が違うログと待ち受け状態を確認し、システム権限の変更は後回しにします。
ローカルポートには接続できるが、リモート側がタイムアウトするアクティブなノード、サーバーアドレス、トランスポートとTLSの設定コアのエラーを確認し、接続できることがわかっている別のノードと比較します。
プロキシを明示すれば成功するが、ブラウザーでは失敗するシステムプロキシ、ブラウザー独自のプロキシ設定、プロキシ除外ルール現在のネットワークサービスとブラウザーの設定を確認します。
システムプロキシは正常だが、TUNは失敗する補助コンポーネント、ルーティング、DNS、ほかのトンネル接続TUNを無効にして通常の状態に戻し、関連するログを一つずつ確認します。

サブスクリプションのインポート成功は、クライアントが設定を読み込めたことを示すだけです。VMessやVLESSなどのプロトコルには、有効なサーバー情報と認証パラメーターが必要です。TLS接続には、正しいシステム時刻とサーバー名も必要になります。ノード設定の誤りは、ネットワーク権限を何度承認しても解消しません。設定をさらに確認する場合は設定ガイドを参照し、各項目の意味を理解してから元のサブスクリプションを変更してください。

6. 終了、更新、トラブルからの復旧

初回インストール後は、終了時の動作も確認しておきましょう。クライアントでシステムプロキシを解除し、TUNを無効にしてからv2rayNを終了します。ブラウザーが元の直接接続の設定で通信できることを確認してください。プロセスを強制終了すると、待ち受けが停止したポートを指すシステムプロキシ設定が残り、クライアント終了後にすべてのWebページが開かなくなることがあります。

最終的に、アプリが起動すること、コアがポートで待ち受けていること、正しいプロキシ経由でリクエストが完了することを、それぞれ確認してください。この3つの段階に分けて調べれば、開発元の確認、macOSの権限、ノード接続の問題を混同せずに済みます。サブスクリプションの更新やポート競合など、よくある問題についてはよくある質問もご覧ください。