v2rayN: A Multi-Platform GUI for Xray and sing-box That Puts Core Choice in Your Hands
A GUI client for Windows, Linux and macOS, support Xray and sing-box and others.
At a glance
- What is it?
- v2rayN is a C# desktop client that wraps Xray, sing-box, and other proxy cores into a single Windows, Linux, and macOS interface. Its strength is core flexibility, but its documentation leaves setup details to a wiki, and Linux support has gaps on x86.
- Who is it for?
- Adopt v2rayN if you manage proxy subscriptions across Windows, Linux, or macOS and want one interface that can switch between Xray and sing-box cores without editing JSON files. Skip it if you need a fully supported x86 Linux build, because the README lists Linux x64 as supported but x86 is missing, and if you prefer a single-core tool with deeper documentation.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
One GUI, Many Proxy Cores
v2rayN solves a practical problem for people who run proxy clients on desktop operating systems. Instead of installing a separate GUI for Xray, another for sing-box, and yet another for a third core, you get one interface that can drive several. The README names Xray and sing-box explicitly, then points to a wiki page titled 'List of supported cores' for the rest. That wiki link is the only evidence of the full list, so the exact set of cores beyond those two is not confirmed here. The target user is someone who already knows what a proxy core is and wants a front end, not a beginner looking for a turnkey VPN. The project is written in C#, which fits Windows well but also explains why Linux and macOS builds exist at all: the developer chose a cross-platform GUI stack rather than a native toolkit for each OS.
How Core Switching Changes the Workflow
The core mechanism is that v2rayN does not implement proxy logic itself. It launches an external core process and talks to it, which is why the README says 'support Xray and sing-box and others'. For an engineer, that means the GUI is a configuration layer and a process supervisor. You import subscription links or server profiles, the GUI translates them into the core's format, and it starts or stops the core as needed. This design has a direct consequence: when a new core version ships, you do not need a new v2rayN release to use it, as long as the GUI knows how to generate that core's config. The trade-off is that each core has its own configuration schema, so the GUI must keep up with changes in every supported core. The repository's release cadence, with three releases in three weeks (7.24.7, 7.24.8, 7.24.9), suggests active maintenance, but it also hints that core updates drive frequent GUI patches.
Platform Support: Wide but Not Uniform
The README's platform table is specific about what runs where. Windows gets x64, x86, and arm64 builds. Linux gets x64, arm64, riscv64, and loong64, but notably no x86. macOS gets x64 and arm64. That means a Linux user on a 32-bit x86 machine is out of luck, while a Windows user on the same architecture is fine. Linux riscv64 and loong64 support is unusual and suggests the project targets emerging hardware, but the absence of Linux x86 is a real gap. The README also says there are minimum OS requirements, but it only links to a wiki page called 'Release files introduction' rather than stating the requirements inline. You cannot tell from the README whether 'Linux' means glibc or musl, or which kernel versions are acceptable. That is a documentation weakness for a project that otherwise publishes precise architecture support.
Getting It Running: Releases, Not a Build Guide
The README gives one installation path: download the latest release from the GitHub releases page. There is no apt repository, no Homebrew formula, no package manager command. You fetch a binary archive and run it. The README points to the wiki for 'usage guides and configuration details', but it does not show a single command or config key. That is a sharp contrast with many open source tools that document a quick start in the README. For a GUI client, this might be acceptable because the configuration happens through the interface, not a text file. Still, a user who wants to script deployment or verify a checksum has to leave the README and find the wiki. The project does provide a GPG fingerprint, which is the only concrete security detail in the README. You are expected to verify release signatures with that key, but the README does not give the verification command.
Security and Supply Chain: GPG Signing Is There, but Verification Is Not Documented
The README states that release files are GPG-signed to prevent mirror, ISP, or CDN hijacking. It provides a fingerprint: 7694 5E9F 3E9A 168F 8070 F195 805D 661C 134D FAF6 8903 C199 463C 31E5 AE90 3AE0. That is a concrete, verifiable fact. However, the README does not tell you how to use that fingerprint. There is no command like 'gpg --verify', no link to a public key server, no mention of detached signature files. For a project that explicitly cares about hijacking, the absence of a verification workflow in the README is a notable omission. The user must infer that the signature files exist in the release assets and figure out the rest. This is a limitation, not a flaw in the signing itself. The fingerprint is there, so a determined user can verify, but the project makes you work for it.
Where v2rayN Is the Wrong Tool
v2rayN is not the right choice if you need a single, deeply documented core. Its value is in breadth, not depth. If you only use Xray and want the most polished Xray-specific GUI, a dedicated client might serve you better. The README's reliance on the wiki for 'List of supported cores' and 'Release files introduction' means the core documentation is not in the repository. That is a failure mode: the README is the entry point, and it sends you away for almost everything except downloading. Also, if you are on Linux x86, the project simply does not support you. The riscv64 and loong64 support is interesting, but those are niche platforms, and the lack of x86 suggests the maintainers prioritize modern 64-bit systems. For a headless server or a user who prefers JSON config files, a GUI is unnecessary overhead; v2rayN adds a process layer that you do not need if you are comfortable editing configs directly.
Alternatives and the Core Difference
The obvious alternative is to run Xray or sing-box directly, without a GUI. That is a different approach: you edit JSON config files, run the core as a daemon, and manage it with systemd or a similar tool. The difference is not just convenience. A direct core gives you full access to every feature and option, including experimental ones, because you are writing the config yourself. v2rayN, by contrast, abstracts those options behind its interface. If the GUI does not expose a setting, you cannot use it without editing generated configs, which the project does not document in the README. Another alternative is v2rayNG, which the README explicitly mentions as the mobile version. That is not a desktop competitor, but it shows the project family. For desktop, a user could also use a web-based panel, but that adds a server component. The core difference is control: direct core execution puts you in full control, while v2rayN trades some control for a unified interface across multiple cores.
Maintenance and License: What You Are Signing Up For
The project is licensed under GPL-3.0, which means any derivative work that you distribute must also be GPL-3.0. That is a standard copyleft license, and it matters if you plan to embed v2rayN code into a closed-source tool. The repository is not archived, and the last push was 2026-08-29, with a release on the same day. The release pattern, roughly weekly, indicates active maintenance. But active maintenance is a double-edged sword. Frequent releases mean you need to track updates to get core compatibility fixes, and each update carries a risk of breaking your config. The README does not mention any upgrade path or migration notes, so you are expected to just download the new version and hope it reads your existing settings. There is no mention of a config backup tool. That is a real operational cost. The wiki might cover it, but the README does not, and the README is the material we have.
Editorial conclusion
Adopt v2rayN if you manage proxy subscriptions across Windows, Linux, or macOS and want one interface that can switch between Xray and sing-box cores without editing JSON files. Skip it if you need a fully supported x86 Linux build, because the README lists Linux x64 as supported but x86 is missing, and if you prefer a single-core tool with deeper documentation. Before adopting, verify that the wiki covers your specific core and platform combination, and check the GPG fingerprint (7694 5E9F 3E9A 168F 8070 F195 805D 661C 134D FAF6 8903 C199 463C 31E5 AE90 3AE0) against the release files you download, since the project signs releases to prevent hijacking but does not document a verification workflow in the README.
Community notes