| Subcribe via RSS

飞信机器人实现命令式互动(以Linux版本为例)

8月 13th, 2008 | 2 Comments | Posted in 短信 < by John.Lv >

使用软件:飞信机器人

飞信机器人下载及安装方法详见

http://www.hiadmin.com/%e7%b3%bb%e7%bb%9f%e7%9b%91%e6%8e%a7%ef%bc%9alinux%e5%91%bd%e4%bb%a4%e8%a1%8c-%e9%a3%9e%e4%bf%a1%e5%ae%a2%e6%88%b7%e7%ab%af%e5%8f%91%e9%80%81%e5%85%8d%e8%b4%b9%e6%8a%a5%e8%ad%a6%e7%9f%ad%e4%bf%a1/

修改fetion安装目录下plugins中的plugin_message

?

#!/bin/bash
?? # $1:? fetion_account
?? # $2:? message
?? # Plus Description:
?? # When a new message arrival, the system will call this plug-in:
?? buddy=$1
?? message=$2
?? admin="135xxxxxxxx"? #Only accept instructions sent admin
?? # message A Show disk space
?? if [[ "$message" = "A" && "$buddy" = "$admin" ]] ;then
??????? df -h
??????? sendback="you send command A"
?? # message B show network connections
?? elif [[ "$message" = "B" && "$buddy" = "$admin" ]];then
??????? netstat -an | wc -l
??????? sendback="you send command B"
?? # message C run shell script
?? elif [[ "$message" = "C" && "$buddy" = "$admin" ]];then
??????? /root/sendMsg/1.sh
??????? sendback="you send command C"
?? # message D only send message
?? elif [[ "$message" = "D" && "$buddy" = "$admin" ]];then
??????? sendback="you send command D"
?? # other send not accept
?? elif [ "$buddy" = "$admin" ];then
??????? sendbac="you send command $message。command does not accept"
?? else
??????? sendback="you can not send comman"
?? fi
?? #send message $sendback
?? cmd="sms $buddy $sendback"
?? echo $cmd

?保存退出

下面进行测试
测试帐号:13713718888
密码:123456 (如果密码中含有特殊字符,请使用单引号)
./fetion -u 13713718888 -p 123456 -EN

发送信息给135xxxxxxxx
sms 135xxxxxxxx “show me the command”

如果135xxxxxxxx回复短信,将自动调用插件plugin_message
如果135xxxxxxxx 回复 A 执行查看磁盘空间的命令并回复message
如果135xxxxxxxx 回复 B 执行统计网络连接数并回复message
如果135xxxxxxxx 回复 C 执行一个shell脚本并回复message
如果135xxxxxxxx 回复 D 只回复message
如果135xxxxxxxx 回复 其它 回复错误指令的信息
如果不是135xxxxxxxx 回复的信息即使是正确指令也不予执行
其中A,B,C,D可以任意指定激活执行命令或者脚本的条件,通过短信回复可以使机器人执行命令,脚本,程序,回复信息等任意操作。

阅读内文 Tags:

飞信机器人实现命令式互动(以Windows版本为例)

8月 1st, 2008 | 2 Comments | Posted in 短信 < by John.Lv >

使用软件:飞信机器人

飞信机器人下载及安装方法详见
http://www.hiadmin.com/solarwinds%e5%ae%9e%e7%8e%b0%e7%9f%ad%e4%bf%a1%e6%8a%a5%e8%ad%a6/

修改fetion安装目录下plugins中的plugin_message.bat,没有则新建

内容如下:

@echo off
REM 当对方发送消息的时候,激活此插件,%1为发送方号码 %2为消息
if "%~2″=="A" goto msgA
if "%~2″=="B" goto msgB
if "%~2″=="C" goto msgC
if "%~2″=="D" goto msgD

echo sms %1 无效命令
goto end

:msgA
shutdown -r -t 120
REM 短信通知已经执行
echo sms %1 已经重启
goto end

:msgB
shutdown -a
REM 短信通知已经执行
echo sms %1 已经取消重启
goto end

:msgC
REM 执行G:\LibFetion\install\test.vbs
cscript G:\LibFetion\install\test.vbs
REM 短信通知已经执行
echo sms %1 已经成功执行G:\LibFetion\install\test.vbs
goto end

:msgD
REM 重启apache服务
net stop apache2
net start apache2
REM 短信通知已经重启
echo sms %1 apache2 already restart

:end

下面进行测试
Fetion -u 135xxxxxxxx -p password

发送信息给13512345678
Sms 13512345678 请输入指令

如果13512345678回复短信,将自动调用插件plugin_message.bat
如果13512345678 回复 A 则执行系统120″后重启(Windows)
如果13512345678 回复 B 则取消系统重启(Windows)
如果13512345678 回复 C 则执行G:\LibFetion\install\test.vbs
如果13512345678 回复 D 则重启Apache服务

其中A,B,C,D可以任意指定激活执行命令或者脚本的条件,通过短信回复可以使机器人执行命令,脚本,程序,回复信息等任意操作。

备注:回复机器人短信时建议使用手机回复,如果使用飞信回复会命令无法执行。
如果你回复的信息为A
手机回复后机器人收到的信息为A
飞信回复后机器人收到的信息为<Font Face=’Arial’ Color=’-16777216′ Size=’10′>A</Font>

按照插件plugin_message.bat,机器人就会执行echo sms %1 无效命令,就是发送给你说是无效命令

阅读内文 Tags:

系统监控:linux命令行-飞信客户端发送免费报警短信

7月 29th, 2008 | 6 Comments | Posted in 短信 < by Michael Field >

一、软件环境(centos 5为例)
这里向大家推荐的是飞信机器人的软件,支持linux、命令行下的飞信、完全免费(目前为止);
官网地址:http://www.it-adv.net/
支持库安装:
需要Glibc2.4以上的版本;centos5默认安装的Glibc2.5,所不需要额外升级;
目前网上的安装文档只有ubuntu的,至于redhat、fedora、centos都没有相关安装文档,我在安装的过程中遇到很多库的问题,所以在这里一并给大家进行介绍;

二、安装过程
下载包地址 LINUX X86/32(REDHAT ES4X32):支持库 最新程序fetion20080522004-linrh4.tar.gz
其中支持库和安装包内容如下:

# tar zxvf libraryrh4x32.tar.gz
libACE-5.6.5.so
libACE_SSL-5.6.5.so
libcrypto.so.0.9.7a
libssl.so.0.9.7a

# tar zxvf fetion20080522004-linrh4.tar.gz
./install/
./install/www/
./install/www/index.html
./install/www/css/
./install/www/css/scheme.css
./install/www/css/main.css
./install/www/css/print.css
./install/www/css/main-msie.css
./install/www/images/
./install/www/js/
./install/www/js/jquery.js
./install/socket_interface/
./install/socket_interface/socket_demo.php
./install/Readme.txt
./install/sound/
./install/sound/smile8.wav
./install/sound/message.wav
./install/sound/smile1.wav
./install/sound/login.wav
./install/sound/openchatwin.wav
./install/sound/closechatwin.wav
./install/fetion
./install/plugins/
./install/plugins/plugin_contact_update
./install/plugins/plugin_buddy_application
./install/plugins/plugin_message
./install/plugins/plugin_invite
./install/plugins/plugin_timer
./install/conf/

把支持库复制到/usr/lib/目录下,并作软链接如下:

cp lib*so* /usr/lib/
ln -s /usr/lib/libcrypto.so.0.9.7a /usr/lib/libcrypto.so.4
ln -s /usr/lib/libssl.so.0.9.7a /usr/lib/libssl.so.4

设定lib库配置文件

#vi /etc/ld.so.conf
#增加一条
/usr/lib/
#保存退出后,执行
#ldconfig

fetion的目录结构:
.\Readme.txt: 本说明文件
.\fetion:主程序
.\sound\*.wav:各种音效文件,您可以用自己喜欢的文件替换
.\plugins\plugin_*: 插件程序,您可以修改插件以达到自己的各性化需求

我在安装中遇到缺少krb5的库问题,这里写一下解决方法:
错误如下:
./fetion: error while loading shared libraries: libgssapi_krb5.so.2: cannot open shared object file: No such file or directory
安装一下krb5-libs包就可以解决啦:

yum install krb5-libs

完成之后测试,安装是否成功;执行

#cd install
# ./fetion -h
 Usage:
    fetion -h
        -h: help
    fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
    fetion -u mobile -p pwd [-b batchfile] [-EN] [-d]
        -u: Fetion user account(only supports mobile phone No.)
        -p: Account password
        -b: Batch file name
        -d: Debug on and write logs to [mobile]-debug.log
        -EN: English

三、实际测试
登录飞信默认是中文utf8的,如果linux系统不支持utf8会出现乱码:我使用english的方式来登录啦。
测试帐号:13713718888
密码:123456 (如果密码中含有特殊字符,请使用单引号)

./fetion -u 13713718888 -p 123456 -EN

登录后输入?获得帮助

****************************************************************
指令                    指令说明
list                     好友列表: list
sms                    发送短信: sms 飞信号/手机号/编号 短信内容(换行请用\n代替)
chat                   在线消息: chat 飞信号/手机号/编号 短信内容(换行请用\n代替)
status                 在线状态: status online/busy/away/hidden [个性化信息]
add                    添加好友: add 飞信号/手机号 申请信息 本地呢称
del                     删除好友: del 飞信号/手机号/编号
invite                 邀请好友: invite 手机号 您的姓名(邀请好友开通飞信)
autoaccept         自动接受: autoaccept on/off/status 自动接受加为好友申请
myinfo                修改资料: myinfo nickname/impresa 内容(呢称/心情)
help                   帮助菜单: help/?
exit                   退出系统: quit/exit
****************************************************************

sms 137******** "this is test message" # 这个就是我们需要的发送短信的指令啦!

脚本测试:
可以使用fetion的-b参数来实现p处理;
举例如下:

# vi p.sh
sms 13712312311 “msyqlserver is down”
sms 13712312312 “db1 is not running”
sms 13712312313 “warning db2 disk3 is full”
保存后执行:
./fetion -u 13713718888 -p 123456 -b p.sh
就是一次给3个admin发出报警信息。

还有许多插件的功能,我会在下次实际应用中写出日志和大家一起研究;
在初步接触中,发现可以实现一些交互信息的查询,比如直接向短信机器人发指令得到某台服务器的运行状态等。

阅读内文 Tags: , , , , , , ,