At a glance

This guide is for users who have downloaded the v2rayN macOS installer but are stuck at first launch or getting connected. First, distinguish developer verification from processor architecture and network permissions, then allow only the specific app. Once the main window opens, check the core listener, system proxy, and local network access separately instead of blaming every issue on one permission setting.

Identify the alert: developer verification is not a network permission

Apps downloaded from a browser usually carry a quarantine flag. On first launch, macOS Gatekeeper checks the app’s signature, notarization, and related security status. “Unable to verify developer” or “Apple cannot check it for malicious software” is a launch check that happens before the proxy core connects. Changing subscriptions, routing rules, or DNS won’t fix an app that won’t open.

“App is damaged,” “will damage your computer,” and “Unable to verify developer” are different alerts and shouldn’t all be handled the same way. If you see a clear malware warning, don’t run the app. If macOS says the app is damaged, first verify the download source, download a fresh complete installer, and check the architecture instead of disabling security checks outright.

What you seeStageWhat to check first
Unable to verify developerFirst-launch app checkVerify the source, then allow this app in Privacy & Security.
This Mac isn’t supportedApp architecture or system requirementsCheck the arm64 and x64 options and the installer’s requirements.
Main window opens, but the core quitsCore startup or configuration loadingCheck the logs for executable, port, and configuration errors.
Prompt to access the local networkAccess to local network devicesAllow access only if you need to reach devices on your local network.
Browser traffic isn’t going through the proxySystem proxy or app configurationCheck the proxy address and active listening port for the current network service.

To check your Mac’s architecture, open the Apple menu in the upper-left corner and select About This Mac. Choose the arm64 build for a Mac with Apple silicon and the x64 build for an Intel Mac. Don’t rely on the computer’s purchase year. Running an app through translation doesn’t mean you chose the right installer; both the client and its bundled core must meet your system’s requirements.

Allow the app: approve only the current v2rayN app

These steps use System Settings as it appears in macOS 13 and later. On older versions, go to System Preferences → Security & Privacy → General; the location and button labels may differ. Before allowing the app, make sure the installer came from the expected download source. A macOS security alert by itself doesn’t prove an app is trustworthy.

  1. Move it to Applications

    Open the disk image or extracted files, then move the v2rayN app to Applications. If you’re running it from the disk image, quit first and reopen it from Applications to avoid confusion about its location and future updates.

  2. Trigger the launch alert

    In Finder, double-click v2rayN. If you see a developer verification alert, close it. Don’t repeatedly launch multiple copies or mistake a startup block for a subscription connection failure.

  3. Open Security settings

    Go to Apple menu → System Settings → Privacy & Security, then scroll down to the Security section. The relevant block notice may appear only after you’ve just tried to open the app.

  4. Approve this app only

    Make sure the notice is for v2rayN, then click Open Anyway and authenticate with your login password or Touch ID if prompted. Select Open in the confirmation dialog. Continue only if you can verify the app’s source and macOS offers this option.

  5. Confirm the app launches

    Open v2rayN from Applications and check the main window and logs. If the app opens but the core reports an error, investigate the core files and configuration instead of changing Gatekeeper settings again.

Two ways to open the app: use the approval in System Settings first

Online guides often present “right-click and open” and approval in Privacy & Security as interchangeable, but behavior varies across macOS versions. In particular, since macOS 15, Control-clicking the app and choosing Open is no longer a reliable way to bypass Gatekeeper. Follow the security notice shown by your version of macOS to make sure you approve the intended app.

Allow in Privacy & Security

Recommended

Try opening the app, then go to System Settings → Privacy & Security, find the corresponding notice, and click Open Anyway. The app being approved is clearly identified, making this the recommended method in this guide.

Best for: a v2rayN app whose source you’ve verified and that macOS lets you approve individually.

Open from Finder’s context menu

On some older macOS versions, you can Control-click the app in Finder, choose Open, and confirm. If macOS still blocks it, handle the alert in Security settings rather than repeating the same action.

Best for: older macOS versions that still offer a one-time confirmation option.

Don’t routinely disable Gatekeeper or recursively remove quarantine attributes from an entire directory. These actions change the scope of security checks and can obscure distinct issues, such as an unknown app source, abnormal package contents, or a system policy that prohibits the app. The steps in this guide don’t require running commands in Terminal to change system-wide security settings.

Network permissions: check system proxy, local network, and firewall separately

After the v2rayN main window opens, you usually still need to start a working core and direct the apps you want to use to the local proxy port. The system proxy controls how apps connect; local network permission applies to devices on the same LAN; firewall alerts usually concern accepting incoming connections. These are separate permissions, and you don’t need to enable all of them just to open a webpage.

Check the system proxy

Where to find it
System Settings → Network → current network service → Details → Proxies
Local address
127.0.0.1, for a proxy listening on this Mac
Port source
Use the v2rayN settings and current core configuration
What it affects
Apps that follow the system proxy settings—not every process

After setting the system proxy in the client, check the result in macOS. Don’t repeatedly overwrite the settings from two different places.

Check local network access

Where to find it
macOS 15 and later: System Settings → Privacy & Security → Local Network
Applies to
LAN routers, other computers, and services on your local network
When to allow
Allow only when you need to access your local network
App isn’t listed
It may not have requested access yet; you don’t need to add it manually

Local network permission is not a master switch for all internet connections. If you’re using a proxy on this Mac only, don’t assume it’s the cause of the problem.

Changing the system proxy may prompt for administrator authorization, depending on the client, system state, and account permissions. Authorize only after confirming the prompt was caused by the action you just took. A standard local proxy connection doesn’t require Full Disk Access or Accessibility permission; don’t enable unrelated permissions just to troubleshoot.

Can’t connect after launch? Check the listener, proxy, then outbound connection

First, select the active server in v2rayN and check the logs to confirm that the core started successfully. Go to Settings → Parameter Settings and review the local listening options; labels and sections may change between versions. The example below uses 10808 as an HTTP or mixed proxy port. It isn’t necessarily the default in every version, and another port may not be available.

127.0.0.1
Loopback address on this Mac, not a LAN address
10808
Example proxy port used in the commands below
15
First macOS version with local network permission settings

If the current port is actually 10808, run these read-only diagnostic commands in Terminal, one at a time. If your port is different, replace the number in the commands first. The last command sends a request to this site through the specified proxy. It tests that one HTTP proxy request; it doesn’t prove that every app or routing rule is working.

lsof -nP -iTCP:10808 -sTCP:LISTEN
scutil --proxy
curl -I --connect-timeout 10 --max-time 20 --proxy http://127.0.0.1:10808 https://v2rayrelease.com/

If an explicit proxy request succeeds but your browser still fails, check whether the browser uses the system proxy, has its own proxy settings, or routes the destination directly. The system proxy doesn’t take over all network traffic, and routing in the core doesn’t change the system proxy setting automatically.

FAQ: blocked again after an update, denied permissions, and proxy settings left behind

Blocked again after an update—do I need to redo all the settings?

A newly downloaded copy of the app may trigger the launch check again. Quit the old instance, confirm the update’s architecture and location, then follow the Privacy & Security steps for the new v2rayN app. Don’t start by deleting your subscription or the entire configuration directory: launch approval and server settings are separate.

I clicked “Don’t Allow” for local network access. How do I change it?

On macOS 15 and later, go to System Settings → Privacy & Security → Local Network, find the app, and change its toggle. Then quit and restart v2rayN before testing access to the LAN resource again. If there’s no entry, don’t change permissions for other apps; first confirm that the task actually requires local network access.

A prompt asks to accept incoming network connections. Should I allow it?

First check whether the prompt is for the client or the core process, and whether other devices need to access a service on this Mac. If you’re using a loopback address to provide a proxy to apps on this Mac, opening access from the LAN shouldn’t be necessary. To review existing firewall rules, go to System Settings → Network → Firewall → Options.

Web pages stop loading after I quit v2rayN. Should I reinstall it?

First check whether the system proxy still points to a local port that’s no longer listening. If it does, restart the client and clear the system proxy, or turn off the settings you enabled in the current network service’s Proxies page. Note any existing corporate proxy settings; don’t delete organization-managed settings just to restore connectivity.

Change one variable at a time while troubleshooting, and record three results: whether the app opens, whether the core is listening, and whether an explicit proxy request succeeds. To investigate further, share your macOS version, processor architecture, and relevant error lines with sensitive details removed. Don’t post a full subscription URL, account token, or server authentication details in public.