Jabber-Shell 20090303
Описание
Jabber-Shell - это джаббер-бот, позволяющий вам выполнять команды оболочки на удалённой системе.
На сегодня бот уже пригоден к использованию, хотя и находится в зачаточном состоянии. К сожалению, гарантировать отсутствие проблем пока невозможно.
Что планируется:
- Загрузка файлов на удалённую машину и скачивание файлов с неё.
- Асинхронная обработка очереди сообщений для того, чтобы убивать зависшую программу.
- Логирование команд.
Бот написан на языке Perl, с использованием библиотеки Net::Jabber.
Для работы с ботом требуется зарегистрировать отдельный JID и добавить его в свой контакт-лист. После чего в настройках бота указать его JID и пароль и JID администратора.
Бот работает следующим образом: получив сообщение он смотрит на JID отправителя. Если оно отправлено администратором, то полученное сообщение выполняется как команда оболочки. После завершения выполнения команды её вывод отправляется в ответном сообщении администратору
Свежую версию вы всегда можете получить из SVN-репозитория http://svn.ylsoftware.com/jabber-shell. Копию репозитория вы можете получить выполнив команду:
svn checkout http://svn.ylsoftware.com/jabber-shell
Любые дополнения и комментарии к коду приветствуются.
ИзмененияВерсия 20090303
- Бот переписан с нуля. На этот раз на Perl.
- Сделана нормальная реализация команды "cd". Теперь для её обработки используется chdir.
- Частично исправлена проблема с не-ascii сиволвами.
Скачать
MooSE 2009-03-03 22:11:05
Страница: 1 2
Alex (*) 2007-10-02 10:08:36
А где what's new?
MooSE (*) 2007-10-02 13:47:33
Alex, в новой версии ничего принципиально нового. Просто исправления ошибок, сделанные одним добрым человеком.
wkg (*) 2007-12-28 12:13:07
cd не работает...
MooSE (*) 2008-01-14 11:18:01
> cd не работает...
Я знаю... А оно надо?
MooSE (*) 2008-03-15 18:28:13
Теперь "cd" работает:)
Тигра (*) 2008-04-09 16:56:24
Бот запускается командой:
./jabber-shell &
В директории с файлами бота.
куда эту команду вписать???
trilliput (*) 2008-05-12 14:31:44
Очень полезная программа! Спасибо создателям!
trilliput (*) 2008-05-12 14:33:39
У меня, как у пользователя jabber-shell имеется одно пожелание-идея. Неплохо было бы сделать альтернативу tab. То есть например если команда заканчивается на специальный символ (пусть @), то бот отвечает списком возможных команд, как будто была нажата клавиша tab. Спасибо еще раз за удобную софтину
MooSE (*) 2008-06-23 13:40:11
trilliput, слабо представляю как можно это реализовать:)
Там ведь и оболочки-то в классическом понимании этого слова нет:)
nehaffian (*) 2008-10-22 15:41:49
Программа действительно оказалась очень полезной, большущее Вам за нее спасибо! Но вот маленькая проблема: Минимальными модификациями удается запустить сразу два бота (с разными jid для каждого, разумеется), но принимает и обрабатывает команды лишь первый запущенный. Можно ли это как-то поправить?
roignac (*) 2009-04-20 14:31:52
Спасибо за отличного бота! Небольшое исправление - если локаль установлена на UTF-8, то русские имена файлов отображаются неправильно. Выход: 1) добавить use Encode; 2) после получения ответа на команду сделать: $message = decode('utf-8', $message);
В Перле новичек, может, сделал неправильно, но работает.
MooSE (*) 2009-04-23 17:50:59
Цитата от roignac:
если локаль установлена на UTF-8, то русские имена файлов отображаются неправильно. Выход: 1) добавить use Encode; 2) после получения ответа на команду сделать: $message = decode('utf-8', $message);
|
Да. Всё правильно. Тут чуть раньше был прислан патч, который как раз добавляет строку:
$message = decode('utf-8', $message);
Просто я сейчас параллельно добавляю к боту поддержку трэдов, и она пока кривая. Потому и не выкладываю.
Strannik_j (*) 2009-09-19 02:48:44
А как его в бубунте в автозагрузку прописать? Запускается только с рута...
MooSE (*) 2009-10-23 01:43:27
у меня и от ограниченного пользователя вполне работает... не вижу проблемы.. а автозагрузку.. ну можно использовать файл /etc/rc.local
kami (*) 2009-12-07 00:06:08
Здравствуйте, отличная идея с ботом.
Пытаюсь запустить его, чтото походу не так делаю.
создал аккаунт для бота. авторизовал его. скопировал в хомяк файл с настройками. запускаю бота.
я в перле ни бумбум, но понатыкав отладочных принт сообщений понял что он доходит до цикла обработки сообщений, гдето минуту висит на команде:
defined($client->Process)
и не входя в цикл выключается.
пробовал запускать и из под юзера и и под рута, одно и тоже. версию пробовал и по ссылке на сайте и из svn.
ps а чем вас python не устроил?))
Страница: 1 2 Вы должны быть зарегистрированы, чтобы открывать новые темы и отвечать на имеющиеся
|