Sertik писал(а): ↑04 дек 2023, 11:33
Вот так Вы можете передать параметры из одного скрипта в другой
Спасибо, Sertik. Только с вашей помощью удалось запилить скрипт для смены IP сервера Wireguard командой из Телеграм. Приведу здесь решение этой задачи на случай, если кому-то тоже понадобиться.
Итак, в мегаскрипте управления из этой темы ничего менять не надо. Достаточно из Телеграм послать такую команду:
Эта команда выполнит на Микротике с названием "myrouter" скрипт с названием "setvpsip", аргументом которого будет "162.232.234.56".
А вот код скрипта "setvpsip", который меняет айпишник сервера в настройках Wireguard клиента:
Код: Выделить всё
:local vpsip $0;
:local peercomment "wireguard_server"
:if ([interface wireguard peers get number=[find comment=$peercomment] value-name=endpoint-address] != $vpsip) do={
interface wireguard peers set number=[find comment=$peercomment] endpoint-address=$vpsip
}
В коде сначала записываем значение входящего аргумента в переменную vpsip. Затем проверяем, не совпадает ли старый IP адрес сервера с новым. Если нет, устанавливаем новый адрес. Обратите внимание, что нужный сервер, адрес которого меняем, ищется по его комментарию (т.е. при создании peer для wireguard клинта обязательно нужно заполнить поле Comment).
Все выше описанное у меня отлично работает на RouterOS 7.12.1