Import Subscriptions →
Save the subscription URL provided by your service provider in a group, then update it. A subscription is a way to get configuration, not a client; you still need valid connection details after installing the app.
Choose a client for your device, set up subscription imports and system proxy or TUN, then verify the setup with a real connection test.
Configuration Topics
Save the subscription URL provided by your service provider in a group, then update it. A subscription is a way to get configuration, not a client; you still need valid connection details after installing the app.
Start with the system proxy to test browser access, then decide whether you need TUN. The traffic capture mode determines which apps send traffic through the client; routing rules determine where that traffic goes.
First check whether a connection can be established, then test the target site and exit IP. A single latency reading does not indicate download speed or replace checks for DNS, matched rules, and real-world access.
Servers from multiple sources can be confusing when they appear in one list, especially when updating. In Subscription Group Settings, add a recognizable label, paste the full subscription URL, save, and update. v2rayN lets you filter servers by group; v2rayNG also has a subscription group manager. Subscriptions make bulk refreshes easier than pasting connection links one at a time, but the results depend on what the provider returns. If the list is empty, check the URL, its validity, and your network before reinstalling the client. Subscription URLs often contain access credentials, so hide the full URL in screenshots and support requests.
Subscription Groups and Filtering in Practice →https://example.com/sub?token=xxxxSettings preview. Make changes in the client.
The system proxy is a good first step for testing browsers and apps that follow system proxy settings. Apps that ignore those settings may still connect directly. TUN captures traffic through a virtual network interface and may also require administrator privileges, routing, and DNS changes. In v2rayN, confirm that a standard proxy connection works before enabling TUN mode, so you change fewer variables at once. For a first v2rayNG connection, confirm the system VPN permission prompt. TUN captures more traffic than setting a browser proxy alone, but it cannot fix an expired subscription or incorrect server settings. Before closing the client, make sure the system proxy has been restored.
View Platform Permission Requirements →Routing determines which exit a request uses after it enters the client; it does not make apps use the proxy automatically. To start, choose the built-in Bypass mainland China rules, then add custom domain or IP entries once you understand the results. Compared with routing all requests through the proxy, split routing gives local services, private network addresses, and specific sites their own paths. Custom rules are usually matched in order, so put specific exceptions before broad rules, and check that DNS resolution happens where you expect. After making a change, test the same destination again and note what changed. Avoid switching servers, rules, and DNS settings all at once.
Routing Rules in Practice →The graphical client provides controls and management; the core establishes the connection. v2rayN can manage different cores using the options provided by the client. v2rayNG uses the Xray core, while v2flyNG offers an option based on the V2Fly core. Rather than relying on the client name alone, check whether the core supports the required protocol, transport, and security options. Core settings are not fully interchangeable. Before switching, save your current settings, check your provider's requirements, and test a known-working configuration. Don't change your entire setup just because a core has been updated; switch only to meet a specific compatibility need.
Understand the Client-Core Relationship →TCPing mainly shows whether a connection to the target port is possible. A real connection speed test also uses the proxy chain to reach a test destination. It more closely reflects an actual request than a port reachability check, but results still depend on the test endpoint, network congestion, and server policies. After importing a subscription, test a group of servers, set an active server, then visit a target site in your browser and check the exit IP. If a test times out, check the local port, proxy status, subscription validity, system time, and transport settings in order. One failed test does not mean the client is broken, and low latency does not necessarily mean higher bandwidth.
First Connection and Verification Steps →Download Packages
For desktop devices, start with v2rayN. For Android, start with v2rayNG, and consider v2flyNG if you need the V2Fly core. Match the package to your operating system, processor architecture, and package format—not just the client name in the filename. The links below open the download page at the relevant platform section, where installation requirements are also listed.
The client reads connection settings; it does not include a subscription service. Before installing, get a subscription URL or connection link from your provider, and make sure your device clock is accurate and your network has access. If you already use another proxy tool, stop its traffic capture first to avoid conflicts with ports and system network settings.
The download page offers two desktop options: a modern cross-platform edition and the classic WPF edition. The WPF version retains its familiar layout. Choose based on system requirements and your preferences; there's no need to run both proxy clients just to compare their interfaces.
Install to a directory where you have write access and can keep the files long term, then launch the app as described in the package instructions. Import a subscription and confirm the core runs before enabling the system proxy. If you need TUN, check permissions and virtual network adapter status. Administrator privileges are not a universal fix for connection problems.
Go to Downloads →Check your chip in About This Mac, then choose the Apple Silicon or Intel package. Matching the processor architecture reduces uncertainty from compatibility layers. These packages are not different feature tiers; they are built for different processor platforms.
Install the app in your usual Applications folder. If macOS displays a warning the first time you open it, review the app source and allowed options in Security settings rather than disabling system protections. Check existing network proxy settings before connecting, then test browser access. For TUN, follow the client prompts and current system permission requirements.
Go to Downloads →Start with v2rayNG, which uses the Xray core; choose v2flyNG if you need the V2Fly core. Most recent phones use arm64 packages. If you're unsure of your device's architecture, check the universal package details on the download page and compare them with your device information.
Grant only the permissions needed by the trusted source you're installing from. Add a subscription group, update the configuration, select a server, and tap Connect to approve the system VPN prompt. Usually, only one app can control this VPN connection at a time. If it disconnects in the background, check battery optimization and background activity limits instead of repeatedly importing the same subscription.
Go to Downloads →Choose deb or rpm to match your distribution's package system, and check whether your architecture is x64 or arm64. deb packages are common on Debian and Ubuntu; rpm packages are common on Fedora. For derivatives, check their package and dependency requirements.
After installing, confirm the client launches and listens locally in your desktop session, then check whether your browser follows the desktop environment's system proxy settings. Apps can handle proxies differently, so browser access doesn't mean every process is using the proxy. Set up any additional permissions and routing for TUN only if needed, rather than running all desktop tasks with elevated privileges.
Go to Downloads →Quick Start Preview
Change one thing at a time. First import the configuration, then choose what traffic to capture, and finally test a real request. If something goes wrong, you'll know which step to revisit.
In v2rayN, open Subscription Group Settings, label the source, paste the full subscription URL, save, and select Update Subscription. In v2rayNG, do the same from the subscription group menu. When copying, check for leading or trailing spaces, missing parameters, and line breaks. A website login URL usually isn't a subscription URL.
After updating, make sure servers appear in the selected group. If the list is empty, check the update message, confirm the service is valid, and make sure your network can reach the subscription endpoint. Don't rush to delete existing settings; back them up and test the new group separately so you retain a working reference while troubleshooting.
Run a real connection test for the server you plan to use, then set it as active. On desktop, start with automatic system proxy configuration and a default or built-in routing option. On Android, select a configuration, tap Connect, and approve the system VPN prompt. A connected status only means the traffic capture process has started; test actual access next.
System proxy, TUN, and routing are separate settings. The first two control how traffic enters the client; routing determines its exit. Once a regular browser works, enable TUN or add rules if your apps require them. If you have other proxy, network acceleration, or VPN tools installed, pause their traffic capture first.
Open a destination that requires a proxy and check that the page loads fully, then use a trusted exit IP lookup service to confirm the traffic path. Before testing, consider browser cache and proxy extensions; use a fresh browser session if needed. If a real connection test succeeds but the page doesn't load, compare the test and page destinations, DNS, and routing before switching servers.
Once the setup works, note the active group, proxy mode, and routing choice as a baseline for future changes. If a problem occurs, restore this combination first, then check whether the subscription has expired, the local port is in use, and the system clock is accurate. When asking for help, share redacted error messages and steps, but never reveal your subscription URL or connection credentials.
Static interface preview. Changes here won't affect your device's network. Configure settings in the client.
If a subscription update fails, check the URL and network access first. If servers appear but won't connect, check server settings and core logs. If only one app fails, check traffic capture and routing. Narrow down the issue before changing settings.
Find Common Issues by Symptom →Open-Source Projects and Maintenance
V2Ray is not the name of one fixed-interface app. The Project V ecosystem covers proxy protocols, transport methods, and routing. Graphical clients bring these capabilities together through controls for subscriptions, servers, proxy modes, and logs. Understanding the distinction is more useful than memorizing where a button is.
This site brings together download links and setup guides for three clients. The client app, core projects, and subscription providers each have different roles: clients don't create a working service, core protocol support doesn't guarantee that server settings are correct, and only the provider can confirm whether a subscription is valid.
Project V provides background on the V2Ray ecosystem. V2Fly continues to maintain V2Ray-related projects, while Xray is another core that evolved from related technologies. They share some concepts, but their feature development, protocol support, and configuration details aren't identical. The core you use must support the protocols, transport types, and security options covered in a guide.
If a configuration imports successfully but won't run, check protocol compatibility with the core instead of just whether the client displays the entry. Consider the provider's setup instructions, the core selected in the client, and the error logs together. Similar terminology doesn't mean settings can be swapped directly.
v2rayN is an open-source graphical client for desktop systems, designed to manage subscriptions, system proxy, and routing in one place. v2rayNG is for Android and uses the Xray core to import configurations and manage connections on mobile devices. v2flyNG is also for Android and offers an alternative for users who need the V2Fly core. All three are clients, not subscription services.
Choose a client based on your device first, then check the protocols and transport settings your provider uses. If you don't have a specific compatibility requirement, use v2rayN on desktop and v2rayNG on Android. If your current setup works, keep it rather than switching just because of a different client name. Interfaces and export formats can vary, so confirm you can reimport your subscription before migrating.
Open source means a project's source code is available under its license terms; using, modifying, and redistributing it must comply with that license. Clients and cores are separate projects, so one project's license doesn't automatically apply to the whole stack. Open-source status also doesn't replace careful checks of download sources, system permissions, and connection settings.
Subscription URLs, connection links, and exported configuration files may contain access credentials. Hide full URLs, account identifiers, and authentication details in screenshots. Check public logs for sensitive information before sharing them. Store backups securely, and remove saved configurations and automatic update tasks before replacing or handing off a device.
Client updates can change the interface, compatibility, or core bundles; subscription updates fetch server configurations from your provider. They solve different problems. If a server has expired, check your subscription status. If a protocol option isn't supported, the client or core may lack the required capability. Not every connection failure means the app needs an update.
Before updating, save your subscription groups, routing rules, and any necessary custom settings, then review installation requirements and release notes. After updating, test with your last known working configuration before restoring other settings. If only one app has an issue, keep the other verified settings unchanged and check how that app handles proxies. A stable, repeatable record of steps is more useful for troubleshooting than changing several settings at once.
Technical Notes
Once your basic connection works, explore guides for the task at hand. For first-time installs, focus on the runtime environment and initial settings. To choose a server, learn about real connection tests and checking actual access. For custom traffic paths, move on to domains, IP addresses, and rule order. Each guide focuses on a specific task so you can verify settings one at a time.
A practical guide to first-time v2rayN setup on Windows and macOS, from choosing an install folder and runtime to core settings, system proxy, and launching at startup.
Read the Guide →Learn how to tell TCPing apart from a real connection speed test, choose a server based on results, and verify proxy traffic through browser access and an exit IP lookup.
Read the Guide →Learn how to configure domain and IP rules in v2rayN, use geosite/geoip, and set up split routing to bypass mainland China, proxy all traffic, or send selected destinations direct.
Read the Guide →