Skip to content

AOL Instant Messenger Server, written in TypeScript

Notifications You must be signed in to change notification settings

DrewML/aim-server

Repository files navigation

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

About

AOL Instant Messenger Server, written in TypeScript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published