Amnezia VPN Manager.
VPN-инфраструктура в одной понятной панели.
Веб-панель на ASP.NET Core MVC и .NET 10 для управления серверами, экземплярами AmneziaWG, устройствами и их VPN-профилями. Проверка серверов, развёртывание по SSH, импорт существующих конфигураций, мониторинг трафика и журнал действий собраны в одном приложении. Текущая локальная версия поддерживает русский и английский интерфейс.
Веб · Docker
Образ Docker, комплект Compose и инструкция по установке — ниже на странице.
Меньше лишнего.
Больше полезного.
Серверы и ключи SSH
Добавление серверов с проверкой доступа, отпечатка SSH, Docker и сетевых условий. Генерация и импорт ключей, зашифрованное хранение и назначение ключей серверам. Подготовка недостающих компонентов выполняется с отдельным разрешением пользователя.
Развёртывание AmneziaWG
Пошаговое создание экземпляров AWG 1.5, 2.0 и 3.1, выбор публичного IP и UDP-порта. Фоновый прогресс, проверка работающего контейнера и повторная попытка при ошибке настройки.
Устройства и VPN-профили
Несколько VPN-профилей у одного устройства, выдача и отзыв доступа с проверкой на сервере. Импорт существующих экземпляров и клиентских конфигураций .conf, .vpn и vpn://; скачивание конфигурации и QR-кода выбранного профиля.
Мониторинг трафика
Скорость передачи, последние рукопожатия, статистика за день, месяц и год. Рейтинги устройств и владельцев, объединение нескольких устройств одного человека и автоматическое обновление показателей.
Пользователи и аудит
Разделение прав глобального администратора и пользователей. Журнал входов и изменений ресурсов с фильтрацией по аккаунту, типу объекта и дате; сохранение инвентаря и истории в SQLite.
Русский и английский интерфейс
Переключение языка на странице входа и в приложении с сохранением выбора. Переведены формы, сообщения проверки, ход операций, статистика и аудит; содержимое VPN-конфигураций и QR-кодов остаётся без изменений.
В работе.
Установка через Docker
linux/amd64 docker pull registry.kadnikoff.ru/amnezia-vpn-manager:1.1.4@sha256:d670db9e1ae3f17ab1deb9594a04e635a3506679cd2aef9ede51ea0f77bf8a10
Контрольная сумма архива SHA-256
ff59f3b8e14665e6724f659a733a2e20cdf678055a465a499b67239ce29358b2Инструкция по установке
Русский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-профили и пользователей
в приложении.