この記事は、v2rayNのデスクトップ版をダウンロードしたものの、macOSで初回起動時にセキュリティ警告が表示される方や、起動後にシステムプロキシを設定できない方を対象としています。まずアプリの入手元とバージョンを確認し、「プライバシーとセキュリティ」で許可します。通常の許可で解決しない場合のみ隔離属性を削除し、最後にコア、待ち受けポート、システムプロキシ、ファイアウォールの4点から接続を確認します。
まず、どの段階でブロックされているか確認する
macOSでは、ブラウザからダウンロードして解凍したアプリを初めて開くと、署名や入手元、隔離属性が確認されます。「開発元を確認できません」という警告は、通常アプリのコードが実行される前に表示されるため、この段階でサブスクリプション、ノード、ルーティング、DNSを変更しても解決しません。まずシステムで明示的に起動を許可してから、v2rayNの設定を進めてください。
v2rayNのメインウィンドウが表示された後に「受信ネットワーク接続を許可しますか」と尋ねられる場合、起動時のチェックは通過しており、問題はファイアウォール権限にあります。この権限は主にローカルの待ち受けポートやLAN共有に影響します。受信接続を拒否しても、通常はv2rayNからリモートへの送信接続まで禁止されるわけではありませんが、他のアプリからv2rayNが開いたローカルプロキシポートへ接続できなくなることがあります。
ウィンドウとコアは起動し、ノードテストにも結果が出るのに、ブラウザが直接接続する、またはネットワークにアクセスできない場合もあります。これはインストール時のブロックではなく、システムプロキシが設定されていない、プロキシポートと現在の待ち受けポートが一致していない、古いプロセスがポートを使用しているといった原因が一般的です。3種類の問題を切り分け、アプリの削除やサブスクリプションの再インポートを繰り返さないようにしましょう。
プライバシーとセキュリティで許可する
おすすめシステム設定に今回の起動許可を記録します。対象は直前にブロックされたv2rayNだけです。
適しています:初めて「開発元を確認できません」または「使用がブロックされました」と表示された場合
右クリックで開く
Finderのコンテキストメニューからもう一度開きます。システムのバージョンによっては、「開く」ボタン付きの確認ダイアログが表示されます。
適しています:ダブルクリックすると「閉じる」だけが表示されるが、アプリ名と入手元を確認できている場合
隔離属性を削除する
ターミナルで指定したアプリパッケージのダウンロード隔離フラグを削除します。サブスクリプション、ルーティング、コアの設定は変更されません。
適しています:通常の許可後も繰り返しブロックされ、アプリのパスを確認済みの場合
プライバシーとセキュリティで初回起動を許可する
解凍したv2rayN.appを「アプリケーション」フォルダへ移動してから、初回起動することをおすすめします。ダウンロードフォルダや圧縮ファイルのプレビューから直接実行すると、パスが変わったり、コンポーネントを書き込めなかったり、次回起動時に再びチェックされたりすることがあります。移動後にアプリを一度ダブルクリックし、システムにブロック記録を作成させます。
-
ブロック記録を作成する
「アプリケーション」フォルダでv2rayNをダブルクリックし、「開発元を確認できません」などのシステム警告が表示されたら「OK」または「キャンセル」をクリックします。すぐにアプリを削除しないでください。
-
セキュリティ設定を開く
Appleメニューから「システム設定」→「プライバシーとセキュリティ」を開き、「セキュリティ」セクションまでスクロールして、直前にブロックされたv2rayNの記録を探します。
-
このまま開く
「このまま開く」をクリックし、システムの指示に従ってユーザーアカウントを認証します。続いて確認ダイアログが表示されたら、もう一度「開く」をクリックします。
-
ネットワーク接続を許可する
受信ネットワーク接続を許可するか尋ねられた場合、普段は本機だけで使う場合でも、まず許可して構いません。後から「システム設定」→「ネットワーク」→「ファイアウォール」→「オプション」で変更できます。
-
コアを確認する
v2rayNの「設定」→「パラメーター設定」→「Core タイプ」を開き、選択したコアが現在のノードプロトコルに合っていることを確認してから、保存してコアを再起動します。
macOS 12では項目名が少し異なり、通常は「システム環境設定」→「セキュリティとプライバシー」→「一般」から進みます。「このまま開く」ボタンが表示されない場合は、Finderに戻ってv2rayNをもう一度ダブルクリックし、新しいブロック記録を作成してからすぐにセキュリティ設定を開いてください。このボタンは、直近にシステムがブロックしたアプリに対してのみ表示されます。
Finderでv2rayN.appをControlキーを押しながらクリックし、「開く」を選んで、確認ダイアログでも「開く」を選択する方法もあります。直接ダブルクリックする場合とは異なる手順ですが、すべてのシステムバージョンで同じボタンが表示されるとは限りません。右クリックで開いても「閉じる」しか表示されない場合は、セキュリティ設定に戻って対処し、起動を何度も繰り返さないでください。
ネットワーク接続の警告とシステムプロキシが反映されない問題
v2rayNの起動後は、本機のループバックアドレスでプロキシポートを待ち受け、ブラウザやシステムプロキシからそのポートへリクエストを送ります。確認時は「コアが待ち受けているか」と「システムがその待ち受けポートを使っているか」を分けて考える必要があります。前者はローカルプロキシサービスの有無を、後者はアプリの通信が実際にプロキシを経由しているかを示します。
ポート番号は、必ずv2rayNの現在の画面に表示されている値を基準にしてください。10808はよくある設定例であり、すべてのバージョンや移行済み設定で固定されているわけではありません。パラメーター設定に10809、10810など別のポートが表示されている場合は、システムプロキシとターミナルのテストコマンドにも同じ番号を指定します。
- まず実行ログを確認:コアを起動したら、ログにポートの競合、設定の解析失敗、コアファイルを実行できないエラー、ノード接続失敗がないか確認します。ログにエラーがある場合は、まずコア側を修正し、システムプロキシを何度も切り替えないでください。
- 次にシステムプロキシを確認:「システム設定」→「ネットワーク」→現在使用中のネットワークインターフェース→「詳細」→「プロキシ」を開き、Webプロキシ、セキュアWebプロキシ、SOCKSプロキシが127.0.0.1を指し、v2rayNのポートと一致しているか確認します。
- プロキシモードを確認:v2rayNが現在「システムプロキシを解除」に設定されている場合、ブラウザはローカルポートを自動的に使用しません。「システムプロキシを設定」に切り替えてから、ブラウザを再起動してテストします。
- LAN待ち受けを確認:本機だけで使う場合は、127.0.0.1での待ち受けを優先してください。同じLAN上の他の端末から接続する必要が明確な場合のみ、LANからの接続を許可し、ファイアウォールのルールも確認します。
- 古いプロセスを除外:アプリが異常終了した後、古いコアがポートを使い続けることがあります。まずv2rayNを終了し、アクティビティモニタで該当するコアプロセスを終了してから、もう一度起動します。
通常の許可で解決しない場合に隔離属性を削除する
セキュリティ設定で「このまま開く」を実行しても、起動するたびにブロック警告が表示される場合は、アプリパッケージにダウンロード時の隔離属性が残っていないか確認します。以下のコマンドは、アプリが「アプリケーション」フォルダにあり、名前がv2rayN.appである場合にのみ使用してください。コマンドを入力する前に、Finderで実際のパスを確認します。
xattr -p com.apple.quarantine "/Applications/v2rayN.app"
コマンドが隔離情報を1行返す場合、その属性が存在します。対応する属性がないと表示された場合は削除操作は不要です。アプリパッケージの権限、コアの起動ログ、ダウンロードファイルの完全性を確認してください。パスに間違いがないことを確認したら、このアプリパッケージから隔離属性を再帰的に削除できます。
xattr -dr com.apple.quarantine "/Applications/v2rayN.app"
実行後にもう一度確認し、通常は隔離情報が表示されなければ完了です。
xattr -p com.apple.quarantine "/Applications/v2rayN.app"
アプリを別のフォルダに置いている場合、「/Applications/v2rayN.app」をそのまま入力しないでください。Finderからv2rayN.appをターミナルウィンドウへドラッグすると、実際のパスが自動入力されます。その後、パスの両側にある引用符を残してください。パスにスペースが含まれる場合、引用符を削除してはいけません。
ターミナルでポートの待ち受けを確認する
起動の許可が完了したら、lsofで例としてポート10808を確認できます。実際のポートが異なる場合は、コマンド内の数字を置き換えてください。v2rayNのコアプロセスがLISTEN状態になっていれば、ローカルプロキシの入口が確立されています。
lsof -nP -iTCP:10808 -sTCP:LISTEN
出力がない場合は、v2rayNに戻り、「設定」→「パラメーター設定」でローカル待ち受けポートとCore タイプを確認し、コアのログも確認します。10808を別のプログラムが使用している場合は、そのプログラムを終了するか、v2rayNで未使用のポートに変更してください。変更後はシステムプロキシも同じポートに更新する必要があり、片方だけ変更してはいけません。
システムプロキシが反映されない場合の確認手順
システムプロキシの問題は、ノードの停止と誤認されがちです。まずコアが正常に起動していること、次にローカルポートが存在することを確認し、その後macOSの現在のプロキシ状態を読み取り、最後に外部リクエストをテストするのが合理的です。これにより、問題をノード、コア、ローカルポート、システム設定のいずれかに切り分けられます。
scutil --proxy
出力ではHTTPEnable、HTTPSEnable、SOCKSEnableと、それぞれに対応するProxy、Portフィールドを確認します。有効な項目の値は通常1で、アドレスは127.0.0.1、ポートはv2rayNの現在の設定と一致している必要があります。すべてのEnable項目が0なら、システムプロキシは有効になっていません。ポートが古い値のままなら、パラメーター変更後にシステムプロキシへ再反映されていません。
- v2rayNでまずシステムプロキシを解除し、数秒待ってからシステムプロキシを設定します。古い設定が残るのを防げます。
- ブラウザを完全に終了してから再起動します。起動中のアプリが古い接続を使い続けることがあるため、ページを更新するだけでは新しいプロキシを確認できません。
- 現在アクティブなネットワークインターフェースを確認します。有線と無線ではプロキシ設定が異なる場合があるため、使用中のインターフェースを開いて確認してください。
- システムプロキシを書き換える他のネットワークツールを一時的に終了し、複数のプログラムがアドレスやポートを上書きし合うのを防ぎます。
- ノードテストに失敗する場合は、サブスクリプションの更新、現在のコアがノードプロトコルをサポートしているか、システムの日付とタイムゾーンが正しいかを確認します。
VLESS、VMess、Trojan、Shadowsocksのノードでも、システムプロキシ層から見えるのはローカルのHTTP、SOCKS、または混合プロキシポートだけです。リモート側のプロトコルがmacOSのプロキシ設定画面に直接表示されることはありません。プロトコルの解析と通信は、v2rayNが選択したコアが処理します。そのため、システムプロキシのアドレスが正しくてもコア設定に失敗していれば、Webページは開けません。
ルーティングモードも確認結果に影響します。ルールベースの分岐を有効にすると、直接接続される宛先とプロキシを経由する宛先が混在します。インストールや権限の問題を調べる際は、まずコアのログで実際に使われたアウトバウンドを確認し、複数の宛先で検証してください。1つのページにアクセスできるかどうかだけで、システムプロキシの動作を判断しないでください。
よくある問題と復旧方法
「このまま開く」を押したのに、次回も警告が表示されるのはなぜですか?
まず起動しているのが「アプリケーション」フォルダ内の同じv2rayN.appであり、ダウンロードフォルダに再解凍したコピーではないことを確認します。パスが同じなら、xattrで隔離属性を確認してください。属性がない場合は、更新のたびに新しいアプリパッケージへ置き換わっていないか確認します。
ネットワーク接続の警告で「拒否」を押してしまっても変更できますか?
できます。「システム設定」→「ネットワーク」→「ファイアウォール」→「オプション」を開き、v2rayNまたは該当するコアの受信接続権限を変更してください。変更後はv2rayNとコアプロセスを終了してから、もう一度起動します。
v2rayNは接続済みなのに、ブラウザが直接接続するのはなぜですか?
現在のプロキシモードがシステムプロキシに反映されているか確認し、scutil --proxyを実行してアドレスとポートを照合します。ブラウザに独自のプロキシルールが設定されている場合は、macOSのシステム設定を迂回していないかも確認してください。
ログにポートが使用中と表示された場合はどうすればよいですか?
lsofで使用中のプロセスを確認します。古いコアを終了するか、「設定」→「パラメーター設定」で別のローカルポートに変更できます。変更後はコアを再起動し、システムプロキシも再設定して、両方のポートを一致させてください。
メインウィンドウは開くのに、コアがすぐ終了する場合はどうすればよいですか?
まず「設定」→「パラメーター設定」→「Core タイプ」がノードプロトコルと一致しているか確認し、次にログの最初のエラーを確認します。設定の解析失敗ならノードパラメーターを、権限エラーならアプリのフォルダとコアファイルを確認してください。起動を繰り返すだけでは解決しません。
復旧手順は、アプリのパスを固定し、プライバシーとセキュリティで一度起動を許可し、必要なネットワーク接続を許可し、コアが待ち受けを開始したことを確認してから、システムプロキシを同じローカルポートへ向ける、という流れにまとめられます。各段階で対応する確認を行う方が、サブスクリプション、ルーティング、DNS、ポートを同時に変更するより原因を特定しやすくなります。