Retro AIM Server is an instant messaging server that revives AOL Instant Messenger (and ICQ!) clients from the 2000s.
The following features are supported:
AIM
- Windows AIM Clients: v2.x, v3.x, v4.x, v5.x
- Away Messages
- Buddy Icons (v4.x, v5.x)
- Buddy List
- Chat Rooms
- Public & Private Chat Exchanges
- Instant Messaging
- User Profiles
- Blocking (v3.5+)
- Visibility Toggle / Idle Notification
- Warning
- User Directory Search
ICQ
- Windows ICQ Clients: 2000b (more to come soon)
- Instant Messaging
- Profiles
- User Search
- Presence Statuses
- Offline Messaging
Get up and running with Retro AIM Server using one of these handy server quickstart guides:
Don't have AIM installed yet? Check out the AIM Client Setup Guide.
...how about ICQ? Check out the ICQ Client Setup Guide.
This project is under active development. Contributions are welcome!
Follow this guide to learn how to compile and run Retro AIM Server.
Check out the Retro AIM Server Discord server to get help or find out how to get involved.
The Management API provides functionality for administering the server (see OpenAPI spec). The following shows you how to run these commands via the command line.
Run these commands from PowerShell, not Command Prompt.
Invoke-WebRequest -Uri http://localhost:8080/user -Method Get
Invoke-WebRequest -Uri http://localhost:8080/user `
-Body '{"screen_name":"MyScreenName", "password":"thepassword"}' `
-Method Post `
-ContentType "application/json"
Invoke-WebRequest -Uri http://localhost:8080/user `
-Body '{"screen_name": "user123"}' `
-Method Delete `
-ContentType "application/json"
Invoke-WebRequest -Uri http://localhost:8080/user/password `
-Body '{"screen_name":"MyScreenName", "password":"thenewpassword"}' `
-Method Put `
-ContentType "application/json"
This request lists sessions for all logged in users.
Invoke-WebRequest -Uri http://localhost:8080/session -Method Get
Invoke-WebRequest -Uri http://localhost:8080/chat/room/public `
-Body '{"name":"Office Hijinks"}' `
-Method Post `
-ContentType "application/json"
Invoke-WebRequest -Uri http://localhost:8080/chat/room/public -Method Get
curl http://localhost:8080/user
curl -d'{"screen_name":"MyScreenName", "password":"thepassword"}' http://localhost:8080/user
curl -d'{"screen_name":"100003", "password":"thepassw"}' http://localhost:8080/user
curl -X DELETE -d '{"screen_name": "user123"}' http://localhost:8080/user
curl -X PUT -d'{"screen_name":"MyScreenName", "password":"thenewpassword"}' http://localhost:8080/user/password
This request lists sessions for all logged in users.
curl http://localhost:8080/session
curl -d'{"name":"Office Hijinks"}' http://localhost:8080/chat/room/public
curl http://localhost:8080/chat/room/public
- aim-oscar-server is another cool open source AIM server project.
- NINA Wiki is an indispensable source for figuring out the OSCAR API.
- libpurple is also an invaluable OSCAR reference (especially version 2.10.6-1).
Retro AIM Server is licensed under the MIT license.