/aim-server

AOL Instant Messenger Server, written in TypeScript

Primary LanguageTypeScript

AOL Instant Messenger Server

This is a (very wip) server-side implementation of the Oscar Protocol, used by AOL Instant Messenger and later versions of ICQ.

Working

  • Authentication Server
    • Only supports the newer authentication mechanism (TLV 0x4c) because I don't want to deal with plaintext passwords
    • Every username (no registration yet) can be used with the hardcoded password password

Running

  • Set AUTH_HOST env var (defaults to 0.0.0.0)
  • Set AUTH_PORT env var (defaults to 5190)
  • Run npm run build to compile
  • Run npm start (or bin/aimserver)

Oscar Clients

This has only been tested with AIM for Windows version 5.2.3292, but theoretically should work with more clients.

Oscar Protocol Resources

Things I wish I knew before I started

  • The unofficial docs I was following for SNAC 17,07 are wrong about the size of the auth key length field (should be 2 byte, docs say 4)
  • TLV "tags" (integer used to represent them) seem to be reused often. In other words, auth and boss servers can both have multiple TLV with tag 0x1, used for completely different things. They seem to change per request/response