Перейти к основному содержимому

AmneziaWG

Современная версия популярного VPN-протокола WireGuard. AmneziaWG - это форк WireGuard-Go. Он защищен от обнаружения системами DPI, при этом сохранил в себе упрощенную архитектуру и высокую производительность оригинала.

Прародитель AmneziaWG - WireGuard известен своей эффективностью, но у него есть проблемы с обнаружением из-за характерных сигнатур пакетов.
AmneziaWG решает эту проблему за счет использования более совершенных методов обфускации, благодаря чему его трафик сливается с обычным интернет-трафиком.
Таким образом, AmneziaWG сохраняет высокую производительность, добавляя дополнительный уровень скрытности, что делает его отличным выбором для тех, кому нужно быстрое и незаметное VPN-соединение.

  • Доступно с AmneziaVPN на всех платформах.
  • Низкое энергопотребление.
  • Минимальное количество настроек.
  • Не распознается системами DPI-анализа, устойчив к блокировке.
  • Работает по сетевому протоколу UDP.

Принцип работы:

AmneziaWG работает в рамках обратной совместимости. То есть реализация AmneziaWG позволяет изменить некоторые статичные параметры в WireGuard, по которым этот протокол обычно и распознают системы DPI. А если оставить эти параметры по умолчанию (равными 0), то протокол будет работать как обычный WireGuard.

В AmneziaWG изменены заголовки всех пакетов:

  • Пакета рукопожатия (Initiator to Responder).
  • Ответного пакета (Responder to Initiator).
  • Пакета данных.
  • Специального пакета “Under Load” – по умолчанию стоят рандомные значения, но их можно самостоятельно поменять в настройках.

Так как заголовки у каждого пользователя разные, то написать универсальное правило на основе заголовков для систем отслеживания, чтобы вычислить протокол и заблокировать, просто невозможно.

Еще одно слабое место WireGuard - это размеры пакетов авторизации.
В AmneziaWG к каждому auth-пакету дописываются рандомные байты, чтобы изменить их размер.
Так “init и response пакеты” рукопожатия дополнительно имеют “мусор” в начале данных, размер которого определяются значениями S1 и S2.
По умолчанию инициирующий пакет рукопожатия имеет фиксированный размер (148 байт), а после добавления мусора, его размер будет равен 148 байтам +S1.
В реализации AmneziaWG предусмотрен и еще один трюк для более надежной маскировки. Перед началом сессии Amnezia отправляет некоторое количество “мусорных” пакетов, чтобы в окончательно запутать системы DPI. Количество таких пакетов и их минимальный и максимальный размер в байтах тоже задается в настройках, параметрами Jc, Jmin и Jmax.

Ссылки:

AmneziaWG - основной репозиторий.

Установка AmneziaWG через консоль:

Установка AmneziaWG и других нужных утилит на VDS-сервере

Установка AmneziaWG на Android-устройстве

Установка AmneziaWG на OpenWRT-устройстве

Вспомогательные утилиты:

Для Android,
Для Windows,
Для MacOS и IOS,
Для Wireguard

Конфигурации с протоколом AmneziaWG можно использовать не только в приложении AmneziaVPN, но и в нативном клиенте AmneziaWG. :

Для Android в Google Play

Для IOS в AppStore

Для Windows на Github

Обращайтесь в чат за помощью, если что-то не получается