Классический WireGuard — отличный VPN-протокол: компактное ядро на 4 000 строк кода, современная криптография, прекрасная производительность. В большинстве стран он просто работает. Но в России с лета 2024 года ТСПУ (технические средства противодействия угрозам у крупных провайдеров) научилось распознавать WireGuard за миллисекунды по характерному 148-байтовому handshake — туннель просто не поднимается, особенно на мобильных операторах.
На эту проблему российские разработчики из команды Amnezia ответили форком: AmneziaWG сохраняет всю криптографию WireGuard, но добавляет к ней слой обфускации — случайные «мусорные» пакеты, рандомизацию заголовков, padding. Для DPI трафик становится неразличим от обычного UDP-потока, и туннель стабильно поднимается даже в сетях с активной фильтрацией. В этой статье разбираем, что именно делает AmneziaWG, чем отличается от VLESS+Reality (второго протокола, устойчивого к российской DPI-фильтрации), и где его использовать в 2026 году.
Главное в трёх пунктах
- AmneziaWG — это форк WireGuard с добавленной обфускацией. Криптография та же, маскировка сверху.
- Производительность почти не страдает — около 3% накладных расходов на handshake. Поточная скорость практически идентична WG.
- Версия 2.0 вышла 25 марта 2026 — введена «мимикрия»: можно настроить туннель так, чтобы он выглядел как DNS-запрос или QUIC-соединение.
Почему обычный WireGuard выдаёт себя ТСПУ
У WireGuard очень компактный и чётко формализованный протокол — это его достоинство для безопасности и одновременно причина, по которой DPI (Deep Packet Inspection — система анализа трафика у крупных провайдеров) легко его опознаёт. Что видит DPI на проводе:
- Фиксированный 148-байтовый первый пакет handshake. Размер не меняется никогда — это узнаваемая сигнатура.
- Фиксированный «магический» первый байт: 0x01 для MessageInitiation, 0x02 для MessageResponse, 0x03 для MessageCookieReply, 0x04 для MessageTransport. Эти значения тривиально проверить.
- Поля на фиксированных позициях: эфемерный ключ, MAC-коды, временная метка — каждое в своём месте.
- UDP на специфичных портах (обычно 51820), хотя порт можно менять.
ТСПУ строит сигнатуру «UDP-пакет 148 байт, первый байт 0x01, поля на позициях X, Y, Z» — и блокирует на лету. Поменять что-то одно недостаточно: WireGuard детерминирован по дизайну, любое отклонение от стандарта ломает протокол.
AmneziaWG решает это так: оставить криптографию неприкосновенной, но дать пользователю настраивать всё, что выше криптослоя — заголовки, размеры, паттерн трафика.
Как AmneziaWG прячет WireGuard — четыре механизма
Кратко, если в технику погружаться не хочется
AmneziaWG добавляет к WireGuard четыре настраиваемых слоя случайности: (1) бессмысленные «мусорные» пакеты перед началом соединения, (2) случайные «довески» в каждом пакете, (3) случайные первые байты сообщений вместо фиксированных, (4) пакеты, имитирующие легитимные протоколы (DNS, QUIC). Каждый слой отдельно — слабая защита; вместе они дают DPI трафик, в котором нет ни одной узнаваемой сигнатуры. Дальше — детали для тех, кому интересно «как это работает».
1. Junk-пакеты перед handshake (Jc, Jmin, Jmax)
Перед тем как отправить настоящий handshake WireGuard, клиент шлёт серверу Jc штук мусорных пакетов случайного размера от Jmin до Jmax байт. Типичные значения: Jc = 3–7, Jmin = 64, Jmax = 1024. Каждый пакет — псевдослучайные байты, ничего не значащие. ТСПУ видит «странный UDP-трафик с переменными размерами» и не находит ничего, что соответствует сигнатуре WireGuard. Когда наконец идёт настоящий handshake, сервер его принимает и игнорирует предыдущий мусор.
2. Padding в пакетах (S1, S2, S3, S4)
Каждый тип сообщения WireGuard получает случайный «довесок» из непредсказуемого количества байт:
- S1 — padding в Init-пакете (0–64 байт)
- S2 — padding в Response (0–64 байт)
- S3 — padding в Cookie (0–64 байт, добавлено в 2.0)
- S4 — padding в Data-пакетах (0–32 байт, добавлено в 2.0)
В результате handshake-пакеты больше не имеют фиксированного 148-байтового размера. ТСПУ не может опираться на длину.
3. Переопределение «магических» заголовков (H1, H2, H3, H4)
Вместо фиксированных 0x01/0x02/0x03/0x04 первый байт каждого типа сообщения становится произвольным 32-битным значением, которое выбирает пользователь. В версии 1.x — фиксированное число; в 2.0 — диапазон, из которого случайным образом выбирается значение для каждого пакета. Главное ограничение: H1–H4 не должны пересекаться, иначе клиент сам путает типы сообщений.
4. Signature packets (I1–I5) и CPS-builder
Добавлено в версии 1.5 (июль 2025) и доработано в 2.0. Это произвольные блоки данных, которые шлются до handshake — они могут изображать что угодно. В 2.0 появился CPS (Custom Protocol Signature) builder — конструктор, в котором с помощью тегов <b hex> (статичные байты), <t> (unix-таймстамп), <r N> (случайные байты), <rc N> (случайные ASCII-буквы) можно собрать пакет, похожий на DNS-запрос, QUIC initial или SIP-сообщение. То есть AmneziaWG не просто «маскируется под ничто», а конкретно изображает легитимный протокол.
2.0 = переход от маскировки к мимикрии
Главное концептуальное отличие AmneziaWG 2.0 — раньше задача была «не выглядеть как WireGuard», теперь — «выглядеть как что-то конкретное и легитимное». Если 1.5 говорил DPI «я непонятный UDP», то 2.0 может сказать «я DNS-запрос» или «я QUIC handshake». Это значительно усложняет работу любому сигнатурному анализатору.
История проекта: от DemHack 2020 до 2.0
Amnezia родилась на хакатоне DemHack 2020 — совместный проект Роскомсвободы и Privacy Accelerator (программа Теплицы социальных технологий). Изначальное название проекта — VPN123, в 2021 году переименовано в AmneziaVPN. Команда — российские разработчики и активисты, по самопрезентации 2–10 человек. Публичное лицо проекта — Mazay Banzayev (на Habr под ником @pokamest_nikak).
Версионная история самого протокола AmneziaWG:
- 1.0 (стабилизация — 2024) — первая зрелая версия. Введены Jc/Jmin/Jmax, S1/S2, H1–H4 (фиксированные). Сам проект разработки начинался раньше; 1.0 — момент, когда параметры приняли финальный формат.
- 1.5 (июль 2025) — добавлены I1–I5 (signature packets), переработаны сетевые паттерны после первых попыток ТСПУ сигнатурного анализа.
- 2.0 (25 марта 2026) — H1–H4 стали диапазонами, S-параметры расширены на все типы сообщений, добавлен CPS-builder. Конфиги несовместимы с 1.x на проводе — нужна полная миграция.
Финансирование — преимущественно гранты Open Technology Fund (OTF, программа правительства США через агентство USAGM). Через OTF проводились независимые аудиты безопасности у компании 7ASecurity: первичный аудит и последующий ретест после правок. В первом аудите нашли два критических и одну high-risk уязвимости (RCE через импорт OpenVPN-конфига, DoS), все исправлены к ретесту. К самому протоколу AmneziaWG критики аудит не имел.
Производительность: что теряем за обфускацию
Хорошие новости: почти ничего. По бенчмаркам самой команды Amnezia на не-цензурированной сети WireGuard выдаёт 95 Мбит/с, AmneziaWG — 92 Мбит/с. Это около 3% накладных расходов, в основном за счёт мусорных пакетов перед handshake. Поточная скорость передачи данных после установления соединения практически идентична — junk-пакеты идут один раз, дальше работает обычный WireGuard-туннель с обычной производительностью.
Где могут быть проблемы:
- Userspace-реализация (amneziawg-go) на слабых ARM-устройствах может давать заметный overhead — пользователи жаловались на до 65% потери скорости на старых процессорах. На обычных x86 или современных ARM (Mac M1+, Snapdragon 8xx+) разница не видна.
- Kernel-модуль для Linux — практически без потерь. Это рекомендуемый вариант для серверной части.
- Handshake немного дороже — реконнект (например, при смене Wi-Fi) занимает на 0.5–1 секунду дольше, чем у ванильного WG. Незаметно при обычном использовании.
AmneziaWG vs VLESS+Reality
В 2026 году это два главных VPN-протокола, которые стабильно работают в российских сетях с активной DPI-фильтрацией. Они построены по разным принципам и подходят для разных сценариев:
| Критерий | AmneziaWG | VLESS+Reality |
|---|---|---|
| Семейство | WireGuard fork, UDP | Xray/V2Ray, TCP + TLS |
| Метод маскировки | Random headers + padding + junk-пакеты + UDP-мимикрия | Маскировка под TLS-сессию к легитимному ресурсу (использует реальный сертификат) |
| Скорость | Уровень WireGuard, ~3% оверхед | Медленнее на старте (TLS-handshake), стабильно дальше |
| Поведение на плохих сетях | UDP — потери чувствительны, нужны hard re-handshake | TCP — стабильнее на 2G/3G и нестабильном Wi-Fi |
| Кодовая база | Компактный форк WG (~тысячи строк) | Xray-core — крупный фреймворк (десятки тысяч строк) |
| Поддержка на роутере | Нативная (OpenWrt, Keenetic 5.1+, MikroTik через Docker) | Через sing-box или Xray (сложнее) |
| Состояние в мае 2026 | 1.5 работает у большинства, 2.0 свежий и стабильный | Тестовые точечные блокировки с осени 2025; XHTTP — следующая ступень |
| Уязвимость локального SOCKS5 (апрель 2026) | Не подвержен | Был подвержен в клиентах Hiddify/Happ/v2rayNG/V2BOX/NekoBox — частично закрыт патчами |
Они дополняют друг друга
Это не «или-или», а «и-и». Многие продвинутые пользователи держат на одном VPS оба сервера: AmneziaWG как основной (быстрый, на роутере), VLESS+Reality как запасной (стабильный на плохих сетях, лучше прячется в случае точечной блокировки). У каждого свои сильные стороны. Подробнее про VLESS+Reality — в нашей отдельной статье.
Где использовать AmneziaWG в 2026 году
Свой VPS через AmneziaVPN-клиент (самый простой путь)
Команда Amnezia сделала клиентское приложение, которое сам разворачивает AmneziaWG-сервер на вашем VPS по SSH. Алгоритм: покупаете VPS у любого хостера (от 200 ₽/мес у российских провайдеров), скачиваете AmneziaVPN с amnezia.org, вводите в нём IP сервера и пароль root — приложение само ставит Docker, разворачивает контейнер, выдаёт готовый конфиг. От покупки VPS до рабочего туннеля — 5–10 минут. Все данные остаются на вашем сервере, Amnezia их не видит. Подробная инструкция — в нашей статье «Свой VPN на VPS в 2026».
Сервисы команды Amnezia
- AmneziaFree — бесплатный Telegram-бот @AmneziaFreeBot. Дают AmneziaWG-конфиг без оплаты. Хорошо для тестирования, не для постоянного использования (нагрузка большая, серверы переменно).
- AmneziaPremium — платная подписка от команды Amnezia, около 20 локаций, оплата криптой или зарубежной картой.
На роутере
Это сценарий, где AmneziaWG особенно силён — его проще запустить на роутере, чем VLESS+Reality.
- OpenWrt — устанавливается через пакет
awg-openwrtс luci-app-amneziawg, либо через альтернативные сборки вроде Podkop. - Keenetic — нативная поддержка AmneziaWG появилась в прошивке KeeneticOS 5.1 (на момент мая 2026 — в Alpha-канале). На стабильных версиях 4.x нативной поддержки нет, нужен 5.1 Alpha 3 или новее.
- MikroTik — нативной поддержки нет; работает через Docker-контейнер на RouterOS 7 (нужен роутер с ARM и поддержкой контейнеров).
- GL.iNet — часть моделей поддерживает через прошивки на OpenWrt.
На мобильном
- AmneziaVPN — родное приложение, поддерживает все протоколы команды (AmneziaWG, WireGuard, OpenVPN+Cloak, OpenVPN+Shadowsocks, IKEv2, Shadowsocks, XRay Reality). Доступно в Google Play, App Store, RuStore.
- AmneziaWG standalone — отдельные приложения только под AWG. Android: пакет
org.amnezia.awgв Google Play. iOS: AmneziaWG в App Store. Win/Mac — отдельные клиенты с amnezia.org. - Стандартное приложение WireGuard от wireguard.com — НЕ поддерживает AmneziaWG-параметры. Конфиг с H1–H4 и S-параметрами в нём не запустится.
Сервисы AmneziaWG в нашем каталоге
В мае 2026 года ни один из шести сервисов нашего каталога (Дядя Ваня VPN, Bebra VPN, XConnect VPN, BlancVPN, GeodemaVPN, QuattroVPN) не объявляет AmneziaWG как официально поддерживаемый протокол. Это не означает, что они хуже — у них собственные технологические подходы к стабильной работе в российских сетях:
- XConnect VPN, GeodemaVPN — работают на VLESS+Reality (второй современный протокол с маскировкой трафика).
- Дядя Ваня VPN, Bebra VPN — WireGuard, OpenVPN, Shadowsocks. Без обфускации — потому в мобильных сетях бывают перебои.
- BlancVPN — WireGuard, OpenVPN, VLESS, Shadowsocks.
Если вам нужен именно AmneziaWG — практичный путь не коммерческий сервис, а собственный VPS с разворачиванием через AmneziaVPN-клиент. Это удобнее и стабильнее, чем искать редкого провайдера с поддержкой. Для тех, кому нужен готовый коммерческий сервис с маскировкой трафика — берите VLESS+Reality-сервисы из нашего каталога.
Подводные камни AmneziaWG
Несовместимость 2.0 с 1.x
Если вы переходите с AmneziaWG 1.x на 2.0, все ваши клиенты перестанут подключаться к серверу до тех пор, пока не сгенерируете новые конфиги с серверной стороны и не раздадите их на все устройства. Это блокирует постепенную миграцию: либо все сразу на 2.0, либо все на 1.5. Если у вас семья на 5 устройств — планируйте окно простоя на час, чтобы всё переключить.
Несовместимость с обычным WireGuard
Если в конфиге задействованы H1–H4 или S-параметры (как почти всегда в реальных AmneziaWG-конфигах), стандартное приложение WireGuard от wireguard.com не сможет подключиться. Требуется AmneziaVPN либо специализированный AmneziaWG-клиент. Если вы привыкли к официальному WG-приложению — придётся пересесть на новое.
Junk-пакеты тратят чуть больше трафика
При типичных настройках (Jc=5, Jmin=64, Jmax=1024) каждый handshake тратит дополнительно несколько килобайт. В обычном использовании это незаметно. Но на сетях с тарификацией по объёму трафика — учитывайте, что реконнекты дают небольшой overhead.
Что дальше: куда движется протокол
Из публичных обсуждений в GitHub-issues и комментариях на Habr известно несколько направлений развития:
- Расширение CPS-builder — новые шаблоны под TLS 1.3 ClientHello, HTTP/3, более точная мимикрия под современные протоколы.
- Развитие kernel-модуля для Linux — синхронизация с upstream WireGuard, повышение производительности на серверной стороне.
- Apple Endpoint Security API — улучшение совместимости с macOS-системой защиты.
- Возможная интеграция с pluggable transports — стандарт, который позволит подменять транспортный слой без переписывания приложения.
Стратегически команда Amnezia выбрала путь «постоянно меняем профиль трафика», а не «один раз спрятались навсегда». ТСПУ научится детектировать AmneziaWG 2.0-сигнатуры — это вопрос времени; реакцией будет 2.5 или 3.0 с новыми паттернами. Это гонка, в которой Amnezia пока успешно идёт впереди.
Частые вопросы
Запустить AmneziaWG
Самый практичный путь — поднять свой VPN на VPS через клиент AmneziaVPN. 5 минут от покупки сервера до рабочего туннеля. Альтернативно — взять готовый VPN с протоколом VLESS+Reality из нашего каталога.