Manage your VPN server from a single screen
AmneziaWG · XRay (VLESS — TLS / Reality) · mtg (MTProto)
VPN-panel is a lightweight web panel that brings management of three VPN/proxy protocols into a single interface: AmneziaWG, XRay (VLESS over TLS or Reality) and mtg (MTProto proxy for Telegram). Built on Flask and vanilla JavaScript, with no database — all state lives in plain JSON files next to the app.
One screen for everything: clients, links and QR codes, traffic limits and schedules, connection logs, updates and backups.
📥 Files are not hosted in this repo. Grab the ready-made archive directly — byfox.dev/data/awg-panel/awg-panel.zip — or visit the project site: byfox.dev/awg-panel.
- AWG / XRay / mtg clients — create, delete, share links and QR codes, traffic limits and schedule, online status.
- XRay in TLS and Reality modes — ready-made configs for Shadowrocket / Loon / Clash with routing rule sets (built-in blackmatrix7 lists + your own).
- Connection logs — IP, geo, domains, traffic stats, deduplication and grouping by organization.
- Global routing rules — server-side routing for all VLESS, list / via / direct modes, applied with one button.
- Login masking — the panel hides behind an ordinary decoy website (fake landing).
- Backups & automatic dependency check — a checklist of server settings with auto-fixes.
- In-UI updates — XRay, mtg and the panel itself update via manifest; protocol versions are tracked.
- Admin audit log — logins, settings and client changes.
- Bilingual UI (EN / RU) — language auto-detected on login, 🌐 toggle, live translation with no reload.
| Protocol | Modes | Clients |
|---|---|---|
| AmneziaWG | obfuscated WireGuard | official AmneziaWG apps |
| XRay / VLESS | TLS, Reality | Shadowrocket, Loon, Clash |
| mtg / MTProto | Telegram proxy | Telegram (any client) |
| Overview | Routing templates |
|---|---|
![]() |
![]() |
| Connection logs | MTProto |
![]() |
![]() |
| Settings | Traffic schedule |
![]() |
![]() |
A step-by-step interactive guide — open install_interactive.html from the archive in a browser: TLS and Reality modes, with every command generated for your own data (bilingual).
Full package archive: byfox.dev/data/awg-panel/awg-panel.zip
The panel checks its own version and updates its code via manifest.json (button in the footer). Per-server data — server.json, admin.json, clients and the data/ folder — is left untouched by updates.
MaxMind GeoLite2 databases (City/ASN) are downloaded automatically and version-checked roughly every 180 days. Connection logs show IP, country/city and domains with deduplication.
Translation runs on the client: Russian is the source, the engine translates the visible text into EN on the fly. Language is auto-detected on login, with a 🌐 toggle and no page reload.
app.py— backend (Flask)static/— UI (index.html+app.js), localization engine and log pagesinstall_interactive.html— interactive install guide (bilingual)manifest.json— panel version + geo database versiondata/— geo databases and logs; created by the panel on the server
Download: byfox.dev/data/awg-panel/awg-panel.zip · Website: byfox.dev/awg-panel
Keywords: VPN panel, AmneziaWG, WireGuard, XRay, VLESS, Reality, MTProto, mtg, Shadowrocket, Clash, Loon, VPN server, anti-censorship, censorship circumvention, proxy, self-hosted, Flask.





