v2rayNをダウンロード済みなのに、macOSで開けない、起動後に表示されない、システムプロキシが機能しない、またはTUN権限を繰り返し求められる方に向けた記事です。インストールパッケージとCPUアーキテクチャを確認してから初回起動を許可し、ネットワーク権限、Xrayコア、ローカルポートを順に確認します。各手順で確認できる結果を示し、どの層で止まっているかを切り分けます。
v2rayNが起動のどの段階で止まっているか確認する
macOSで「開けない」といっても、原因は一つではありません。ダブルクリック直後に「開発元を確認できません」と表示される場合、アプリはまだ起動処理に入っておらず、システムのセキュリティポリシーにブロックされています。Dockにアイコンが一瞬表示されて終了する場合は、アプリのアーキテクチャ、ファイルの完全性、実行ログを確認します。メインウィンドウは開くのにウェブ通信がプロキシを経由しない場合は、システムプロキシ、Xrayコア、ローカルの待受ポートに問題があることが多いです。
トラブル対処では、セキュリティ設定、プロキシモード、サブスクリプション、ルーティングルールを同時に変更しないでください。一度に一つの層だけを確認し、各手順の結果を記録します。これにより、アプリは許可済みなのに、誤ったノードやポート競合によって起動できないと誤判断するのを防げます。
- ダブルクリック直後にブロックされる:まず「未確認の開発元」または「悪質なソフトウェアが含まれていないか確認できません」という表示に対処します。
- アイコンが一瞬表示されて消える:AppleシリコンまたはIntelプロセッサに合ったビルドをダウンロードしたか確認し、「コンソール」で終了記録を確認します。
- ウィンドウは開くがサーバーがない:サブスクリプショングループを開いて更新し、サブスクリプションURLが有効か確認します。
- サーバーには接続できるがブラウザーが通信できない:システムプロキシが有効か、10808などのローカルポートを別のプログラムが使用していないか確認します。
- 通常のプロキシは使えるがTUNが使えない:管理者の承認、ネットワーク拡張、ルーティングテーブル、DNSの引き継ぎ状態を重点的に確認します。
「未確認の開発元」と初回起動ブロックに対処する
ウェブからダウンロードしたアプリを初めて開くと、macOSは隔離属性と署名状態に基づいて検査します。ブロックされた後に何度もダブルクリックしても結果は変わりません。正しい手順は、警告を閉じてからシステムのセキュリティ画面で、先ほど起動を試みたv2rayNを明示的に許可することです。
許可ボタンは、システムが直近の起動ブロックを記録した後にだけ表示されます。「プライバシーとセキュリティ」の下部に該当する情報がない場合は、「アプリケーション」フォルダに戻ってv2rayNをもう一度ダブルクリックし、すぐにセキュリティ設定へ戻って確認してください。
-
アプリを移動する
ダウンロードしたファイルを解凍したら、v2rayN.appを「アプリケーション」フォルダへ移動します。ダウンロードフォルダや圧縮ファイルのプレビュー画面から長期間実行しないでください。
-
検査を発生させる
「アプリケーション」フォルダでv2rayNをダブルクリックし、「開発元を確認できません」などの警告が表示されたらダイアログを閉じます。
-
セキュリティ画面を開く
macOS 13〜15では「システム設定」→「プライバシーとセキュリティ」、macOS 12では「システム環境設定」→「セキュリティとプライバシー」→「一般」を開きます。
-
このまま開く
直前にブロックされたv2rayNを見つけて「このまま開く」をクリックし、このMacの管理者資格情報で確認します。その後、「アプリケーション」フォルダに戻って再起動します。
-
コアを選択する
v2rayNの「設定」→「パラメーター設定」→「Core タイプ」を開き、VMessやVLESSなどの設定でXrayコアを選択して保存します。
| システムバージョン | 設定の場所 | 期待される結果 |
|---|---|---|
| macOS 12 | システム環境設定 → セキュリティとプライバシー → 一般 | パネルのロックを解除すると、ブロックされたアプリと許可ボタンが表示される |
| macOS 13 | システム設定 → プライバシーとセキュリティ | ページ下部に直近のブロックに対応するセキュリティ警告が表示される |
| macOS 14 | システム設定 → プライバシーとセキュリティ → セキュリティ | 「このまま開く」を確認すると、起動確認ダイアログが再び表示される |
| macOS 15 | システム設定 → プライバシーとセキュリティ | 管理者による認証が完了すると、アプリは通常の起動処理に入る |
ネットワーク拡張、システムプロキシ、TUN権限の選び方
アプリが開くのは、グラフィカルインターフェースの起動検査を通過したことを意味するだけです。通信をXrayコアへ渡すには、トラフィックの引き継ぎ方式を決める必要があります。システムプロキシはmacOSのプロキシ設定に従うアプリに主に作用します。TUNは仮想ネットワークインターフェースを作成してルーティングを変更するため、対象範囲が広く、より高い権限が必要です。その分、他のネットワークツール、フィルター、企業による構成の影響も受けやすくなります。
初回のトラブル対処は、通常のローカルプロキシから始め、次にシステムプロキシ、最後にTUNを試すことをおすすめします。最初からすべてを有効にすると、ログにノードのハンドシェイク成功が表示されても、ウェブ通信の失敗原因がDNS、ルーティングテーブル、ネットワーク拡張、ノードのどれなのか判別しにくくなります。
ローカルプロキシのみ
Xrayを127.0.0.1上のポートで待ち受けさせるだけで、システムのネットワーク設定は変更しません。ブラウザーに手動でプロキシを設定し、コアが正常か確認できます。
適している用途:初回起動、ポートとノードの接続テスト
システムプロキシ
おすすめv2rayNがmacOSのHTTP、HTTPS、またはSOCKSプロキシ設定を書き換えます。必要な権限と影響範囲が比較的明確です。
適している用途:日常のブラウジング、アプリが安定して動作することの確認
TUNモード
仮想インターフェースを介してより多くの通信を引き継ぎます。管理者の承認が必要で、デフォルトルート、DNS、バイパスルールが変更される場合があります。
適している用途:システムプロキシを参照しないプログラム、全トラフィックの振り分け
- macOS 13〜14では「システム設定」→「ネットワーク」→「VPNとフィルタ」を確認し、無効なフィルターがネットワーク経路を占有し続けていないか確認します。
- macOS 15では「システム設定」→「一般」→「ログイン項目と機能拡張」でネットワーク拡張の状態を確認できます。現在のビルドが実際に拡張機能を登録している場合のみ、一覧に該当項目が表示されます。
- TUNを有効にした際に管理者認証画面が表示されたら、要求元のプロセスが現在の操作と一致するか確認してから、このMacの管理者アカウントで許可します。
- 会社が管理するデバイスでは、構成プロファイルによってネットワーク拡張が制限される場合があります。その場合、ボタンを変更できないことがあるため、デバイス管理者にポリシーの調整を依頼してください。
- TUNを無効にした後は、仮想インターフェースとルートが解除されるまで数秒待ってからシステムプロキシへ切り替えます。短時間に連続してオンとオフを切り替えないでください。
結論:まずシステムプロキシで動作基準を作る
127.0.0.1:10808で正常に転送でき、システムプロキシでも対象サイトにアクセスできるのに、TUNを有効にした時だけ通信できなくなる場合は、サブスクリプションやプロトコルのパラメーターを変更する必要はありません。ネットワーク拡張、DNS、ルーティングの競合を確認してください。
sudo要求、Xrayコア、ローカルポートのトラブル対処
TUNが仮想インターフェースを作成したり、ルートを書き込んだり、DNSを変更したりする際、システムが管理者の承認を求めることがあります。sudoは接続プロトコルではなく、ノードの速度を上げるものでもありません。保護されたネットワーク設定を現在の操作で変更できるようにするだけです。通常のシステムプロキシでは管理者権限を継続的に保持する必要はないため、起動のたびに承認を求められる場合は、TUNが自動的に有効になっていないか、前回の終了時にネットワーク状態が復元されず残っていないか確認します。
見慣れない警告から管理者コマンド全体をコピーしないでください。まず要求をキャンセルし、TUNを無効にして、通常モードでv2rayNが起動できることを確認します。その後TUNを再び開き、クリックした操作に続いて認証画面が表示されるか観察します。要求された時刻、アプリ名、操作内容が一致しない場合は、承認を中止してアプリの入手元と実行ログを再確認してください。
アプリ内の確認手順
1. 「設定」→「パラメーター設定」→「Core タイプ」→ Xrayを選択
2. ローカルの待受アドレスが127.0.0.1か確認
3. SOCKSまたは混合プロキシのポートを確認(一般的な値は10808)
4. 設定を保存したらコアを再起動し、デバイス全体を何度も再起動しない
ターミナルで読み取り専用の確認
lsof -nP -iTCP:10808 -sTCP:LISTEN
scutil --proxy
netstat -rn | head -n 20
lsofに出力がある場合は、待受プロセスが現在のv2rayNまたはXrayに属しているかを確認します。別のプログラムが使用している場合は、そのプログラムを終了するか、パラメーター設定で10818など未使用のポートに変更し、システムプロキシも同じ値に更新します。scutil --proxyでは、現在のシステムプロキシが想定したローカルアドレスを指しているか確認できます。メニューバーのアイコンだけで設定済みと判断しないでください。
- サーバー一覧から、設定が明確で最近も利用できたノードを選び、アクティブサーバーに設定します。
- 実行ログを開き、Xrayコアを一度再起動して、「address already in use」のようなポート競合メッセージがないことを確認します。
- 設定のプロトコルとCore タイプが一致しているか確認します。VLESSやVMessなどの設定は、現在のXrayコアで処理することをおすすめします。
- まずルーティングの振り分けを無効にし、最も単純なプロキシ経路で接続を確認します。成功したらgeosite、geoip、カスタムルールを戻します。
- システムプロキシが残っている場合は、まずv2rayNでシステムプロキシを無効にしてアプリを終了し、最後にmacOSのネットワーク設定でプロキシ項目を確認します。
結論:認証成功はコアの待受開始を意味しない
管理者認証で解決するのは、システムレベルのネットワーク変更権限だけです。最終的には、Xrayログ、ローカルポートの待受、システムプロキシの参照先という3つの結果を基準にします。いずれか一つでも欠けると、ブラウザーでは接続タイムアウトとして表示されることがあります。
アイコンが消える、ウィンドウが表示されない、「アプリが壊れています」と表示される場合
v2rayNのアイコンがDockに数秒表示されて消える場合は、まずmacOS標準の「コンソール」を開き、クラッシュレポートでv2rayNまたは関連するコアプロセス名を検索します。アーキテクチャの不一致、動的ランタイムライブラリの読み込み失敗、設定ファイルの解析エラーは、いずれもメインウィンドウが表示される前に発生します。この段階ではシステムプロキシを変更しても意味がありません。
「アプリが壊れています」という表示も、すぐにセキュリティ許可の問題と決めつけないでください。ダウンロードが完了していない、解凍ツールがパッケージ構造を変更した、アプリが読み取り専用の場所にある、プロセッサに合わないビルドを選んだ、といった原因でも似た表示が出ます。現在のコピーを削除し、デバイスのアーキテクチャに合うバージョンを再ダウンロードして、システム標準の方法で解凍してから「アプリケーション」へ移動してください。
「このまま開く」をクリックしても元の警告に戻る場合
許可した対象が、ダウンロードフォルダ内の別コピーではなく「アプリケーション」フォルダ内のv2rayNであることを確認します。重複コピーを削除し、対象アプリをもう一度ダブルクリックしてから、「システム設定」→「プライバシーとセキュリティ」で再度許可します。
Dockにアイコンはあるのに、メインウィンドウが見つからない場合
まずメニューバーにv2rayNのステータスアイコンが表示されていないか確認し、Command+Tabでアプリを切り替えます。それでもウィンドウが表示されない場合はプロセスを終了し、古い設定フォルダを一時的に移動して、ウィンドウ状態や設定解析が原因か確認します。
起動するたびに管理者パスワードを求められる場合
v2rayNでTUNが自動起動に設定されていないか確認します。TUNを無効にして一度再起動し、通常のシステムプロキシでは権限を求められなくなるか確認します。そうなれば、要求元は仮想インターフェースまたはルート変更の処理です。
システムプロキシを有効にしてもウェブがタイムアウトする場合
lsof -nP -iTCP:10808 -sTCP:LISTENを実行してポートを確認し、Xrayログで起動が完了しているか確認します。実際のポートが10808でない場合は、パラメーター設定でローカルポートとシステムプロキシの値を統一します。
TUNを有効にするとすべてのネットワークが切断される場合
直ちにTUNを無効にし、仮想インターフェースが解除されるまで待ってからシステムプロキシを復元します。その後、他のネットワークフィルターを無効にし、DNSとルーティングルールを確認します。通常のプロキシが使えることを確認してから、TUNだけを個別にテストしてください。
復元後はこのチェックリストで接続を確認する
問題を解決したら、アプリの起動、コアの待受、システムプロキシ、ノード接続、ルーティングの振り分けを順に確認します。メニューバーのアイコンが変わっただけでは、すべての経路が正常とは限りません。同様に、ブラウザーで一つのウェブページを開けても、TUN、DNS、バイパスルールが想定どおり動作しているとは限りません。
まずサーバーを一つ選び、複雑なルーティングを無効にして基本的なアクセスをテストします。その後、サブスクリプショングループと振り分けルールを戻します。特定のルールを復元した後に再び通信できなくなった場合は、macOSのセキュリティ権限ではなく、ルールの順序、ドメインセット、アウトバウンドタグに原因を絞り込めます。
- アプリ層:v2rayNのメインウィンドウを2回続けて正常に開け、終了後も異常な警告が残らない。
- コア層:Xrayログで設定の読み込みが完了し、ローカルの127.0.0.1:10808またはカスタムポートが待受状態になっている。
- プロキシ層:
scutil --proxyに表示されるアドレスとポートが、v2rayNのパラメーター設定と一致している。 - サブスクリプション層:更新後のサーバー一覧に内容があり、現在のサーバーのプロトコル、アドレス、ポート、通信パラメーターがそろっている。
- ルーティング層:直接接続、プロキシ、ブロックのルールを順に戻し、上から順に照合した際に誤ったアウトバウンドへ先に一致しないことを確認する。
- TUN層:有効にすると仮想インターフェースが正常に作成され、無効にするとデフォルトルートとDNSが復元され、通信断が残らない。