CLI-утилита для создания Cloudflare WARP VPN-тоннеля через AmneziaWG (обфусцированный форк WireGuard) на Windows.
English: README-en.md
- Регистрация в Cloudflare WARP и управление ключами
- AmneziaWG-тоннель с параметрами обфускации (jc, jmin, jmax, s1-s4, h1-h4, i1-i5)
- WFP firewall (kill switch)
- Сканер эндпоинтов для поиска самого быстрого сервера WARP
- Интеграция с Запретом (winws) через привязку
--wf-iface
- Windows 10/11
- Права администратора (для
awarp up) wintun.dllрядом с бинарником
go build -o awarp.exe .Для создания TUN-интерфейса требуется библиотека wintun.dll. Скачать:
- Официальный сайт: https://www.wintun.net/
- GitHub: https://github.com/WireGuard/wintun
Поместите wintun.dll в ту же директорию, где лежит awarp.exe.
awarp register --profile <name> [--license KEY] [--set-awg KEY=VAL ...] [--sni DOMAIN]
awarp up --profile <name>
awarp down --profile <name>
awarp status --profile <name>
awarp scan
awarp config show --profile <name>
awarp config set --profile <name> [--endpoint IP:PORT] [--set-awg KEY=VAL ...]
awarp config profiles
awarp config delete --profile <name>
awarp help
:: Регистрация и подключение
awarp register
awarp up
:: Сканирование быстрого эндпоинта
awarp scan
:: Смена эндпоинта
awarp config set --endpoint 162.159.192.179:2408
:: Переподключение с новым эндпоинтом
awarp down && awarp up
:: Использование с Запретом (winws)
awarp up
zapret-warp.bat| Параметр | Описание |
|---|---|
jc |
Количество junk-пакетов |
jmin, jmax |
Диапазон размеров junk-пакетов |
s1-s4 |
Заполнение сообщений |
h1-h4 |
Заголовки сообщений |
i1-i5 |
Пользовательские пакеты подписи |
Дефолтный: engage.cloudflareclient.com:2408
Подсети WARP WireGuard:
162.159.192.0/24162.159.193.0/24
Порт: UDP 2408 (резервные: 500, 1701, 4500)
При запуске winws (GoodbyeDPI/Запрет) вместе с WARP браузеры показывают "Нет интернета" и сайты не грузятся. Причина:
- WinDivert (используется winws) перехватывает пакеты на ВСЕХ сетевых интерфейсах
- WARP создаёт TUN-интерфейс (
warp0), который обрабатывает весь трафик - Windows NCSI отправляет HTTP-запросы через TUN
- WinDivert ломает эти запросы → Windows думает, что интернета нет
- curl и Telegram работают, потому что используют свой стек (Winsock)
curl https://youtube.comработает- Telegram работает
- Браузер показывает "Нет интернета", YouTube не грузится
- winws + WARP = браузер полностью не работает
Использовать --wf-iface=<индекс_физического_интерфейса> для привязки WinDivert только к физическому сетевому интерфейсу, исключая TUN.
- Скопируйте
zapret-warp-alt-chrome.batв директорию запрета (например,D:\zapret\) - Запустите WARP:
awarp up
- Запустите запрет (в отдельном терминале):
D:\zapret\zapret-warp-alt-chrome.bat
- Остановка:
awarp down taskkill /F /IM winws.exe
Bat-файл автоматически определяет сетевые интерфейсы:
- Находит индекс TUN-интерфейса (
warp0) черезnetsh int ip show interfaces - Находит индекс физического интерфейса (первый подключённый не-TUN интерфейс)
- Добавляет
--wf-iface=<индекс_физического>к аргументам winws - WinDivert захватывает пакеты ТОЛЬКО на физическом интерфейсе, игнорируя TUN
Если вы хотите использовать другую стратегию запрета (ALT1, ALT2 и т.д.) с WARP:
Готовый пример: examples/general (ALT11) + WARP.bat (на основе Flowseal/zapret-discord-youtube)
Шаг 1: Добавьте этот код после set "LISTS=%~dp0lists\" и перед cd /d %BIN%:
setlocal enabledelayedexpansion
set "PHY_IDX="
for /f "skip=1 tokens=1" %%a in ('netsh int ip show interfaces 2^>nul ^| findstr /i "connected"') do (
if not defined PHY_IDX set "PHY_IDX=%%a"
)
set "IFACE_FILTER="
if defined PHY_IDX set "IFACE_FILTER=--wf-iface=!PHY_IDX!"Шаг 2: Добавьте %IFACE_FILTER% перед --wf-tcp в команде winws:
:: До (ломается с WARP):
start "zapret: %~n0" /min "%BIN%winws.exe" --wf-tcp=80,443,...
:: После (работает с WARP):
start "zapret: %~n0" /min "%BIN%winws.exe" %IFACE_FILTER% --wf-tcp=80,443,...Если всё ещё не работает:
- Проверьте, что winws запущен:
tasklist | find winws - Проверьте индекс физического интерфейса:
netsh int ip show interfaces - Убедитесь, что
--wf-ifaceесть в командной строке winws - Попробуйте запустить winws вручную (не через bat), чтобы увидеть сообщения об ошибках
MIT