Библиотека скриптовых функций для TLGRM

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Представляем тандем скрипта парсинга и уведомления для Телеграмм TLGRM (ветка viewtopic.php?f=14&t=12659) и созданную специально для работы с ним библиотеку скриптов SATELLITE (Спутник).

Ознакомиться с TLGRM можно здесь: https://habr.com/ru/post/650563/
Скачать подробное руководство а также саму библиотеку SATELLITE и парсер/уведомитель TLGRM последней версии в одном скриптовом файле для установки на роутер можно здесь: https://cloud.mail.ru/public/ttCS/7SAqP2nqj

Последние версии: SATELLITE 1.9 от 27.09.2022, TLGRM от 04.10.2022

информация на Хабре про совместную работу TLGRM и SATELLITE: https://habr.com/ru/post/659809/

Список функций библиотеки (без служебных) и их назначений:

SAT - быстрый "лист", установка служебных флагов
FuncSATLogo - copyright библиотеки СПУТНИК
FuncSATList - выдать в чат Телеграмм список команд библиотеки
FuncArp - список /ip arp
FuncAddress - список /ip addresses
FuncBackup - сохранение настроек и скриптов
FuncLease - список DHCP lеase
FuncReport - отчет роутера
FuncStatus - параметры системы
FuncVPN - настроенные VPN-пользователи с паролями
FuncVpnUser - серверы и клиенты VPN роутера
FuncWifi - wifi-интерфейсы роутера
FuncWifiReg - зарегистрированные в сети wifi-пользователи
FuncWifiAccess - разрешенные wifi-пользователи
FuncWifiPass - пароли wifi-сети/ей
FuncScriptList - список скриптов репозитория роутера
FuncFuncList - список активных функций из окружения
FuncSchedList - список заданий Планировщика
FuncGlobalVarList - список глобальных переменных окружения
FuncHealth - отчёт основных параметров системы, трафик WAN-ISP, активные VPN-клиенты
FuncDHCPclient - роутер-клиент DHCP
FuncWifiConnect - список подключенных wifi-клиентских станций
FuncUsers - пользователи роутера
FuncLog - выдать строки лога роутера
FuncLogReset - очистить лог и установить его объем
FuncPingPong - проверка хоста на пинг
FuncMail - отправка сообщения на почту
FuncSMSsend - отправка SMS-сообщения
FuncModemInfo - информация о модемах роутера
FuncSATMirror - конвертер имён функций
FuncSATClear - выгрузить библиотеку SATELLITE

Особенности:

- удобная установка из одного скриптового файла
- результат работы функций отправляется в Ваш чат-бот Телеграмм через собственный встроенный TelegramSender с поддержкой кириллицы
- удобное, наглядное представление результатов работы функций, сигнализация включенных/выключенных опций соответствующих списков
- возможность работы в режиме "длинных" и "коротких команд" (переход туда/обратно функцией FuncSATMirror/SATMirror)
- вызов функций без параметров в "один клик" (касание экрана смартфона/планшета) в режиме "коротких" команд
- постоянная поддержка и улучшение, добавление новых возможностей


e-mail проекта: satellite_tlgrm@mail.ru
Последний раз редактировалось Sertik 05 окт 2022, 22:31, всего редактировалось 7 раз.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Выложена для загрузки новая версия SATELLITE 1.8 !:

- добавлена новая команда FuncPingPong, функция FuncPing переведена в служебные
- расширены возможности команды FuncReport
- функция FuncBackup дополнена возможностью отправки файлов, сохраняющих настройки, на почту админа
- новая команда FuncHealth
- обновлено руководство пользователя

Всё можно скачать по первичным ссылкам в предыдущем посте.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
damis
Сообщения: 12
Зарегистрирован: 17 окт 2018, 00:00

Благодарю всех авторов за проделанный труд!

И в свою очередь хочу предложить изменения.
  • По привычке я стал вносить данные в SATELLITEstart как обычно бывало в других скриптах сразу в фрагменты кода, в которых есть символы XXXXXXXXXXXXXX -

    :global botID; # :global botID "botXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"; # you Telegram`s

    Предлагаю сразу прописать так:

    :global botID "botXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"; # you Telegram`s

    то же самое и с пунктами Emoji , ADMINPHONE, ADMINMAIL .
  • Далее по тексту Руководства бросилось в глаза
    FuncLease список DHCP liase
    FuncSATLogo SATLoto
  • При запросе списка впн клиентов (80 secrets):
    /mikrotik4011 FuncVpnUser

    ⛺️ mikrotik4011:
    >11:16:00 Telegram user "******" launches function 'FuncVpnUser'.
    >11:16:01 Error send to Telegram message
    >11:16:01 Error send SMS message
    >11:16:02 Error send to Telegram message


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Выложена новая версия SATELLITE 1.9 от 27.09.2022 в интеграции с TLGRM update 04.10.2022.
установочный скрипт и руководство доступны по ссылке https://cloud.mail.ru/public/ttCS/7SAqP2nqj

Постепенно здесь расскажу о новых возможностях.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Для работы у Вас должен быть создан бот и чат в Телеграмм. Корректно настроены /tool email и /tool sms.

Установка:

1. Скачиваем скриптовый файл T&S270922.rsc по ссылке https://cloud.mail.ru/public/ttCS/7SAqP2nqj и записываем его в /files роутера
2. В терминале подаём команду /import file=T&S270922.rsc В списке все импортированные скрипты из файла T&S будут отмечены owner "TLGRM&SATELLITE"
3. Открываем импортированный скрипт с именем SATELLITEstart, редактируем в нём параметры и флаги в виде глобальных переменных:

# установки пользователя

Emoji - эмоджи Вашего роутера, например "%E2%9B%BA"
botID - ID Вашего бота в Телеграмм
myChatID - ID Вашего чата с ботом
ADMINPHONE - номер телефона админа (Ваш номер в формате "+7910777777")
ADMINMAIL - Ваш email (user@mail.ru)
callTLGRM - частота запуска парсера-уведомителя TLGRM (по умолчанию стоит 1 минута - 00:01:00, можно чаще, зависит от мощности и загруженности роутера, опробовано до 5-10 сек)

# булевые флаги (true/false) и настройка для групповых чатов:

fMirror false - флаг длинных/коротких имён команд SATELLITE, изначально всегда установлен в false не трогаем !
broadCast - флаг режима адресации команд (разрешение/запрещение широковещательной адресации) true/false
GroupChat "" - поддержка команд для группового чата @. Если Ваш чат не групповой GroupChat должен быть пуст (содержать ""). Для использования в групповых чатах в GroupChat записывайте "@botname".
SATSchedAdd - флаг добавления задания вызова TLGRM в Планировщик для SATELLITEstart (по умолчанию true)
launchScr - флаг разрешения исполнения скриптов из чата (true/false)
launchFnc - флаг разрешения выполнения функций из чата (true/false)
launchCmd - флаг разрешения выполнения из чата команд Роутер ОС и конструкций (true/false)

4. Сохраняем и запускаем скрипт SATELLITEstart. Если всё в порядке получаем вывод в лог об успешной установке модулей SATELLITE 1, 1ext, 2,3 и лого библиотеки.
5. Если флаг SATSchedAdd был установлен в true, в Планировщик роутера автоматически добавляется задание c именем callTLGRM на переодический вызов TLGRM с частотой из переменной $callTLGRM в выключенном состоянии ! Для начала работы парсера включаем задание в Планировщике с именем callTLGRM (переводим в состояние enable), если нужно регулируем частоту вызова этого задания.

Всё ! TLGRM слушает и обрабатывает команды из Вашего чата. Библиотека SATELLITE активна в окружении и "ждет" Ваших команд.
Подробнее о работе SATELLITE и TLGRM читайте в руководстве. Загрузка по ссылке https://cloud.mail.ru/public/ttCS/7SAqP2nqj


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Как пользоваться:

парсер-уведомитель TLGRM в автоматическом режиме обеспечивает логирование всех важных событий на роутере в Телеграмм. Можно настроить работу TLGRM на нескольких роутерах с пересылкой в один чат или в разные чаты (как Вам удобно), либо сгруппировать роутеры по группам (одна группа роутеров работает с одним чатом, другая с другим и т. д...)

кроме того TLGRM "слушает" чат и способен выполнять команды пользователя. Командами могут быть:

- имена скриптов, размещанных в репозитории конкретного роутера (если флаг глобальная переменная launchScr установлен в состояние true)
- функции, активные в окружении (флаг :global launchFnc true)
- прямые команды РоутерОС (:global launchCmd true)

Если какой-то из перечисленных выше флагов будет установлен в false, соответственно эта группа команд будет запрещена к исполнению на данном роутере

TLGRM поддерживает различные виды адресации команд:
- если глобальный флаг broadCast установлен в true - включена "широковещательная" адресация всем роутерам, слушающим чат. То есть можно записывать команду непосредственно после знака слеш / без указания конкретного адресата. Команда будет выполнена только на роутерах, на которых включен режим broadCast
- в любом случае TLGRM "слушает" адресную рассылку, то есть способен воспринимать команды, адресованные конкретному роутеру. Для этого, перед командой (именем скрипта, функции, командой Рос) после слеша нужно указать identity роутера, которому Вы адресуете команду. ВАЖНО ! Для работы TLGRM identity роутеров не должно содержать пробелов и знака подчёркивания "_"
- если широковещательная рассылка включена или выключена, но вы хотите адресовать команду всем роутерам, слушающим данный чат через TLGRM, вы должны указать /forall (далее имя команды).
- если Ваш чат групповой, чтобы команды исполнялись в таком чате, нужно в глобальной переменной GroupChat указать "@имябота"

Примеры (набираем в чате):

/FuncArp - будет исполнена на всех роутерах при broadCast true
/Mikrotik1 FuncArp - будет исполнена на роутере с /system identity "Mikrotik1"
* для функций предусмотрена возможность подачи команд в привычном формате РоутерОс - с указанием перед именем знака $ или $[ ].
/Mikrotik1 [$FuncArp] - пример для выполнения функций с подачей в формате ROS
/Mikrotik1 [$FuncName Val1 Var2=Val2] - пример для выполнения функции с передачей параметров
* ВАЖНО - если на Вашем роутере есть и скрипт и функция с одним и тем же именем, например name1 то при вызове будет вызвана функция, а скрипт проигнорирован !
/forall script1 - выполнить скрипт с именем script1 на всех роутерах, "слушающих" данный чат
/Mikrotik2 script2 var1=val1 var2=val2 - выполнить скрипт с именем script2 на всех роутерах, "слушающих" данный чат c передачей параметров !!! (да, это возможно ! параметры должны быть только именованными !, позиционные параметры скриптам не передаются)
*Важно ! параметры функций и скриптов, также как их имена, не могут содержать кириллицу (ограничение Телеграмм).
/Mikrotik1 log error "ошибка" - выполнение прямой команды на роутере
/Mikrotik1 put [/system identity get name] - выполнение прямой команды на роутере

глобальные флаги и Groupchat настраиваются в стартовом файле библиотеки SATELLITEstart или могут быть изменены/установлены особой, служебной функцией библиотеки SATELLITE - $SAT.

Примеры настройки флагов и поддержки GroupChat:

/Mikrotik1 [$SAT broadCast true]
/Mikrotik1 [$SAT GroupChat "@Sertik"]
/Mikrotik1 [$SAT Scr true]
/Mikrotik1 [$SAT on] - установка сразу всех launc-флагов в true
/Mikrotik1 [$SAT off] - установка сразу всех launc-флагов в false

Служебные команды библиотеки SATELLITE:

SAT - быстрый "лист" - [$SAT] (без параметров), установка служебных флагов
FuncSATLogo - если Вы хотите узнать текущую версию TLGRM и SATELLITE
FuncSATList - выдать в чат Телеграмм список команд библиотеки
FuncSATMirror - функция преобразования имён команд библиотеки SATELLITE (короткие/длинные - с префиксом Func)
FuncSATClear - выгрузка библиотеки из активного окружения

... продолжение следует
Последний раз редактировалось Sertik 13 окт 2022, 16:39, всего редактировалось 4 раза.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Итак,

- если Вы забыли все команды библиотеки, просто в чате напишите роутеру SAT; [$SAT] равносильна команде [$FuncSATList identity]

- список функций библиотеки "проверяется" перед выводом в чат. Если функция повреждена (не содержит кода) - она отмечается в списке красным кружком, если отсутствует - стерта из окружения - отмечается "пустым квадратиком")
- если Вы хотите использовать короткие команды подайте команду [$FuncSATMirror]. Имена всех функций библиотеки (кроме специальных и служебных, подробнее см. в руководстве) будут "обрезаны" - удален префикс имени "Func". Теперь вместо, например, FuncArp Вы будете набирать Arp. Команда FuncSATMiror включает режим широковещательной рассылки, SATMirror соответственно запрещает. В любой момент можно выполнить обратное преобразование командой [$SATMirror].
Изюминка ! В режиме коротких команд (если Вы подали команду преобразования одному роутеру) удобно работать с библиотекой этого одного роутера без адресации, т.к. остальные роутеры, слушающие данный чат, остаются в режиме длинных команд и короткие команды не воспримут !

Команда [$SAT] или [$FuncSATList identity], [$FuncSATList forall] выводя в чат списки функций TLGRM, выводят их соответственно ключам с префиксами /$[system get identity] или /forall, что позволяет вызвать команду из списка "одним касанием". Так как большинство команд библиотеки SATELLITE используются без параметров, то это удобно. Если же Вам нужно вызвать команду библиотеки, выполнить скрипт, функцию с передачей параметров, необходимо набирать команду в чате вручную либо использовать возможности "копипаст" буфера смартфона/планшета. SATELLITE имеет также функции FuncScriptList и FuncFuncList, позволяющие выводить в чат Телеграмм списки скриптов и функций роутера, возможности которых также можно использовать для быстрого набора в чате (подробнее см. в Руководстве пользователя).
Последний раз редактировалось Sertik 07 окт 2022, 13:36, всего редактировалось 1 раз.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Мы можем написать на заказ практически любые скрипты и функции, для использования в Ваших чатах через TLGRM.
TLGRM и SATELLITE удобны продвинутым пользователям и админам для мониторирования роутеров, проведения бакапов конфигурации, перезагрузки оборудования и т д...) Есть наработки (созданы скриптовые библиотеки функций) по управлению PDU Neping (www.netping.ru), сетевыми контроллерами KernelChip (www.kernelchip.ru) и Родос (www.silines.ru), миниМонстр (http://mini-monster.ru), которые можно использовать через TLGRM.

Также Вы можете использовать возможности "Телеграммы для Микротик" - продвинутого "графического" бота, работающего в среде РоутерОС от нашего уважаемого Brook. Автор также готов рассмотреть возможности написания индивидуальных модулей для ТелеграммБота. viewtopic.php?f=14&t=13853


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
gatall
Сообщения: 9
Зарегистрирован: 06 окт 2022, 21:47

Круто и замечательно, но есть но: в инструкции написано что подержки 7ки нет, я бы и не против был бы на 6ке оставаться, но там нет поддержки 4g сторонних mpci модемов. :smu:sche_nie:


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

На 7-ке всё должно работать, просто не проверялось. Я имею ввиду сам TLGRM и SATELLITE. В SATELLITE могут не работать частично функции, запрашивающие параметры из /system health, но это легко исправить. Может не корректно работать функция FuncModemInfo. Может ещё что по мелочи. Это связано с тем, что разрабы Микротик в 7-ке переименовали некоторые параметры или засунули их в другие вкладки.

Если Вам интересно и не трудно, попробуйте нашу систему T&S на 7-ке и отпишитесь что не работает, мы поправим.
Последний раз редактировалось Sertik 07 окт 2022, 13:38, всего редактировалось 1 раз.


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
Ответить