# Entrixy → curl / bash тест-скрипт Отправляет правильно подписанный webhook-запрос на ваш эндпоинт. Полезно **перед интеграцией с приложением**: проверить что ваш приёмник (Home Assistant / Flask / ESPHome / собственный код) корректно валидирует HMAC и принимает команду. ## Запуск ```bash chmod +x test-webhook.sh ./test-webhook.sh https://your-host/webhook YOUR_SECRET ``` С указанием object_id и action: ```bash ./test-webhook.sh https://your-host/webhook YOUR_SECRET h42 open ``` ## Что делает скрипт 1. Берёт текущий unix-timestamp. 2. Генерит nonce (16 байт hex из `/dev/urandom`). 3. Считает HMAC-SHA256 от строки `{timestamp}.{nonce}.{action}.{object_id}` секретом. 4. Шлёт POST с JSON `{timestamp, nonce, action, object_id, signature}` на ваш URL. 5. Печатает ответ и HTTP-код. ## Зависимости Только `bash`, `curl`, `openssl`. Без Python, Node.js, jq. Работает в любом современном Linux и macOS из коробки. ## Что должно получиться Если приёмник правильный — `HTTP 200` и какой-нибудь `{"ok":true}`. Если подпись отвергнута — `HTTP 401/403` и текст ошибки. ## Защита от replay Скрипт всегда ставит **текущий** timestamp. Большинство приёмников (включая HA, Flask-пример, ESPHome) отвергнут запросы старше 5 минут — это нормально и так задумано.