fGmail 0.2版发布
新版本特点:主要解决了明文存储Gmail账号信息和飞信账号信息而导致的不安全问题。可以真正的worry free。
其实很好办,无非是通过shc来将shell脚本加密,生成二进制文件,就无法明文观察到密码了。有人会问,shc的加密真的那么可靠吗?一般来说是安全的,除非使用gdb等调试工具来获取源代码,这种安全级别对我们来说已经足够了。
如同前一版本一样,fGmail的获取地址在这个Google Code的工程里面。欢迎试用。
新版本特点:主要解决了明文存储Gmail账号信息和飞信账号信息而导致的不安全问题。可以真正的worry free。
其实很好办,无非是通过shc来将shell脚本加密,生成二进制文件,就无法明文观察到密码了。有人会问,shc的加密真的那么可靠吗?一般来说是安全的,除非使用gdb等调试工具来获取源代码,这种安全级别对我们来说已经足够了。
如同前一版本一样,fGmail的获取地址在这个Google Code的工程里面。欢迎试用。
Gmail难道开通了新邮件免费短信通知?失望的是,仍然没有。不过,我做了一个“曲线救国”的方案,运用Gmail Feed + wget + sed + libfetion + cron + 我写的小程序fGmail,然后有一台在网的linux主机,即可实现这个功能!
OK,实现思路如下:Gmail提供了通过Feed访问新邮件的功能,我们通过wget来抓取它并保存成xml文件,然后写个shell脚本运用sed将新邮件数、邮件标题和发送者解析出来,传递给另一个小程序,这个程序利用DDD开发的libfetion库,实现向自己的手机发送短信的功能。将那个shell脚本放在cron中,设定每隔一段时间执行一次即可。是不是很简单?
我把所有程序都放在了这个Google Code的工程中,直接下载地址在这。除了libfetion等已经声明版权的内容外,fGmail遵从GPLv3协议。
使用时,只需解压后按照README安装即可。
费了这么多周折,终于实现了Gmail的新邮件短信通知。不过其局限性也是很显而易见的,如只是Gmail,没有其他邮件,只能是中国移动飞信的已注册用户,要有一个linux系统来跑等等。不过这些限制对我自己来说,刚好已经满足了。
基于libfetion开发的项目很多,网上最常见的例子比如免费天气预报之类。如果有好的构思,完全可以做出非常实用的东西来。也希望我的这个fGmail小例子能实现抛砖引玉的作用。最后希望能早日实现上手G2的梦想,爽歪歪的直接用手机收发邮件。
Q & A :
Q:Why fGmail?
A:I choose `f’ and `Gmail’ to name it simply for fetion Gmail or fetch Gmail.
Q:Hey, but how about its safety, I mean the Gmail and fetion account information?
A:Your Gmail account information is directly stored in the file `account’, and I am sorry for that. Maybe I will fix it in the next version.
在Fedora 10下,用到了十分优秀的libfetion库和cgi-util库,前者是DDD作者黑盒开发的飞信库,使用了最新的0.92版,后者是一个简洁c语言下的cgi库。通过在浏览器中调用
http://domain/cgi-bin/sms.cgi?msg=YourMsg
即可实现给自己的手机免费发送短信。

这个接口还应该做的和可以想到的:
1.短信目前不支持中文,待将URL编码问题解决
2.抓取网页内容(如天气预报信息)/或读取到新邮件通知,然后通过此接口发送短信
3.效率过低,编译后竟然后上百k大小
后续开发也在进行中,并且我会把比较成熟一点的代码贴出来。好久没有认真写C代码了,自己感觉太烂了……
家里网速实在卡,redhat是不可能马上就下下来了,于是就用了手头仅有的cygwin来安装,也不错其实。反正实际上都是在ns内部写代码,暂时不需要真实的linux环境。
cygwin有各种版本吧,几十M到十几G的都有,我下的是50M多的很小的一个版本,事实证明已经足够了,不够的几个包完全可以临时附加安装。
根据nsnam网站给的提示,安装ns2之前,需要实现在cygwin中打好gcc、gcc-g++、gawk、tar、gzip、make、patch、perl、w32api这几个包,另外X11也是必须的,可以是Xfree86 (需要XFree86-base、XFree86-bin、XFree86-prog、XFree86-lib,和XFree86-etc几个包) 或者X.org (需要xorg-x11-bin、xorg-x11-bin-dlls、xorg-x11-devel、xorg-x11-libs-data,和xorg-x11-etc几个包)。
除此外,还需要X-startup-scripts这个包,否则的话就无法运行起startxwin.sh。
另外特别注意的是,安装ns2之前要打一个补丁,在ns-allinone-2.29tk8.4.11generictkBind.c文件的588~589行之间插入下面三行: #ifdef GenericEvent 否则的话nam将无法运行起来。
/* GenericEvent */ 0,
#endif
ns的编译过程将非常漫长,期间可以去吃个饭或者睡个小觉。装完后运行个example3.tcl看下,出现如下结果,应该就说明没有问题了。
OK,最基础的环境已经搭好了,可以开始工作了。
TCP/IP,本人本科四年倒数第二门考试,复习时新体会和新感悟到的东西罗列如下:
Tags: Curl, cygwin, Linux, TCP/IP, Tracert, Windump, Wireshark
学校网络中心给宿舍教育网开通了IPv6的服务,现在正在测试中,不得不说,真的很欣喜。
目前使用的原理是通过配置ISATAP隧道来实现将IPv6的包封装再IPv4中,还有一种办法是6to4,似乎用得不多。
一个字,屡试不爽!
1.目前本人感觉最爽的一点:借“IPv6之机”无限流量访问外网
因为教育网本身是限制了国外访问流量的,实验室里倒是都有国际流量,可是宿舍里就不行了。开了IPv6之后,通过6Bone提供的一个只针对IPv6的http代理服务器(不要问我服务器地址是多少,自己去找,只要你真心有志想用,不可能找不到。当然前提是你必须已经能够正常使用IPv6)。关于6Bone,是一个IPv6的官方实验组织。另外还有一个也是只针对IPv6的http代理.sixxs.org,简单用了一下,速度不如6Bone提供的那个。于是现在,ibm,youtube,wikipedia,debian,sourceforge等等等等,都是可以正常访问的。不要告诉我你将IPv6理解成用来突破GFW的,这么想的人不配使用IPv6。
2.开通了一个学习的途径
IPv6本身就是一项吵了很久的东西,终于见到实践了(尽管还是使用isatap,并非真正完全的IPv6),感觉很多东西都挺陌生。可惜最近忙复习,没空细究。遗憾遗憾。希望有机会好好深究一下。
实习成果终于出来了,三个周的心血呐……
不多说,下午赶火车时间紧,上PPT,想说的都在里面了。
演讲稿下载:GaoLei’s Summer Intern Report.pdf
源代码下载:texttalk.1.0.tar.gz
Server side:
socket > bind > listen > accept
Client side:
socket > connect
一个周的实习成果总结成上面的简单描述,安静而强大。