# Entrixy → Python Flask Минимальный webhook-приёмник на Flask. Подходит для Linux/macOS-серверов, NAS с Python, Raspberry Pi (если хочется не WebSocket-канал, а HTTP). ## Запуск ```bash pip install -r requirements.txt python3 entrixy.py ``` Сервер слушает `0.0.0.0:8080`. Эндпоинт: `POST /webhook`. ## Настройка в приложении В Entrixy: **Настройки → Объект → Тип "Webhook"**: - **URL**: `http://YOUR_HOST:8080/webhook` (для прода — за nginx + TLS) - **Секрет**: тот же что в `SECRET` в `entrixy.py` ## Что делает 1. Принимает POST с JSON: `{timestamp, nonce, action, object_id, signature}`. 2. Проверяет HMAC-SHA256 подпись (constant-time сравнение). 3. Проверяет replay-окно (±5 минут). 4. Если `action=open` — вызывает `on_open(object_id)`. По умолчанию пишет лог; замените функцию на свою логику (HTTP-вызов, GPIO, shell-команда — примеры в комментариях кода). ## Production Не запускайте `app.run()` в проде. Используйте gunicorn: ```bash pip install gunicorn gunicorn -w 2 -b 0.0.0.0:8080 entrixy:app ``` Или systemd-юнит + nginx-фронт с TLS-сертификатом (Let's Encrypt). ## Тест После запуска проверьте сами: соберите запрос с правильной подписью скриптом из [/integrations/curl/](../curl/). Если приходит `{"ok":true}` — подпись принята.