# Настройка fetch-скрипта на MikroTik для уведомлений в Telegram-бот (локальная сеть) **Внимание!** Все примеры рассчитаны на работу внутри одной локальной сети. Внешний доступ, HTTPS и туннели не требуются. ## 1. Создание скрипта на MikroTik 1. Откройте WinBox/WebFig или подключитесь по SSH к вашему MikroTik. 2. Перейдите в меню System → Scripts (или /system script в CLI). 3. Создайте новый скрипт, например: - Name: notify-telegram - Source: ``` /tool fetch url="http://10.10.10.2:8000/event?type=wifi_connect&mac=$mac&ip=$ip" http-method=get ``` - Замените 10.10.10.2 на внутренний адрес сервера с ботом. ## 2. Привязка скрипта к событию ### DHCP lease (новое подключение по DHCP) - В разделе IP → DHCP Server → Leases найдите поле "Lease Script" и добавьте: ``` :if ($leaseBound = true) do={/system script run notify-telegram} ``` - Это вызовет скрипт при каждом новом lease (подключении устройства). ### Wi-Fi connect (CAPsMAN) - Для CAPsMAN можно использовать Scheduler или Event Handler, если требуется. ## 3. Проверка работы - Подключите новое устройство к Wi-Fi. - Проверьте логи MikroTik: появилось ли выполнение скрипта и fetch-запрос. - Проверьте, что бот получил уведомление (или что сервер принял запрос — можно смотреть логи Flask/FastAPI). ## 4. Безопасность - Если сеть полностью изолирована — дополнительных мер не требуется. - Для production можно добавить секрет в URL (например, ?secret=...) --- ## Пример для нескольких событий - Можно добавить параметры (например, тип события, имя устройства, VLAN и т.д.) - Скрипт можно вызывать и вручную для теста: `/system script run notify-telegram`