Skip to content

Components Overview

VGate ships as four independently-buildable components. There is no monorepo build — each is built, tested, and linted from within its own directory. They communicate over the manager's REST API.

All components are hosted under the vgate-project GitHub organization:

ComponentRepositoryStackBuilds to
Managervgate-managerGo 1.26 · Gin + GORMvgate-manager binary
Servervgate-serverGo 1.26 · xray-corevgate binary
Admin Consolevgate-adminVue 3 · Vite · TSstatic dist/
User Portalvgate-userVue 3 · Vite · TSstatic dist/

Dependencies between components

text
Admin Console ─┐
               ├─► Manager ◄─► DB
User Portal  ──┘        ▲
                        │ REST /api/v1/server/*
                        │ node token auth + traffic reports
                   Server (proxy node)
  • The manager depends on a database (SQLite or Postgres). Everything else depends on the manager.
  • Server nodes depend on the manager at runtime (sync + report). They do not depend on the frontends.
  • The frontends depend only on the manager's REST API.

Who runs what

  • Operators deploy and run the manager + server nodes, and use the admin console.
  • Customers use the user portal and VLESS client apps with their subscription link.
  • Developers may replace the user portal or build custom clients against the REST API.

Per-component docs

Licensed under AGPL-3.0.