Перейти к содержанию

Рекомендуемые сообщения

  • Zeleza изменил название на Проект "Жезл" - телеграмм бот для работы с роутером
  • Ответов 100
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано

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

Можно ли одного и того же бота использовать на двух роутерах? Будет ли работать или будут конфликты?

Опубликовано
3 минуты назад, kilia сказал:

Можно ли одного и того же бота использовать на двух роутерах? Будет ли работать или будут конфликты?

@kilia, доброго Вам дня,

Нет, подобная возможность исключена. 

Опубликовано

Почему могут не отображаться некоторые впн срединия в списке бота? Есть WG, есть A3 через OpenVpn но нет другого который идёт через L2tp/Ipsec

Опубликовано
В 10.04.2022 в 12:52, ExFet сказал:

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

Здравствуйте, 
Все сообщения относительно отладки бета версий - прошу в "личку". Так же, желательно более подробно описать ситуацию и предоставить консольный вывод команды:

curl -s localhost:79/rci/show/ip/name-server

 

Опубликовано

Можешь добавить опцию для прогрузки адресов целыми CIDR блоками?

И опубликуй код на гитхабе, а то выглядит как кот в мешке.

Опубликовано (изменено)

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

Что-то у меня не взлетело:

~ # zpu add rutracker.org
Команда: 'if [ -f '/opt/etc/zezl/zezl.conf' ]; then echo 1; else echo 0; fi'
[INFO] zezl->tools.py->run[498] - "Команда: 'if [ -f '/opt/etc/zezl/zezl.conf' ]; then echo 1; else echo 0; fi'"
Команда: 'cat < /opt/etc/zezl/zezl.conf | grep 'DNS=' | cut -d'=' -f2'
[INFO] zezl->tools.py->run[498] - "Команда: 'cat < /opt/etc/zezl/zezl.conf | grep 'DNS=' | cut -d'=' -f2'"
Команда: 'curl -s localhost:79/rci/ip/route'
[INFO] zezl->tools.py->run[498] - "Команда: 'curl -s localhost:79/rci/ip/route'"
Traceback (most recent call last):
  File "/opt/bin/zpu", line 234, in <module>
    res = cmd_add_hosts(hosts=sys.argv[2:]) if args_count > 1 else no_args()
  File "/opt/bin/zpu", line 149, in cmd_add_hosts
    mess = vpn_lib.load_hosts_to_white_list(hosts=hosts)
  File "/opt/apps/zezl/vpn_lib.py", line 1114, in load_hosts_to_white_list
    messages_list = add_some_hosts(hosts=hosts, interfaces=interfaces, dns_ip=dns_config)
  File "/opt/apps/zezl/vpn_lib.py", line 1219, in add_some_hosts
    for inface in interfaces:
TypeError: 'NoneType' object is not iterable

Попробовал 

# zpu interface Wireguard0

В ответ список поддерживаемых команд.

Попробовал еще раз добавить токен, так как в телеграм на /start ничего не происходит:
 

~ # zpu token ******:**********************
Команда: 'sed -i "/TOKEN/d" "/opt/etc/zezl/zezl.conf" && echo TOKEN=******:********************** >> "/opt/etc/zezl/zezl.conf" && /opt/etc/init.d/S61zezl restart && /opt/etc/init.d/S61zezl status'
[INFO] zezl->tools.py->run[498] - "Команда: 'sed -i "/TOKEN/d" "/opt/etc/zezl/zezl.conf" && echo TOKEN=******:********************** >> "/opt/etc/zezl/zezl.conf" && /opt/etc/init.d/S61zezl restart && /opt/etc/init.d/S61zezl status'"
Токен успешно установлен.
Запускаем бота...
---------------------------------------------------
 Starting zezl.py...              done. 
 Checking zezl.py...              alive. 
---------------------------------------------------
Готово.

Что я сделал не так?

Изменено пользователем kilia
Опубликовано
9 минут назад, kilia сказал:

Что я сделал не так?

Доброго дня,
Забыл отключить вариант отладки, прошу прощения.
Потому много всяких ненужных сообщений, но в целом - бот у Вас запустился судя по логу.
Можете проверить командой:

/opt/etc/init.d/S61zezl status

В боте введите команду /start или /list или /backup, должно появится одно из меню. 

Относительно zpu - написал выше:

Цитата

В версии 1.0-beta-9 доступен пока не весь функционал, планируется в следующем релизе его реализовать полностью.

 

Опубликовано

После установки токена запускается, но следующей командой падает:
 

~ # /opt/etc/init.d/S61zezl status
 Checking zezl.py...              dead. 
~ # zpu token *****:*******
Команда: 'sed -i "/TOKEN/d" "/opt/etc/zezl/zezl.conf" && echo TOKEN=*****:******* >> "/opt/etc/zezl/zezl.conf" && /opt/etc/init.d/S61zezl restart && /opt/etc/init.d/S61zezl status'
[INFO] zezl->tools.py->run[498] - "Команда: 'sed -i "/TOKEN/d" "/opt/etc/zezl/zezl.conf" && echo TOKEN=*****:******* >> "/opt/etc/zezl/zezl.conf" && /opt/etc/init.d/S61zezl restart && /opt/etc/init.d/S61zezl status'"
Токен успешно установлен.
Запускаем бота...
---------------------------------------------------
 Starting zezl.py...              done. 
 Checking zezl.py...              alive. 
---------------------------------------------------
Готово.
~ # /opt/etc/init.d/S61zezl status
 Checking zezl.py...              alive. 
~ # /opt/etc/init.d/S61zezl status
 Checking zezl.py...              dead. 
~ # /opt/etc/init.d/S61zezl status
 Checking zezl.py...              dead. 

При этом сам бот в телеге ни на что не реагирует. Подожду следующей версии тогда, чтобы вы не подумали что я проблемный=)))

Опубликовано

Попробуйте запустить следующей командой

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

и пришлите вывод терминальный.

Опубликовано
8 минут назад, Aleksandr Akimov сказал:

А как обстоят дела с безопасностью? Как определяется список пользователей/чатов которые могут управлять функционалом?

Доброго дня, пока нет такого функционала - предлагайте.
Есть идея привязать к аккаунту телеграм.

Опубликовано

Как вариант - сделать привязку к chat_id. Установил пакет, сразу написал боту, он записал chat_id, остальные будет игнорировать.

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

Опубликовано
1 минуту назад, Aleksandr Akimov сказал:

Как вариант - сделать привязку к chat_id. Установил пакет, сразу написал боту, он записал chat_id, остальные будет игнорировать.

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

Добро, благодарю за идею.
Сделаю в последующих релизах.

Опубликовано (изменено)

Доступна для установки новая версия zezl_1.0-beta_11_all.ipk

  1. При инсталляции пакета необходимо теперь вводить свой user_id для избежания проблем с безопасностью. После его ввода, другие пользователи не смогут иметь доступ к боту (прошу подтвердить, что все работает как надо - сделана привязка к user_id). 
  2. Внесены правки в скрипты удаления и установки пакета, которые позволяют не вводить каждый раз token и user_id.  Опция доступна, если Вы, при удалении пакета, не станете удалять файлы конфигурации - данные будут браться из предыдущей установки. 
Изменено пользователем Zeleza
Опубликовано (изменено)

Может кому полезно будет:

Чтобы узнать свой id можно написать телеграм боту @getmyid_bot, в ответ получите ваш id 

А походу Жезл сам находит id

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

У меня вот такое во время запуска:

Запускаем zezl...

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

[INFO] zezl->tools.py->run[498] - "Команда: 'cat < /opt/etc/zezl/zezl.conf | grep 'USER_ID=' | cut -d'=' -f2'"
Traceback (most recent call last):
  File "/opt/apps/zezl/handlers.py", line 25, in get_user_id
    from remote_data import USER_ID
ModuleNotFoundError: No module named 'remote_data'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/apps/zezl/zezl.py", line 13, in <module>
    from handlers import (
  File "/opt/apps/zezl/handlers.py", line 304, in <module>
    admin = Filters.user(get_user_id())
  File "/opt/apps/zezl/handlers.py", line 35, in get_user_id
    user_id = int(out.replace('\n', '')) if is_ok else -1
ValueError: invalid literal for int() with base 10: ''
Collected errors:
 * pkg_run_script: package "zezl" postinst script returned status 1.
 * opkg_configure: zezl.postinst returned 1.

Вписал в nano /opt/etc/zezl/zezl.conf свой USER_ID вручную, и все заработало!

Спасибо!

Изменено пользователем kilia
Опубликовано
19 минут назад, kilia сказал:

У меня вот такое во время запуска:

Доброго дня
Это происходит по причине отсутствия данных об user_id в файле конфигурации - попробуйте снова удалить пакет и переустановить его, введя данные заново. 

Опубликовано
13 минуты назад, Zeleza сказал:

Доброго дня
Это происходит по причине отсутствия данных об user_id в файле конфигурации - попробуйте снова удалить пакет и переустановить его, введя данные заново. 

Остановил, удалил, установил заново:
 

~ # /opt/etc/init.d/S61zezl stop
 Checking zezl.py...              alive. 
 Shutting down zezl.py...              done. 
~ # opkg remove zezl
Removing package zezl from root...
Удаляем файлы пакета 'zezl'...
Удаляем данные из cron...
Удалить файлы конфигурации пакета [Y/N]? 
Y
Удаляем файлы конфигурации 'zezl'...
Удалить python пакеты: telegram-bot [Y/N]? 
N
~ # opkg install /opt/apps/packages/zezl_1.0-beta_11_all.ipk 
Installing zezl (1.0-beta_11) to root...
Configuring zezl.

Установка пакета ЖЕЗЛ™ [Zezl™] версия 1.0-beta_11...

Для полноценной работы пакета необходимо создать своего бота в 'Телеграм'
и получить ключ-токен. Видео-инструкцию Вы можете найти по ссылке ниже: 
https://youtu.be/KAgvPrvlI7Q

Для продолжения работы, ведите token Вашего бота: 
********:********
Запускаем zezl...

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

[INFO] zezl->tools.py->run[498] - "Команда: 'cat < /opt/etc/zezl/zezl.conf | grep 'USER_ID=' | cut -d'=' -f2'"
Traceback (most recent call last):
  File "/opt/apps/zezl/handlers.py", line 25, in get_user_id
    from remote_data import USER_ID
ModuleNotFoundError: No module named 'remote_data'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/apps/zezl/zezl.py", line 13, in <module>
    from handlers import (
  File "/opt/apps/zezl/handlers.py", line 304, in <module>
    admin = Filters.user(get_user_id())
  File "/opt/apps/zezl/handlers.py", line 35, in get_user_id
    user_id = int(out.replace('\n', '')) if is_ok else -1
ValueError: invalid literal for int() with base 10: ''
Collected errors:
 * pkg_run_script: package "zezl" postinst script returned status 1.
 * opkg_configure: zezl.postinst returned 1.

При этом если вручную впишу вручную nano /opt/etc/zezl/zezl.conf свой USER_ID, то скрипт стартует, но ботом может управлять кто угодно. 

Опубликовано
5 минут назад, kilia сказал:

Остановил, удалил, установил заново:
При этом если вручную впишу вручную nano /opt/etc/zezl/zezl.conf свой USER_ID, то скрипт стартует, но ботом может управлять кто угодно. 

Отправил сообщение в "личку".

Опубликовано
26 минут назад, Andrey Che сказал:

Длина  user_id зафиксирована на 9 цифрах, но у меня 8 цифр в ИД. Что  делать?

Доброго дня, сделал от 6 до 10 знаков.

Опубликовано

Запустил повторно установку - теперь завершилась успешно.

Ещё заметил такой нюанс, сразу токен не принимал, пришлось обновить. Разница, кмк была в том, что в старом токене был символ нижнего подчеркивания.

Опубликовано

Доброго дня, 

да именно так, должно вывести список ip.

По всем вопросам работы программы, пожалуйста в «личку». Будет эффективнее и быстрее.

Опубликовано (изменено)

Приветствую! Спасибо за труды!

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

Изменено пользователем Chernikov Ov
Опубликовано
10 минут назад, amcq сказал:

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

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

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

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

 

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.