« May 2004 | Main | May 2005 »

April 30, 2005

2005年计划要写的文章和系列文档

今年除了要大力开发opensource软件及一些应用项目外,文章和文档其实也不能忽视,感觉今年真的很充实!

Documents主要将涉及程序开发及测试,软件配置等。如perl, c, 性能测试,Email system等。

邮件系统性能测试

类型:Opensource/Commerical GPL
描述:一直以来,有关邮件系统的性能/稳定性的测试和评比,Internet上都没有一个较为全面的方法和叙述,有的也是商业软件或需要付费的测试,如SPEC的email benchmark则需要几千美金。文章将叙述我所使用的一些手段及方法,对邮件系统的测试和评比。

备注:主要将涉及postal(smtp/pop3)及I/O分析,以及自己计划开发一个webmail的测试工具。

Postfix 运行机制分析

类型:GPL 公共创作License
描述:研究Postfix也有几个年头了,其运行机制也应该整理一下,对理解透彻很有好处。本文将以我自己有限的认识,来试图阐述Postfix的运行机制及工作流程,各模块之间是如何协作,以及Internal Protocol。

备注:需要参考Postfix atomy及source。

Website Optimize for Google

类型:GPL 公共创作License
描述:介绍如何优化网站,使网站更容易被Google收录及搜索,这里主要涉及到页面设计、内容设计、关键字等方面的基本技巧。

设计适应所有浏览器的网站

类型:GPL 公共创作License
描述:介绍/翻译 如何设计一个能适应所有浏览器的网站,从样式CSS,到色彩,到图片,表格乃至帧/cookie/javascript等。

主要参考http://www.anybrowser.org/campaign/abdesign.html

........ (To be continue)

Posted by hzqbbc at 09:31 PM | Comments (3)

April 21, 2005

Ad2disk 计划内容

注意事项

Ad2disk 计划当前版本: alpha
本文所描述的内容在Ad2disk发布1.0版本前将有少量变化,敬请注意。

Ad2disk 详细内容

本站推出Ad2disk免费空间计划,凡对网站空间/ftp空间有需求但却苦于费用不足的朋友,均可申请。本计划的核心宗旨是申请人利用自身网站的流量换取网站空间的租用。

我们提供的免费服务:
1.默认初始100MB大小的空间,随着网站流量的增加,可逐步提高空间大小及服务内容,如增加数据库空间,安装额外不影响系统安全及稳定的软件或更高级服务。

2.初始提供PHP及CGI支持,或可免费申请htaccess支持、MySQL数据库的支持。

3.可根据需要,提供Blog、BBS、访问统计/分析软件支持,包括安装和一定的技术支持。

4.如果用户有国际域名,可解析至本空间(*)

客户的义务:
1.与供应商协商,在网站较显著位置放置供应商给定的广告。
2.优化网站,尽量提高网站的流量,同时尽量少的占用资源,以尽量提高访问速度。

升级/降级制度:
1.如客户的网站开通后,流量逐步上升,则可根据需求与供应商协商增加空间或资源,甚至安装特殊软件/服务。
2.如客户网站在1个月内流量下降到小于100个page view /日(以广告展示次数统计为准),则将该客户网站空间减少30%,下月再以此规则计算,逐步至取消空间使用权力为止。
3.经过与供应商协商,特殊情况者可免予空间停止或获得特殊照顾。

我们的优势:
1.服务器位于中国网通核心接入层,2G直通北京国际出口,不限流量。
2.使用原装高速服务器,所有空间均有1+1实时保护(RAID1)
3.特色:区别于一般免费空间只提供二级域名,我们支持国际域名解析!
4.专业的web/邮件技术支持,包括技术支持论坛,客户的问题可方便解决。
5.用户可申请本站提供的免费二级域名做临时地址,日后可申请国际域名替换之。

申请方法
通过电子邮件方式申请。申请者需要提供如下内容:
1.网站名称及用途/类型(如个人主页,摄影,下载,mp3,论坛等)
2.申请者信息(包括qq/msn/email,如需技术支持请留电话或真实姓名)
3.网址,如有国际域名需解析请做强调,如无网址可申请二级域名,本站代为指向
4.需求的初始空间大小及用途、理由
5.申请的ftp用户名及密码

申请通过后,用户会收到确认信,包括使用说明和注意事项。如一直收不到确认信,请qq/msn联系。

联系方式.

QQ: 27914407
Email: Ad2disk (at) hzqbbc (dot) com
或 hzqbbc (at) hotmail (dot) com

Posted by hzqbbc at 12:40 PM | Comments (17)

April 16, 2005

2005年计划的项目列表(TODO)

今年是大力发展开源软件的好时机,而且很多自己的构思都想了好几年了,一直没法实现,现在能够有时间静心来做,确实是挺值得庆幸的。

2005年是我的开源项目年。计划要做的大多数都是开源的项目,只有少数是commerical的。为什么OpenSource?因为我们从OpenSource中获利,从OpenSource中吸取了营养,理应回馈社区,况且开源的模式更利于软件的发展,毕竟:只有一个人是不行的。

以下是今年的TODO List:

Extmail

类型:开源软件,暂定GPL授权
描述:一套开源的webmail系统,使用perl编写,计划中的特色包括了:

备注
该项目是2005年的重点,目前已实现了1/2的核心功能模块,可实现简单的阅读邮件功能,并实现了诸如基本的cache及邮件解析等基础功能。目标之一是希望能够代替sqWebmail,克服sqwebmail定制麻烦,修改困难的缺点,同时又要克服perl的cgi速度慢的问题。

诚挚的希望有朋友愿意一起合作开发。联系方式:hzqbbc at hzqbbc (.) com

Concurd

类型:暂时不提供source
描述:一个perl实现的并发连接统计程序,主要用途是给MTA增加并发统计的功能。该项目提出一套简单的协议,可以实现对不同ip的SMTP客户端的连接频率,发送次数进行统计、查询、限制等。并能接受自定义的上限。

备注:目前已基本开发完毕,0.01 alpha版本。使用了Poll技术,使并发性能更强,并可以支持将统计信息写入dbm的功能,支持BerkeleyDB 0.25/26及事务等功能。测试表明可以支持超过200个并发/秒的统计。工作于单进程模式。

APF Server

类型:商业软件
描述:一套实现APF规范/协议的反垃圾邮件服务器。在原有基础上,进行大幅度改进,包括提高对MSPF,SPF及Domain key的支持,改善各种规则的准确度。增加完善的管理后台等。

备注:目前版本只有简单的管理工具,还不够成熟。处于beta状态。

APF client

类型:开源软件,暂定GPL授权
描述:APF client是一系列的MTA支持软件,目前包括:qmail/postfix/sendmail。通过APF client可以使这些MTA使用APF Server所提供的全部功能。并实现了大量高级功能,如高级访问控制(常规的内/外网功能),限制并发,自定义黑/白名单,识别伪造来信等反垃圾邮件功能,还可自定义灰名单(grelylist)功能。

备注:目前APF-sendmail, APF-qmail, APF-postfix 的实现都已完备。正在筹划下一版的大改进。

Policyd for Postfix

类型:开源软件,暂定GPL
描述:基于APF server技术的开源策略服务器,专门针对Postfix MTA。可以实现SPF,Greylist,MSBL,自定义黑/白名单及并发统计(需要配合concurd)等高级功能。使用c语言及perl编写。

目前该软件只具备原形,尚未发布。

tcp_table for Postfix

类型:开源软件,版权未定
描述:将snapshot版的postfix tcp_table代码backport 到stable postfix版本里,并进行改造,增加对unix domain socket的支持,并提供一个框架,实现大部分table 查询的网络化传递。优点是可以将各种信息都保存到其他机器上(如运行mysql/ldap的机器,甚至保存在DBM里!)。作为超大规模邮件系统的基石之一。

备注:目前只进行了原理性研究和测试,使用perl编写了原形,未正式开始项目。

postfix perl admin

类型:开源软件,暂定GPL版权
描述:基于webmin的postfix 邮件系统管理软件,主要实现了用户管理,别名管理,自动回复管理(*),系统黑/白名单等管理。目标是提供一个perl版的postfixadmin实现。

备注:尚位开工。

My Photo gallery (perl version)

类型:开源软件,GPL授权
描述:一个可实现多用户管理的免费电子相册,利用ImageMagik软件包提供的功能,实现图片放大缩小及缩略图,提供“评论”,点击统计,多目录访问,限制访问及图片的EXIF信息显示等多种功能。计划不使用数据库,而只使用文本或DBM保存信息。

备注:尚位开工,EXIF的模块基本开发好了,并提供了各种数码相机的焦距与35mm标准相机焦距的转换功能。

Mail2Oversea

类型:商业软件
描述:在越来越严峻的Spam和Anti-spam的国际大环境中,国内要往外发邮件变得越来越困难,尤其是很多外贸的商业用户,要利用国内的免费邮局或自建服务器外发邮件到欧、美等地,遇到了极大的阻碍:黑名单!

为了实现顺利的外发,我们提出了一种国际邮件的转发业务,使用了一种折中的办法,使用户只需支付较低的成本即可实现邮件外发到海外受阻的网站/公司。

备注:该服务正在筹备中,暂不公开提供,如需测试,请与我们联系, contact info: hzqbbc at hzqbbc (.) com

Posted by hzqbbc at 09:36 PM | Comments (0)

April 13, 2005

小试RSS聚合器lilina,附安装方法

lilina是一个开源的RSS新闻聚合器实现,功能强大,方便易用,而且最大的好处是不需要数据库支持,这点我比较喜欢。机器上的lilina已经运行了1个星期,感觉比较稳定。

lilina支持RSS/ATOM的解析,使用MagpieRSS库,拥有一个简单但容易理解的管理后台,管理feed。

整个安装和自定义过程都非常简单。Just some steps!

安装步骤

1)解包lilina,最新的lilina版本是0.7,执行
tar xfz lilina-0.7.tar.gz

2)安装配置
解包后生成lilina-0.7目录,将该目录mv到网站根目录下,改名为lilina,然后进入该目录,配置conf.php文件。

mv lilina-0.7 lilina
cd lilina

注意配置BASEURL及USERNAME和PASSWORD,其中BASEURL是lilina的地址,而USERNAME和PASSWORD是管理员的用户名/密码。

其他的配置可以不动。但要保证myfeeds.data和.time.data可写。执行操作:

chmod 777 .myfeeds.data .time.data


管理feeds

登陆lilina的配置界面:
http://your-website-url.com/lilina/edit.php

输入用户名和密码即可。默认的feeds有很多,但大多数是国外的一些RSS/ATOM源,可以删除掉,然后在rss/atom URL to add: 栏目里增加rss/atom源的地址,例如本站的Blog rss文件地址就是http://www.hzqbbc.com/blog/index.rdf,将该链接复制到输入框,点Add即可。

同样道理,顺次将需要聚合的网站RSS/ATOM地址输入好后,点导航条的myfeeds即可预览效果了。

Demo演示

点这里

Posted by hzqbbc at 09:24 AM | Comments (14)

April 10, 2005

感受4月10日广州抵制日货游行

发文的标题想了很久,都想不到合适的,现在这个标题也不能反映当时的情况,因为我当时竟然没看到游行队伍,却如何说“感受”?

所谓感受,实在是间接的,但却也不一般,因为我差不多是从天河坐摩托回到黄埔,跑了近10公里。

下午快6点时,在天河附近想找公交车做,谁知街道的情形有点让我两眼发直。十多台警车顺次停在路边,马路上几乎没有车辆,异常的宽阔!Wow,What's happening ?

原来是警察封路了,我倒是爽,大摇大摆的在马路上慢悠悠的走着,想起今天是广州抵制日货游行日。难怪要封路。但一看表,18:10分了,不得了,再不赶紧回家可是没饭吃了。

可是没车坐怎办?忽然想起18:20还有小区的车从天河开回去,于是疯狂跑向天河城,当时那劲头就跟逃难似的,因为小区现在入住的人爆多,晚点去位置都没有了。

好不容易跑到停车场,我又再次傻眼,好长一条等车队伍横在眼前,Sigh! 真是太倒霉了,没法,打摩托离开这个痛苦的地方吧,可是今天似乎摩托老也销声匿迹了,等了半天没看到,最后只有徒步向岗顶走去。

听说游行队伍在天河城、太平洋电脑城、花园酒店都有示威活动,于是我想这样走过去也可以顺便看看,沿途倒是很多路人,大抵也是因为没公交车坐,被迫徒步吧。

我是半小跑式的“走”,感觉还不错,实在太久不锻炼了,小跑一把呼吸也畅顺了。到了岗顶发现也没什么车合适,忽然发现有一个摩托老开着空车,我连忙扬手拦下,也不多讲价,直接问“10元你最远能带我到哪里?我要到黄埔”。摩托老说顶多到棠下,我可觉得贵啊,但这时候再不上也不知啥时候能到家,于是立马上车。

好不容易过了岗顶,直奔棠下。到了华师那边,我很庆幸自己选择了摩托,原来在华师那边的高架桥上也是大堵车,天河公元附近很多空的公交车,摩托车司机说这是没客坐只好停下来的车子。

在路上,我和摩托车司机攀谈起来,司机居然问了我一个一下无从答起的问题,他说“大哥,你说这大学生游行抵制日货,那干啥抵制呢?日本货那么好,国产的用两年就不行了。”我心里不是滋味......暗下决心,要搜集与日本所犯罪恶有关的资料,让更多不了解的人受教育。

这时天下了起雾水,摩托车上风吹得我抬不起头,真难受,但想想也值啊,少发牢骚也当支持游行的大学生吧。

好不容易到了棠下,下了车,却发现还是没合适的公交车,无奈只好打的士,可等了半天也没有的士,天又下着雨,头发衣服都湿了,鞋子进了水,真郁闷。好不容易截了一辆的士,可是又堵在了车陂,最后实在没办法,再次找了辆摩托车,才将自己送回了黄埔。

虽然在路上一直没看到游行队伍,可是游行所带来的影响却是感受深刻了......

Posted by hzqbbc at 11:47 PM | Comments (2)

解决GBOX收发邮件不畅问题

受一个朋友的重托,要解决一台敢能公司GBOX 2500系列的邮件通服务器的故障。这个GBOX 2500出现了大概这些问题:

O.外部邮件发不进来
O.内网往外发邮件正常
O.内网收不了邮件

这个GBOX是一体化的设备,具体地址见:敢能科技 GBOX 2500介绍

登上了这个GBOX,发现是一个简化了的Linux系统,很多东西都被裁减掉了。

系统基本结构为Postfix + /etc/passwd + horde + 一个自开发的管理后台,包括相应的imap/pop3服务器等。

由于使用的是系统用户,因此安全性和扩充性相对于虚拟用户而言,要较为差一些。而对于中小企业而言,扩充性倒不是大问题,又有几个小企业能有几千上万个邮箱用户呢?如果真的到了那个地步,系统准要换了。

检查了一下main.cf文件和master.cf后,并没有明显异常的地方。再检查mx记录,发现mx记录指向了mail.xxx.cn,并无特别不对头。

于是在自己的email server给test@xxx.cn发邮件,看到邮件日志发现连接超时,而连接的ip地址居然是192.168.1.xxx。于是连忙查询了一下mail.xxx.cn的A记录,果然是指向了192.168.1.xxx,询问客户得知,192.168.1.xxx是GBOX机器的内网ip。

难怪只有内网用户能往外发邮件,而外部发来的邮件到达不了,原因都是mx记录的hostname A记录不正确所导致。搞清楚后让客户更正了指向,一切恢复正常。

小结

Email 的故障很多都出在DNS/网络类问题上,例如MX解析不了,或主机名解析不了,网络连接不可到达,ip地址被RBL组织封锁等。

要发现这些问题,应尽早检查mx记录,邮件日志及退信内容。

Posted by hzqbbc at 06:31 AM | Comments (0)

April 09, 2005

今天改了改MT样式表,舒服了一点

自从决定给自己也搞个Weblog之后,就开始盘算怎么样搞得好一点。而Weblog自然要有好的Web appearance,样式表是少不了的了。

MT默认的样式表显然不能满足我的要求,对于中文字而言,x-small太小了,我都改成small了,换了banner的颜色,页面的背景。至于Blog的名称,想来想去也没啥好idear,暂且叫Zhiqiang::He吧,description就现在这个了。

Happy + Health = Life^2 寓意:生命的平方=快乐+健康

不过发现一个小问题,装了Textile 之后,发文的速度明显慢了,估计是巨大的Textile库及codebeautifier 吃掉了大量的CPU资源,本想装个mod_perl来提速的,结果发现apache2的mod_perl要么版本太低,要么Apache::Test太低,晕!结果还是算了,有空将weblog转移到CNC的服务器时再说吧。

今天大概就先搞成这个样子了。:-)

Posted by hzqbbc at 09:00 AM | Comments (0)

April 08, 2005

使MT支持代码高亮功能

介绍 对于喜欢写写code的人,不能在CMS里显示代码高亮是非常遗憾的,之前我本来想做个MT的插件,调用vim来实现高亮,但后来发现有一个叫MTcodebeautifier 可以实现类似功能。于是下载了,并下载了MTTextile一并安装. 但按照readme设置后,死活有问题: 1)如果发文时选Convert break line 就会在code里将\n换成\n很不爽 2)如果加了<pre>又变不了彩色 3)做了一下其他设置,又无法高亮(虽然已高亮,但所有的html代码都给entites了!) 安装调试 主要参考: a.http://www.superluminal.com/dave/weblog/archives/000361.html a.http://www.bradchoate.com/mt/docs/mtmanual_textile2.html a.http://www.joangarnet.com/blog/archives/2004/11/instalacian_de.php 我的做法: 安装了MTcodebeautifier + MTTextile(都是最新版)后,不需要有任何配置(建议不需要任何配置),发文的时候注意几点即可: 1)使用==标记(MTTextile里的,详细见手册)将代码块闭和包裹,该标记的意思是不需要进行Textile转换,sample:

==
 <pre>
 <code language="perl">
 use strict;
 print "Hello world, i'm in MT now!\n";
 </code>
 </pre>
==

2)发文时转换格式选None (即不使用任何转换) 3)注意==(escape)标记要被空行包裹(newline)即:
newline
==

及 
==
newline
该注意事项详见mttextile2手册。 总结 其实原理大致是这样的:首先 block 激活了Mtcodebeautifier,对block里的字符进行高亮显示,显示完后,如果转换格式选Textile_2的话,由于高亮显示后的流是html,所以会对诸如<>;等进行转换,导致输出的信息变成了痛苦的烂code!!:)

Posted by hzqbbc at 01:57 AM | Comments (0)

April 07, 2005

安装并调试好了MTcodebeautifier+MTTextile

今天终于调试通过了MTcodebeautifier + MTTextile 了,感觉还行,但是不够强大,迟点再改写好,尽量贴近vim的解析效果:)

以下就是一小段perl代码的示例:


#!/usr/bin/perl -w
use strict;
use FCGI;
use vars qw($cnt);
$cnt = 0;

while(FCGI::accept()>=0) {
 print "Content-Type: text/html\n\n";
 print "This is the $cnt request!</br>\n";
}

再来看看php的示例:


<?PHP
/* PHP 示例 */
echo "This is php demo";
?>

是不是很Cool? 但还不够cool..接下来有时间就改造之..

Posted by hzqbbc at 07:02 PM | Comments (0)

April 06, 2005

Starting old documents backport ...

在拖延了近2年后,现在终于腾出时间来,整理一下这几年所写、所想的文字了。

以前经常有一个借口:工作太忙,太多事做,整理归档的事就迟点再说吧。。但一拖再拖,再不弄,孩子会叫爹的时候也许weblog都未必能出来:-) 还是抓紧一下吧。

整个站点目前都基于MovableType构建,在这里除了要感谢MT的作者外,还要感谢彼岸的jedi兄,如果不是他早期在MT的构建、设置及概念理解方面给予的无私帮助,我看这个blog还得再延期不知到几时了。

以下是jedi的介绍:
关于Jedi

Backport的内容主要包含了自2002年我在自己的小论坛上发的一些帖子,以及期间在其他媒体、网站所发的文章,还有个人、公司的一些项目内容等。

如果这些整理完后,也许还会将内容追溯到1998年,回顾一下那时的情形。

Posted by hzqbbc at 10:46 PM | Comments (1)