{"id":24628928,"url":"https://github.com/mk6i/retro-aim-server","last_synced_at":"2025-04-09T20:27:12.089Z","repository":{"id":175986010,"uuid":"654814112","full_name":"mk6i/retro-aim-server","owner":"mk6i","description":"Revive classic AOL Instant Messenger clients from the 2000s! https://discord.gg/2Xy4nF3Uh9","archived":false,"fork":false,"pushed_at":"2024-06-07T03:26:16.000Z","size":1001,"stargazers_count":95,"open_issues_count":8,"forks_count":8,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-06-08T17:02:08.307Z","etag":null,"topics":["aim","aol","aol-instant-messenger","chat","golang","instant-messaging","retrocomputing","reverse-engineering"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mk6i.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-17T03:16:14.000Z","updated_at":"2024-06-10T02:31:16.214Z","dependencies_parsed_at":"2023-10-22T14:25:06.544Z","dependency_job_id":"cdcdb52d-c018-4d4f-ba35-634de2533c78","html_url":"https://github.com/mk6i/retro-aim-server","commit_stats":null,"previous_names":["mkaminski1988/goaim","mkaminski1988/retro-aim-server","mw0x7/retro-aim-server","mk6i/retro-aim-server"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk6i%2Fretro-aim-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk6i%2Fretro-aim-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk6i%2Fretro-aim-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk6i%2Fretro-aim-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mk6i","download_url":"https://codeload.github.com/mk6i/retro-aim-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248106048,"owners_count":21048669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aim","aol","aol-instant-messenger","chat","golang","instant-messaging","retrocomputing","reverse-engineering"],"created_at":"2025-01-25T06:01:01.804Z","updated_at":"2025-04-09T20:27:12.080Z","avatar_url":"https://github.com/mk6i.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Retro AIM Server\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"\"\u003e[![codecov](https://codecov.io/gh/mk6i/retro-aim-server/graph/badge.svg?token=MATKPP77JT)](https://codecov.io/gh/mk6i/retro-aim-server)\u003c/a\u003e\n\u003ca href=\"\"\u003e[![Discord](https://img.shields.io/discord/1238648671348719626?logo=discord\u0026logoColor=white)](https://discord.gg/2Xy4nF3Uh9)\u003c/a\u003e\n\n\u003c/div\u003e\n\n**Retro AIM Server** is an open-source instant messaging server that makes classic AIM and ICQ clients work again.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"616\" alt=\"screenshot of retro aim server running next to AIM\" src=\"https://github.com/mk6i/retro-aim-server/assets/2894330/81ff419f-50fa-4961-bd2f-ac7dcac903b5\"\u003e\n\u003c/p\u003e\n\n| Disclaimer                                                                                                                                                                                                                           |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| 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. |\n\nThe following features are supported:\n\n**AIM**\n\n- [x] Windows AIM Clients: v1.x, v2.x, v3.x, v4.x, v5.x\n- [x] Away Messages\n- [x] Buddy Icons (v4.x, v5.x)\n- [x] Buddy List\n- [x] Chat Rooms\n- [x] Public \u0026 Private Chat Exchanges\n- [x] Instant Messaging\n- [x] User Profiles\n- [x] Privacy (allow or block specific users)\n- [x] Warning\n- [x] User Directory Search\n- [x] TOC Protocol Clients: Quick Buddy, gaim, [TiK](./docs/CLIENT_TIK.md)\n- [x] File Sharing\n    - LAN Only: Direct Connect, Get File\n    - Lan/Internet: [Send File](./docs/RENDEZVOUS.md)\n\n**ICQ**\n\n- [x] Windows ICQ Clients: 2000b (more to come soon)\n- [x] Instant Messaging\n- [x] Profiles\n- [x] User Search\n- [x] Presence Statuses\n- [x] Offline Messaging\n\n## 🏁 How to Run\n\nGet up and running with Retro AIM Server using one of these handy server quickstart guides:\n\n* [Linux (x86_64)](./docs/LINUX.md)\n* [macOS (Intel and Apple Silicon)](./docs/MACOS.md)\n* [Windows 10/11 (x86_64)](./docs/WINDOWS.md)\n\nDon't have AIM installed yet? Check out the [AIM Client Setup Guide](./docs/CLIENT.md).\n\n...how about ICQ? Check out the [ICQ Client Setup Guide](./docs/CLIENT_ICQ.md).\n\n## 🛠️ Development\n\nThis project is under active development. Contributions are welcome!\n\nFollow [this guide](./docs/BUILD.md) to learn how to compile and run Retro AIM Server.\n\n## 🌍 Community\n\nCheck out the Retro AIM Server [Discord server](https://discord.gg/2Xy4nF3Uh9) to get help or find out how to get\ninvolved.\n\n## 👤 Management API\n\nThe Management API provides functionality for administering the server (see [OpenAPI spec](./api.yml)). The following\nshows you how to run these commands via the command line.\n\n### Windows PowerShell\n\n\u003e Run these commands from **PowerShell**, *not* **Command Prompt**.\n\n#### List Users\n\n```powershell\nInvoke-WebRequest -Uri http://localhost:8080/user -Method Get\n```\n\n#### Create Users\n\n```powershell\nInvoke-WebRequest -Uri http://localhost:8080/user `\n  -Body '{\"screen_name\":\"MyScreenName\", \"password\":\"thepassword\"}' `\n  -Method Post `\n  -ContentType \"application/json\"\n```\n\n#### Delete Users\n\n```powershell\nInvoke-WebRequest -Uri http://localhost:8080/user `\n  -Body '{\"screen_name\": \"user123\"}' `\n  -Method Delete `\n  -ContentType \"application/json\"\n```\n\n#### Change Password\n\n```powershell\nInvoke-WebRequest -Uri http://localhost:8080/user/password `\n  -Body '{\"screen_name\":\"MyScreenName\", \"password\":\"thenewpassword\"}' `\n  -Method Put `\n  -ContentType \"application/json\"\n```\n\n#### List Active Sessions\n\nThis request lists sessions for all logged in users.\n\n```powershell\nInvoke-WebRequest -Uri http://localhost:8080/session -Method Get\n```\n\n#### Create Public Chat Room\n\n```powershell\nInvoke-WebRequest -Uri http://localhost:8080/chat/room/public `\n  -Body '{\"name\":\"Office Hijinks\"}' `\n  -Method Post `\n  -ContentType \"application/json\"\n```\n\n#### List Public Chat Rooms\n\n```powershell\nInvoke-WebRequest -Uri http://localhost:8080/chat/room/public -Method Get\n```\n\n### macOS / Linux / FreeBSD\n\n#### List Users\n\n```shell\ncurl http://localhost:8080/user\n```\n\n#### Create Users\n\n##### AIM\n\n```shell\ncurl -d'{\"screen_name\":\"MyScreenName\", \"password\":\"thepassword\"}' http://localhost:8080/user\n```\n\n##### ICQ\n\n```shell\ncurl -d'{\"screen_name\":\"100003\", \"password\":\"thepassw\"}' http://localhost:8080/user\n```\n\n#### Delete Users\n\n```shell\ncurl -X DELETE -d '{\"screen_name\": \"user123\"}' http://localhost:8080/user\n```\n\n#### Change Password\n\n```shell\ncurl -X PUT -d'{\"screen_name\":\"MyScreenName\", \"password\":\"thenewpassword\"}' http://localhost:8080/user/password\n```\n\n#### List Active Sessions\n\nThis request lists sessions for all logged in users.\n\n```shell\ncurl http://localhost:8080/session\n```\n\n#### Create Public Chat Room\n\n```shell\ncurl -d'{\"name\":\"Office Hijinks\"}' http://localhost:8080/chat/room/public\n```\n\n#### List Public Chat Rooms\n\n```shell\ncurl http://localhost:8080/chat/room/public\n```\n\n## 🔗 Acknowledgements\n\n- [aim-oscar-server](https://github.com/ox/aim-oscar-server) is another cool open source AIM server project.\n- [NINA Wiki](https://wiki.nina.chat/wiki/Main_Page) is an indispensable source for figuring out the OSCAR API.\n- [libpurple](https://developer.pidgin.im/wiki/WhatIsLibpurple) is also an invaluable OSCAR reference (especially\n  version [2.10.6-1](https://github.com/Tasssadar/libpurple)).\n\n## 📄 License\n\nRetro AIM Server is licensed under the [MIT license](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmk6i%2Fretro-aim-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmk6i%2Fretro-aim-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmk6i%2Fretro-aim-server/lists"}