Skip to content
/ tlgbot Public

Telegram бот для OpenWRT устройств, состоящий из набора скриптов, которые написаны на Bash

Notifications You must be signed in to change notification settings

varakh/tlgbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Telegram bot для OpenWRT

ru en

Бот для Telegram, представляющий собой набор скриптов, написанных на Bash, для использования на устройствах с OpenWRT. В основе лежат скрипты из других похожих проектов, авторам которых выражаю благодарность:

История версий

1.0 (12.02.2023) - начальная версия

Функционал

Функционал бота представлен набором скриптов для получения различной информации о работе устройства с OpenWRT на борту. Список скриптов (они же являются командами бота) следующий:

  • /start - вывод списка доступных команд
  • /uptime - время работы роутера
  • /wan_uptime - время работы WAN-интерфейса
  • /wan_ip - белый IP-адрес
  • /free - использование оперативной памяти
  • /loadavg - средняя загрузка (1 мин., 5 мин., 15 мин.)
  • /last - текущие сессии пользователей, вошедших по SSH
  • /dhcp_clients - список клиентов DHCP
  • /wifi_clients - список клиентов сетей WiFi
  • /summary - вывод информации команд выше в одном сообщении

Команд по управлению роутером (перезапустить службу, добавить правило в firewall, перезагрузить роутер и т.п.) не предусмотрено. Примеры таких команд можно найти в других похожих проектах.

Установка и запуск

Зависимости

curl - для взаимодействия с Telegram API. Устанавливается с помощью Luci (System -> Software) либо командами:

  1. opkg update
  2. opkg install curl

Создание бота

Для создания собственного бота необходимо обратиться к другому боту, который называется BotFather. Этот бот позволяет создавать и управлять собственными ботами. Подробнее в FAQ. Когда бот будет создан, BotFather отправит специальный токен, который не следует кому-либо передавать, иначе посторонние получат доступ к управлению ботом. Помимо токена, необходимо узнать собственный chatID. Это можно сделать также с помощью других ботов.

Копирование файлов

Файлы бота необходимо расположить в соответствующих папках на устройстве.

  • /etc/config/tlgbot - файл конфигурации.

В него необходимо перед копированием добавить полученные значения токена и chatID

  • /etc/init.d/tlgbot - файл для управления запуском и остановкой бота с помощью procd
  • /usr/bin/tlgbot/ - папка с набором скриптов, выполняемых ботом
  • /usr/sbin/tlgbot - основной скрипт бота

После копирования следует выполнить настройку разрешений для файлов.

  • chmod 600 /etc/config/tlgbot: файл конфигурации содержит чувствительные данные, поэтому рекомендуется ограничить доступ всем, кроме владельца.
  • chmod +x /etc/init.d/tlgbot: для возможности запуска/остановки службы с использованием service файл Initscript должен быть исполняемым.
  • chmod +x /usr/sbin/tlgbot: разрешение на исполнение основного скрипта бота.
  • chmod +x -R /usr/bin/tlgbot/: разрешение на исполнение дополнительных скриптов из набора.

По умолчанию файлы основного скрипта и доп. скриптов из набора доступны другим пользователям. При необходимости ограничение доступа к этим файлам выполняется самостоятельно.

Запуск

Запуск, остановка и добавление в автозагрузку бота можно произвести в Luci (System -> Startup). Для этого для Initscript tlgbot необходимо нажать соответствующие кнопки. Управление через терминал выполняется командами:

  • service tlgbot start - запуск бота
  • service tlgbot stop - остановка бота
  • service tlgbot enable - добавление бота в автозагрузку
  • service tlgbot disable - отключение автозагрузки бота

About

Telegram бот для OpenWRT устройств, состоящий из набора скриптов, которые написаны на Bash

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages