Skip to content

What is VGate?

VGate is an open-source, self-hosted VLESS proxy management system. It gives you a single, coherent way to operate a fleet of VLESS proxy nodes: issue user credentials, assign subscription plans, track per-user traffic, and bill for access — all from one backend, with two ready-made web frontends.

In short: if you want to run a proxy service (rather than just run a single proxy client), VGate is the glue that turns a pile of servers into a managed product.

The problem VGate solves

Running proxy infrastructure usually means:

  • Editing config on each node by hand whenever a user is added or removed.
  • No idea how much traffic each user has consumed.
  • No clean way to sell access, expire subscriptions, or enforce quotas.
  • A different workflow for every region / transport / protocol combination.

VGate replaces that with a control plane + reporting data plane model:

  • The manager is the single source of truth for users, plans, nodes, and traffic.
  • Each server node is a stateless worker that periodically syncs its configuration from the manager, serves proxy traffic, and reports usage back.

The four building blocks

ComponentLanguage / StackRole
ManagerGo (Gin + GORM)Backend API: admin, identity, billing, and the node data plane.
ServerGo (xray-core based)VLESS inbound proxy node. Syncs from the manager, serves traffic, reports usage.
Admin ConsoleVue 3 + Vite + TSWeb UI for operators: nodes, users, plans, orders, traffic, stats.
User PortalVue 3 + Vite + TSWeb UI for customers: login, profile, subscription, plan purchase.

All three components are independently buildable and live as siblings under the repository root. There is no monorepo build — you build, test, and lint each from within its own directory.

What it is not

  • Not a VPN client for end users. End users connect with standard VLESS clients (or the user portal's subscription link) — VGate provides the server side and the management layer.
  • Not a SaaS. You host it. The admin and user frontends talk to your manager instance.
  • Not tied to a specific transport. TCP, WebSocket, and split-HTTP are all supported.

Next steps

Licensed under AGPL-3.0.