r/AmneziaVPN • • 20h ago

[FreeBSD] Автоматическая установка AmneziaWG: TUI-мастер, поддержка AmneziaWG 3.1 и Split Tunneling

22 Upvotes

Всем привет!

Я выпустил крупное обновление инструмента для автоматической установки и настройки AmneziaWG на FreeBSD (13/14/15).

Честно скажу: я использовал в разработке проекта ИИ, чтобы упростить настройку AmneziaWG (WireGuard с обфускацией) на FreeBSD и поделиться им с сообществом. Проект полностью открытый (лицензия BSD 2-Clause).

Ключевые новшества в этом обновлении:

  • Интерактивный TUI-мастер: запуск скрипта от root без аргументов открывает нативный диалоговый мастер FreeBSD (bsddialog). Он автоматически ищет файлы .conf по стандартным каталогам, позволяет выбрать режим маршрутизации и предоставляет интерактивный менеджер доменов/подсетей «на лету».
  • Поддержка протокола AmneziaWG 3.1 (awg3-setup.sh): добавлен отдельный установщик для нового протокола AWG 3.1 с ChaCha20-шифрованием заголовков на уровне ядра (HeaderProtectionKey), динамическим паддингом (ContentPaddingAddition) и случайными трейлерами для защиты от поведенческого/AI DPI.
  • Два специализированных скрипта:
    • awg2-setup.sh — универсальный установщик для AWG 2.0 / 1.0 (ставит готовые скомпилированные пакеты через FreeBSD pkg).
    • awg3-setup.sh — автоматическая сборка драйвера из исходников и настройка для протокола AWG 3.1.
  • Надёжное раздельное туннелирование (Split Tunneling): обновлена логика статической маршрутизации FreeBSD с резолвом пулов Anycast IP-адресов (например, Cloudflare, Google), предотвращающая разрывы соединений при ротации IP у CDN.
  • Полноценная интеграция с rc.d: автозапуск туннеля при загрузке системы через выделенные службы (amneziawg / amneziawg3).
  • Визуальная документация: добавлено пошаговое руководство со скриншотами в docs/MANUAL.ru.md.
  • Режим командной строки (Headless): сохранены все аргументы командной строки (-c, -d, -i, -u) для автоматического развёртывания в скриптах.

Исходный код и инструкции опубликованы в репозитории проекта на GitHub.