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 see | Stage | What to check first |
|---|---|---|
| Unable to verify developer | First-launch app check | Verify the source, then allow this app in Privacy & Security. |
| This Mac isn’t supported | App architecture or system requirements | Check the arm64 and x64 options and the installer’s requirements. |
| Main window opens, but the core quits | Core startup or configuration loading | Check the logs for executable, port, and configuration errors. |
| Prompt to access the local network | Access to local network devices | Allow access only if you need to reach devices on your local network. |
| Browser traffic isn’t going through the proxy | System proxy or app configuration | Check 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.
-
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.
-
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.
-
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.
-
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.
-
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
RecommendedTry 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.
- For this Mac only: Prefer a loopback address and leave “Allow connections from devices on the local network” turned off. You don’t need to accept incoming connections for web browsing on this Mac.
- To accept connections from other devices: In addition to permissions, check the listening address, the client’s LAN connection settings, the macOS firewall, and client isolation on your router. Allowing local network access doesn’t create a proxy service by itself.
- Using virtual network adapter mode: This is a separate connection method and may require elevated privileges or additional system components. First get the standard system proxy working. Don’t switch between multiple modes while diagnosing a single issue.
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.
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/
- No output from the first command: No TCP listener was found among the processes visible to your user. First check for a typo in the port, a stopped core, or an address-in-use error in the logs.
- The second command shows a different port: The system proxy may still point to an old instance. Set the system proxy again in v2rayN and confirm which network service is active.
- The third command reports a connection refused: Check the local listener first; don’t immediately switch subscriptions. If the port provides SOCKS only, use the matching proxy protocol. Not every port is an HTTP proxy.
- The proxy connects, but the remote server times out: Check the server address, authentication details, transport settings, and logs. The app has already passed its launch check, so repeating the approval steps usually won’t help.
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.