english

Последние новости : релиз Lazy Geek 0.9

Поддержка аутентификации по публичному ключу
Просто положите приватный ключ в /sdcard/Lazy geek/keys/username@hostname.key

Новые способы указания пароля
переменная ssh_password: set ssh_password mypassword
строка соединения: spawn ssh user:mypassword@server.com
Если пароль не установлен, вас попросят ввести его при каждом соединении.

Настраиваемый таймаут
Установите переменную timeout в миллисекундах: set timeout 5000

Lazy Geek

Что такое Lazy Geek?
Lazy Geek — программа, позволяющая автоматизировать работу с удалёнными хостами telnet или ssh, работающая на Android.
Lazy Geek работает по тому же принципу, что и популярная UNIX-программа expect, и использует схожий (но значительно упрощённый) синтаксис скриптов.

Как это работает?

Lazy Geek работает со скриптами, хранящимися на SDCard в директории «/sdcard/Lazy Geek» — директория будет создана автоматически при первом запуске.
Все скрипты, помещенные в эту директорию, будут найдены автоматически при следующем запуске.

Зачем это нужно?

Lazy Geek позволяет превратить телефон в пульт управления компьютерами и сделать более удобным выполнение часто повторяющихся рутинных действий: включение/выключение машин и отдельных сервисов, управление инфраструктурой «умного» офиса или дома, и многое-многое другое.
При этом отпадает необходимость иметь компьютер с telnet/ssh клиентом под рукой.

Скрипты?

Для выполнения операций Lazy Geek использует несложные скрипты с синтаксисом, похожим на синтаксис expect. Ниже несколько примеров.

Скрипт, использующий telnet: Скрипт, использующий ssh:
# Comment goes here
## title = Open the entrance door

spawn telnet reception.elegion.local:23 # open telnet connection
send "open" # send command to remote host
expect "opened" # wait until get answer from remote host 
exit 0 # exit from script
##title = SSH example (user@server.com)
#set ssh_password secretpassword

spawn ssh user@server.com:22
#spawn ssh user:secretpassword@server.com:22

send "cd ~"
send "touch test.txt"
send "echo test >> test.txt"
send "ls"
#Expect timeout is 5000ms by default, changing it to 1 sec
set timeout 1000
expect "test.txt"
exit

Рассмотрим по порядку:
# — строка, начинающаяся с этого символа, явлется комментарием и игнорируется интерпретатором.
## — атрибуты скрипта. Эти строки также игнорируются при выполнении, однако содержат необходимые программе метаданные.
В данном случае, атрибут "title" — из него берется название, когда скрипт выводится на экран Android телефона.

spawn telnet reception.elegion.local:23 — соединиться по протоколу telnet к reception.elegion.local на порт 23.
Синтаксис: spawn {protocol} [username[:password]@]{address}[:{port}]
В случае использования ssh, аутентификационные данные берутся из переменных ssh_user и ssh_password.

set variable value — установить значение для переменной (поддерживается: timeout, ssh_user, ssh_password).
send "open" — послать команду.
expect "opened" — ждать ответа от сервера, содержащего данную строку.
exit — разорвать соединение с сервером.

© 2009 e-Legion Ltd.