Перейти к содержанию

Telegram уведомления: различия между версиями

Материал из OpenWrt Wiki
Нет описания правки
 
Строка 73: Строка 73:
</pre>
</pre>


== Набор скриптов для управления и получения информации с роутера через Telegram ==
== Набор скриптов для управления и получения информации с роутера ==
This is a set of scripts with a plugins API written in bash, you can use it to manage and get informations on OpenWRT Routers.
This is a set of scripts with a plugins API written in bash, you can use it to manage and get informations on OpenWRT Routers.



Текущая версия от 14:54, 14 сентября 2025

OpenWrt можно настроить для отправки уведомлений в Telegram, что позволит получать оповещения в режиме реального времени и отслеживать состояние маршрутизатора и сетевую активность. Обычно для этого используется Telegram-бот и пользовательские скрипты на маршрутизаторе OpenWrt.

Общие шаги для уведомлений OpenWrt Telegram:

  • Создайте Telegram-бота:
    • Начните чат @BotFatherв Telegram.
    • Отправьте /newbotкоманду и следуйте инструкциям, чтобы назвать своего бота и выбрать имя пользователя.
    • BotFatherпредоставит вам токен HTTP API, который имеет решающее значение для взаимодействия с вашим ботом.
  • Получите свой идентификатор чата Telegram:
    • Начните разговор с вашим новым ботом.
    • Вы можете использовать бот @get_id_botили подобный сервис, чтобы узнать свой идентификатор чата, или же узнать его, проверив JSON-ответ при отправке сообщения вашему боту через API Telegram.
  • Установка curlна OpenWrt:
    • Подключитесь по SSH к вашему маршрутизатору OpenWrt.
    • Обновите список пакетов и установите curl:

Код

opkg update
opkg install curl
  • Создайте и настройте сценарий уведомлений:
    • Напишите скрипт оболочки на вашем роутере OpenWrt, который будет curlотправлять сообщения в API вашего бота Telegram. Этот скрипт будет содержать API-токен вашего бота и идентификатор вашего чата.
    • Пример отправки простого сообщения:

Код

#!/bin/sh
API_TOKEN="YOUR_BOT_API_TOKEN"
CHAT_ID="YOUR_CHAT_ID"
MESSAGE="Your OpenWrt router is sending a notification!"
curl -s -X POST "https://api.telegram.org/bot$API_TOKEN/sendMessage" \
-d chat_id="$CHAT_ID" \
-d text="$MESSAGE"

Сделайте скрипт исполняемым.

Код

chmod +x /path/to/your/script.sh
  • Интеграция скрипта с событиями OpenWrt:
    • Запланированные задачи (Cron): используйте cronдля запуска скрипта через регулярные промежутки времени для получения отчетов о состоянии, загрузке ЦП, температуре и т. д.
    • События горячего подключения: настройте hotplugсценарии для запуска уведомлений при подключении или отключении устройств, а также при включении или выключении сетевых интерфейсов.
    • Мониторинг журналов: мониторинг определенных файлов журналов (например, syslog, auth.log) на предмет таких событий, как неудачные попытки входа в систему, и отправка оповещений.
    • Интеграция MWAN3: при использовании MWAN3 для настроек нескольких WAN настройте его на отправку уведомлений об изменениях статуса интернет-провайдера.

Примеры использования:

  • Оповещения о подключении новых устройств: получайте уведомления, когда к вашей сети подключается неизвестное устройство.
  • Изменения IP-адреса: получайте оповещения, если ваш публичный IP-адрес изменится.
  • Отчеты о состоянии маршрутизатора: получайте периодические обновления данных об использовании ЦП, памяти и температуре.
  • Оповещения безопасности: получайте уведомления о неудачных попытках входа через SSH или веб-интерфейс.
  • Оповещения об отключении сети: отслеживайте подключение к Интернету и получайте уведомления в случае сбоя.

Объединив ботов Telegram с возможностями скриптинга OpenWrt, вы можете создать надежную и настраиваемую систему уведомлений для вашего маршрутизатора.

Скрипт проверки доступности IP и отправка уведомления Telegram

Запускать скрипт периодически через cron.

Код

#!/bin/sh

API_TOKEN="<your_api_token>"
CHAT_ID="<your_chat_id>"
MESSAGE="<192.168.1.100 not available!>"

count=$(ping -c 1 192.168.1.100 | grep from* | wc -l)

if [ $count -eq 0 ]
then
curl -s -X POST https://api.telegram.org/bot$API_TOKEN/sendMessage -d chat_id=$CHAT_ID -d text="$MESSAGE"
else
exit
fi

Набор скриптов для управления и получения информации с роутера

This is a set of scripts with a plugins API written in bash, you can use it to manage and get informations on OpenWRT Routers.

plugins directory - тут все команды, которые бот может выполнить

https://github.com/alexwbaule/telegramopenwrt