Админ-панель для управления VPN-сервером

Пользователи, ноды, правила маршрутизации и статистика — в одном веб-интерфейсе на главном сервере. Панель написана на Go, хранит данные в SQLite и работает как служба systemd. Docker и Node.js на VPS не нужны.

Раздел «Обзор» админ-панели WinTrustTunnel: онлайн, трафик за 24 часа, CPU, память, диск, графики по локации и статистика VPN-клиентов на демонстрационных данных
Админ-панель

Пользователи

Каждый пользователь получает свою ссылку подписки и один набор учётных данных для всех локаций.

  • Создание и удаление

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

  • Срок доступа

    Дата «Доступ до» или бессрочный доступ. После наступления срока VPN-сервер сам закрывает соединения и не пускает новые — даже если панель остановлена. Продление разрешает подключение с прежними данными.

  • Ограничение скорости

    Отдельные лимиты загрузки и отдачи в Мбит/с. Лимит общий для всех соединений пользователя и меняется без перезапуска; ноль — без ограничения.

  • Подключение и сессии

    Включение и отключение доступа, «Отключить сессии», перевыпуск ссылки подписки: старая ссылка перестаёт работать сразу.

  • Профили

    Для отдельного сервера панель выдаёт ссылку tt:// и TOML-профиль TrustTunnel.

  • Поиск и фильтры

    В сети, отключённые, неприменённые изменения, истёкший срок или исчерпанная квота.

Ноды в разных локациях

Нода — это VPN-сервер в другой стране или дата-центре. Своей панели у неё нет: всё управляется с главного сервера.

  • Подключение по приглашению

    «Ноды → Добавить ноду» показывает команду с кодом приглашения. Код действует 24 часа и подходит для одной ноды.

  • Синхронизация

    Нода получает пользователей с главного сервера и держит их в актуальном состоянии. Связь идёт через порт 443 главного сервера, новых портов на нодах нет.

  • Работа без главного сервера

    Если главный сервер недоступен, нода пускает пользователей из последнего полученного списка и повторяет запросы.

  • Удаление

    Токен ноды отзывается: она убирает всех пользователей и перестаёт пускать кого-либо, а из подписок исчезает при следующем обновлении.

Подписки, общие правила и DNS

Раздел «Маршрутизация» задаёт настройки, которые получают все пользователи подписки.

  • Подписка

    JSON со всеми локациями: главным сервером и нодами, которые были на связи последние 2 минуты. Выключенный или просроченный пользователь получает пустой список.

  • Наборы правил

    До 10 наборов, в каждом — до 256 доменов, IPv4-адресов и подсетей CIDR и до 100 правил приложений с маршрутом vpn или direct.

  • DNS

    До восьми публичных DNS для серверов подписки. Если управление выключено, клиент использует личные DNS пользователя.

  • Применение

    Изменения уходят после «Сохранить для подписок» и действуют со следующего подключения. Проверка ревизии не даёт параллельной сессии молча перезаписать правки.

Статистика по локациям

В «Обзоре» переключатель «Локация» показывает главный сервер или отдельную ноду. Данные разных локаций не смешиваются.

Онлайн
Уникальные пользователи с открытыми VPN-соединениями.
Трафик
VPN-трафик загрузки и отдачи выбранной локации, не весь трафик сетевого интерфейса.
CPU
Загрузка процессора между соседними замерами.
Память
Занятая память без освобождаемого файлового кэша.
Диск
Занятое место в файловой системе, где лежит база панели.
Клиенты
Приложения, которые запрашивали подписку за день, по уникальным токенам.

Замеры снимаются раз в минуту и хранятся 31 день. Графики доступны за 1 час, 6 часов, 24 часа, 7 и 30 дней. Пропуски не заменяются нулями: если данных нет, панель так и показывает.

Безопасность и обслуживание

Панель по умолчанию слушает только 127.0.0.1:8443. Внешний доступ включается явно — по IP-адресам или через SSH-туннель.

  • Двухфакторная аутентификация

    Код из приложения-аутентификатора и резервные коды на случай потери телефона.

  • Журнал событий

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

  • Защита входа

    Не больше 5 попыток входа в минуту с одного IP. Fail2ban блокирует повторяющийся подбор пароля к панели и SSH.

  • Резервные копии

    Ежедневно около 04:00 MSK, хранятся 14 последних. В копиях есть ключи и конфигурация — переносите их в защищённое хранилище вне VPS.

  • Команды для SSH

    В разделе «Сервер» собраны готовые команды для смены домена, продления TLS-сертификатов, резервного копирования и обновления.

Текущие ограничения

Проект экспериментальный. Вот что важно знать заранее.

  • Квота при нодах

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

  • Метрики нод

    Для CPU, памяти и диска ноды нужен обновлённый агент. История начинается после обновления, прошлые замеры не восстанавливаются.

  • Одна роль на сервер

    Установленный главный сервер не превращается в ноду. Для ноды нужен отдельный VPS без установки WinTrustTunnel.

Скачать WinTrustTunnel

Версия 0.4.9 от 5 ноября 2026. Перед установкой сверьте SHA256 архивов.

Windows-приложение

ZIP, 5,9 МБ. Распакуйте архив целиком — вместе с папкой engine.

Скачать для Windows

Сервер

Архив для Linux x64, 12,6 МБ. Установка и обновление одной командой.

Развернуть свой сервер