AmneziaWG: ошибка парсера handshake при некорректном теге <b ...> в параметре I1
Симптомы сбоя парсинга хэндшейка в AmneziaWG
При импорте конфигурационного профиля .conf в клиент AmneziaWG или сервис Amnezia VPN соединение не устанавливается. В журнале подключений фиксируется фатальная ошибка синтаксического анализатора: Failed to parse handshake packet format: unexpected tag '<b ...>' in parameter I1 или «Handshake initiator parsing error at position 0».
| Параметр в [Interface] | Ожидаемый формат | Ошибочное значение |
|---|---|---|
| I1 (InitPacketMagicHeader) | Шестнадцатеричное число (Hex 4 байта) или целое число | Неэкранированные XML/HTML теги вида <b 0x...> |
| Jmin / Jmax (Junk Packet) | Целочисленный диапазон байт (напр. 50-1000) | Строковые литералы или форматированный текст |
| S1 / S2 (Response Packet) | Числовые значения смещений байтов | Поврежденная разметка при копировании из веб-панелей |
Пошаговое исправление конфигурационного файла AmneziaWG
- Локализуйте ошибку в текстовом редакторе: откройте проблемный конфигурационный файл
client.confв обычном блокноте или Notepad++ (без автоформатирования HTML). - Устраните поврежденный синтаксис тега <b ...>: ошибка возникает, если параметры обфускации были скопированы из веб-интерфейса панели управления (например, 3X-UI или Marzban), где жирный шрифт
<b>...</b>попал в буфер обмена как сырой текст.# НЕПРАВИЛЬНО: Jc = 4 Jmin = 40 Jmax = 70 S1 = 28 S2 = 44 H1 = 1 H2 = 2 H3 = 3 H4 = 4 I1 = <b 0x22114433> # ПРАВИЛЬНО (чистое шестнадцатеричное или числовое значение): Jc = 4 Jmin = 40 Jmax = 70 S1 = 28 S2 = 44 H1 = 1 H2 = 2 H3 = 3 H4 = 4 I1 = 0x22114433 - Проверьте синтаксис секции [Interface]: убедитесь, что все параметры обфускации AWG соответствуют спецификации протокола:
[Interface] PrivateKey = aaaaaabbbbbbccccccddddddeeeeeeffffff= Address = 10.8.0.2/24 DNS = 1.1.1.1 Jc = 5 Jmin = 50 Jmax = 1000 S1 = 15 S2 = 60 H1 = 12345678 H2 = 23456789 H3 = 34567890 H4 = 45678901 - Пересохраните файл в кодировке UTF-8 без BOM: наличие символов BOM (Byte Order Mark) в начале файла вызывает аварийный сбой встроенного Go-парсера приложения.
Важно: Параметры заголовков H1, H2, H3, H4 и смещений S1, S2 на стороне клиента ДОЛЖНЫ строго совпадать со значениями в конфигурации сервера (/etc/amnezia/amnezia-wireguard/wg0.conf), иначе пакет Handshake будет отброшен сервером без ответа.
Частые вопросы (FAQ)
Откуда в конфигурационном файле берется тег <b>?
Это результат копирования конфига из веб-интерфейсов панелей управления через браузер с подсветкой синтаксиса, когда HTML-разметка тегов выделения попадает в буфер обмена.
Чем AmneziaWG отличается от оригинального WireGuard?
AmneziaWG добавляет случайный мусор (мусорные пакеты фиксированного размера Jmin-Jmax) перед рукопожатием и изменяет сигнатуру заголовков пакетов (Magic Headers H1-H4), предотвращая обнаружение протокола системами глубокой фильтрации трафика (DPI).
Что означает параметр I1 в AmneziaWG?
Параметр I1 задает пользовательский префикс инициализации первого хэндшейк-пакета для маскировки его под произвольный протокол (обход эвристических анализаторов).
Как протестировать запуск AmneziaWG в Linux консоли?
Используйте специализированную утилиту awg-quick: awg-quick up /etc/amnezia/amnezia-wireguard/wg0.conf.