まず、Gatekeeperによるアプリのブロック、プロキシ設定の未反映、TUNの起動失敗を切り分けます。インストーラーの入手元とCPUアーキテクチャを確認したうえで、対象アプリだけをシステム標準の方法で許可してください。最初に通常のシステムプロキシで接続を確認し、その後必要に応じてTUNやヘルパーツール、ネットワーク拡張の許可を設定します。初回インストール時にもアップデート後の再ブロック時にも役立つ手順です。システムのセキュリティ機能を先に無効にする必要はありません。
1. まず警告の種類を確認:開発元の検証とネットワーク権限は別の問題
「開発元を検証できません」という警告は、アプリの起動時にmacOSのGatekeeperが表示するものです。この時点ではv2rayNがまだ起動していない可能性があります。サブスクリプションの調整、Xrayへの切り替え、DNSの変更では起動ブロックを解決できません。まず警告の原文を控え、内容に応じて対処しましょう。別々の問題を一緒に扱わないことが大切です。
- 「開発元を検証できません」または「Appleでは、悪質なソフトウェアかどうかを確認できません」:ダウンロード元が信頼できることを確認し、「プライバシーとセキュリティ」に対象アプリの許可項目が表示されているか確認します。
- 「コンピュータに損害を与える可能性があります」またはマルウェアを検出したという警告:アプリを開かないでください。通常の開発元検証の警告として扱ったり、警告を回避したりしてはいけません。
- 「アプリが壊れているため開けません」:まず再ダウンロードして解凍し直し、CPUアーキテクチャとシステム要件を確認してください。この警告だけでは、権限の問題とは断定できません。
- ウィンドウは開くが、Webサイトに接続できない:起動時の検査は通過しています。次にコア、ノード、ローカルポート、システムプロキシを確認しましょう。
「受信ネットワーク接続を許可」と「システムプロキシを設定」は別の操作です。前者は通常macOSのファイアウォールに関係するもので、外部サイトを開くための一般的な必須権限ではありません。後者は現在のネットワークサービスのプロキシ設定を変更します。警告が表示されたら、要求元のアプリ名と用途を確認し、すべての「許可」をインストール手順と考えないようにしましょう。
2. アーキテクチャを確認してから「プライバシーとセキュリティ」で許可
Appleメニューから「このMacについて」を開きます。Appleシリコン搭載Macでは通常arm64版、Intel搭載Macではx64版を選びます。実際にダウンロードページで提供されているアーキテクチャを確認してください。アーキテクチャの不一致と開発元の検証は別々の問題です。何度許可しても、誤ったインストーラーは使えるようになりません。
-
インストーラーを確認する
当サイトのインストーラーページでmacOSと対応するCPUアーキテクチャを選びます。パッケージの形式に応じてディスクイメージを開くかアーカイブを解凍し、圧縮ファイルのプレビュー内から直接実行しないでください。
-
「アプリケーション」に移動する
v2rayNアプリを「アプリケーション」フォルダに移し、Finderから一度起動します。ダウンロードフォルダにある複数のコピーを使い分けて起動しないでください。アップデートや許可の対象が分かりにくくなります。
-
ブロック履歴を確認する
開発元の検証に関する警告が表示されたら、Appleメニュー →「システム設定」→「プライバシーとセキュリティ」を開き、下にスクロールして「セキュリティ」欄にブロックされたアプリ名が表示されているか確認します。
-
今回のみ許可する
「このまま開く」が表示されている場合はクリックし、画面の指示に従ってアカウントのパスワードまたはTouch IDで認証します。その後、確認ダイアログでも開く操作を選びます。ボタン名や確認の順序はmacOSのバージョンによって異なる場合があります。
-
起動結果を確認する
「アプリケーション」に戻り、同じv2rayNをもう一度起動します。ウィンドウが表示されたらネットワーク設定に進みます。引き続きブロックされる場合は警告の原文を控え、ほかのセキュリティ設定を次々に変更しないでください。
上記のメニュー手順は、「システム設定」を使うmacOS 13以降の画面を対象としています。それ以前のmacOSでは「システム環境設定」→「セキュリティとプライバシー」→「一般」を開きます。これは画面上の項目の場所を示すもので、現在のインストーラーが古いmacOSに対応していることを意味しません。最低システム要件はインストーラーの説明で確認してください。
3. 「このまま開く」がない場合の確認方法
許可項目は通常、アプリを開いてブロックされた後に表示され、常に表示されるわけではありません。Finderに戻ってもう一度起動し、すぐに「プライバシーとセキュリティ」を確認してください。該当する履歴がない場合は、警告が本当に開発元の検証に関するものかを確認します。ファイルの破損、システム非対応、マルウェアの警告ではないか見直しましょう。
システム設定から許可する
推奨入手元を確認した対象アプリだけを許可し、ほかのアプリに対するセキュリティチェックは維持します。一度起動をブロックさせてから、「プライバシーとセキュリティ」に表示されたアプリ名を確認してください。
適しているケース:個人所有のMacで初めて起動するとき、アップデート後に再確認を求められたとき
インストーラーを再取得する
まだ使っていない不完全なコピーを削除し、インストーラーを再ダウンロードして最後まで解凍します。「壊れている」という警告、解凍エラー、アーキテクチャの不一致がある場合は、まずファイルや互換性の問題を解決してください。
適しているケース:インストーラーが不完全、古いコピーとの混在、CPUアーキテクチャの選択ミス
管理者にポリシーを確認してもらう
管理者にデバイス管理の制限とアプリの許可範囲を確認してもらいます。アカウントに管理者権限があっても、組織から適用されたセキュリティポリシーを上書きできるとは限りません。
適しているケース:組織管理のMac、設定を変更できない、許可項目がポリシーで制限されている
最初の手段としてGatekeeperを無効にしたり、ダウンロードフォルダ全体の隔離属性を再帰的に削除したりするのは避けてください。変更範囲が広がるうえ、インストーラーの入手元や破損の問題を見落とすおそれがあります。追加の確認が必要な場合は、警告の全文、macOSのバージョン、CPUアーキテクチャ、インストール場所を伝えてください。スクリーンショットを共有する前に、アカウント名や個人のパスを隠しましょう。
4. まずシステムプロキシを確認し、必要な場合だけTUNを有効にする
v2rayNが開いたというだけでは、デスクトップ画面が起動したことしか確認できません。インターネットに接続するには、コアのプロセスが動作し、ノードの設定が正しく、アプリの通信がローカルプロキシに渡されている必要があります。通常のシステムプロキシが影響するのは、システムプロキシ設定に従うアプリが中心です。すべてのプログラムを自動的に経由させるわけではなく、ターミナルのツールが必ずプロキシを使うとも限りません。
確認の順序:通常のプロキシを先に、TUNは後に
通常のシステムプロキシ
- サブスクリプションをインポートし、有効なノードを選んでコアが起動していることを確認します。
- クライアントの「システムプロキシ」メニューから「システムプロキシを自動設定」を選びます。
- 現在のWi-FiまたはEthernetサービスに設定されたプロキシのアドレスとポートを確認します。
- まずブラウザーと、プロキシを明示的に指定したリクエストで接続を確認します。
TUNで通信を取り込む
- システムプロキシに従わない通信も取り込む必要がある場合に限り、有効にします。
- 使用中のクライアントとコアの実装を確認し、必要な権限の種類を判断します。
- 管理者権限の要求、仮想ネットワークインターフェース、ルーティング、DNSの変更が伴う場合があります。
- 起動に失敗した場合は、まずTUNを無効にし、通常のプロキシを切り分けの基準として残します。
通常のプロキシは動作するのにTUNだけが失敗する場合は、アプリを再インストールしたりサブスクリプションをすべて作り直したりする前に、TUNの権限とルーティングを確認してください。
システムプロキシの設定は、「システム設定」→「ネットワーク」→現在使用中のネットワークサービス→「詳細」→「プロキシ」で確認できます。ネットワークサービスごとに設定が保存されるため、Wi-Fiから有線LANに切り替えた場合は、以前のWi-Fi設定ではなく新しいサービスを確認してください。v2rayNでは画面によってメニューの位置が異なる場合があるため、現在の画面に表示されているシステムプロキシの項目を基準にします。
クライアントのローカル待ち受け
- 待ち受けアドレス
127.0.0.1- ポートの例
10808- プロキシの種類
- 現在の待ち受けが対応しているSOCKSまたはHTTPを確認
- 確認場所
- クライアントの設定と起動ログ
10808はこの記事での確認例であり、現在のバージョンの既定値とは限りません。
システムプロキシの設定
- 設定対象
- 現在使用中のネットワークサービス
- サーバー
- ローカルの待ち受けアドレスと同じ
- ポート
- 対応するプロトコルの待ち受けポートと同じ
- 終了時の処理
- クライアントが設定したプロキシを解除したことを確認
SOCKS専用のポートをHTTPプロキシ欄に入力しないでください。混合待ち受けに対応している場合は、実際の対応内容に合わせて設定します。
5. ネットワーク拡張とヘルパーツールの許可:実際に要求された場合だけ対応する
通常のシステムプロキシとネットワーク拡張は別のものです。また、TUNを有効にしても、すべてのバージョンで同じ拡張がインストールされるとは限りません。具体的な仕組みはクライアントのバージョンと選択したコアによって異なります。管理者権限で仮想ネットワークインターフェースを作成する方式や、ヘルパーツールを使う方式があります。実際の実装でシステム拡張またはVPN構成を使用する場合に限り、それに応じた許可が表示されます。
- 管理者パスワードの入力画面が表示された:直前に自分でTUNを有効にした、またはヘルパーツールをインストールしたことで表示されたか確認し、要求元の名前を確かめてください。管理者パスワードをサブスクリプションURL、ノード名、Webフォームに入力してはいけません。
- VPN構成の追加を求められた:現在の操作によって表示されたものかを確認してから、システムの手順に従ってください。通常のシステムプロキシを調べるために、出所不明の構成をあらかじめ追加しないでください。
- システム拡張がブロックされた:案内に従ってシステム設定を開き、開発元と拡張の内容を確認してください。新しいmacOSでは「一般」→「ログイン項目と機能拡張」に管理項目がある場合があります。実際の場所はシステムの案内に従ってください。
- ネットワーク拡張に関する警告が表示されない:許可が不足しているとは限りません。通常のプロキシが動作しているなら、「手順を揃える」ためだけに存在しない拡張を探す必要はありません。
TUNを有効にした後、Mac全体がインターネットに接続できなくなった場合は、まずTUNを無効にし、システムプロキシが停止済みのローカルポートを指していないか確認します。通常の接続が戻ったらログを見直し、権限不足、仮想ネットワークインターフェースの作成失敗、ポートの競合、DNSへの接続失敗を切り分けてください。変更は一度に一つだけ行うと、どの操作が結果に影響したか判断できます。
6. ポートとリクエストの結果から「起動したのに接続できない」原因を探る
以下の値は確認対象を明確にするための例であり、速度テストの結果でも、すべてのバージョンで共通する既定値でもありません。始める前にクライアントの設定とログから実際の待ち受けアドレス、ポート、プロトコルを確認し、コマンド内の例を置き換えてください。
「アプリケーション」→「ユーティリティ」→「ターミナル」を開きます。最初のコマンドで例示したポートがTCP接続を待ち受けているか確認し、2つ目のコマンドではSOCKSプロキシを明示して、プロキシ側で接続先のドメインを名前解決します。該当ポートが実際にSOCKSに対応している場合に限り、2つ目のコマンドを実行してください。テスト先は、自分で接続可能と確認したHTTPSサイトに変更してもかまいません。
lsof -nP -iTCP:10808 -sTCP:LISTEN
curl --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 15 -I https://example.com/
- 待ち受けが見つからない:まず実際のポートが異なっていないか確認し、次にコアの起動ログを調べます。画面が表示されていてもコアが終了していれば、システムプロキシだけが有効のままになっている場合があります。
- 接続がすぐ拒否される:プロキシのプロセスが動作しているか、待ち受けアドレスが正しいか、HTTPとSOCKSのポートを取り違えていないか確認します。
- ローカル接続は成功するが、接続先がタイムアウトする:ノードの状態、サーバーアドレス、システム時刻、ルーティングルールを確認します。開発元の許可を繰り返す必要はありません。
- プロキシを明示したリクエストは成功するが、ブラウザーは失敗する:ブラウザーがシステムプロキシを使う設定か、個別のプロキシ設定がないか、正しいネットワークサービスを選んでいるか確認します。
HTTPステータスコードが返ることは、リクエストに応答があったことを示すだけで、想定したページが表示されたことを保証しません。サイトによってはHEADリクエストを拒否し、403や405を返すため、ステータスコードだけでノードが使えないと判断しないでください。ターミナルの通常のリクエストが失敗しても、プロキシを明示したリクエストが成功する場合があります。コマンドラインツールはmacOSのシステムプロキシ設定を参照しないことがあるため、これだけでシステムプロキシの許可に問題があるとはいえません。
7. アップデート後に警告が繰り返し表示される場合や、終了後に接続できない場合の最終確認
アップデートでアプリの内容が変わると、システムから再確認を求められることがあります。ただし、同じコピーを起動するたびにブロックされる場合は、実際にどこから起動しているか確認してください。Dockに残った古い項目、ダウンロードフォルダにある別のコピー、終了していない古いプロセスがあると、操作対象が想定と異なることがあります。
- v2rayNを完全に終了し、Finderの「アプリケーション」から対象のコピーを開きます。圧縮ファイルやディスクイメージ内の一時的なコピーを起動していないことを確認してください。
- アップデート前にサブスクリプショングループ、現在のノード、ローカルポートを控えておきます。設定の保存場所を確認できていない状態でアプリのデータを削除せず、先にバックアップしてください。
- 新しいコピーだけを対象に、システムの案内に従って再度許可します。古いパスに起動項目やDockの項目が残っている場合は、対象を確認してから削除してください。
- 終了する前にTUNを無効にし、クライアントの「システムプロキシを解除」項目を実行します。異常終了した場合は、現在のネットワークサービスの「プロキシ」に設定が残っていないか確認してください。
- 問い合わせ時は、macOSのバージョン、CPUアーキテクチャ、警告の全文、個人情報を除いたログを添えてください。サブスクリプションURL、UUID、パスワード、サーバーへのアクセス情報は伏せてください。
完了の目安は明確です。アプリを決まった場所から起動できること、コアが正しいポートで待ち受けていること、プロキシを明示したリクエストに応答があること、プロキシが必要なアプリが接続できること、終了後に通常のネットワーク接続が戻ることです。TUNによる通信の取り込みが本当に必要な場合だけ、追加の権限を設定してください。起動ブロック、プロキシ設定、通信の取り込みを別々に解決できます。