http://perl-oicq.sourcef.
http://perl-oicq.sourceforge.net/
Net::OICQ的主要目标是实现QQ即时通讯所用的协议,以便利自由软件使用者和QQ使用者交流. Net::OICQ本身只是个Perl的面向对象的模块,提供一些和QQ服务器打交道的基本方法. 软件包中含有一简单client程序已经实现一些基本的QQ功能.
QQ协议所用的加密算法多年来一直没有变化,所以从Net::OICQ中分出来成为一个独立的模块, Crypt::OICQ。安装Net::OICQ前,请先安装Crypt::OICQ。如有问题,欢迎到我的论坛来讨论。
点这里下载Crypt::OICQ和Net::OICQ
安装说明
Net::OICQ需要用Digest::MD5模块. 用下面命令查看系统是不是已经装了Digest::MD5
perl -MDigest::MD5
如果出现错误信息,你需要 去CPAN下载Digest::MD5
确定有Digest::MD5后,把下载的Net-OICQ-x.y.tgz和Crypt-OICQ.1.1.tgz打开
$ tar zxvf Crypt-OICQ-1.1.tgz
$ cd Crypt-OICQ-1.1
$ perl Makefile.PL
$ make test
$ su
# make install
$ tar zxvf Net-OICQ-x.y.tgz
$ cd Net-OICQ-x.y
$ perl Makefile.PL
$ make test
$ su
# make install
# cp q /usr/local/bin/oicq
# chmod a+x /usr/local/bin/oicq
# exit
$
使用说明
先把密码存在环境变量OICQ_PW
$ export OICQ_PW=OICQ密码
登陆腾迅服务器
$ oicq OICQ号码
登陆后,所有以斜杆/开始的键盘输入行都被当做是命令,其他键盘输入行都被当做要送出的话存人信息缓冲,等到空行输入时才送往默认的号码.用/加号码来设定默认号码.举个例子,用下列命令给我送话:
/52482796
试一下
第二行
连打两次ENTER送出
其他命令
/help
/who 在线朋友
/f 列出所有朋友
/54321 和54321聊
/mode [i|n|a] 设隐身,正常,离开
/get 看自己的info
/get <别人的号码>
/away 启动/关闭自动回复
/update 更新资料
/passwd xxxxxx 改密码
/s id 搜索id
/s 列出25个在线用户
/s 10 列出10x25个在线用户
/add id 加id
/del id 除id
/ban id 禁id
/accept id 接受加好友请求
/reject id 拒绝加好友请求
/buf 看信息缓冲区
/rmbuf 清除信息缓冲区
/ls 列出用/get获取的资料
/rm id 删除用/get获取的资料
/exit 退出
2005年1月4日 Net::OICQ 0.9版
一些小修补对付腾迅的新信息格式。
OICQ/TextConsole.pm增加两处过滤器处理用户信息中的0x00-0x1f控制字符。
2003年10月18日 Net::OICQ 0.8版
加密算法放到Crypt::OICQ模块。
新命令/eval,让你即兴运行脚本。
新增plugin子程序,允许自定义自动回复插件。
新增发话命令:/[号码] [要送出去的话] 可以马上发送,但不改缺省聊天对象。
新增快捷使用好友号码功能,/f命令输出的序列号可用于命令中代替好友QQ号。
新增显视对方QQ版本功能(16进制表达)。
修正了收发时间错误
解决模块在使用Perl 5.8版时的多字节字符问题
$oicq->{PWMD5}改为$oicq->{PWKey},因为v2000c 1230b以后使用密码的双重MD5。
解决perl oicq特色的“翁”毛病,让你看到对方使用的字体名。
可执行文件名字改为q。旧名字oicq在cygwin下和OICQ目录名冲突。
2003年6月29日 Net::OICQ 0.7版
登录过程大量改写,自动接受新服务器地址。
终于搞定隐身。
采用彩色终端Term::ANSIColor模块。
进一步分离协议与Client代码,为图形界面做好准备。
2003年4月12日 Net::OICQ 0.6版
Bug fixes
2003年2月8日 Net::OICQ 0.5版
OICQ加密算法完全破解.Net::OICQ不再包含Intel汇编语言代码.
Perl OICQ is a project for developing Net::OICQ perl module.
Net::OICQ is a perl module that implements OICQ protocol. It includes a console-only OICQ client.
The cipher used by QQ protocol has not changed for years though the QQ protocol has changed many times. I decided to implement the cipher in a separate module named Crypt::OICQ so you do not need to download the code again and again. Please stop by my forum if you wish to discuss the QQ protocol.
Net::OICQ requires Digest::MD5 module. You can download Digest::MD5 from CPAN if it is not included in your Perl distribution.
Download Crypt::OICQ and Net::OICQ
Installation Procedure
$ tar zxvf Crypt-OICQ-1.1.tgz
$ cd Crypt-OICQ-1.1
$ perl Makefile.PL
$ make test
$ su
# make install
$ tar zxvf Net-OICQ-x.y.tgz
$ cd Net-OICQ-x.y
$ perl Makefile.PL
$ make
$ make test
$ su
# make install
# cp oicq /usr/local/bin
# chmod a+x /usr/local/bin/oicq
# exit
How to use
$ export OICQ_PW=<OICQ passwd>
$ oicq <OICQ id>
/help