Страница 10 из 10

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Сб окт 03, 2020 11:54 am
nick7zmail
AndreyAA писал(а):Всем привет. Начинаю осваивать МЖД.
Прошу сразу сильно не пинать.
Скажите пожалуйста: возможно ли сделать такой сценарий. При регистрации телефона в сети WiFi, МЖД отправлял в телегу определенное сообщение?
Конечно возможно. Смотрите модуль hosts online (устройства онлайн)

Отправлено с моего Xperia XZ1 Compact через Tapatalk


Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Сб окт 03, 2020 11:03 pm
xor
Собственно, в этой теме предложена альтернатива модулю Устройства онлайн)
в любом случае, сначала надо получить инфу о регистрации, а потом научиться слать в телегу.

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс окт 04, 2020 10:13 am
AndreyAA
nick7zmail писал(а): Сб окт 03, 2020 11:54 am
AndreyAA писал(а):Всем привет. Начинаю осваивать МЖД.
Прошу сразу сильно не пинать.
Скажите пожалуйста: возможно ли сделать такой сценарий. При регистрации телефона в сети WiFi, МЖД отправлял в телегу определенное сообщение?
Конечно возможно. Смотрите модуль hosts online (устройства онлайн)

Отправлено с моего Xperia XZ1 Compact через Tapatalk
Приветствую. Спасибо за ответ. Модуль установил, устройства в сети увидел. Не подскажите какие дальнейшие действия?
Бота в телеге сделал, а вот дальше что-то тупик у меня.

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Чт окт 08, 2020 7:10 am
AndreyAA
xor писал(а): Сб окт 03, 2020 11:03 pm Собственно, в этой теме предложена альтернатива модулю Устройства онлайн)
в любом случае, сначала надо получить инфу о регистрации, а потом научиться слать в телегу.
Так как только разбираюсь сразу не понял о чем вы. Попробовав, теперь понял о чем вы. Спасибо за подсказанное направление.
Вроде все настроил но не как не могу заставить телегу работать.

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вт ноя 17, 2020 5:42 pm
kostya4000
у меня при установке модуль не появляется, альфа версия

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс ноя 29, 2020 5:45 pm
griigoriok
Мужики подскажите как правильно сделать чтоб Статус интернета брался из модуля Кинетик онлайн.
как правильно здесь прописать : if (!keenetic_lan_devices('Internet')) ?????
Communication checkState
if (!isOnline('Internet')) {
$yellow_state=1;
$details[]=LANG_GENERAL_NO_INTERNET_ACCESS;
как это сделать правильно....... ?
Не кидайтесь шапками я новичок в mj )))
Грызу гранит Нулей и Единиц )))

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Вс фев 14, 2021 10:58 pm
yray
на последних прошивках не работает ?

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Сб июл 03, 2021 11:50 pm
lexincton
yray писал(а): Вс фев 14, 2021 10:58 pm на последних прошивках не работает ?
В последних версиях DIGEST авторизация не работает.
Для исправления поправьте файл modules->keenetic_lan_devices->keenetic_lan_devices.class.php:
- добавьте метод:
private function checkAuth () {
$ch = curl_init('http://'.$this->config['API_URL'].'/auth ');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_HEADER, true);
$html = curl_exec($ch);
$headers = [];
$data = explode("\r",$html);
$headers['status'] = $data['0'];
array_shift($data);

foreach($data as $part){
$middle=explode(":",$part);
@$headers[trim($middle['0'])] = trim($middle['1']);
}
if($headers["status"] != "HTTP/1.1 200 OK"){
print $html;
$pass = hash('sha256', $headers["X-NDM-Challenge"].md5($this->config['ADMIN_USERNAME'].':'.$headers["X-NDM-Realm"].':'.$this->config['ADMIN_PASSWORD']));
$post = '{"login": "'. $this->config['ADMIN_USERNAME'] . '", "password": "' . $pass . '"}';
curl_setopt($ch, CURLOPT_HTTPHEADER, Array('Content-Type: application/json;charset=UTF-8'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$html = curl_exec($ch);
}
curl_close($ch);
}

- замените метод getAllDevicesInfo на:

private function getAllDevicesInfo()
{
try
{
if ($this->config['API_URL']=="") {return NULL;}

$this->checkAuth();

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://'.$this->config['API_URL'].'/ci');
curl_setopt($ch, CURLOPT_POSTFIELDS, '<request id="0"><command name="show ip hotspot"></command></request>');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/xml']);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);

if(curl_errno($ch)) {return NULL;}
if(strpos($data, "401 Authorization")>0)
{
DebMes("Ошибка авторизации на маршрутизаторе", 'keenetic_lan_devices');
return NULL;
}

$objectResult = new SimpleXMLElement($data);

$result = array();

foreach ($objectResult->children()->children() as $node) {
if ($node->mac=='' || $node->registered!="yes") {continue;}

$result[(string)$node->mac] = array();
$result[(string)$node->mac]["MAC"] = (string)$node->mac;
$result[(string)$node->mac]["STATUS"] = ((string)$node->link=='up' ? 1 : 0);
$result[(string)$node->mac]["STATUS_TXT"] = ((string)$node->link=='up' ? 'Online' : 'Offline');
$result[(string)$node->mac]["HOST_NAME"] = (string)$node->hostname;
$result[(string)$node->mac]["DEVICE_NAME"] = (string)$node->name;
$result[(string)$node->mac]["IP"] = (string)$node->ip;
$result[(string)$node->mac]["REGISTERED"] = (string)$node->registered;
}

//получаем статус подключения к интернету
curl_setopt($ch, CURLOPT_POSTFIELDS, '<request id="0"><command name="show internet status"></command></request>');
$data = curl_exec($ch);
if(curl_errno($ch)) {return $result;}

$objectResult = new SimpleXMLElement($data);

$gateWayMac = "11:11:11:11:11:11";
$result[$gateWayMac]["MAC"] = $gateWayMac;
$result[$gateWayMac]["STATUS"] = ((string)$objectResult->children()->children()->internet=='yes' ? 1 : 0);
$result[$gateWayMac]["STATUS_TXT"] = ((string)$objectResult->children()->children()->internet=='yes' ? 'Online' : 'Offline');
$result[$gateWayMac]["HOST_NAME"] = (string)$objectResult->children()->children()->gateway->interface;
$result[$gateWayMac]["DEVICE_NAME"] = "Интернет";
$result[$gateWayMac]["IP"] = (string)$objectResult->children()->children()->gateway->address;
$result[$gateWayMac]["REGISTERED"] = "yes";

curl_close($ch);
return $result;
}
catch (Exception $e) {
// код который может обработать исключение
//echo $e->getMessage();
return NULL;
}
}

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Ср янв 26, 2022 4:01 pm
alexmjdm
Добрый день, коллеги.
Роутер Keenetic Extra Версия v2.08(AANS.4)C2
Установил модуль "Устройства Онлайн Keenetic". Сервис OnLine. Добавил Роутер по IPv4 Сам роутер отдал какую-то информацию (status, mac - почему то 11:11... , updated)
Пишет "Название Internet" "Статус Offline". Что я делаю не так?

Изменения из поста выше производил. Где я могу увидеть ошибку, если с файлами что либо не так?
001.png
001.png (58.24 КБ) 4174 просмотра
002.png
002.png (7.35 КБ) 4174 просмотра
003.png
003.png (14.78 КБ) 4174 просмотра

Re: [Модуль] Устройства Онлайн Keenetic (keenetic_lan_devices)

Добавлено: Чт янв 27, 2022 9:16 am
V.A.S.t