Skip to content

Latest commit

 

History

History
202 lines (139 loc) · 7.96 KB

File metadata and controls

202 lines (139 loc) · 7.96 KB

warp-awg-gen

Генератор конфигурационных файлов AmneziaWG 2.0 для Cloudflare WARP с полной поддержкой CPS-маскировки.

Возможности

  • Регистрация в Cloudflare WARP через официальный API
  • Активация лицензии WARP+ (не проверялось)
  • Кеширование регистрации (90 дней) -- повторные запуски без обращения к API
  • CPS (Camouflage Packet Sending) для обхода DPI с использованием реальных WARP QUIC-пакетов
  • Протокольные пресеты для I2-I5
  • Пользовательские AWG-параметры (Jc, Jmin, Jmax, S1-S4, H1-H4)
  • Пользовательские CPS-выражения (I1-I5)
  • Конвертация hex-дампа из Wireshark в CPS
  • YAML-конфигурационный файл
  • Автоматический выбор самого быстрого endpoint через TCP-пинг
  • Полная таблица маршрутизации WARP (AllowedIPs)

Использование

Базовая генерация

warp-awg-gen.exe -o warp.conf

Создает конфиг WARP и сохраняет в указанный файл. При первом запуске выполняет регистрацию в Cloudflare WARP API.

Лицензия WARP+

warp-awg-gen.exe -l ВАШ_КЛЮЧ -o warp-plus.conf

Кеширование регистрации

Первый запуск сохраняет регистрацию в кеш. Последующие запуски используют кеш, не обращаясь к API. Это полезно, если API заблокирован -- достаточно включить zapret один раз.

warp-awg-gen.exe --fresh-reg -o warp.conf   # принудительная новая регистрация
warp-awg-gen.exe -o warp.conf                # использует кеш (без вызова API)

Файл кеша (по умолчанию): warp-reg.json в текущей директории. Срок жизни: 90 дней.

Протокольные маски

Управляют структурой случайного наполнения I2-I5.

warp-awg-gen.exe --mask quic -o warp.conf   # QUIC-стиль (по умолчанию)
warp-awg-gen.exe --mask dns -o warp.conf    # DNS-размер
warp-awg-gen.exe --mask sip -o warp.conf    # SIP-размер

I1 всегда использует реальный WARP QUIC-пакет независимо от выбранной маски.

Отключение CPS

warp-awg-gen.exe --transport none -o warp-plain.conf

Создает обычный WireGuard-конфиг без CPS-маскировки.

YAML-конфиг

warp-awg-gen.exe -c example.yaml -o warp.conf

Пользовательские AWG-параметры

warp-awg-gen.exe --jc 4 --jmin 40 --jmax 70 --s1 0 --s2 0 --s3 0 --s4 0 -o warp.conf
warp-awg-gen.exe --h1 1 --h2 2 --h3 3 --h4 4 -o warp.conf

Пользовательские CPS-выражения

warp-awg-gen.exe --i1 "<b 0xce00000001...><r 16>" --i2 "<r 32>" -o warp.conf

Hex-дамп в CPS

Конвертирует hex-дамп из Wireshark в CPS-выражение I1. Минимум 32 байта (64 hex-символа).

warp-awg-gen.exe --from-hex "ce0000000108c10f0123456789abcdef..." -o warp.conf

Пользовательский endpoint

warp-awg-gen.exe --endpoint engage.cloudflareclient.com:2408 -o warp.conf
warp-awg-gen.exe --endpoint 162.159.192.1:943 -o warp.conf

По умолчанию endpoint выбирается автоматически через TCP-замер задержки.

Дополнительные опции

--dns        DNS-серверы (по умолчанию: 1.1.1.1, 1.0.0.1, 2606:4700:4700::1111, 2606:4700:4700::1001)
--mtu        MTU (по умолчанию: 1280)
--keepalive  PersistentKeepalive (по умолчанию: 25)
--reg-cache  Путь к файлу кеша регистрации (по умолчанию: warp-reg.json)

Пример сгенерированного конфига

[Interface]
PrivateKey = <base64-private-key>
Address = 172.16.0.2, 2606:4700:110:xxxx:xxxx:xxxx:xxxx:xxxx
DNS = 1.1.1.1, 1.0.0.1, 2606:4700:4700::1111, 2606:4700:4700::1001
MTU = 1280
Jc = 4
Jmin = 40
Jmax = 70
S1 = 0
S2 = 0
S3 = 0
S4 = 0
H1 = 1
H2 = 2
H3 = 3
H4 = 4
I1 = <b 0xce000000010897a2...> (реальный WARP QUIC-пакет, 1250+ байт)
I2 = <b 0x...> (случайные hex-байты)
I3 = <b 0x...> (случайные hex-байты)
I4 = <b 0x...> (случайные hex-байты)
I5 = <b 0x...> (случайные hex-байты)

[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
AllowedIPs = <полная таблица маршрутизации WARP>
Endpoint = 162.159.192.1:943 (или самый быстрый из обнаруженных)
PersistentKeepalive = 25

Решение проблем

Регистрация не удается (TLS handshake timeout)

API Cloudflare WARP может быть заблокирован на вашей сети. Включите zapret, VPN или прокси для первого запуска. Последующие запуски используют кеш и не требуют доступа к API.

warp-awg-gen.exe --fresh-reg -o warp.conf   # включите zapret, запустите один раз

Ошибка 429 при регистрации

Превышен лимит запросов. Подождите несколько минут и повторите, или используйте закешированную регистрацию.

Конфиг импортируется, но не подключается

Попробуйте другой endpoint. Некоторые IP или порты могут быть заблокированы.

warp-awg-gen.exe --endpoint engage.cloudflareclient.com:2408 -o warp.conf
warp-awg-gen.exe --endpoint 162.159.192.1:943 -o warp.conf

Если проблема не решается, отключите CPS и попробуйте снова:

warp-awg-gen.exe --transport none -o warp-plain.conf

"no IPv4 address assigned"

API вернул неожиданный формат ответа. Обычно это означает, что API изменился. Используйте --fresh-reg для повторной попытки.

Конфиг подключается, но трафик не проходит

Убедитесь, что указан --mtu 1280. Если DPI все еще блокирует трафик, CPS-маскировки может быть недостаточно в вашей сети. Попробуйте режим --transport none, чтобы проверить, влияет ли CPS на проблему, или используйте другую маску.

--from-hex не работает

Hex-строка должна содержать минимум 32 байта (64 hex-символа). Не-hex символы (пробелы, двоеточия, точки) удаляются автоматически.

Ошибка загрузки кеша (истек)

Кеш регистрации живет 90 дней. Запустите с --fresh-reg для перерегистрации (требуется доступ к API).

YAML-конфиг не работает

Убедитесь, что файл соответствует структуре из example.yaml. Булевы и числовые значения должны быть в правильном формате (без кавычек вокруг чисел и т.д.).

Сборка

go build -o warp-awg-gen.exe .

Требуется Go 1.21+ и golang.org/x/crypto.

Лицензия

MIT