Jump to content

Проект "Жезл" - телеграмм бот для работы с роутером


Recommended Posts

26 minutes ago, Chernikov Ov said:

А описание прочитать?

 

а я и читал)
просто для меня связь неочевидна, поэтому и задал вопрос
 

Link to comment
Share on other sites

4 часа назад, amcq сказал:

Zeleza, добрый вечер

а планируете ли вы в будущем апдейт, позволяющий работу с instagram, facebook и подобным?

Доброго утра,

да, планируется, после доработки полной функциональности утилиты  zpu. Потому буду каждому из здесь присутствующих признателен и благодарен за посильную помощь в отладке пакета.

Link to comment
Share on other sites

@Aftalik Доброго утра

Скорее всего так и есть, смогу помочь Вам только уже в субботу, не раньше, потому,  либо попробуйте создать другого бота, с токеном без нижнего подчеркивания, либо подождите до субботы. 

Edited by Zeleza
Link to comment
Share on other sites

изменил регекспу, токен принят

/opt # /opt/etc/init.d/S61zezl check
 Checking zezl.py...              dead.
/opt # /opt/etc/init.d/S61zezl start
 Starting zezl.py...              done.
/opt # /opt/etc/init.d/S61zezl check
 Checking zezl.py...              dead.

 

 

zpu interface показывает ничего, zpu show показывает

Traceback (most recent call last):
  File "/opt/bin/zpu", line 252, in <module>
    res = cmd_show_hosts()
  File "/opt/bin/zpu", line 97, in cmd_show_hosts
    ljust_inter = max([len(v[etag.interface]) for v in hosts.values()])
  File "/opt/bin/zpu", line 97, in <listcomp>
    ljust_inter = max([len(v[etag.interface]) for v in hosts.values()])
TypeError: list indices must be integers or slices, not str

 

короче не пашет совсем

Edited by Aftalik
Link to comment
Share on other sites

2 часа назад, Aftalik сказал:

короче не пашет совсем

Пожалуйста будьте внимательны при прочтении первого сообщения в теме. В нем указано что пока zpu имеет ограниченный функционал.

На следующей неделе будет выпущен релиз zpu с поддержкой большинства команд.

  • Upvote 4
Link to comment
Share on other sites

 а как надо правильно настроить автзагрузку жезла - чтобы при рестарте роутера он запускался автоматически? 

Link to comment
Share on other sites

12 часа назад, Goga777 сказал:

а как надо правильно настроить автзагрузку жезла - чтобы при рестарте роутера он запускался автоматически? 

Доброго утра,

Уточните пожалуйста свой вопрос, о какой именно ситуации идет речь?

Если о том, запускается ли Жезл в фоновом режиме? В этом случае, делать ничего не нужно - он должен запускаться автоматически, так как об этом заботься скрипт S61zezl, который лежит в папке автозапуска "демонов" /opt/etc/init.d/. Для того, чтобы в этом убедиться необходимо выполнить команду ниже, после полной перезагрузки роутера:

ps | grep zezl | head -1

и если Вы увидите ответ на подобие строки ниже...

26830 root     97.7m S    {zezl.py} /opt/bin/python3 /opt/apps/zezl/zezl.py

..., то это значит что Жезл уже запущен в фоновом режиме или в так называемом режиме "демона", если же у Вас ситуация обратная и Вы видите только строчку наподобие этой...

26790 root      2888 R    grep zezl

...то, напишите мне пожалуйста в "личку", возможно, возникли какие-либо специфические проблемы.

Так же, для проверки бота (запущен ли он уже в "фоне"), можно ввести команду ниже, после чего отобразится статус запуска "демона" zezl.

~ # /opt/etc/init.d/S61zezl status

Checking zezl.py...              alive.


Если же речь идет о том, почему не появляется меню в диалоге с ботом, после перезагрузки роутера, и почему предыдущий диалог с ботом в виде "плавающей" клавиатуры не реагирует, то для этого, как и говорится в справке при установке, необходимо ввести команду /start или выбрать ее из меню команд (смотрите на рисунок ниже). Данное "неудобство" связано прежде всего, как я понимаю, с обеспечением безопасности, со стороны разработчиков Телеграма и к разрабатываемому боту это не имеет никакого отношения.

image.png.a4fa60d146057b6f577c8d8f3e954a04.png 

Если же речь идет о чем-то другом, пожалуйста напишите.
 

Edited by Zeleza
Link to comment
Share on other sites

Несколько слов о планах развития проекта. В перспективе планируется реализовать следующий функционал:

Цитата
  1. Меню "VPN"
    -- переделать схему перенаправления трафика посредством ipset.
     

  2. Меню "Сторожей" (с возможностью отправки сообщений, как в Телеграм, так и по СМС, в случае наличия USB "свистка" с сим картой)
    -- сторож
    , который отлавливает системные ошибки, с выводом справки по каждой из ошибок (будет генерироваться ссылка на каждую ошибку для ее поиска в сети)
    -- сторож, который отлавливает звонки (при наличии DECT модуля) и выводит по ним информацию (см. пункт "Меню DECТ" ниже)
    -- сторож, который отлавливает подключения/отключения устройств по WIFI (см. пункт "Меню WIFI" ниже)
    -- сторож, который отлавливает изменения на определенных страницах сайтов (см. ниже "Меню Новости")
    -- сторож, который отлавливает появление/пропадание сети в роутере
    -- сторож, который отслеживает смену внешнего IP роутера
     

  3. Меню DECT (при наличии подключенного модуля к роутеру)
    -- осуществлять поиск номеров телефона во внешних БД по запросу и при входящем звонке.
    -- выводить информацию о номере телефона при входящем звонке: регион, временная зона, оператор
    -- Журнал звонков входящих и исходящих

     

  4. Меню WiFi
    -- Отслеживать новые подключения и давать им возможность подключаться к сети
          --- 
    на определенное время
          --- 
    до определенного времени
    -- Блокировать клиентов по mac и по имени
          --- на определенное время
          --- до определенного времени
    -- 
    Вывод истории подключения и отключения устройств к WIFI с группировкой по клиентам

     

  5. Меню "Новости" (этот пункт никак не связан с роутером, но лично мною очень востребован, так как люблю быть в курсе различных событий.)
    -- Организовать список отслеживаемых сайтов
    -- Организовать в Телеграм/СМС приход соответствующих уведомлений об обновлении страниц.
    -- Организовать архивацию отслеживаемых сайтов
     

  6. Меню "Настройки"
    -- Производить периодическую архивацию настроек роутера, наподобие той, которая которая обсуждается в этой теме, осуществляемая, через Телеграм.
     
  7. Меню "Терминал" (данный функционал под вопросом из-за вопросов безопастности исполнения произвольных команд.)
    -- /ent команда - выполняет произвольную команду в оболочке entware.
    -- /cli  команда - выполняет любую из команд в роутере keenetic.

 

Буду признателен, за любые дополнения и пожелания по тому функционалу, которого Вам действительно не хватает и который вызывает неподдельный интерес, с точки зрения удобства управления роутером через Телеграм.

 

Edited by Zeleza
  • Upvote 5
Link to comment
Share on other sites

9 минут назад, terrybla сказал:

Подскажите пожалуйста, на роутере с прошивкой "Padavan" этот бот будет работать?

image.thumb.png.b4a973140e0c34327ef645365141be10.png

Link to comment
Share on other sites

36 минут назад, zgenia44 сказал:

Хотелось бы еще отслеживание подключения к VPN

Доброго дня,
Поясните пожалуйста Вашу мысль. О чем именно идет речь?

Link to comment
Share on other sites

В 10.04.2022 в 10:29, Zeleza сказал:

В дальнейших выпусках пакета, будет реализован один из вариантов работы через ipset, это позволит решить вопрос с открытием высоко-нагруженных сайтов и сайтов, которые имеют ссылки на другие ресурсы 

 а как вы планируете реализовать эту задачу? к примеру, для инсты задействовано огромное количество узлов и подсетей, списки их собираются ручками на различных ресурсах и нет единого такого списка - все разрозненно. 

Link to comment
Share on other sites

15 минут назад, Zeleza сказал:

Доброго дня,
Поясните пожалуйста Вашу мысль. О чем именно идет речь?

Видеть кто подключается к моему VPN серверу (с неуспешными попытками и IP адресами подключавшихся).  Посмотреть историю подключений и отключений к серверу и т.д. В системном журнале (Диагностика > Системный журнал > Показать Журнал) нужные данные оттуда можно относительно легко извлечь. Например при подключении появляется запись типа:

ndm: IpSec::Configurator: "VPNL2TPServer": L2TP/IPsec client "XXXX" connected from "xx.xx.xxx.xxx" with address "xxx.xxx.xxx.xxx". 

 

Edited by zgenia44
Link to comment
Share on other sites

5 минут назад, Goga777 сказал:

а как вы планируете реализовать эту задачу? к примеру, для инсты задействовано огромное количество узлов и подсетей, списки их собираются ручками на различных ресурсах и нет единого такого списка - все разрозненно. 

Есть желание принять участие в проекте?

Link to comment
Share on other sites

2 часа назад, zgenia44 сказал:

Видеть кто подключается к моему VPN серверу

Теперь более ясна стала Ваша цель. Хорошо, принял.

Цитата

Прошу Всех, кто заинтересован в реализации данного функционала поставить лайк этому сообщению, так я буду понимать, востребовано ли данное предложение. 

Edited by Zeleza
  • Thanks 1
  • Upvote 3
Link to comment
Share on other sites

18 минут назад, Goga777 сказал:

как тестер, да, есть желание

Благодарю за вопрос и посильное участие.

Цитата

а как вы планируете реализовать эту задачу? к примеру, для инсты задействовано огромное количество узлов и подсетей, списки их собираются ручками на различных ресурсах и нет единого такого списка - все разрозненно. 

Пока еще не было возможности досконально разобраться с этим вопросом, "не дошли руки". Первое что приходит пока на ум, это проанализировать разрабатываемые варианты гуру этого форума и других источников, как пример здесь и здесь и далее, как вариант, обработка всех ссылок тела страницы через "суп" в питоне. 

  • Upvote 1
Link to comment
Share on other sites

19 минут назад, Zeleza сказал:

Есть желание принять участие в проекте?

Подсети можно через ASN собирать:

https://bgpview.io/search/twitter

https://bgpview.io/search/facebook

Вот тут можно посмотреть результат по полученным подсетям:

https://github.com/SecOps-Institute/TwitterIPLists

https://github.com/SecOps-Institute/FacebookIPLists

а вот тут уже есть готовые скрипты по дерганью адресов:

https://github.com/ntop/nDPI/tree/8238e68275037d4e3fddac67dc65b81d8f5d35c7/utils

  • Thanks 1
  • Upvote 1
Link to comment
Share on other sites

Публикую релиз "Жезл" версия 1.0 beta 13

  1. Реализована отправка отладочной информации разработчику, в случае критических ошибок. Отключить опцию пока нет возможности, потому если для кого это критично - отправка информации об ошибках, прошу не устанавливать данную версию.
  2. Добавлена команда zpu admin для установки user_id администратора бота с целью повышения безопасности работы бота.
  3. Переписаны все команды утилиты zpu (аналог vpu), для полной информации см. zpu help 
  4. Для лучшей отладки теперь производится логирование в файл /opt/etc/zezl/zezl.log
  5. Теперь токен принимается и со знаком нижнего подчеркивания в том числе.
Link to comment
Share on other sites

@AftalikПрошу Вас более подробную информацию публиковать о проблеме - какая версия пакета установлена? Если речь идет о бете 13, то что пишется в логе? 

cat /opt/etc/zezl/zezl.log

 

Edited by Zeleza
Link to comment
Share on other sites

6 минут назад, Zeleza сказал:

Если речь лет о бете 13, то что пишется в логе? 

cat /opt/etc/zezl/zezl.log

[2022-04-17 21:25:50,471] DEBUG] zezl->tools.py->run[535] - "Результат: ''

"

~ #

Link to comment
Share on other sites

1 минуту назад, Aftalik сказал:

cat /opt/etc/zezl/zezl.log

[2022-04-17 21:25:50,471] DEBUG] zezl->tools.py->run[535] - "Результат: ''

Напишите пожалуйста в "личку". 

/opt/etc/init.d/S61zezl stop
/opt/apps/zezl/zezl.py

 

Link to comment
Share on other sites

коллеги

у кого 3.8 и последняя альфа 8 - у вас автозапуск скрипта после перезагрузки роутера (у меня гига 3) проходит нормально? 

мы пока не нашли в чем проблема у меня

Link to comment
Share on other sites

"Жезл" версия 1.0 beta 14

  1. Внесены правки в утилиту zpu (доработаны команды add, rm, import, interface/infacelist)
  2. Внесены правки в справку утилиты zpu.
  3. Из-за возможных проблем с автоматической загрузкой при старте zezl, сообщения обрабатываются теперь синхронно, а не асинхронно, как было ранее (проверка гипотезы).

Буду признателен за Ваши комментарии и дополнения. 

  • Thanks 2
Link to comment
Share on other sites

Zeleza, добрый день!

спасибо за труды!

23 часа назад, Zeleza сказал:

-- сторож, который отлавливает подключения/отключения устройств по WIFI (см. пункт "Меню WIFI" ниже)

Мне интересно было бы иметь возможность получения сообщений в телеграм о подключении/отключении устройств, но не всех. Например отключение/подключение телевизора - не интересно, а в то же время камеры - хотелось бы иметь. Ну и незарегистрированные устройства тоже. 

Link to comment
Share on other sites

3 минуты назад, kilia сказал:

Мне интересно было бы иметь возможность получения сообщений в телеграм о подключении/отключении устройств, но не всех.

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

  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...