Всем привет!

Опубликовал веб-панель для управления Amnezia VPN до версии 2.0 получился инструмент, через который можно централизованно разворачивать серверы с разными VPN протоколами (и не только VPN), выдавать доступы сотрудникам, управлять лимитами, смотреть трафик и автоматизировать все это через API.

Проект открытый: infosave2007/amneziavpnphp

Это продолжение предыдущей версии панели. Первая статья о проекте была здесь: PHP-веб-панель для Amnezia VPN: ускоряем корпоративную автоматизацию и на нее был хороший отклик!

Если интересно подробнее посмотреть на один из протоколов разработанный мной с обходом DPI, который уже встроен в панель, вот отдельная статья по теме: AIVPN на Хабре.

Если коротко, идея была очень практической. Пока у тебя один сервер и несколько пользователей, Amnezia прекрасно живет и без дополнительной панели. Но как только серверов становится несколько, появляются сотрудники, сроки действия доступов, лимиты трафика, импорт старых клиентов и требования к автоматизации, ручной режим быстро превращается в боль.

Именно это я и хотел убрать во второй версии.

Что получилось в v2

Главное изменение в версии 2.0 — панель перестала быть узким инструментом под один сценарий и стала универсальной точкой управления VPN-инфраструктурой.

9 протоколов из одной панели

Теперь панель умеет работать не только с AmneziaWG. В одной системе можно управлять сразу несколькими типами сервисов, создавать свои настройки и добавлять свои собственные протоколы, предустановленые:

  • AmneziaWG Advanced

  • AmneziaWG 2.0

  • WireGuard

  • OpenVPN

  • Shadowsocks

  • XRay VLESS

  • MTProxy

  • SMB Server

  • AIVPN

Интерфейс панели  v2
Интерфейс панели v2

Практический смысл здесь простой: не нужно держать зоопарк отдельных скриптов и админок под разные задачи. Можно ставить нужный протокол на сервер прямо из панели и при необходимости комбинировать несколько вариантов на одном хосте.

Роли и разграничение доступа

Во второй версии появилась нормальная ролевая модель:

  • администраторы управляют всей системой;

  • менеджеры работают с клиентами;

  • операторы имеют только базовые права.

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

Нормальный мониторинг, а не «посмотрим потом в логах»

Панель собирает метрики каждые 3 минуты, показывает трафик по клиентам и хранит отдельные данные по разным протоколам. В результате видно не просто список пользователей, а реальную картину: кто потребляет трафик, кто упирается в лимиты и что происходит на конкретном сервере, кто находится онлайн.

Для рабочих систем это уже не украшение интерфейса, а необходимость.

Docker-управление удаленными серверами

Одна из самых полезных частей v2 — панель сама управляет контейнерами на удаленных хостах. Каждый протокол можно развернуть в отдельном контейнере, аккуратно работать с конфигами и переустанавливать сервисы без ручных плясок через SSH.

По сути, это превращает панель в центр управления разнородной VPN-инфраструктурой.

AI-ассистент через OpenRouter

Если указать ключ OpenRouter, панель получает AI-функции:

  • автоперевод интерфейса;

  • подсказки при добавлении своих протоколов.

Я не делал из этого магию ради галочки. Смысл в том, чтобы снизить порог для типовых задач администрирования и ускорить разбор проблем там, где раньше приходилось долго копаться вручную.

Что осталось особенно полезным из первой версии

Помимо новых возможностей, панель сохранила и усилила уже полезные сценарии:

  • разворачивание серверов по SSH;

  • выдачу, отзыв и восстановление доступов в пару кликов;

  • сроки действия ключей и продление на N дней;

  • лимиты трафика с автоматическим отключением;

  • QR-коды для быстрого подключения;

  • резервные копии и восстановление;

  • REST API с JWT-аутентификацией.

Где это особенно полезно

Самый очевидный сценарий — распределенная команда, которой нужен доступ к внутренним ресурсам.

Типовая схема выглядит так:

  1. Администратор поднимает панель через Docker Compose.

  2. Добавляет несколько серверов.

  3. Включает нужные протоколы под разные задачи.

  4. Импортирует существующих пользователей.

  5. Назначает сроки доступа и лимиты трафика.

  6. Раздает конфиги и QR-коды сотрудникам.

  7. Через API автоматизирует выдачу доступов при онбординге.

В таком режиме панель уже начинает работать не как «веб-интерфейс к VPN», а как элемент внутренней инфраструктуры компании.

Почему я считаю это удачной версией

Для меня v2 — это хороший пример того, как утилита перестает быть просто набором скриптов и превращается в полноценный продукт.

Здесь сошлись сразу несколько вещей:

  • мультипротокольность;

  • автоматизация через API;

  • роли и разграничение доступа;

  • импорт старых данных;

  • мониторинг;

  • резервное копирование;

  • интеграция с Docker и удаленными серверами.

И все это собрано в стеке, который легко поднять и доработать: PHP, MySQL, Twig, Docker.

Быстрый старт

Запуск по-прежнему очень простой:

git clone https://github.com/infosave2007/amneziavpnphp.git
cd amneziavpnphp
cp .env.example .env
docker compose up -d
docker compose exec web composer install

Дальше остается дождаться базы, применить миграции и зайти в панель.

Что дальше

Следующие логичные шаги для проекта я вижу такими:

Доработка ошибок, добавление новых протоколов, добавление нового функционала.

Она будет особенно полезна там, где VPN нужно не просто поднять, а встроить в реальную рабочую инфраструктуру: с ролями, лимитами, импортом, метриками, резервными копиями и API.

Если интересно посмотреть код, инструкции или просто забрать себе и доработать под свои задачи, вот репозиторий:

infosave2007/amneziavpnphp

Очередь исправлений:

  • QR код для AWG2 не срабатывает, только конфигурация;

  • проверить добавление сервера по ключу;

Если увидели баг, нужна интеграция или есть идеи по улучшению, пишите в Telegram-канал проекта. Я специально создал там разделы, чтобы было удобно и ни одно сообщение не потерялось.

Если хотите поддержать проект и просто отблагодарить за работу, это можно сделать через Tribute. Поддержке буду рад ?.


Комментарии (16)


  1. 0ka
    06.04.2026 15:28

    Может с HTML title и хедеров убрать слово amnezia? Актив пробинг уже с декабря практикуют


    1. NeoCode
      06.04.2026 15:28

      А не расскажете подробнее про этот "Актив пробинг"? Минимальная конфигурация vless+reality+xhttp без каких-либо веб-интерфейсов уже предоставляет защиту от него, или нужно делать что-то ещё?


      1. 0ka
        06.04.2026 15:28

        ну в случае реалити 90% пользователей ставят туда какой-то рандомный сайт который возвращает хедеры cloudflare, akamai, aws и т.п., или просто какой-то популярный сайт которого быть не может на их впске, тем самым дико палят прокси. недавно я смотрел десяток точечно заблоченых реалити серверов, на большинстве из них стоял реалити под гугл. но за что именно их забанили я не знаю, это могли быть крупные впн сервисы у которых просто блокнули айпи и не смотрели что там, а могли понять и блокнуть по зеркалу на google.com

        а подтверждённый случай актив пробинга это блокировки серверов с прокси для whatsapp (они возвращают хедеры ватсапа, никакой скрытности абсолютно), было в декабре.

        можете сами вставить айпи адрес вашей впски в censys search platform и посмотреть как выглядит ваша впска для пробера


        1. ki11j0y
          06.04.2026 15:28

          У меня стоит reality с steel oneself, и xhttp tls, полет нормальный, все за обратным прокси


          1. NeoCode
            06.04.2026 15:28

            Да, сколько я еще всего не знаю:(

            Пока ничего не понял (я всего неделю назад купил vps), но ведь действительно странно, что на какой-то vps-ке висят сайты гугла или эппла. С другой стороны именно так рекомендовали до сих пор в различных статьях (более того рекомендовали использовать RealiTLScanner, чем я и воспользовался - но возможно этот сканер насканировал что там прописано в reality таких же юзеров как я).

            Получается что следующий шаг - нужно поднимать свой полноценный сайт "о котиках" и прописывать в xray его? Или может ждать когда прямо в xray встроят простейший статический веб-сервер?


            1. GritsanY
              06.04.2026 15:28

              ситуация меняется. Раньше, когда блокировки велись в основном через URL/DNS/SNI, считалось безопасным прописывать что-то массово-нейтральное. Теперь же, когда DPI намного глубже смотрит на пакеты и потоки данных, это уже не панацея и мимикрировать под сайт-визитку или легитимного соседа по VPS IP перспективнее.


            1. ki11j0y
              06.04.2026 15:28

              Я поднял wikijs забил информацию туда из обычной wiki. Добавил js чтоб была всплывашка о куки и готово.


  1. Skatilsya
    06.04.2026 15:28

    В только замахаешься qr. коды/конфиги всем отправлять при малейшем изменении настроек. Из-за этого и не охота пользоваться awg


  1. Sleuthhound
    06.04.2026 15:28

    Неплохо, пару советов, если позволите

    1) Скриншоты панели бы в репу, для наглядности.

    2) Пароль админа желательно бы чтобы был уникальным, а не стандартным или как минимум при первом входе обязательно был запрос на его смену.


  1. alim4ik87
    06.04.2026 15:28

    Добрый день. Отличный продукт, однако при установки протокола awg 2.0. используется все равно протокол Amnezia Legacy. На сколько это корректно?


    1. infosave Автор
      06.04.2026 15:28

      Протокол устанавливается AWG2 конфигурация тоже, но QR код еще не поменял сейчас ошибочный Legacy, конфиги рабочие awg2


      1. alim4ik87
        06.04.2026 15:28

        Извините за возможно глупый вопрос, но разве в awg2.0 не должны использоваться I1-I4 параметры? При разворачивании через официальное приложение - параметр I1 заполнен. А в конфиге созданном в web панели - данный параметр пустой. Добавлять вручную?


        1. spbcity
          06.04.2026 15:28

          Присоединяюсь к вопросу


  1. SmileyK
    06.04.2026 15:28

    Эх сюда бы авторизацию через radius или keycloak…


  1. Anton_Zyxel
    06.04.2026 15:28

    Скриншотки закинь, ставить лень, я тоже себе подобное написал на джавке.


  1. spbcity
    06.04.2026 15:28

    Скажите, встроен ли в систему какой-то функцинал для её дальнейших обновлений? Или обновления вручную ставить необходимо?