retro-aim-server

module
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2024 License: MIT

README ΒΆ

Retro AIM Server

codecov Discord

Retro AIM Server is an instant messaging server that revives AOL Instant Messenger clients from the 2000s.

screenshot of retro aim server running next to AIM

The following features are supported:

  • Windows AIM client v2.x, v3.x, v4.x, v5.x
  • Away Messages
  • Buddy Icons (v4.x, v5.x)
  • Buddy List
  • Chat Rooms
  • Instant Messaging
  • User Profiles
  • Blocking (v3.5+)
  • Visibility Toggle / Idle Notification
  • Warning

🏁 How to Run

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.

πŸ› οΈ Development

This project is under active development. Contributions are welcome!

Follow this guide to learn how to compile and run Retro AIM Server.

🌍 Community

Check out the Retro AIM Server Discord server to get help or find out how to get involved.

πŸ‘€ Management API

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.

Windows PowerShell

Run these commands from PowerShell, not Command Prompt.

List Users
Invoke-WebRequest -Uri http://localhost:8080/user -Method Get
Create Users
Invoke-WebRequest -Uri http://localhost:8080/user `
  -Body '{"screen_name":"MyScreenName", "password":"thepassword"}' `
  -Method Post `
  -ContentType "application/json"
Delete Users
Invoke-WebRequest -Uri http://localhost:8080/user `
  -Body '{"screen_name": "user123"}' `
  -Method Delete `
  -ContentType "application/json"
Change Password
Invoke-WebRequest -Uri http://localhost:8080/user/password `
  -Body '{"screen_name":"MyScreenName", "password":"thenewpassword"}' `
  -Method Put `
  -ContentType "application/json"
List Active Sessions

This request lists sessions for all logged in users.

Invoke-WebRequest -Uri http://localhost:8080/session -Method Get
macOS / Linux
List Users
curl http://localhost:8080/user
Create Users
curl -d'{"screen_name":"MyScreenName", "password":"thepassword"}' http://localhost:8080/user
Delete Users
curl -X DELETE -d '{"screen_name": "user123"}' http://localhost:8080/user
Change Password
curl -X PUT -d'{"screen_name":"MyScreenName", "password":"thenewpassword"}' http://localhost:8080/user/password
List Active Sessions

This request lists sessions for all logged in users.

curl http://localhost:8080/session

πŸ”— Acknowledgements

  • 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).

πŸ“„ License

Retro AIM Server is licensed under the MIT license.

Directories ΒΆ

Path Synopsis
cmd
config_generator
This program generates env config scripts from config.Config struct tags for unix and windows platforms.
This program generates env config scripts from config.Config struct tags for unix and windows platforms.
Package foodgroup implements OSCAR food group business logic.
Package foodgroup implements OSCAR food group business logic.
server

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL