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

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

v2.0.0 · AmneziaWG · XRay · mtg · Hysteria 2 · Mihomo 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 — список получателей «кому выдана прокси», регенерация секрета, маскировка под обычный домен) и Hysteria 2 (обфусцированный протокол поверх QUIC). Панель читает и правит реальные конфиги сервисов как источник правды; неиспользуемый протокол просто скрыт.

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

XRay, MTProto и Hysteria 2 не нужно готовить заранее — панель ставит их сама: кладёт бинарь, генерирует конфиг, подбирает свободный порт и открывает его в firewall. Исключение — AmneziaWG: это модуль ядра (DKMS), его по-прежнему ставят вручную.

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

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

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

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

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

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

Каскад через второй VPN

Встроенный движок Mihomo (Clash.Meta) делает сам сервер клиентом другого VPN: что перечислено в правилах второго сервера — уходит через него, остальное — напрямую с этого IP. Без iptables и TUN: XRay и mtg просто смотрят в локальный SOCKS, поэтому включение каскада не может отрезать вас от панели и SSH. Профиль вставляется как есть — конфиг clash, ссылка-подписка или узлы (vless, vmess, trojan, ss, hysteria2, tuic, anytls). Отдельная вкладка показывает задержку, трафик и переключение узлов.

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

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

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

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

Свой DNS для клиентов

Шифрованный DNS — DoH, DoH3 или DoQ — с готовыми шаблонами (Cloudflare, Google, Quad9, AdGuard, NextDNS) или свой резолвер. Настройка уезжает прямо в профиль клиента, в своём синтаксисе для Shadowrocket, Loon и Clash, и применяется ко всем сразу одной кнопкой. Отдельно задаётся DNS самого сервера — тот, которым резолвятся домены, уходящие в VPN.

Фильтрация по IP

У каждого XRay-клиента — белый и чёрный списки адресов: белый оставляет доступ только с перечисленных IP и подсетей, чёрный блокирует указанные. Правило серверное, в конфиг клиента ничего не пишется — ключ работает только оттуда, откуда разрешено.

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

Централизованные 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-нагрузку: ОЗУ, процессор, диски и сеть. Центр настроек собирает все пункты с описаниями, частые — в избранном.

Внешний мониторинг

Отдельная утилита ставится на другой сервер и следит за вашими снаружи: TCP-проверка портов XRay и MTProto с ретраями, замер скорости вниз и вверх, история аптайма и журнал сбоёв с длительностью. Порты она забирает у панели сама, руками их вводить не нужно. Публичная страница статуса — для пользователей, админка под паролем — для вас. Скачать мониторинг.

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

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

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

09 / views
XRay/VLESS — клиенты, трафик и правила VLESS + TLS + Vision
AWG Panel v2.0.0, вкладка XRay: вкладки протоколов AmneziaWG/XRay/MTProto/Hysteria в шапке, счётчики клиентов и онлайн, маскировочный домен, статус сервиса «активен», строка Global rules, список клиентов со списками правил, кнопками конфига и логов
Карточка клиента — правила по каждому сервису VPN · Direct · Block
Развёрнутая карточка клиента fox: UUID, дата создания, последний онлайн-IP с гео, трафик вниз/вверх, включённый режим «Списки правил» [34/35] с тумблерами по каждому сервису (Adobe, Advertising, Amazon, Google, Hijacking, Instagram и другие) и меткой политики VPN/Block у каждого
MTProto — прокси для Telegram с QR mtg · маскировка под сайт
AWG Panel, вкладка MTProto: маскировочный домен, порт 8443, статус сервиса «активен», ссылка для подключения, большой QR-код, кнопки «Копировать ссылку» и «Открыть в Telegram», список получателей
Конфиг клиента — QR и профили в один клик VLESS · Shadowrocket · Loon · Clash
Окно «Конфиг» клиента с вкладками VLESS-ссылка+QR, Shadowrocket, Loon, Clash: QR-код, vless-ссылка, кнопки «Копировать» и «Закрыть»
Расписание и лимиты — трафик под контролем лимит · сброс · авто-выкл
Окно «Расписание»: действие по дате (отключить или удалить), ежемесячный сброс трафика по числу месяца, авто-отключение по лимиту в гигабайтах, тумблер «Применить ко всем»
Настройки панели — всё хозяйство в одном окне бэкап · здоровье · пути · зависимости
Окно «Настройки панели»: сетка пунктов — сервер и обновления, имя конфига, скрытие протоколов, смена пароля, журнал аудита, настройка и создание бэкапа, системные пути, здоровье сервера, источники правды, зависимости, страница входа
Логи доступа — куда ходит клиент дедуп · гео · домены назначения
Окно «Логи» клиента: таблица со временем, действием, IP, страной и городом, провайдером, организацией и доменом назначения, портом; кнопки «Разрешить / Блок / Live», дедуп за 12 часов, поиск
Шаблоны правил — каталог blackmatrix7 с поиском blackmatrix7
Окно «Шаблоны»: готовые правила blackmatrix7 ios_rule_script, поиск по названию и сетка сервисов от 115 и 12306 до Adobe, Adidas и AdGuard
Внешний мониторинг — статус серверов снаружи порты · скорость · аптайм
Страница статуса мониторинга: зелёный баннер «Все системы работают», проверка подключения пользователя (Яндекс, Google, Cloudflare, YouTube, Instagram, Telegram), счётчики серверов — 5 всего, 5 в норме, 0 замедлений, 0 недоступных; карточки серверов с полосой доступности за 24 часа, задержкой XRay и Hysteria 2 в миллисекундах, аптаймом 100% и замером скорости вниз и вверх

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

/ setup

Панель ставится на свой VPS (Debian/Ubuntu). Это не «однокнопочный установщик с нуля», а сама панель плюс её протоколы — XRay, MTProto и Hysteria 2 она ставит себе сама кнопкой из интерфейса (бинарь, конфиг, порт, firewall); вручную нужно поднять только nginx и, если нужен AmneziaWG, — его самого (это модуль ядра). Кратко, чтобы понимать объём:

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

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

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

/ stack

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

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

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

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

XRay, MTProto и Hysteria 2 ставятся из самой панели одной кнопкой (бинарь, конфиг, порт, firewall); AmneziaWG — вручную, это модуль ядра. Любой из протоколов можно не использовать — панель показывает только включённые в настройках.

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

Из карточки клиента открывается окно «Конфиг» с вкладками: 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.

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