Skip to content

AmneziaWG

AmneziaWG — форк WireGuard-Go, который устраняет характерные сетевые сигнатуры. Версия 1.5 вводит маскировку протокола под UDP-протоколы (QUIC, DNS).

8 ключевых преимуществ

  1. Невидимость для DPI — динамические заголовки и рандомизация размеров пакетов
  2. Маскировка протокола — имитация QUIC, DNS, SIP и других UDP-протоколов
  3. Высокая производительность — модуль ядра с ChaCha20-Poly1305, SIMD-оптимизация
  4. Энергоэффективность — Go-based userspace, подходит для мобильных
  5. Кросс-платформенность
  6. UDP-транспорт
  7. Простота конфигурации — укажите протокол маскировки, остальное заполнится автоматически
  8. Обратная совместимость — идентичен стандартному WireGuard при отключённой обфускации

Как это работает

1. Динамические заголовки

Рандомные константы применяются к 4 форматам пакетов WireGuard (Init, Response, Data, Under-Load).

2. Рандомизация длины хендшейка

Init: обычно 148 байт, Response: 92 байта. Добавляются псевдослучайные префиксы S1 и S2 (0-64 байта):

len(init) = 148 + S1
len(resp) = 92 + S2

3. CPS (Custom Protocol Signature)

Перед хендшейками отправляется до 5 UDP-пакетов в формате CPS:

ТегФорматОписаниеОграничения
b<b hex_data>Статические байты для имитации протоколаПроизвольная длина
c<c>32-битный счётчик пакетов (network byte order)Уникален в последовательности
t<t>Unix timestamp (32-бит, network byte order)Уникален в последовательности
r<r length>Криптографически рандомные байтыlength ≤ 1000

Пример CPS:

i1 = b 0xf6ab3267facb 0xf6atr 10

4. Junk Train (Jc)

Псевдослучайные пакеты (Jc штук) размером Jmin-Jmax байт, маскирующие начало сессии.

5. Under-Load пакет

Keep-alive с рандомизированными заголовками вместо фиксированных WireGuard-заголовков.

6. Неизменённая криптография

Шифрование идентично WireGuard: Curve25519, ChaCha20-Poly1305, двусторонняя ротация ключей.

Параметры конфигурации

ПараметрДиапазонНазначение
I1-I5hex-blobПакеты сигнатуры протокола
S1, S20-64 байтРандомные префиксы для Init/Response
Jc0-10Количество мусорных пакетов
Jmin, Jmax64-1024 байтДиапазон размеров мусорных пакетов

INFO

Нулевые значения = стандартное поведение WireGuard.

Безопасность

Noise_IK key exchange с Curve25519, AEAD ChaCha20-Poly1305. Все существующие аудиты безопасности WireGuard применимы.

Репозитории

Нативные клиенты