TL;DR : AOL a éteint AIM en 2017, ICQ a fermé en 2024. Le protocole, lui, est documenté. Ce serveur le reparle, et les clients d’époque s’y connectent sans savoir qu’ils sont en 2026. Un binaire, un fichier de configuration, rien à installer.
Il y a deux façons de faire revivre un logiciel mort. La première est de le réécrire en neuf, et on obtient un logiciel neuf qui lui ressemble. La seconde est de remonter le serveur en face, et là ce sont les vrais clients qui reviennent, avec leurs sons, leurs bonshommes jaunes et leurs fenêtres de 1999.
Open OSCAR Server a choisi la seconde. Écrit en Go, publié sous licence MIT, il implémente OSCAR, le protocole d’AOL Instant Messenger, ainsi que TOC, sa variante en texte clair, et le protocole ICQ des versions 2 à 5. Côté clients, la liste annoncée va d’AIM 1.x à 7.x et d’ICQ 98x à ICQ 5.
Précision d’honnêteté : le projet n’est pas neuf. Sa dernière version, la 0.24.0, date du 7 juin 2026. C’est sa remontée sur Hacker News ce week-end qui l’est.
Ce que ça donne chez nous
Nous avons pris l’archive Apple Silicon, chargé le fichier de configuration livré, et lancé le binaire. Rien à installer : ni base de données, ni environnement d’exécution, ni conteneur. Quatre services se lèvent d’un coup.
msg="starting server" svc=OSCAR listen_address=0.0.0.0:5190
msg="starting server" svc=API addr=127.0.0.1:8080
msg="starting server" svc=TOC listen_host=0.0.0.0:9898
msg="legacy ICQ server started" svc=ICQLegacy address=0.0.0.0:4000 versions="[2 3 4 5]"
Les comptes se créent par l’API de gestion, en une requête :
curl -d '{"screen_name":"geeksfr","password":"votre-mot-de-passe"}' \
http://localhost:8080/user
N’ayant pas de client AIM de 1999 sous la main, nous en avons écrit un. Le protocole TOC tient en quelques dizaines de lignes : une trame d’en-tête, un mot de passe brouillé par un ou exclusif avec la chaîne Tic/Toc, et une commande toc_signon. La poignée de main s’est bouclée en 2 millisecondes, le serveur répondant SIGN_ON:TOC1.0, puis NICK:geeksfr.

Deuxième essai, plus parlant : deux clients connectés en même temps, un message envoyé de l’un à l’autre. Il est arrivé en 1,3 milliseconde, sous la forme IM_IN:geeksfr:F:Salut, c est geeks.fr. Sur une machine seule, sans réseau, ce chiffre ne dit pas la performance : il dit que la chaîne complète fonctionne, de l’authentification au routage des messages.
Le piège de la configuration livrée
Le fichier settings.env fourni contient DISABLE_AUTH=true. Traduction : n’importe quelle connexion crée un compte, sans mot de passe. C’est fait exprès, c’est écrit dans le commentaire au-dessus, et c’est très commode pour tester en cinq minutes. Ça devient une porte grande ouverte le jour où vous exposez le port 5190 ailleurs que sur votre machine. Deux autres réglages méritent le même regard avant d’ouvrir : ICQ_LEGACY_AUTO_REGISTRATION et ICQ_LEGACY_DIRECT_CONNECTIONS, ce dernier publiant l’adresse IP réelle des utilisateurs dans les notifications de présence.
À qui ça sert vraiment
À personne, au sens strict : plus personne n’a besoin d’AIM. C’est précisément ce qui le rend intéressant. Un protocole de messagerie complet, documenté, qui tient dans un binaire de 6 Mo et se comprend en une après-midi, c’est un objet d’étude rare à une époque où le moindre service de discussion demande un compte, une application et une politique de confidentialité de douze pages.
Et pour qui a gardé une machine des années 2000 dans un placard, c’est la seule façon de la voir se connecter à quelque chose. Dans la série des services qu’on remonte chez soi plutôt que de les louer, nous avions déjà installé Aurral pour la découverte musicale : même principe, mêmes vingt minutes.