Бета. Работает, но обкатано на паре серверов. Ставь на тестовый VPS, на боевом — на свой риск. Формат хранения может меняться между версиями.
Менеджер AmneziaWG 3.0 на userspace-бэкенде amneziawg-go.
Ставится рядом с AWG 2.0 и не задевает его: свой префикс, своя таблица
маршрутизации, правила iptables удаляются адресно по тегу.
bash <(curl -fsSL https://raw.githubusercontent.com/pumbaX/awg-toolza3.0/main/install.sh) --install
sudo awg3-probe # проверить, что бинарь умеет AWG 3
sudo awg3 # менюUbuntu 24.04+ или Debian 12+, KVM, root.
╔════════════════════════════════════════════════════╗
║ AWG3 v0.30.0 — AmneziaWG 3.0 (amneziawg-go) ║
╚════════════════════════════════════════════════════╝
Сервер: работает awg1:60927 pro/AWG3, клиентов 1
Сервер
1 Создать сервер
2 Показать конфигурацию
3 Запустить интерфейс
4 Остановить интерфейс
5 Состояние
6 Перегенерировать обфускацию
Клиенты
7 Добавить клиента
8 Список клиентов и статистика
9 Показать конфиг
10 Включить или выключить
11 Удалить клиента
Обслуживание
12 Бекап и восстановление
13 Журнал (последние 50)
14 Полное удаление конфигурации
15 Обновление с GitHub
0 Выход
Порядок: 1 → 7 → 9. Интерфейс поднимается сам после создания сервера, автозапуск через systemd включается автоматически.
- Сборка Go нужной версии с проверкой sha256, изолированно от системного
- Профили обфускации
lite/standard/proи шаблоны настроек - CPS-мимикрия
I1–I5: junk-пакеты под TLS ClientHello, QUIC Initial или DNS-запрос. Структура фиксирована, случайные поля — тегами, поэтому пакет не повторяется между хендшейками - Статистика: последний хендшейк, трафик и endpoint по каждому клиенту
- Бекап с ротацией, восстановление с защитой от path traversal
S1–S4 должны быть ≥ 12, а не 8. README amneziawg-go ошибается.
HeaderCipherNonceSize = 12: nonce ChaCha20 берётся из первых 12 байт
S-паддинга, при меньшем срез уходит в тело сообщения — падения нет, но
шифрование заголовков молча слабеет. Генератор соблюдает это сам.
Клиент — AmneziaWG β, а не AmneziaVPN. Импортёр основного приложения
(importController.cpp) переносит из .conf только Jc/Jmin/Jmax/S1-S4/H1-H4
и I1-I5, а HeaderProtectionKey выбрасывает. Без него сервер не разбирает
handshake initiation, и соединение не поднимается без внятной ошибки.
install.sh единственный скрипт
src/ пакет, тесты, подробная документация (src/DOCS.md)
install.sh кладёт src/ в /opt/awg3/src и работает оттуда.
--update обновляет папку через git fetch.
cd src
bash test_install.sh # 64, без root
python3 test_models.py # 33
python3 test_core.py # 52Ни один не требует сервера или сети.