Self-hosted панель управления AmneziaWG для Docker: Go backend, встроенный Web UI и CLI для туннелей, клиентов, диагностики, backup/restore и безопасного обслуживания.
- Готовый Docker-based setup: backend, Web UI, CLI и runtime-инструменты поставляются вместе.
- Безопасный дефолт для панели: Web UI слушает
127.0.0.1, а не публичный интерфейс сервера. - Несколько независимых туннелей на одном VPS: разные профили, UDP-порты и egress-сценарии без ручного редактирования Docker port mappings.
- Гибкий IPv4 egress: туннель может выходить напрямую через сервер или через Cloudflare WARP.
- Управление и обслуживание в одном месте: повседневные действия через Web UI, диагностика и автоматизация через CLI.
- Профили AmneziaWG: Legacy / 1.0, 1.5-oriented profile и 2.0.
- Туннели: отдельные профили, UDP-порты, подсети, endpoint-настройки и IPv4 egress.
- IPv6 egress пока не поддерживается; клиентские конфиги намеренно используют
AllowedIPs = 0.0.0.0/0без::/0. - Egress:
Server WANили Cloudflare WARP на уровне отдельного туннеля. - Клиенты: создание, скачивание
.conf, AmneziaWG QR, AmneziaVPN QR,vpn://ключ, enable/disable, expiration, delete. - Диагностика: Doctor, firewall repair, client status, last seen, received/sent counters.
- Maintenance Center: WARP, backup, restore verify, support bundle, live audit logs, updates, system info.
Интерактивная установка на Linux/VPS. Нужен Docker:
curl -fsSL https://raw.githubusercontent.com/astronaut808/awg-forge/master/install.sh -o install.sh
chmod +x install.sh
sudo ./install.shСкрипт проверит Docker до создания файлов, создаст /opt/awg-forge, сгенерирует .env, пароль и SESSION_SECRET, создаст первый туннель в state.json, запустит Docker Compose и покажет команду для SSH tunnel. По умолчанию первый туннель создается на AmneziaWG 2.0.
По умолчанию Web UI слушает 127.0.0.1:51821. Открывай его через SSH tunnel:
ssh -L 51821:127.0.0.1:51821 user@serverЗатем открой в браузере:
http://127.0.0.1:51821
git clone https://github.com/astronaut808/awg-forge.git
cd awg-forge
cp .env.example .env
mkdir -p data
docker compose up -dРекомендуемый production-режим — Docker host networking. Так туннели, созданные в UI, могут использовать разные UDP-порты без изменения Docker port mappings.
.envхранит настройки запуска контейнера и Web UI; туннели хранятся вdata/state.json.EXTERNAL_INTERFACE— внешний интерфейс сервера для WAN egress.WEBUI_HOST=127.0.0.1— безопасный дефолт для доступа через SSH tunnel.APPLY_CONFIG=true— применять runtime-туннели и firewall rules.SESSION_COOKIE_SECURE=auto|true|false— политика Secure cookie для Web UI.
Endpoint меняется для конкретного туннеля в Tunnel settings -> Server host. Если после обновления в .env остались старые tunnel-переменные вроде SERVER_HOST, LISTEN_PORT или IPV4_SUBNET, их можно удалить после проверки настроек в UI.
WARP можно выбрать при создании туннеля или включить позже в Tunnel settings -> Egress -> Cloudflare WARP. Если WARP еще не настроен, AWG-Forge автоматически зарегистрирует общий warp0.
Подробнее: Конфигурация.
- Создай клиента в UI.
- Открой
Configу клиента и импортируй через AmneziaVPN QR или скачанный.conf. - Проверь IPv4 egress:
curl -4 https://ifconfig.coDoctor:
docker exec awg-forge awg-forge doctorУдаление установленного экземпляра:
cd /opt/awg-forge
sudo ./uninstall.shБез клонирования репозитория:
curl -fsSL https://raw.githubusercontent.com/astronaut808/awg-forge/master/uninstall.sh | sudo bashDry-run перед удалением:
cd /opt/awg-forge
sudo ./uninstall.sh --dry-run --yesBackup/restore, firewall repair, support bundle, logs и update checks доступны в Maintenance Center и CLI.
- README EN
- Contributing
- Security policy
- Документация на русском
- Быстрая установка
- Установка и запуск
- Конфигурация
- Web UI и CLI
- Диагностика и troubleshooting
- Обновления AmneziaWG
- Разработка
- Безопасность
- Changelog
make ciЛокальный запуск без применения runtime-туннелей:
CONFIG_DIR=/private/tmp/awg-forge-dev \
WEBUI_HOST=127.0.0.1 \
WEBUI_PORT=51821 \
PASSWORD=test \
APPLY_CONFIG=false \
go run ./cmd/awg-forge serveRuntime и Docker image не требуют Node/npm. Web UI собирается из web/ через Vite/Preact/TypeScript и встраивается в Go-бинарь как статические файлы.
Если проект оказался полезным, можно поддержать разработку донатом:
- USDT (TRC20):
TBQcgJ9UoGEBXBwPMcf97t3uJiTCRnVmji - GRAM (ex TON):
UQCrUmIsUBgIJJJNKpvOO5dxpUH5r7xCz9-AJ2IHUTIckJhS
AWG-Forge — независимый open-source проект для администрирования AmneziaWG-инфраструктуры.
Проект не аффилирован с Amnezia.org, не разрабатывается и не поддерживается командой Amnezia. Название AmneziaWG используется только для обозначения совместимости с соответствующим протоколом и инструментами.
