September 5th, 2010

如何监听飞信消息并转发为邮件

  本文适用于满足以下条件的读者:日常使用的是电信或者联通的手机,没有移动手机号,并且重度依赖邮件,或者手机终端支持email/push的同学(android和iphone最给力了)。

  众所周知,飞信是中国移动旗下一款超级得力的产品,平时有个班长通知什么的,很多都是使用飞信来通知的,方便、及时,而且对方不在线的话可以直接发送到移动手机上,甚至阿土伯说现在小学生的老师发个作业要求什么的都用飞信发给家长。这一点曾经让我等电信/联通用户困扰不已,现在好了,levin同学写了一个开源的基于GTK+2.0的ofetion,我使用他的fetion库写了一个命令行下的监听飞信消息并且转发邮件的小工具。

  思路很简单,无非就是先登录验证用户名密码(视情况决定是否需要加挂http代理),然后起一个进程,每隔180s向移动的飞信服务器发送一个keep alive的包,另外主进程实时来监控是否接收到新的消息。如果有新的消息过来,则判断其消息类型,剔除掉ACK等系统消息,将真正的飞信消息通过sendmail发送邮件给指定地址。有一点需要注意,一旦接收到这种真正的飞信消息时,需要发出一个ACK包,以确认自己收到,不然对方的客户端会认为这边未收到消息,然后显示发送不成功。

  因为levin同学写的代码可读性比较强,所以我修改的时候没有遇到太多麻烦。下周开始自己和给阿土伯试用,哈哈,这回再也不怕没法收班长通知了。

[UPDATE 2010/12/09]:谢谢同学们关注,我把基于openfetion 2.0.2版的openfetion-notify代码托管在github的这里了,有需要的同学自己去试试吧,已经能正常工作,但是还非常ugly,希望能有时间改改。最近太忙了,Sigh。

Tags:

March 21st, 2009

fGmail 0.2版发布

  新版本特点:主要解决了明文存储Gmail账号信息和飞信账号信息而导致的不安全问题。可以真正的worry free。

  其实很好办,无非是通过shc来将shell脚本加密,生成二进制文件,就无法明文观察到密码了。有人会问,shc的加密真的那么可靠吗?一般来说是安全的,除非使用gdb等调试工具来获取源代码,这种安全级别对我们来说已经足够了。

  如同前一版本一样,fGmail的获取地址在这个Google Code的工程里面。欢迎试用。

Tags: , , , , ,

March 1st, 2009

写了一个飞信的CGI接口

在Fedora 10下,用到了十分优秀的libfetion库和cgi-util库,前者是DDD作者黑盒开发的飞信库,使用了最新的0.92版,后者是一个简洁c语言下的cgi库。通过在浏览器中调用

http://domain/cgi-bin/sms.cgi?msg=YourMsg

即可实现给自己的手机免费发送短信。

这个接口还应该做的和可以想到的:

1.短信目前不支持中文,待将URL编码问题解决
2.抓取网页内容(如天气预报信息)/或读取到新邮件通知,然后通过此接口发送短信
3.效率过低,编译后竟然后上百k大小

后续开发也在进行中,并且我会把比较成熟一点的代码贴出来。好久没有认真写C代码了,自己感觉太烂了……

Tags: , ,