Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

QQ Provider for ECF

This document is the public proposal of the "QQ Provider for ECF" project. You are welcome to edit and write comments.

Full detailed proposal which I submitted through Google Summer of Code system is HERE[1].


Abstract

ECF allows messaging protocols to be plugged in as providers. ECF has supports a lot of messaging protocols, gtalk, msn, yahoo and so on. But QQ isn't currently supported. The main goal of this project would be to implement the QQ protocol within ECF and then write an ECF provider to take advantage of the QQ protocol. However, the QQ protocol is a rather complex protocol family which is still not public, it is not realistic to implement all terms of the protocol by myself in 3 months. In this project, I want to implement the protocol which defines the basic function of QQ, including logon, logout, get ‘friends’ list and information of friends, send words and receive words (chat with others), file transfer and so on. Although the protocol is still not public, there are many cool guys who has investigated the protocol and realized basic function of QQ. So I think it's feasible to implement protocol within ECF. Meanwhile, it is meaningful to implement QQ protocol within ECF since QQ is the biggest messaging service in China.

What I have done

1)I have investigated the protocol of QQ (latest version: QQ2009Preview4) and get a broad picture of message format of the protocol. I also have got the source code that implements this protocol. For example, when the user logon using QQ client, the client will send a message which has the format like: ‘package head&CMD=Login&SEQ=&UIN=&PS=&package end’ where SEQ indicates the sequence number, UIN and PS present QQ number and encrypted password.

2)I have roughly investigated ECF, including the protocols ECF has supported. I also have installed and tried the plug-in that supports MSN and Gtalk based on ECF. In the future, I will do further study of ECF.

Challenges and risks

There is one challenge I have to tell: the protocol of QQ is still not public and often changes, so the QQ provider for ECF may need more maintenance. If I have a chance to do this project, I would like very much to do the latter maintenance.

Back to the top