上回用GCalcli实现了给aMule增加下载完成短信通知功能,不过由于GCal的短信格式问题并不完美,在Druggo的提示下转而使用飞信来实现这个吧。

飞信虽然在linux下已经有libfetion和linux-fetion for purple了,不过都没有直观的纯CLI操作方式。找来找去只找到个闭源的飞信机器人,这软件优点是:纯命令操作,简单快捷。

不爽的地方是:

  1. 闭源,依赖的库文件有版本要求。而且从主页来看,商业味比较浓,怕有猫腻
  2. 初次运行后会生成数个当前用户无访问权限的文件夹,强行删除再运行又会重新生成

唉,我又开始二了,用人家的东西还这么多牢骚。下面是实现方法:

此处下载飞信机器人的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那样分两条不完整短信发过来。

1 Response So Far ↓

  1. Druggo:

    哈哈,这就是我们在用的了,不过最近手机欠费,转用139的mail短信通知了。。。

Leave a Reply ↓