v2ray-core: MIT source, no install instructions, and a README that is 120 words
A platform for building proxies to bypass network restrictions.
At a glance
- What is it?
- v2ray-core is the Go source for Project V, a set of network tools for building your own network, described as a platform for building proxies to bypass network restrictions and licensed under MIT. The README offers documentation links rather than install instructions, so the practical questions of installation, packaging and configuration are answered by third-party packagers and by a site outside the repository.
- Who is it for?
- Use the repository when you intend to build, package, audit or extend, and read the newcomer instructions on the project site before you do, because the repository will not tell you how to configure anything. Do not expect an install path from it: the README gives no install command and no named binary, and platform coverage depends on volunteers packaging it.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.
Star history
- v2fly/v2ray-core34,767 ★ · +282
| Repository | 2026-08-18 | 2026-11-14 |
|---|---|---|
| v2fly/v2ray-core | 34.5k | 34.8k |
282 Stars in the last 88 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
The project asks other people to package it, so no install path exists here
The Packaging Status section is a request rather than an instruction. It says that if you are willing to package V2Ray for other distros and platforms, you should get in touch or ask for help through GitHub issues, and the section carries a repology badge as its only pointer. Read that as a statement about the support model rather than an oversight. The README gives no install command, no apt line and no binary name. How you obtain a build depends on whether somebody in the community has packaged it for your platform, which is what the repology reference is for, and that is a fact you have to establish before you plan a deployment, not after. The page is candid that coverage is contributed rather than provided, so the question of whether a maintained build exists for your target is the first practical question, and the repository will not answer it.
go.mod states Go 1.26 with a toolchain pin, and the README states no version at all
The build requirements live in one file and nowhere else. The module declares a semantic import version path, and it names both a language version and a toolchain:
module github.com/v2fly/v2ray-core/v5
go 1.26.0
toolchain go1.26.1Two things follow. The go directive is a floor, so a toolchain older than the declared Go 1.26.0 minimum cannot build this module without an appropriate newer toolchain, and the toolchain directive names a specific patch release, which means a local Go installation may try to fetch that toolchain rather than run with the one you have. For anyone packaging this, the README is no help at all, since it names no Go version, no build target and no release procedure. The v5 in the module path is not cosmetic either, it is how the module declares a major version, so an import path written without it does not resolve. Anyone building from source is reading go.mod for requirements that the project does not otherwise state.
Three releases landed on three consecutive days
The release history is dense at the end. the newest releases are v5.54.2 on 2026-09-22, v5.55.0 on 2026-10-20 and v5.56.0 on 2026-11-01, with the last push to master on 2026-11-01. That cadence has a direct operational consequence. A version you pin today is a version that a newer one replaces within weeks, so a pinned deployment ages quickly, and any automation that tracks the newest tag will move you without asking. The README says nothing about release channels, support windows, or which line is the one to follow, and there is no statement distinguishing a stable line from an experimental one. Deciding what to upgrade to, and how often, is left entirely with the person running it.
The credits list names seven production dependencies and go.mod requires many more
The Credits section is explicit about being a list of third-party projects, and it splits them into those in production and those used for testing only. In production it names gorilla/websocket, quic-go/quic-go, pires/go-proxyproto, seiflotfy/cuckoofilter, google/starlark-go, jhump/protoreflect and inetaf/netaddr, and for testing only it names miekg/dns and h12w/socks. That list is not a dependency inventory. The module file additionally requires a WebRTC stack from pion, covering webrtc, ice, stun and dtls, along with refraction-networking/utls for TLS handling, pelletier/go-toml, xtaci/smux for multiplexing, and several projects from the v2fly organisation including BrowserBridge, VSign, a Hysteria core and VLite, plus xssnick/raptorq. It also carries two separate QUIC implementations, quic-go and an apernet fork. If you are doing a supply chain review, the credits section will mislead you by being incomplete, and go.mod with go.sum is where the real answer is.
Configuration is defined as protobuf, with generated files committed beside the schema
The root of the repository contains config.proto and, next to it, the generated config.pb.go, alongside annotations.go, proto.go and errors.generated.go. The naming tells you how the configuration surface is maintained. Options are defined in a schema, and the compiled form of that schema is checked into the tree, so a change to the schema and a change to the generated code are two separate commits that can disagree. The README gives no configuration file, minimal example or list of options, so the first real configuration work happens in the newcomer's instructions on the project site rather than in the tree, and the schema is where you go to discover what can be set at all.
The README answers none of the operational questions and points at a site instead
Set expectations early, because the README is about 120 words. It names the project, states that Project V is a set of network tools for building your own computer network that secures connections and protects privacy, and then offers two links: the documentation and the newcomer's instructions, both on v2fly.org. There is no feature list, no protocol list, no platform list, no command reference, no configuration example and no statement of what the tool can and cannot do. The repository description is the only other framing available, calling it a platform for building proxies to bypass network restrictions. So a reader who arrives expecting to evaluate the software from the source repository will find badges, a few links, a packaging request, a licence line and a credits list, and everything else lives elsewhere. That is a legitimate choice for a project with a documentation site, and it means the site and the newcomer guide are prerequisites rather than optional reading.
Four quality services watch the same branch, and the layers are visible only as directory names
The badge row points at a test workflow, coverage reporting pinned to the master branch, a Go report card for the v5 module path, and a Codacy dashboard, so four separate services are evaluating the same code. The tree shows how the project is arranged, since there is no architecture section: app, common, features, infra, main, proxy, release and testing directories, with a mocks.go at the root and golang/mock in the dependency list, plus context_test.go, functions_test.go and v2ray_test.go beside the files they exercise. Mocks at the root next to the packages they stand in for indicates that the design is interface-driven and unit tested at those boundaries. SECURITY.md sits alongside LICENSE and README.md, so a security policy file is present. For a newcomer, those directory names are the only map of the system available here.
Editorial conclusion
Use the repository when you intend to build, package, audit or extend, and read the newcomer instructions on the project site before you do, because the repository will not tell you how to configure anything. Do not expect an install path from it: the README gives no install command and no named binary, and platform coverage depends on volunteers packaging it. Before you build, check the Go version in go.mod against your toolchain, and if you are reviewing it for supply chain purposes, read go.mod and go.sum rather than the credits list, which names only a fraction of what the module requires.
Frequently asked questions
What is V2Ray core?
It is the Go source repository for Project V, described as a set of network tools that helps you build your own computer network and secures your network connections, and the repository description calls it a platform for building proxies to bypass network restrictions. The code is licensed under the MIT License and the default branch is master.
Is V2Ray better than VPN?
The repository makes no such comparison and offers no performance or protocol claim. It describes itself as a set of network tools for building your own computer network, and its only pointers for detail are the documentation and the newcomer's instructions on v2fly.org.
Is there a free V2Ray code available?
Yes, the source is in this repository under the MIT License. What the repository does not provide is a built package, since the packaging section asks volunteers to package V2Ray for other distributions and platforms and links to repology for the versions that exist.
how to install v2ray core
The repository contains no install command. Its packaging section invites others to package V2Ray for additional distros and platforms and points at repology, and the build requirements are stated only in go.mod, which declares module path github.com/v2fly/v2ray-core/v5, go 1.26.10 and toolchain go1.27.3. Setup details are in the newcomer instructions on v2fly.org.
v2ray core vs xray core
The repository contains no comparison with any other project. It offers its own description, a documentation link, a packaging request, a licence statement and a credits list naming third-party dependencies, and it names no alternative implementation to compare against.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/v2fly-v2ray-core)Star history chart for your README
[](https://hysenlabs.com/projects/v2fly-v2ray-core)Was this useful?