Macにv2rayNを初めてインストールする方や、アプリを入れ替えた後に起動・通信の問題が起きた方に向けた解説です。まずチップに合ったインストーラーを選び、Gatekeeperによるブロックを解除します。起動後はコアの待ち受け、システムプロキシ、TUNの権限をそれぞれ確認しましょう。システムプロキシと仮想ネットワークインターフェイスは別の機能です。また、ネットワーク拡張の確認画面は、インストールのたびに表示されるわけではありません。問題の発生箇所に応じて切り分け、必要な権限だけを許可してください。
1. インストーラーのアーキテクチャと「アプリケーション」フォルダ
Appleメニューから「このMacについて」を開きます。Appleチップ搭載のMacではApple Silicon版、Intelプロセッサ搭載のMacではIntel版を選んでください。アーキテクチャが合わないと、起動しない、互換環境の追加を求められる、画面は開くのに付属コアが実行できないといった問題が起こります。起動時の問題をすべて開発元の確認に結び付けないようにしましょう。
-
チップを確認する
Appleメニューから「このMacについて」を開き、チップの種類を確認します。クライアントのダウンロードページにあるmacOS用セクションで、対応するアーキテクチャを選んでください。
-
インストーラーを展開する
圧縮ファイルは先に解凍してからアプリ本体を探します。ディスクイメージの場合は開いて、中のアプリをコピーしてください。圧縮ファイル自体を移動したり、一時的なプレビュー用フォルダから使い続けたりしないでください。
-
「アプリケーション」に移動する
Finderで「移動」→「アプリケーション」を開き、v2rayNをここへドラッグします。アップデート時は旧プロセスを終了してからアプリを入れ替え、既存の設定はバックアップしておきましょう。
-
初回起動
「アプリケーション」から起動します。システムにブロックされた場合は、警告の全文を確認してから次のセクションに進み、「プライバシーとセキュリティ」で対処してください。何度も解凍して複数のコピーを作り、繰り返し起動するのは避けましょう。
-
コアの動作を確認する
メイン画面が開いたら設定をインポートしてノードを選び、実行ログを確認します。画面が正常に表示されても、プロキシコアが起動しているとは限りません。まずポートの競合や設定の解析エラーがないか確認してください。
この記事ではアプリ名を v2rayN.app として説明します。実際のファイル名、メニューの表示、機能の場所はクライアントのビルドによって異なる場合があります。コマンドに指定するアプリのパスは、Finderに表示される名前に合わせてください。システム設定の手順はmacOS 13以降の画面を基準としており、クライアントの最低動作要件を示すものではありません。
2. 「開発元を確認できません」:Gatekeeperの解除手順
「開発元を確認できません」や「Appleは、悪質なソフトウェアが含まれていないことを確認できませんでした」という警告は、アプリの実行前に行われるセキュリティチェックです。サブスクリプションURLやVMess、VLESSの設定とは関係ありません。解除する前に、インストーラーの入手元と想定が一致していること、また先ほど開こうとしたアプリが「アプリケーション」フォルダに移したものであることを確認してください。
- アプリを一度起動し、警告の内容を確認してからダイアログを閉じます。
- Appleメニューから「システム設定」→「プライバシーとセキュリティ」を開き、下にスクロールして「セキュリティ」セクションを探します。
- そのアプリのブロック履歴が表示されている場合は、アプリ名を確認して「このまま開く」をクリックします。このボタンが表示されるのは、通常、直近にブロックされた後の一定時間です。
- システムの指示に従ってパスワードまたはTouch IDで認証します。確認画面が再度表示されたら、内容を確認して「開く」を選びます。
一部のmacOSでは、FinderでControlキーを押しながらアプリをクリックし、「開く」を選択できます。新しいmacOSでは「プライバシーとセキュリティ」に戻って確認が必要な場合もあります。組織の管理下にあるMacでは、管理ポリシーによって「このまま開く」が制限されていることがあります。その場合はシステム設定を変更せず、管理者に問い合わせてください。
確認情報を記録する場合は、「アプリケーション」→「ユーティリティ」→「ターミナル」で次の読み取り専用コマンドを実行できます。com.apple.quarantine属性は、ファイルにダウンロード隔離のマークが付いていることを示しますが、それだけでファイルが安全または有害だとは判断できません。評価結果もプログラムの動作を完全に監査したことを意味しません。
xattr -l "/Applications/v2rayN.app"
spctl --assess --type execute --verbose "/Applications/v2rayN.app"
3. システムプロキシとTUN:通信の経路を選ぶ
v2rayNのメイン画面が開いたら、まずシステムプロキシで基本動作を確認します。システムプロキシは、現在のネットワークサービスのプロキシ設定をローカルの待ち受けポートに向け、システムプロキシに従うアプリで利用する機能です。すべてのプロセスを自動的に経由させるものではなく、すべてのUDP通信に対応する保証もありません。一方、TUNは仮想ネットワークインターフェイスとルーティングを扱うため、必要な権限も問題の範囲も異なります。
システムプロキシ
おすすめ初回インストールでは、まずこのモードを使いましょう。ノードをインポートしたら、v2rayNの「システムプロキシ」メニューから「システムプロキシを自動設定」を選び、macOS側のプロキシアドレスを確認します。メニューの場所はビルドによって異なる場合があるため、実際の画面を確認してください。
用途:ブラウザーでの通信、初回の接続確認、段階的な切り分け。
TUNモード
ネットワーク層で通信を経由させる必要がある場合に使用します。対応状況はmacOS版クライアントのビルド、使用するコア、関連コンポーネントによって異なります。管理者権限や補助コンポーネントのインストール、ネットワーク拡張の承認が必要な場合もあります。TUNのスイッチがあるだけで、実装方式まで判断することはできません。
用途:システムプロキシ設定を参照しないアプリ。ただし、現在のビルドがTUNに明確に対応している場合に限ります。
まずTUNをオフにし、通信経路を一つに絞ることをおすすめします。システムプロキシで接続を確認してから、必要に応じてTUNを試してください。両方を同時に有効にすると、ルーティング、DNS、ローカルループバックの切り分けが複雑になります。問題が起きた場合も、どちらの経路を通信が通っているか判断しにくくなります。
4. ローカルの待ち受けポートとmacOSのプロキシ設定
ここではプロキシの受け入れポートの例として 10808、予備ポートの例として 10809 を使用します。いずれもすべてのバージョンの既定値を示すものではありません。v2rayNの「設定」→「パラメータ設定」を開き、ローカルの待ち受けに関する項目を確認してください。最終的には保存済みの設定と現在の起動ログを基準にします。ポートを変更した場合は、システムプロキシ側のポートも合わせて変更してください。
「システム設定」→「ネットワーク」→使用中のWi-FiまたはEthernet→「詳細」→「プロキシ」を開きます。HTTP、安全なWebプロキシ、SOCKSはそれぞれ別の設定です。入力前に、コアの受け入れポートがどのプロトコルに対応しているか確認してください。HTTPとSOCKSに対応する混合入信が明確にサポートされている場合に限り、両方のリクエストを同じポートに指定できます。
HTTPシステムプロキシの設定例
- サーバ
127.0.0.1- ポート
10808- ネットワーク設定項目
- Webプロキシ、安全なWebプロキシ
- 受け入れ側の条件
- HTTP対応のローカル受け入れポート
安全なWebプロキシはHTTPSリクエストのプロキシ接続に使う設定であり、ローカルプロキシ自体でTLSを有効にする必要があるという意味ではありません。
SOCKSアプリプロキシの設定例
- サーバ
127.0.0.1- ポート
10808- プロトコル
- SOCKS5
- 受け入れ側の条件
- SOCKS対応のローカル受け入れポート
受け入れポートが実際にSOCKSに対応している場合のみ使用してください。アプリ内の手動プロキシ設定とシステムプロキシは、別々に確認しましょう。
ターミナルから、待ち受け状態と現在のシステムプロキシを読み取り専用で確認できます。最初のコマンドで何も表示されない場合は、コアが起動しているか、ポートを変更していないか確認してください。待ち受けが表示されても、プロセスがポートを使用していることを示すだけで、接続先ノードが利用可能とは限りません。2つ目のコマンドに表示されるプロキシアドレスが、クライアントのローカル受け入れポートと一致するか確認します。
lsof -nP -iTCP:10808 -sTCP:LISTEN
scutil --proxy
5. ネットワーク権限:必要な項目だけ許可する
システムプロキシ、ネットワーク拡張、ローカルネットワーク、受信接続のファイアウォール設定は、それぞれ異なるレイヤーの機能です。システムプロキシを有効にしても、必ずネットワーク拡張の承認が必要になるわけではありません。また、ローカルネットワークの警告が表示されても、インターネット上のプロキシ接続にLANアクセスが必要とは限りません。現在の利用方法に必要な権限だけを許可し、要求元のアプリまたはコンポーネント名を確認してください。
| 状況 | 確認場所 | 対処の範囲 |
|---|---|---|
| システムプロキシが反映されない | 「システム設定」→「ネットワーク」→使用中のネットワークサービス→「詳細」→「プロキシ」 | まずサーバとポートを確認し、次にクライアントログの設定反映エラーや管理ポリシーを確認してください。 |
| TUNで補助コンポーネントのインストールを求められる | クライアントの案内と、それに対応するシステム認証画面 | コンポーネントの入手元を確認してから許可します。補助プロセスとネットワーク拡張は異なる仕組みです。 |
| システムに拡張機能がブロックされたと表示される | 案内に従って「プライバシーとセキュリティ」を開きます。新しいmacOSでは「一般」→「ログイン項目と機能拡張」→「ネットワーク機能拡張」にある場合もあります。 | 該当する拡張機能が実際にインストールされている場合のみ対処します。システムの案内に従って有効にし、必要に応じてアプリを終了して再起動してください。 |
| ローカルネットワークへのアクセスが制限される | この項目に対応するmacOSでは、「プライバシーとセキュリティ」→「ローカルネットワーク」を開きます。 | 同じネットワーク内のデバイスへのアクセスに関する設定です。許可されないことを、リモートノードの障害とすぐに判断しないでください。 |
| 他のデバイスからこのMacに接続できない | 「ネットワーク」→「ファイアウォール」→「オプション」を開き、待ち受けアドレスも確認します。 | ループバックアドレスを使うローカル利用と、LAN内での共有は別の設定です。Mac自身のプロキシを使うためにファイアウォールを無効にする必要はありません。 |
ネットワーク拡張の承認項目が表示されず、クライアントログから別方式のTUNを使用していると分かる場合は、存在しないスイッチを探すために再インストールを繰り返す必要はありません。まずログで、インターフェイスの作成、権限の取得、ルート設定、DNSリクエストのどの段階で失敗しているか確認してください。システムプロキシが正常に動作している場合は、利用できるモードを維持してからTUNを個別に調べましょう。
6. アップデート後の権限トラブルとプロキシ設定の残存
アプリを入れ替えると実行ファイルや署名の状態、補助コンポーネントが変わり、システムから再度許可を求められることがあります。ただし、アップデート後に通信できなくなっても、必ず権限が失われたとは限りません。旧プロセスによるポートの使用、新しいコアが設定を読み込めない問題、ネットワークサービスの切り替え、アプリ終了後に残ったシステムプロキシなども、同じような症状を引き起こします。
- 入れ替え前:設定をバックアップし、クライアントでシステムプロキシを解除してTUNをオフにしてから、アプリを終了します。必要に応じて「アクティビティモニタ」で旧プロセスが終了したことを確認してください。
- 入れ替え後:新しいコピーは「アプリケーション」からのみ起動します。開発元の確認画面が再び表示された場合は、前述の手順で改めて許可してください。ダウンロードフォルダにある旧コピーを同時に起動しないでください。
- 権限の確認:システムから再承認を明示的に求められた場合に限り、該当する拡張機能または補助コンポーネントを確認します。アップデートのたびにすべての権限を無効にして再び有効にする必要はありません。
- ポートの再確認:ログの待ち受けアドレスを確認し、
scutil --proxyの出力と照合します。ポートが一致しない場合は、クライアントでシステムプロキシを設定し直してください。 - 直接接続に戻す:アプリを一時的に起動できない場合は、現在のネットワークサービスの「プロキシ」設定を開き、ローカルプロキシ用に有効にした項目をオフにして適用します。管理対象のプロキシ設定については、先に管理者に相談してください。
7. インストールとGatekeeperに関するよくある質問
「このまま開く」ボタンが見つからないのはなぜ?
まず「アプリケーション」から対象のコピーをもう一度起動し、すぐに「プライバシーとセキュリティ」の「セキュリティ」セクションを開いてください。アーキテクチャ不一致やファイル破損の警告ではないことも確認します。組織管理下のMacでは、個人で解除できない場合があります。管理者にポリシーを確認してもらいましょう。
ウィンドウは開くのに、ブラウザーがインターネットに接続できない
まずTUNをオフにし、lsof で実際のポートが待ち受けているか確認します。次に、現在のネットワークサービスでHTTPプロキシと安全なWebプロキシの設定を確認してください。待ち受けとアドレスが一致してから、ノード認証、サーバーアドレス、ルーティングルール、DNSを調べます。アプリのウィンドウが表示されていても、コアが正常に動作しているとは限りません。
TUNを有効にするたびにパスワードの入力が必要?
認証を繰り返すかどうかは、現在のビルドが特権コンポーネントをどのように起動するかによります。認証が繰り返されても、インストール失敗とは限りません。まず認証画面がどの操作に対応しているか確認してください。許可しても失敗が続く場合は、ログで権限やインターフェイスのエラーを確認し、一時的にシステムプロキシへ切り替えましょう。認証を省くために、クライアント全体を常に管理者権限で実行しないでください。
v2rayNを終了したらネットワークに接続できなくなった場合の対処法は?
「システム設定」→「ネットワーク」→使用中のネットワークサービス→「詳細」→「プロキシ」を開き、停止した 127.0.0.1 の待ち受けポートを参照したままになっていないか確認します。ローカルプロキシ用に有効にした項目をオフにして適用してください。ネットワークが復旧したら、クライアントを起動してプロキシを設定し直します。