Помогите пожалуйста.
Нужен скрипт !
Нужно, чтобы при подключении к WiFi определённого , MAC телефона выполнялся такой запрос
http://192.168.1.101:8080/?command=2&channel=0&value=1
А при покидания сети, такой запрос
http://192.168.1.101:8080/?command=2&channel=0&value=0
Уведомление о подключении и отключении к сети wifi
-
- Сообщения: 128
- Зарегистрирован: 10 фев 2017, 08:52
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Уведомление о подключении и отключении к сети wifi
Вариант 1 (переделать под себя)
Вариант 2 (так-же переделать под себя)
Вариант 3 (так-же переделываем под себя)
Код: Выделить всё
:if ([:len $MACLIST] = 0) do={ :global MACLIST {""}; };
:foreach i in=[/caps-man registration-table find] do={
:local USERObj [/caps-man registration-table get $i];
:if (($MACLIST->($USERObj->"mac-address")) != true) do={
:local DHCPID [/ip dhcp-server lease find mac-address=$USERObj->"mac-address"];
:local String "";
:if ($DHCPID = "") do={
:set String ("[Wi-Fi] Unknown device connected: inter: " . $USERObj->"interface" . ", " . $USERObj->"rx-signal" . "dBm, mac: " . $USERObj->"mac-address" . ", host: ip address not issued.");
};
:if ($DHCPID != "") do={
:local DHCPObj [/ip dhcp-server lease get $DHCPID];
:if ($DHCPObj->"dynamic" = true) do={
:set String ("[Wi-Fi] Unknown device connected: inter: " . $USERObj->"interface" . ", " . $USERObj->"rx-signal" . "dBm, mac: " . $USERObj->"mac-address" . ", host: " . $DHCPObj->"host-name" . ", ip: " . $DHCPObj->"active-address" . ".");
};
};
:if ($String != "") do={
:set ($MACLIST->($USERObj->"mac-address")) true;
:log error $String;
};
};
};
Код: Выделить всё
:local lstime ([/system scheduler get value-name=next-run [find name="connected_wifi"]] - [/system scheduler get value-name=interval [find name="connected_wifi"]] * 2);
:foreach i in=[/log find message~"connected" && time>=$lstime] do={/tool fetch mode="https" url="https://hooks.slack.com/services/данные_канала_в_слак" http-method=post http-data="payload={\"text\": \"$[/system identity get name]%0A$[/log get $i message]\"}" keep-result=no};
Вариант 3 (так-же переделываем под себя)
Код: Выделить всё
:local token "YOUR:BOT_TOKEN";
:local chatid "@CHAT_ID";
:local lstime ([/system scheduler get value-name=next-run [find name="correct-login"]] - [/system scheduler get value-name=interval [find name="correct-login"]] * 2);
:foreach i in=[/log find message~"logged in" && time>=$lstime] do={/tool fetch address=api.telegram.org url="https://api.telegram.org/bot$(token)/sendMessage\?chat_id=$(chatid)&text=$[/system identity get name]%0A$[/log get $i message]" keep-result=no};
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Уведомление о подключении и отключении к сети wifi
Вариант 4, прописывается в секции Script в настройках DHCP-Server (так-же переделываем под себя)
Код: Выделить всё
:if ($leaseBound = 1) do={
/ip dhcp-server lease;
:foreach i in=[find dynamic=yes] do={
:local dhcpip
:set dhcpip [ get $i address ];
:local clientid
:set clientid [get $i host-name];
:if ($leaseActIP = $dhcpip) do={
:local comment "New IP"
:set comment ( $comment . ": " . $dhcpip . ": " . $clientid);
/log error $comment;
/tool fetch address=api.telegram.org url="https://api.telegram.org/YOUR:BOT_TOKEN/sendmessage\?chat_id=@CHAT_ID&text=%D0%9D%D0%BE%D0%B2%D0%BE%D0%B5%20%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%BE%20%D0%B2%20%D1%81%D0%B5%D1%82%D0%B8%20%D1%81%20IP%20- $leaseActIP !%F0%9F%92%A5 ($comment)" keep-result=no
}
}
}
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 1
- Зарегистрирован: 08 фев 2022, 09:48
Re: Уведомление о подключении и отключении к сети wifi
Этот код с выборкой по времени :local lstime ([/system scheduler get value-name=next-run [find name="correct-login"]] - [/system scheduler get value-name=interval [find name="correct-login"]] * 2) не работает должным образом с версией OS 7.1.1 запускает сообщения в цикл до бесконечности.Sir_Prikol писал(а): ↑14 ноя 2021, 20:48 Вариант 1 (переделать под себя)
Вариант 2 (так-же переделать под себя)Код: Выделить всё
:if ([:len $MACLIST] = 0) do={ :global MACLIST {""}; }; :foreach i in=[/caps-man registration-table find] do={ :local USERObj [/caps-man registration-table get $i]; :if (($MACLIST->($USERObj->"mac-address")) != true) do={ :local DHCPID [/ip dhcp-server lease find mac-address=$USERObj->"mac-address"]; :local String ""; :if ($DHCPID = "") do={ :set String ("[Wi-Fi] Unknown device connected: inter: " . $USERObj->"interface" . ", " . $USERObj->"rx-signal" . "dBm, mac: " . $USERObj->"mac-address" . ", host: ip address not issued."); }; :if ($DHCPID != "") do={ :local DHCPObj [/ip dhcp-server lease get $DHCPID]; :if ($DHCPObj->"dynamic" = true) do={ :set String ("[Wi-Fi] Unknown device connected: inter: " . $USERObj->"interface" . ", " . $USERObj->"rx-signal" . "dBm, mac: " . $USERObj->"mac-address" . ", host: " . $DHCPObj->"host-name" . ", ip: " . $DHCPObj->"active-address" . "."); }; }; :if ($String != "") do={ :set ($MACLIST->($USERObj->"mac-address")) true; :log error $String; }; }; };
Код: Выделить всё
:local lstime ([/system scheduler get value-name=next-run [find name="connected_wifi"]] - [/system scheduler get value-name=interval [find name="connected_wifi"]] * 2); :foreach i in=[/log find message~"connected" && time>=$lstime] do={/tool fetch mode="https" url="https://hooks.slack.com/services/данные_канала_в_слак" http-method=post http-data="payload={\"text\": \"$[/system identity get name]%0A$[/log get $i message]\"}" keep-result=no};
Вариант 3 (так-же переделываем под себя)
Код: Выделить всё
:local token "YOUR:BOT_TOKEN"; :local chatid "@CHAT_ID"; :local lstime ([/system scheduler get value-name=next-run [find name="correct-login"]] - [/system scheduler get value-name=interval [find name="correct-login"]] * 2); :foreach i in=[/log find message~"logged in" && time>=$lstime] do={/tool fetch address=api.telegram.org url="https://api.telegram.org/bot$(token)/sendMessage\?chat_id=$(chatid)&text=$[/system identity get name]%0A$[/log get $i message]" keep-result=no};
-
- Сообщения: 562
- Зарегистрирован: 14 апр 2018, 15:21
- Откуда: СССР
Re: Уведомление о подключении и отключении к сети wifi
На ROS 7 сменился скриптовый язык, а так как сама ROS 7 сырая до безобрази, то я её не пользую
Дома: CCR2004 (7-ISP(GPON)белый IP)
-
- Сообщения: 128
- Зарегистрирован: 10 фев 2017, 08:52
Re: Уведомление о подключении и отключении к сети wifi
Отлично! спасибо большое!!!