Инфраструктура

Amnezia VPN Manager.

VPN-инфраструктура в одной понятной панели.

Веб-панель на ASP.NET Core MVC и .NET 10 для управления серверами, экземплярами AmneziaWG, устройствами и их VPN-профилями. Проверка серверов, развёртывание по SSH, импорт существующих конфигураций, мониторинг трафика и журнал действий собраны в одном приложении. Текущая локальная версия поддерживает русский и английский интерфейс.

Образ Docker, комплект Compose и инструкция по установке — ниже на странице.

ИНТЕРФЕЙС · ДЕМОНСТРАЦИОННЫЕ ДАННЫЕ
ПРОДУМАНО ДЛЯ ВАШИХ ЗАДАЧ

Меньше лишнего.
Больше полезного.

01

Серверы и ключи SSH

Добавление серверов с проверкой доступа, отпечатка SSH, Docker и сетевых условий. Генерация и импорт ключей, зашифрованное хранение и назначение ключей серверам. Подготовка недостающих компонентов выполняется с отдельным разрешением пользователя.

02

Развёртывание AmneziaWG

Пошаговое создание экземпляров AWG 1.5, 2.0 и 3.1, выбор публичного IP и UDP-порта. Фоновый прогресс, проверка работающего контейнера и повторная попытка при ошибке настройки.

03

Устройства и VPN-профили

Несколько VPN-профилей у одного устройства, выдача и отзыв доступа с проверкой на сервере. Импорт существующих экземпляров и клиентских конфигураций .conf, .vpn и vpn://; скачивание конфигурации и QR-кода выбранного профиля.

04

Мониторинг трафика

Скорость передачи, последние рукопожатия, статистика за день, месяц и год. Рейтинги устройств и владельцев, объединение нескольких устройств одного человека и автоматическое обновление показателей.

05

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

Разделение прав глобального администратора и пользователей. Журнал входов и изменений ресурсов с фильтрацией по аккаунту, типу объекта и дате; сохранение инвентаря и истории в SQLite.

06

Русский и английский интерфейс

Переключение языка на странице входа и в приложении с сохранением выбора. Переведены формы, сообщения проверки, ход операций, статистика и аудит; содержимое VPN-конфигураций и QR-кодов остаётся без изменений.

ПОСМОТРИТЕ ПОБЛИЖЕ

В работе.

Мониторинг трафика · Демонстрационные данные
Вход и выбор языка · Русский интерфейс
DOCKER & COMPOSE

Установка через Docker

Выбранная версия
v1.1.4 Последняя
Поддерживаемые платформы linux/amd64
Скачать образ
docker pull registry.kadnikoff.ru/amnezia-vpn-manager:1.1.4@sha256:d670db9e1ae3f17ab1deb9594a04e635a3506679cd2aef9ede51ea0f77bf8a10
Контрольная сумма архива SHA-256ff59f3b8e14665e6724f659a733a2e20cdf678055a465a499b67239ce29358b2

Инструкция по установке

Русский

Amnezia VPN Manager 1.1.4

Инструкция по установке и запуску через Docker на Linux amd64.

Установка

Для запуска нужны Docker Engine и Docker Compose.

Сохраните compose.yaml и .env.example с этой страницы в отдельную папку или распакуйте в неё готовый комплект Docker Compose. Все следующие команды выполняйте в этой папке.

Скопируйте .env.example в .env:

cp .env.example .env

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

Запустите приложение и проверьте его состояние:

docker compose up -d
docker compose ps

Открытие приложения

Откройте http://127.0.0.1:5097 и войдите с данными из .env.

Если приложение установлено на VPS, выполните на Вашем компьютере:

ssh -N -L 5097:127.0.0.1:5097 USER@SERVER

Замените USER и SERVER на имя пользователя и адрес Вашего сервера. Пока SSH-туннель работает, приложение доступно в браузере Вашего компьютера по тому же адресу http://127.0.0.1:5097.

Для постоянного доступа через домен настройте обратный прокси с HTTPS. По умолчанию приложение доступно только на компьютере, где оно запущено.

Сохранение данных

Данные приложения хранятся в томе inventory_data, ключи шифрования — в keyring_data. Сохраняйте оба тома при обновлении и резервном копировании. Обычная команда docker compose down сохраняет их. Флаг -v удаляет данные.

После установки добавьте Ваши серверы, SSH-ключи, VPN-профили и пользователей в приложении.

Файлы для установки

Выделите и скопируйте нужный фрагмент, скопируйте файл целиком или скачайте его. Пример настроек сохраните как .env и задайте свой пароль.

compose.yamlСодержимое файла
Скачать файл
name: amnezia-vpn-manager

services:
  web:
    image: registry.kadnikoff.ru/amnezia-vpn-manager:1.1.4@sha256:d670db9e1ae3f17ab1deb9594a04e635a3506679cd2aef9ede51ea0f77bf8a10
    restart: unless-stopped
    ports:
      - "127.0.0.1:5097:8080"
    environment:
      ASPNETCORE_ENVIRONMENT: Production
      ASPNETCORE_FORWARDEDHEADERS_ENABLED: "true"
      Inventory__DatabasePath: /app/data/inventory.db
      Inventory__KeyRingPath: /app/keys
      Inventory__SeedDemoData: "false"
      Auth__Username: ${AVM_AUTH_USERNAME:-admin}
      Auth__Password: ${AVM_AUTH_PASSWORD:?Задайте Ваш пароль AVM_AUTH_PASSWORD в .env}
      Auth__FirstName: ${AVM_AUTH_FIRST_NAME:-System}
      Auth__LastName: ${AVM_AUTH_LAST_NAME:-Administrator}
      Monitoring__TimeZone: ${AVM_TIME_ZONE:-Europe/Saratov}
    volumes:
      - inventory_data:/app/data
      - keyring_data:/app/keys
    read_only: true
    tmpfs:
      - /tmp:size=64m,mode=1777
    cap_drop: [ALL]
    security_opt: [no-new-privileges:true]
    mem_limit: 512m
    pids_limit: 256
    healthcheck:
      test:
        - CMD
        - bash
        - -ec
        - >-
          exec 3<>/dev/tcp/127.0.0.1/8080;
          printf 'GET /Account/Login HTTP/1.0\r\nHost: localhost\r\n\r\n' >&3;
          read -r line <&3;
          [[ "$$line" == *" 200 "* ]]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s

volumes:
  inventory_data:
  keyring_data:
.env.exampleСодержимое файла
Скачать файл
# Скопируйте файл в .env и задайте Ваш длинный случайный пароль перед запуском.
AVM_AUTH_USERNAME=admin
AVM_AUTH_PASSWORD=
AVM_AUTH_FIRST_NAME=System
AVM_AUTH_LAST_NAME=Administrator
AVM_TIME_ZONE=Europe/Saratov
README.mdСодержимое файла
Скачать файл
# Amnezia VPN Manager 1.1.4

Инструкция по установке и запуску через Docker на Linux amd64.

## Установка

Для запуска нужны Docker Engine и Docker Compose.

Сохраните `compose.yaml` и `.env.example` с этой страницы в отдельную папку
или распакуйте в неё готовый комплект Docker Compose. Все следующие команды
выполняйте в этой папке.

Скопируйте `.env.example` в `.env`:

```bash
cp .env.example .env
```

Откройте `.env` и задайте собственный длинный случайный пароль
`AVM_AUTH_PASSWORD`. Пустой пароль не позволяет запустить приложение.
При необходимости измените имя пользователя `AVM_AUTH_USERNAME`.

Запустите приложение и проверьте его состояние:

```bash
docker compose up -d
docker compose ps
```

## Открытие приложения

Откройте <http://127.0.0.1:5097> и войдите с данными из `.env`.

Если приложение установлено на VPS, выполните на Вашем компьютере:

```bash
ssh -N -L 5097:127.0.0.1:5097 USER@SERVER
```

Замените `USER` и `SERVER` на имя пользователя и адрес Вашего сервера.
Пока SSH-туннель работает, приложение доступно в браузере Вашего компьютера
по тому же адресу <http://127.0.0.1:5097>.

Для постоянного доступа через домен настройте обратный прокси с HTTPS.
По умолчанию приложение доступно только на компьютере, где оно запущено.

## Сохранение данных

Данные приложения хранятся в томе `inventory_data`, ключи шифрования —
в `keyring_data`. Сохраняйте оба тома при обновлении и резервном копировании.
Обычная команда `docker compose down` сохраняет их. Флаг `-v` удаляет данные.

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

Загрузка изображения…