AWG Panel / панель управления своим VPN

Веб-панель для собственного VPN-сервера: AmneziaWG, XRay/VLESS и MTProto в одном окне. Заводите клиентов, выдаёте конфиги по QR и ссылке, ставите лимиты и расписание трафика, маршрутизируете по странам и сервисам, смотрите логи с геолокацией. Ставится на свой VPS, обновляется онлайн прямо из панели.

v1.0.16 · AmneziaWG · XRay · mtg Linux · Flask · self-hosted Локальная геобаза · без телеметрии бесплатно
Загрузка

Бесплатно, ставится на свой сервер

0 ₽ self-hosted · без подписки · без телеметрии
  • Архив проекта: backend app.py (Flask), фронтенд и документация
  • Разворачивается на чистый VPS за venv + systemd-юнит
  • Встроенное онлайн-обновление панели, XRay, mtg и гео-баз
  • Геолокация в логах по локальной базе MaxMind — наружу ничего не уходит
  • Краткая установка — ниже, полная — в файлах проекта
Скачать AWG Panel.zip Linux · Debian/Ubuntu · Python 3

Возможности / что умеет панель

/ features

Три протокола в одном окне

Вкладки AmneziaWG (обфусцированный WireGuard, устойчивый к DPI), XRay/VLESS (TLS+Vision или Reality) и MTProto (mtg для Telegram — список получателей «кому выдана прокси», регенерация секрета, маскировка под обычный домен). Панель читает и правит реальные конфиги сервисов как источник правды; неиспользуемый протокол просто скрыт.

Управление клиентами

Добавление в один клик с автогенерацией ключей/UUID, переименование, отключение и удаление. На карточке — IP, ключ, текущий трафик и онлайн-статус. Для каждого клиента видно, сколько он скачал и откуда последний раз подключался.

Лимиты и расписание трафика

Лимит в гигабайтах с авто-отключением при достижении, ежемесячный сброс в выбранный день (после сброса клиент включается обратно), ручной сброс. Счётчик накопительный — переживает рестарт сервиса. Отдельное окно «Расписание»: отключить или удалить клиента в назначенную дату.

Маршрутизация по странам и сервисам

Серверные Global rules для XRay — для всех VLESS-клиентов сразу: режимы «по спискам», «всё через VPN кроме страны» и «напрямую». Per-client — списки правил по сервисам (Telegram, YouTube, ChatGPT…) или маршрутизация по странам: «выбранные страны через VPN, остальное напрямую» и наоборот. Смена режима и стран применяется по кнопке «Применить» — как у Global rules.

Шаблоны blackmatrix7 и свои списки по странам

Готовые наборы правил из открытого репозитория blackmatrix7/ios_rule_script — тысячи сервисов с уже собранными доменами и IP, выбор по названию через поиск. Плюс собственные шаблоны правил по странам: панель сама собирает реальные IP-диапазоны стран из баз MaxMind и раздаёт их клиентам (Shadowrocket, Loon, Clash) как rule-set — обновляются вместе с гео-базами.

Удобная выдача конфигов

Окно «Конфиг» с вкладками: VLESS-ссылка + QR, профили Shadowrocket, Loon и Clash, WireGuard .conf. Профили отдаются по постоянной ссылке-подписке — клиент импортирует один раз, адрес сервера и правила уже внутри. Имена профилей — человекочитаемые (Сервер_Клиент) или по токену. Кнопка копирования на каждую команду.

Логи с геолокацией

Централизованные access-логи AmneziaWG, XRay и mtg в одном месте. Каждый IP обогащается страной, городом и оператором по локальным базам MaxMind (City + ASN). Фильтр по времени, дедупликация повторов, отдельная страница логов на клиента. Для AmneziaWG — логирование назначений: глобальный режим по IP (conntrack) и режим «Логи+» на клиента с резолвом доменов через локальный DNS.

Обновление панели и протоколов

Онлайн-обновление самой панели по манифесту и бинарников XRay и mtg одной кнопкой. Справа от вкладок — блок версий: текущая на сервере и последняя с GitHub для каждого протокола. AmneziaWG (модуль ядра) панель отслеживает и даёт инструкцию, не трогая ядро автоматически. Гео-базы MaxMind обновляются отдельной кнопкой.

Бэкап и восстановление

Встроенный бэкапер: архивы по расписанию (systemd-таймер) с настройкой хранения по количеству или размеру, ручной запуск и восстановление одним кликом. В архив попадают настройки и клиенты, исключаются логи и тяжёлые базы — при восстановлении код подтягивается с CDN.

Зависимости с автофиксами

Чек-лист состояния сервера: venv и пакеты, systemd-юнит, бинарники AmneziaWG/XRay/mtg, гео-базы, logrotate, нужные правила firewall. Иконка ⚠ загорается при проблеме, многие пункты чинятся в один клик — без ручного захода по SSH.

Системные пути и источники правды

Полный реестр всего, что панель трогает на диске, сгруппированный (код, данные, логи, бэкапы, гео, внешние конфиги, бинари). Раздел «Источники правды» показывает live-значения IP, портов и масок и откуда они взяты — с возможностью переопределить IP вручную. Видно, что именно панель читает, без догадок.

Управление сервисами и настройки

Старт/стоп/рестарт каждого сервиса прямо из шапки вкладки, скрытие неиспользуемых протоколов и платформ из интерфейса, смена пароля администратора, редактирование параметров сервера (имя, IP, SNI, порты). Раздел «Здоровье сервера» показывает live-нагрузку: ОЗУ, процессор, диски и сеть. Центр настроек собирает все пункты с описаниями, частые — в избранном.

Маскировка и безопасность

Опциональный фейк-лендинг на адресе входа (панель прячется за обычным сайтом), вход по отдельному пути, пароль администратора хранится SHA-256-хешем. Журнал действий администратора фиксирует логины, изменения настроек и операции с клиентами.

Скриншоты / как это выглядит

07 / views
AmneziaWG — главное окно, клиенты и статус сервиса обфусцированный WireGuard
AWG Panel, вкладка AmneziaWG: версия панели в шапке, счётчики клиентов и онлайн, порт UDP, статус сервиса «активен», карточка клиента с IP, ключом и трафиком, внизу — наборы правил
XRay/VLESS — список клиентов и общий трафик VLESS + TLS + Vision
AWG Panel, вкладка XRay: 13 клиентов, у каждого имя, объём трафика и кнопки конфига, логов, переименования, отключения и удаления; сверху строка Global rules
Правила клиента — маршрутизация по сервисам Shadowrocket · Loon · Clash
Развёрнутая карточка XRay-клиента: переключатели «Списки правил / Страны в VPN / Страны вне VPN», тумблеры сервисов Telegram, Instagram, WhatsApp, YouTube, ChatGPT и других для Shadowrocket, Loon и Clash
MTProto — прокси для Telegram с QR mtg · маскировка под сайт
AWG Panel, вкладка MTProto: маскировочный домен, порт, статус сервиса, ссылка для подключения, большой QR-код, кнопки «Копировать ссылку» и «Открыть в Telegram», список получателей
Конфиг клиента — QR и профили в один клик VLESS · Shadowrocket · Loon · Clash
Окно «Конфиг» клиента с вкладками VLESS-ссылка+QR, Shadowrocket, Loon, Clash: ссылка на config URL, кнопки «Копировать» и «Открыть в Loon Pro», предпросмотр содержимого профиля
Расписание и лимиты — трафик под контролем лимит · сброс · авто-выкл
Окно «Расписание»: действие по дате (отключить или удалить), ежемесячный сброс трафика по числу месяца, авто-отключение по лимиту в гигабайтах, тумблер «Применить ко всем»
Шаблоны Clash — правила blackmatrix7 с поиском blackmatrix7
Окно «Шаблоны — Clash»: готовые правила blackmatrix7 ios_rule_script, поиск по названию и сетка сервисов от 115 и 12306 до Adobe, Adidas и AdGuard

Краткая установка / что понадобится

/ setup

Панель ставится на свой VPS (Debian/Ubuntu), где уже подняты сами VPN-сервисы. Это не «однокнопочный установщик с нуля», а интерфейс управления поверх существующих AmneziaWG / XRay / mtg. Кратко, чтобы понимать объём:

  1. На сервере уже настроены: nginx (fallback на localhost), XRay (VLESS на 443/tcp, TLS+fallback или Reality), mtg (8443/tcp) и, опционально, AmneziaWG (443/udp).
  2. Распаковать архив в /opt/awg-panel/, создать venv и поставить gunicorn flask maxminddb.
  3. Создать server.json (имя, IP, SNI, порты, включённые протоколы) и admin.json (SHA-256 пароля).
  4. Синхронизировать параметры обфускации AmneziaWG между панелью и awg0.conf.
  5. Поставить systemd-юнит (gunicorn → 127.0.0.1:5000) и запустить. Дальше всё чинится из вкладки «Зависимости».

Полная инструкция — в файлах проекта (install.md и readme.md внутри архива), там же раскладка портов, частые ошибки и описание всех файлов на сервере. Сам проект целиком: awg-panel.zip.

Как это устроено / под капотом

/ stack

Backend — приложение на Flask под gunicorn, фронтенд — чистый JavaScript без фреймворков. Панель не держит свою «базу истины»: она читает и правит реальные конфиги сервисов — awg0.conf для AmneziaWG, config.json для XRay и config.toml для mtg. Собственное состояние (клиенты, лимиты, расписание, настройки) хранится в JSON-файлах рядом и не затирается обновлениями.

Трафик считается фоновым потоком и пишется в накопительные счётчики, поэтому цифры переживают перезапуск сервисов. Соединения логируются в единые access-логи, а IP в них обогащаются гео и оператором по локальным базам MaxMind — без обращений в облако. Маршрутизация XRay задаётся на стороне сервера (Global rules) и/или per-client списками, диапазоны для сервисов берутся из blackmatrix7.

Код, гео-базы и списки правил тянутся с CDN byfox.dev только при обновлении и по вашему действию. Файлы пишутся атомарно (через .tmp + переименование), а параллельные обновления защищены блокировкой. Бэкап оформлен systemd-таймером; одна и та же панель управляет одним или несколькими серверами.

Вопросы / что спрашивают

07 / faq
Что такое AWG Panel и для кого она?

Это самохостимая веб-панель для администрирования собственного VPN-сервера. Вместо ручной правки конфигов по SSH вы управляете тремя протоколами — AmneziaWG, XRay/VLESS и MTProto — в одном браузерном интерфейсе.

Заводите клиентов, выдаёте им конфиги по QR и ссылке, ставите лимиты и расписание трафика, смотрите логи с геолокацией. Рассчитана на владельца личного или семейного VPN на одном или нескольких VPS.

Какие протоколы поддерживаются?

Три. AmneziaWG — обфусцированный WireGuard, устойчивый к DPI: панель раздаёт клиентам те же параметры обфускации, что и сервер. XRay/VLESS — с TLS+Vision или Reality и серверной маршрутизацией по странам, доменам и IP. MTProto (mtg) — прокси для Telegram с маскировкой под обычный сайт.

Любой из протоколов можно не использовать — панель показывает только включённые в настройках.

Как клиент получает конфиг?

Из карточки клиента открывается окно «Конфиг» с вкладками: VLESS-ссылка + QR-код, профиль Shadowrocket, профиль Loon, профиль Clash. Для AmneziaWG — готовый .conf или QR для приложения.

Профили отдаются по постоянной ссылке-подписке: клиент импортирует её один раз, а адрес сервера и правила маршрутизации уже зашиты внутрь. На каждую команду в окне есть своя кнопка копирования.

Что такое шаблоны blackmatrix7 и маршрутизация по странам?

Для XRay-клиентов и для серверных Global rules можно выбирать готовые наборы правил из открытого репозитория blackmatrix7/ios_rule_script — тысячи сервисов (стриминги, соцсети, магазины) с уже собранными доменами и IP. Сервис выбирается по названию через встроенный поиск.

Дополнительно маршрутизацию можно задать по странам — например, российский трафик напрямую, остальное через VPN. Это работает на стороне сервера сразу для всех клиентов.

Как контролируется трафик?

У каждого клиента есть накопительный счётчик трафика, который переживает рестарт сервиса. Можно задать лимит в гигабайтах — при его достижении клиент автоматически отключается, а в выбранный день месяца трафик сбрасывается и клиент включается обратно.

Сброс можно выполнить и вручную. У XRay есть отдельный общий лимит на весь серверный трафик в дополнение к лимитам отдельных клиентов.

Как обновляется панель?

Встроенное онлайн-обновление: панель сверяется с манифестом версий и при наличии новой показывает кнопку «Обновить панель». Отдельно обновляются бинарники XRay и mtg (с показом текущей и последней версии с GitHub) и гео-базы MaxMind.

AmneziaWG (модуль ядра) панель только отслеживает и показывает инструкцию — автообновление ядра намеренно не делается, чтобы не сломать сетевой доступ.

Есть ли телеметрия и сколько стоит?

Панель бесплатная и ставится на ваш собственный сервер. Телеметрии нет: геолокация в логах считается по локальным базам MaxMind GeoLite2, все данные (клиенты, настройки, логи) лежат на вашем VPS.

Наружу панель ходит только за обновлениями кода, гео-баз и списками правил — и только по вашему действию.