Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

🛡️ VPN-panel

Manage your VPN server from a single screen

AmneziaWG · XRay (VLESS — TLS / Reality) · mtg (MTProto) · Mihomo cascade

Platform Backend Database i18n AmneziaWG XRay MTProto Mihomo

VPN-panel overview

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. The server can also be cascaded through a second VPN, routing its clients by clash rules.

📥 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.

✨ Features

  • 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.
  • Cascade through a second VPN — a built-in Mihomo (Clash.Meta) engine makes the server a client of another VPN: listed traffic goes out through it, everything else leaves directly.
  • 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.

🔌 Supported protocols

Protocol Modes Clients
AmneziaWG obfuscated WireGuard official AmneziaWG apps
XRay / VLESS TLS, Reality Shadowrocket, Loon, Clash
mtg / MTProto Telegram proxy Telegram (any client)
Mihomo (Clash.Meta) cascade — the server as a client of a second VPN upstream: VLESS, VMess, Trojan, SS, Hysteria2, Hysteria, TUIC, AnyTLS

🔗 Cascade through a second VPN

The panel can install and manage a Mihomo (Clash.Meta) engine, turning the server itself into a client of another VPN. Traffic from your XRay and MTProto clients is then routed by clash rules coming from that second server: whatever the rules list goes out through the second VPN, everything else leaves directly from this server's own IP.

  • No iptables, no TUN. Traffic reaches the engine only because XRay and mtg point at its local SOCKS port — the server's own traffic never touches it, so panel and SSH access cannot be lost by switching the cascade on.
  • Profiles — a whole clash config, a subscription link, or plain node links: vless, vmess, trojan, ss, hysteria2, hysteria, tuic, anytls (a base64 subscription blob works too). Everything pasted is parsed and shown before it is saved. Several profiles can be stored, one is active.
  • Safe mode — a dead-man's switch rather than a lock: you start the engine, get a five-minute window to check that everything still works, and if the server gets blocked or contact is lost, the panel detaches the cascade, stops the engine and disables autostart on its own.
  • Watchdog — if the engine goes silent, the cascade is removed from the configs automatically instead of leaving clients pointed at a dead socket.
  • A dedicated Mihomo tab shows the link to the second VPN with latency and cumulative traffic, the rules received from it, node switching and per-service cascade switches.

📸 Screenshots

Overview Routing templates
Overview Templates
Connection logs MTProto
Logs MTProto
Settings Traffic schedule
Settings Schedule

🚀 Installation

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

🔄 Updates

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.

🌍 Geo & logs

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.

🌐 Languages (i18n)

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.

📦 Package layout

  • app.py — backend (Flask)
  • static/ — UI (index.html + app.js), localization engine and log pages
  • install_interactive.html — interactive install guide (bilingual)
  • manifest.json — panel version + geo database version
  • data/ — 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, Mihomo, Clash.Meta, Hysteria2, TUIC, VPN cascade, Shadowrocket, Clash, Loon, VPN server, anti-censorship, censorship circumvention, proxy, self-hosted, Flask.

About

Web panel to manage a VPN server from one screen: AmneziaWG, XRay (VLESS TLS/Reality), mtg (MTProto) and a Mihomo cascade through a second VPN. Flask, no database.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors