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全体のセキュリティチェックを無効にする必要はありません。
-
警告を一度表示する
Finderの「アプリケーション」フォルダでv2rayNをダブルクリックします。警告の文面を記録してから、ダイアログを閉じてください。アプリの入手元を確認できていない場合は、許可を進めないでください。
-
セキュリティ設定を開く
Appleメニューから「システム設定」→「プライバシーとセキュリティ」を開き、「セキュリティ」セクションまでスクロールします。直前にブロックされたアプリについて、許可するための案内が表示されることがあります。
-
「このまま開く」を選択
案内の対象がv2rayNであることを確認して、「このまま開く」をクリックします。求められた場合はTouch IDまたは管理者の認証情報で承認し、次のダイアログで「開く」を選択してください。
-
起動し直して確認
メイン画面が表示されるまで待ち、クライアントのログに補助プログラムのブロック、非対応アーキテクチャ、コアの起動失敗が記録されていないか確認します。新たなセキュリティ警告が出た場合は、対象のコンポーネントを確かめてください。不明なファイルを何度も許可するのは避けましょう。
この手順は「システム設定」を使用する比較的新しい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上で動作しているローカルプロキシに接続するためのものです。
- ローカルネットワーク:macOS 15以降でローカルネットワークへのアクセス許可が表示された場合は、LAN内のリソースにアクセスするときだけ許可してください。あとから「システム設定」→「プライバシーとセキュリティ」→「ローカルネットワーク」で確認できます。アプリが一覧にない場合でも、通常のインターネット接続が禁止されているわけではありません。
- ファイアウォール:主に外部からの受信接続に関係します。このMacから
127.0.0.1へ接続する場合、プロキシを共有するために外部からの受信を許可する必要は通常ありません。スマートフォンからMacのプロキシを共有利用する場合は別のケースです。 - 補助コンポーネント:管理者パスワードを求められたら、要求元と実行中の操作を確認してください。サブスクリプションを通常どおりインポートするだけで、正体不明のプログラムに管理者権限を与える必要はありません。
- ネットワーク設定:関連するシステムの案内が実際に表示された場合に限り、必要な項目を承認してください。トラブルシューティングのために、フルディスクアクセスやアクセシビリティの権限をむやみに付与しないでください。
4. ローカルの待ち受けポートとシステムプロキシを確認
サブスクリプションをインポートしたらノードを選択してアクティブにし、ログでコアが起動していることを確認します。「設定」→「パラメーター設定」でローカルの待ち受け設定を確認してください。バージョンによって「ローカルポート」や「インバウンド設定」など、項目名が異なる場合があります。画面とログに表示された実際のポート番号とプロトコルを確認し、解説記事の数字がすべてのバージョンの初期値だと考えないでください。
以下の例では、クライアントで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ページが開かなくなることがあります。
- 終了後にネットにつながらない:現在のネットワークサービスの「プロキシ」画面を開き、
127.0.0.1を指した設定が残っていないか確認します。今回クライアントが追加した項目だけを削除してください。会社のネットワークに元から設定されているプロキシは、記録して残しておきます。 - Wi-Fiを切り替えると動かない:現在使用しているネットワークサービスとプロキシの状態を確認します。以前使用していたEthernetサービスだけを確認しても解決しません。
- 更新後に再びブロックされる:まず更新ファイルの入手元とアーキテクチャを確認し、システムの手順に沿ってそのアプリを許可します。旧バージョンが許可済みでも、新しいファイルが自動的に許可されるとは限りません。
- ログを提出する場合:macOSのバージョン、チップの種類、クライアントのバージョン、エラー発生時刻を記録します。サブスクリプションURL、認証情報、個人用サーバーのアドレスは伏せてください。
最終的に、アプリが起動すること、コアがポートで待ち受けていること、正しいプロキシ経由でリクエストが完了することを、それぞれ確認してください。この3つの段階に分けて調べれば、開発元の確認、macOSの権限、ノード接続の問題を混同せずに済みます。サブスクリプションの更新やポート競合など、よくある問題についてはよくある質問もご覧ください。