[Модуль] Keenetic (keenetic)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Yevgen16
Сообщения: 99
Зарегистрирован: Вс мар 29, 2020 11:20 am
Благодарил (а): 42 раза
Поблагодарили: 13 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение Yevgen16 » Чт сен 22, 2022 9:35 am

V.A.S.t писал(а):
Чт сен 22, 2022 4:00 am
Ползунок изменит свое положение после обновления страницы.
По поводу acl - там прям конкретная строка появляется при перемещении ползунка.
Снимок экрана 2022-09-22 085732.png
Блин, или я дурак или лыжи не едут :D Открывал в двух разных браузерах: такой похожей строки даже близко не было. Может зависит от прошивки или модели роутера. У меня KN-1010. Во вложении максимально-похожая строчка, что удалось найти. ;)
Вложения
rerytr.jpg
rerytr.jpg (241.41 КБ) 1137 просмотров
Raspberry Pi4B (4Gb) + MegaD + Informer (skysilver)
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение V.A.S.t » Чт сен 22, 2022 1:54 pm

Ну так конечно. Ты же писал, открыть порт :))) Я и написал правило межсетевого экрана, а у тебя правило перенаправления портов.
Но сути не меняет. Просто бери строчку от первой фигурной скобки и до запятой и делай по аналогии. "disable": false - включить. "disable": true - выключить.
После запятой идет сохрание конфига. Это делается, если 3й параметр в $keenetic_module->command установлен в 1.
За это сообщение автора V.A.S.t поблагодарил:
Yevgen16 (Чт сен 22, 2022 2:00 pm)
Рейтинг: 1.16%
Yevgen16
Сообщения: 99
Зарегистрирован: Вс мар 29, 2020 11:20 am
Благодарил (а): 42 раза
Поблагодарили: 13 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение Yevgen16 » Чт сен 22, 2022 2:01 pm

V.A.S.t писал(а):
Чт сен 22, 2022 1:54 pm
Ну так конечно. Ты же писал, открыть порт :))) Я и написал правило межсетевого экрана
Семён Семеныч :lol: Понял, буду дальше смотреть) Спасибо.
Raspberry Pi4B (4Gb) + MegaD + Informer (skysilver)
Yevgen16
Сообщения: 99
Зарегистрирован: Вс мар 29, 2020 11:20 am
Благодарил (а): 42 раза
Поблагодарили: 13 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение Yevgen16 » Чт сен 22, 2022 5:11 pm

V.A.S.t писал(а):
Чт сен 22, 2022 1:54 pm
После запятой идет сохрание конфига. Это делается, если 3й параметр в $keenetic_module->command установлен в 1.
Да, спасибо, всё работает!
Raspberry Pi4B (4Gb) + MegaD + Informer (skysilver)
Pau1td
Сообщения: 75
Зарегистрирован: Ср июл 11, 2018 4:17 pm
Благодарил (а): 36 раз
Поблагодарили: 7 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение Pau1td » Вс фев 26, 2023 6:49 pm

Уважаемый V.A.S.t,
подскажите, пожалуйста, можно ли добавить в модуль проверку портов USB роутера (например, Viva, Extra) - статус и имя устройства и через модуль производить монтирование/отключение устройства?

PS Подключил старый Seagate FreeAgent к Keenetic Viva (KN-1910), чтобы backup и торренты на него качать, но жесткий диск не уходит в спящий режим, хотя через спец. программу настройки были сделаны.
В web морде роутера настроек для спящего режима нет, поэтому было бы здорово через Ваш модуль мониторить не только устройства сети, но и устройства подключенные к USB.
Последний раз редактировалось Pau1td Вс фев 26, 2023 9:37 pm, всего редактировалось 1 раз.
Pau1td
Сообщения: 75
Зарегистрирован: Ср июл 11, 2018 4:17 pm
Благодарил (а): 36 раз
Поблагодарили: 7 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение Pau1td » Вс фев 26, 2023 9:05 pm

Возможно кому то пригодится:

Размонтирование (если из локальной сети - пишет в web статус диск отключен и диск не доступен из локалки, но диск вращается, а если из вне проверять, т.е. из приложения, то пишет, что диск подключен, очень странно).
Очень странное поведение диска - почему не отключается при размонтировании из локалки?

include_once(DIR_MODULES."keenetic/keenetic.class.php");
$keenetic_module = new keenetic();
$keenetic_module->command('ip', '
{
"system": {
"mount": {
"filesystem": "имя диска из web роутера:",
"no": true
}
}
}', 1);

Монтирование - тоже самое, но для "no": false (работает, только если в локалке диск был сначала отмонтирован, если извне, то получается обязательно переподключение нужно сделать, странно и не понятно...)

Подскажите, плиз, что не так делаю или может чего то не понимаю в логике управления подключенного hdd...
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение V.A.S.t » Чт мар 02, 2023 3:06 pm

Pau1td писал(а):
Вс фев 26, 2023 6:49 pm
Уважаемый V.A.S.t,
подскажите, пожалуйста, можно ли добавить в модуль проверку портов USB роутера (например, Viva, Extra) - статус и имя устройства и через модуль производить монтирование/отключение устройства?

PS Подключил старый Seagate FreeAgent к Keenetic Viva (KN-1910), чтобы backup и торренты на него качать, но жесткий диск не уходит в спящий режим, хотя через спец. программу настройки были сделаны.
В web морде роутера настроек для спящего режима нет, поэтому было бы здорово через Ваш модуль мониторить не только устройства сети, но и устройства подключенные к USB.
Добрый день!
К сожалению не могу подсказать по дискам, т.к. не использую подключенные к роутеру устройства.
Данный функционал в модуль добавлять не планирую, т.к. он очень мало востребован, но простимулировать на добавление какой-либо функции можно всегда! ;)
Я вижу, что вы уже разобрались, как смотреть команды через консоль разработчика в браузере. А проверять команды удобно в интерфейсе роутера http://адрес_роутера/a
Теоретически, весь функционал веб-интерфейса должен быть доступен в командах.

А зачем, если не секрет, есть необходимость отмонтировать диск? Пусть себе крутится... Дольше проживет.
За это сообщение автора V.A.S.t поблагодарил:
Pau1td (Пт мар 17, 2023 9:12 pm)
Рейтинг: 1.16%
Pau1td
Сообщения: 75
Зарегистрирован: Ср июл 11, 2018 4:17 pm
Благодарил (а): 36 раз
Поблагодарили: 7 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение Pau1td » Пт мар 17, 2023 11:17 pm

V.A.S.t, благодарю за ответ и отдельно благодарю за разработку модуля!!!
V.A.S.t писал(а):
Чт мар 02, 2023 3:06 pm
Я вижу, что вы уже разобрались, как смотреть команды через консоль разработчика в браузере.
...
А зачем, если не секрет, есть необходимость отмонтировать диск? Пусть себе крутится... Дольше проживет.
Разобрался, благодаря вашему модулю всё очень просто и понятно.

В Seagate FreeAgent установлена барракуда на 7200 об/мин (такая скорость при подключении к роутеру не нужна), FreeAgent спрятан в маленьком шкафчике, в котором еще хабы и пр. еще есть, в том числе HP микросервер работающий в режиме накопитель Synology DS с кучей винтов для бэкапов (включается тоже редко, по необходимости).
Seagate FreeAgent греется, как утюг, и в сон не уходит при подключении к роутеру (если к ноуту или HP микросервер подключить, то в сон уходит без проблем).
Лишнее тепло совсем не нужно, и пользуюсь им сейчас очень редко, только для торентов кино посмотреть, т.к. для передачи файлов облаков всяких полно, поэтому задача была редко его включать (в MD включать через удлинитель Xiaоmi и правильно выключать, отмонтируя).
Еще FreeAgent звуки мешающие ночью спать стал издавать, время подходит похоже, поэтому, если накроется, то свой ресурс он в общем то уже честно отработал.
У меня есть другие hdd, которые можно в этот корпус для замены установить и объем увеличить в несколько раз, поэтому задача обеспечить надежность и сохранность данных не стоит.
Надеюсь более менее понятно изложил :-)
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение SmoKE_xDDD » Вс июл 09, 2023 9:12 am

Скрипт парсинга баланса СМС установленной в роутере
СпойлерПоказать

Код: Выделить всё

include_once(DIR_MODULES . "keenetic/keenetic.class.php");
$keenetic_module = new keenetic();
$router = SQLSelectOne('SELECT * FROM keenetic_routers WHERE ADDRESS="192.168.2.1"');
$send = $keenetic_module->getdata($router, 'ussd/send', '{"interface":"UsbQmi0","request":"*100#"}', 0);

sleep(5);

$ip = $router['ADDRESS'];
$login = $router['LOGIN'];
$password = $router['PASSWORD'];
$cookies = $router['COOKIES'];
$prefix = "http://";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $prefix.$ip."/rci/ussd/send");
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$html = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_RESPONSE_CODE); // Получаем HTTP-код
curl_close($ch);

$result = json_decode($html, TRUE)['response'];
$result = preg_match('/^[-\d.]*/', $result, $balance);

sg('ThisComputer.route_sim_balance', $balance[0]);
Адреса поправьте на свои. В ответе будет 1416.67 запускать через runScriptSafe(). Тестил на МТСе
За это сообщение автора SmoKE_xDDD поблагодарил:
Yevgen16 (Вс июл 09, 2023 12:09 pm)
Рейтинг: 1.16%
V.A.S.t
Сообщения: 258
Зарегистрирован: Сб май 11, 2019 6:35 pm
Откуда: Иркутск
Благодарил (а): 15 раз
Поблагодарили: 58 раз

Re: [Модуль] Keenetic (keenetic)

Сообщение V.A.S.t » Вс июл 09, 2023 3:58 pm

SmoKE_xDDD писал(а):
Вс июл 09, 2023 9:12 am
Скрипт парсинга баланса СМС установленной в роутере
Что-то сильно заморочено...
У меня, к сожалению, не на чем потестить, но можно сделать проще:

Код: Выделить всё

include_once(DIR_MODULES . "keenetic/keenetic.class.php");
$keenetic_module = new keenetic();
$router = SQLSelectOne('SELECT * FROM keenetic_routers WHERE ADDRESS="192.168.2.1"');
$send = $keenetic_module->command("192.168.2.1"', '{"ussd":{"send":{"interface":"UsbQmi0","request":"*100#"}}}');

sleep(5);

$result=$keenetic_module->command("192.168.2.1"', '{"ussd":{"send":{}}}')['response'];

$result = preg_match('/^[-\d.]*/', $result, $balance);

sg('ThisComputer.route_sim_balance', $balance[0]);
Теоретически, должно работать.
Команды удобно тестить в http://192.168.2.1/a
Ответить