AmneziaWG: Ошибка парсинга конфигурации клиента (Unquoted String)
- Клиент выдает ошибко-сообщение:
Configuration parsing error: line X: invalid value for parameter H1/Jc. - Официальное приложение Amnezia VPN не может импортировать .conf файл или QR-код.
- Утилита
awg-quickпадает с ошибкой:/usr/bin/awg-quick: line XX: syntax error near unexpected token. - Значения параметров обфускации случайно обернуты в кавычки или содержат пробелы.
1. Спецификация синтаксиса конфигурационных файлов AmneziaWG
Парсер AmneziaWG (в отличие от стандартных INI-парсеров) строго требует целочисленных беззнаковых значений для числовых параметров без использования одинарных или двойных кавычек, комментариев на той же строке и пробелов вокруг значений.
2. Примеры распространенных ошибок синтаксиса
# НЕПРАВИЛЬНО:
H1 = "1284719283" # Ошибка: строковые кавычки
Jc = 4 # 4 packets # Ошибка: inline-комментарий
S1 = 15, S2 = 20 # Ошибка: несколько параметров на одной строке
Address = 10.8.0.2 # Ошибка: отсутствует маска /32 или /24
# ПРАВИЛЬНО:
[Interface]
Address = 10.8.0.2/32
PrivateKey = aaaaaa...
DNS = 1.1.1.1
H1 = 1284719283
H2 = 839182734
H3 = 1928374650
H4 = 746352910
Jc = 4
Jmin = 40
Jmax = 700
S1 = 15
S2 = 20
[Peer]
PublicKey = bbbbbb...
Endpoint = 203.0.113.10:51820
AllowedIPs = 0.0.0.0/03. Очистка невидимых символов и форматирование через sed / dos2unix
# Удаление Windows символов возврата каретки (CRLF -> LF)
dos2unix client.conf
# Удаление пробелов в конце строк и кавычек
sed -i 's/"//g; s/[ \t]*$//' client.conf4. Валидация конфига через awg-quick
awg-quick strip /etc/amnezia/amnezia-wireguard/awg0.conf Частые вопросы (FAQ)
Можно ли писать комментарии со знаком '#' в конфигурационном файле?
Да, но комментарий должен находиться на отдельной строке. Комментарии, дописанные в конце рабочей строки (inline), ломают парсер AmneziaWG.
Чувствительны ли имена параметров к регистру?
Да, параметры обфускации чувствительны к регистру: H1, H2, H3, H4, Jc, Jmin, Jmax, S1, S2 должны быть написаны в точности так, как указано в спецификации.
Почему импорт через QR-код выдает ошибку парсинга?
QR-код имеет лимит плотности. Если в конфиг включено слишком много маршрутов AllowedIPs или длинных комментариев, сгенерированный код повреждается при распознавании камерой.
Что делает утилита awg-quick strip?
Она парсит и фильтрует конфигурационный файл, удаляя специфичные для скрипта директивы (Address, DNS, PostUp) и оставляя только чистые команды для ядра.