Bekijk de volledige versie : Установка telegram-cli на Asus RT-N66U (AsusWRT-Merlin)
sasa1978
10-10-2015, 16:17
Поставил пакет telegram-cli, который по умолчанию сохраняет данные авторизации в /root/.telegram-cli/
Соответственно все настройки программы после перезагрузки роутера пропадают. Можно ли что-нибудь с этим поделать?
tg-server.pub без которого не может работать программа лежит почему то в /opt/etc/telegram-cli, хотя должен лежать со всеми файлами конфигурации
P.S: Все, разобрался как перенести. Надо запустить так telegram-cli так:
telegram-cli -c /opt/etc/telegram-cli/config
И в config добавить:
default_profile = "home_router";
home_router = {
config_directory = "/opt/etc/telegram-cli";.
};
После этого все работает как и где надо. Кстати очень клевая штука, можно прям с телефона давать команды роутеру :)
10159
ryzhov_al
11-10-2015, 09:37
Поставил пакет telegram-cli, который по умолчанию сохраняет данные авторизации в /root/.telegram-cli/
Соответственно все настройки программы после перезагрузки роутера пропадают. Я не стал это править, оставив возможность запуска нескольких экземпляров.
Можно ли что-нибудь с этим поделать?
HOME=/opt/var/tg telegram-cli -c /opt/etc/telegram-cli/config
> можно прям с телефона давать команды роутеру
ConnectBot (https://play.google.com/store/apps/details?id=org.connectbot&hl=ru)
sasa1978
26-10-2015, 14:52
> можно прям с телефона давать команды роутеру
ConnectBot (https://play.google.com/store/apps/details?id=org.connectbot&hl=ru)
Мелковато, и не так удобно:
10168
Скажите, на прошивке MerlinWRT у кого-нибудь работает telegram-cli? Я очень хотел иметь возможность управлять роутером через Telegram, очень обрадовался, когда telegram-cli появился в Entware, но у меня программа в 100% случаев завершается выдав одно слово "Killed". В каком направлении копать?
ryzhov_al
27-10-2015, 10:55
Ставил бы вопрос по другому: «У кого-нибудь работает telegram-cli на роутере с объёмом памяти хх МБ?»
Скажите, на прошивке MerlinWRT у кого-нибудь работает telegram-cli? Я очень хотел иметь возможность управлять роутером через Telegram, очень обрадовался, когда telegram-cli появился в Entware, но у меня программа в 100% случаев завершается выдав одно слово "Killed". В каком направлении копать?Я отлаживал telegram-cli на прошивке asuswrt-merlin. На RT-N66U с 256МБ RAM всё работает изюмительно, а на девайсе с 64МБ к вам регулярно будет приходить добрый волшбеник OOM Killer (http://shtsh.blogspot.ru/2012/04/oom-killer.html).
sasa1978
27-10-2015, 13:27
Дополнительно добавлю скрипт для telegram, что бы можно было отправлять роутеру команды.
function on_msg_receive (msg)
if msg.out then
return
end
if (tostring (msg.from.print_name)=='Your_Name') then
local handle = io.popen(msg.text)
local res = handle:read("*a")
handle:close()
send_msg (msg.from.print_name, res, ok_cb, false)
end
end
Где 'Your_Name' - это ваше имя в телеграмм.
Скрипт я сохранил в /opt/etc/telegram-cli/script.lua
Для автозапуска telegram после перезагрузки роутера я дополнительно добавил в /opt/etc/init.d следующий bash скрипт (у меня стоит entware для ARM и там почему то стартовый скрипт не поставился):
#!/bin/sh
ENABLED=yes
PROCS=telegram-cli
ARGS=" -k /opt/etc/telegram-cli/tg-server.pub -c /opt/etc/telegram-cli/config -W -d -P43210 -s /opt/etc/telegram-cli/script.lua"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. /opt/etc/init.d/rc.func
Сообщения от роутера из bash скрипта можно отправлять так:
echo "msg You_Name 'Ваше сообщение'" >/dev/tcp/127.0.0.1/43210
Где 43210 номер порта, указанный при запуске telegram
Пример использования:
У меня написан скрипт на bash, который запускается по моему запросу из telegram, анализирует 38 страниц с форумов, блогов и новостных сайтов на изменение содержимого, и отправляет мне страницы, которые были изменены обратно в telegram. Чертовски удобно и экономит кучу времени.
Я отлаживал telegram-cli на прошивке asuswrt-merlin. На RT-N66U с 256МБ RAM всё работает изюмительно, а на девайсе с 64МБ к вам регулярно будет приходить добрый волшбеник OOM Killer (http://shtsh.blogspot.ru/2012/04/oom-killer.html).
Так у меня как раз RT-N66U с 256 Mb RAM. Сейчас показывает "использовано 168 Мб, свободно 65 Мб, всего 234 Мб". Останавливал Transmission - освободил совсем копейки. Надо как-то SWAP включить, или есть лучше способы? Спасибо
sasa1978
27-10-2015, 16:18
McSimm, какой командой запускаешь?
P.S: У меня свап включен, но он используется только во время активной закачки/раздачи трансмишенном
McSimm, какой командой запускаешь?
telegram-cli -k /opt/etc/telegram-cli/tg-server.pub
но даже если совсем без параметров запустить - тоже сразу Killed
добавил своп на 64 мегабайта - не помогает
mcsimm@MY-WRT:/# free
total used free shared buffers
Mem: 239672 173224 66448 0 1500
-/+ buffers: 171724 67948
Swap: 63472 40 63432
mcsimm@MY-WRT:/# telegram-cli -k /opt/etc/telegram-cli/tg-server.pub
Killed
sasa1978
27-10-2015, 17:38
Попробуй переустанови пакет.
Слово Killed я нашел только в библиотеках:
libapr-1.so.0.5.2
libcidn-2.20.so
Видимо какая-то проблема с библиотеками или путями. Может быть не все поставилось как надо.
Попробуй переустанови пакет.
Переустановил (remove, install) - не помогло :-(
sasa1978
28-10-2015, 14:23
Тогда уж надо было добавить ключ --autoremove при удалении
Тогда я предлагаю взять чистую флешку, поставить туда чистый entware и сразу поставить telegram. Если заработает, тогда ставить дальше по одной программе, и вычислить с чем идет конфликт.
Если не заработает сразу, то видимо это уже косяк сборки под entware
ryzhov_al
28-10-2015, 15:01
Включите swap.
ryzhov_al
30-10-2015, 12:20
После этого все работает как и где надо. Кстати очень клевая штука, можно прям с телефона давать команды роутеру :)Попробовал telegram-bot-bash (https://github.com/topkecleon/telegram-bot-bash) с минимальным модификациями, всё работает. Из зависимостей только bash, grep и curl.
Если не хочется бесконечно долбиться скриптом в api.telegram.org, то можно отключить в нём бесконечный цикл и воткнуть его в cron. Тогда скрипт не будет разбирать стопку набранных команд, а будет брать лишь последнюю команду из чата и отсылать результат выполнения назад в чат.
ryzhov_al
01-11-2015, 06:35
Плюс софтины telegram-cli в том, что она может выступать самостоятельным юзером и имеет постоянное подключение к telegram. Минус в том, что в требует для работы ~100МБ памяти и не стартует без свопа даже на RT-N66U.
Для целей управления роутером bashbot годится куда лучше. Написал тестового бота, можете с ним поговорить - @ironkakadu_bot (https://web.telegram.org/#/im?p=@ironkakadu_bot).