Top desktop pick
Subscription groups
Routing rules interface
v2rayN: Desktop setup and everyday management
v2rayN is a good fit if you manage subscriptions and routing on a computer over the long term. The desktop interface brings server lists, subscription groups, and runtime logs together, making it easier to check whether a subscription updated, which server is selected, and whether the system proxy is working. You don’t need to adjust every setting up front: get one configuration working, then add rules as needed.
If you manage multiple subscriptions, use Subscription Groups → Subscription Group Settings to organize names and sources, then update them. Start routing with a preset—for example, choose a suitable ruleset under Routing Settings. Once you’ve confirmed which rules match, edit custom rules as needed. Menu labels may vary slightly between interface versions, so look for settings by purpose rather than following screenshots word for word.
Windows users should distinguish between the desktop and WPF editions. The desktop edition uses a cross-platform interface, making it easier to carry familiar workflows between desktop systems. The WPF edition is for Windows and may suit users already familiar with that interface. Neither edition means better-quality nodes. On macOS or Linux, choose the desktop edition and download the package that matches your processor architecture and system package format.
Enable TUN only when you need it. If apps such as browsers can use the system proxy normally, start with the simpler traffic-routing option. If an app ignores the system proxy, check TUN permissions, DNS, and any existing network tools. After enabling TUN, test local network access and the target app again; a lit toggle alone doesn’t confirm that everything works.
See how to install and launch v2rayN for the first time →
Top Android pick
Xray core
Per-app settings
v2rayNG: Everyday connections on Android
v2rayNG is suited to importing subscriptions, selecting a server, and connecting on Android. Its Xray core is also an important factor when choosing a client: if a node specifically requires Xray features, check that the core included with your version of v2rayNG supports the relevant parameters. A share link importing successfully doesn’t guarantee that every field is configured correctly.
To get started, go to Menu → Subscription Group Settings to add a source, save it, and update the subscription. Then return to the main list and select a configuration. When you connect, Android will ask for permission to use its VPN service. That permission allows the client to route device traffic; it doesn’t mean the remote node is reachable. Test the target app and check the client logs if something goes wrong.
Unlike a desktop system proxy, Android’s system VPN service changes how device traffic is handled. If you want to proxy only certain apps, check whether the per-app settings include or exclude them, then test each one. Android battery optimization can also affect background activity. If the connection drops when the screen turns off, check background restrictions and battery settings before changing subscriptions.
If another tool is already using Android’s system VPN service, resolve the conflict first. Multiple services of this kind generally can’t route traffic at the same time in the same user environment. Test with one client at a time to rule out conflicts when a seemingly valid configuration won’t connect.
Go to the Android downloads section to choose v2rayNG →
Android alternative
v2fly core
Reuse existing configurations
v2flyNG: When you specifically need v2fly compatibility
The main reason to choose v2flyNG is its v2fly core, not its similarity in name to another client. If you have a tested V2Fly configuration or the server documentation specifically targets this core, consider it as an Android alternative. If you’re new and don’t need a particular core, start with v2rayNG to keep the initial setup simpler.
V2Fly and Xray are related parts of the proxy ecosystem, but their capabilities aren’t identical. Even if both support protocols such as VMess, check the transport, security layer, DNS, and routing fields as well. Configurations that rely on core-specific extensions won’t become compatible just by switching to a client with a different name.
Before migrating, keep your existing configuration and test one known-working node in v2flyNG. Check configuration parsing, core startup, and access from the target app in that order, then decide whether to import all your subscriptions. Check the project's latest release notes and system requirements to confirm its maintenance status. “Alternative” doesn’t mean discontinued, and switching cores isn’t a universal troubleshooting fix.
See v2flyNG downloads and compatibility notes →