Retro AIM Server is an open-source instant messaging server that makes classic AIM and ICQ clients work again.
Disclaimer |
---|
This project is an independent, open-source initiative and is not affiliated with, endorsed by, or associated with AOL or Yahoo! Inc. This project is entirely non-commercial and does not generate any revenue or accept donations. |
The following features are supported:
AIM
- Windows AIM Clients: v1.x, 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.