Skip to content

magicus/icq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

The ICQ Protocol Specification - Some Historical Notes

Once upon a time, Instant Messaging (IM) was born on the Internet, and the name of the program that spearheaded that revolution was ICQ. The year was 1996. Every user got an UID, a sequential number increasing with each signup. Mine was 130414. Soon, the numbers reached into the tens of millions.

ICQ was great. But it was not perfect. And the only available client was for Windows. I wanted a Linux client, but soon found out that none existed, since the protocol was proprietary and undocumented. So I decided to fix that. Using the primitive tools available before Ethereal (now Wireshark), I captured dumps of communication between the server and client, and set out to decipher them.

The original goal was to use this information to write an "ICQ clone", but I realized my research into the protocol had value in itself. I cleaned up my notes and published them on the net -- and received a tremendous response. I never got around to writing that clone. Instead, I started the icq-devel mailing list, and helped organize and connect developers and reverse engineers interested in working on ICQ clones. A fond memory from that time is the release of Xicq, where the author included a thank-you list with a handful of names — including Linus Torvalds, CmdrTaco, and me. :-)

This was a fun, interesting and at times hectic period for me. But nothing lasts forever. Mirabilis, the creators of ICQ, were acquired by AOL, who tried to merge it into their AIM instant messaging system. Other, incompatible protocols emerged -- Yahoo and MSN being the most popular -- and ICQ faded into obscurity.

Unfortunately, the archives from the active period of the icq-devel list seem to have been lost to time, but an archive from its later years is available on the Internet Archive. I’ve also preserved an archived copy of the latest (and last) update of the ICQ Protocol Specification in this repository.

About

The ICQ Protocol Specification

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published