上回用GCalcli实现了给aMule增加下载完成短信通知功能,不过由于GCal的短信格式问题并不完美,在Druggo的提示下转而使用飞信来实现这个吧。
飞信虽然在linux下已经有libfetion和linux-fetion for purple了,不过都没有直观的纯CLI操作方式。找来找去只找到个闭源的飞信机器人,这软件优点是:纯命令操作,简单快捷。
不爽的地方是:
- 闭源,依赖的库文件有版本要求。而且从主页来看,商业味比较浓,怕有猫腻
- 初次运行后会生成数个当前用户无访问权限的文件夹,强行删除再运行又会重新生成
唉,我又开始二了,用人家的东西还这么多牢骚。下面是实现方法:
在此处下载飞信机器人的linux版,运行程序依赖的库文件有4个:libcrypto.so.0.9.8
, libssl.so.0.9.8
, libACE.so.5.6.8
, libACE_SSL.so.5.6.8
。前两个属于openssh,后两个可以# emerge dev-libs/ace
得到,鉴于版本问题和libACE 8MB的体积问题,还是直接下载它提供的库文件包吧。
建议解压后放到自己的$HOME
目录下,例如我把它解压到$HOME/fetion-cli
下,把解压的4个库文件也放到此目录下。
飞信机器人支持config文件读取帐户信息,创建一个$HOME/.fetion-cli.conf
,按以下格式输入你的帐户信息:
# ID Mobile Password 1 你的手机号码 你的飞信密码
然后是建立一个bash脚本fetion-sms.sh
#!/bin/bash
#usage: fetion-sms.sh MobileNum. ENTRY
cd /home/punkid/fetion-cli
LD_LIBRARY_PATH=. ./fetion --config=$HOME/.fetion-cli.conf --index=1 --to=$1 --msg-utf8="$2"
这个脚本用法很简单,输入$ sh fetion-sms.sh 接收方的手机好码 飞信消息内容
就完成了。
所以在aMule的Download completed event里配置如下就行了:
sh /home/punkid/scripts/fetion-sms.sh 你的手机号码 "%NAME 下载完成"
这回算是比较满意了,飞信接收速度快而且不像GCal那样分两条不完整短信发过来。
哈哈,这就是我们在用的了,不过最近手机欠费,转用139的mail短信通知了。。。