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.

ComponentDirectoryStackBuilds to
Managermanager/Go 1.26 · Gin + GORMvgate-manager binary
Serverserver/Go 1.26 · xray-corevgate binary
Admin Consolefrontend/admin/Vue 3 · Vite · TSstatic dist/
User Portalfrontend/user/Vue 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.