Aimity

What is Aimity?

Aimity is a command-line AIM client in Ruby. It consists of two parts: a server which remains connected to the TOC server, prints incoming messages to stdout, and publishes a distributed-ruby interface to send instant messages; and a client program for talking to the aimity server in order to conveniently send messages. Aimity comes from my desire to access AIM while sitting at a console.

Using Aimity

First, start the Aimity server on your local machine by executing the aimity script. If this is the first time you have run aimity it will ask you for a login and password for AIM. It will store these (unencrypted) in the .aimity file in your home directory. It doesn't bother to encrypt them as the TOC password protocol is so broken than anyone who wants your password and can get onto you mahine can as easily sniff it and decrypt it. Once the server has started up it will send itself a message so you can verify that you are connected. All messages will be displayed to standard output by the server.

The second part is the ra client. This script is used to send instant messages, and will eventually be used to query the TOC service (ie, whose online, modify buddy list, etc). Right now it just sends messages. It requires that the aimity server be running. Usage is of the form ra <recipient> <text of your message>. Whitespace in your message is not guaranteed to be preserved, and multi-line messages are not supported. The client will relay the message through the server, which will in turn relay it out to TOC and the eventual recipient.

Getting Aimity

Download the latest tarball. Old versions are not available.

License

Right now Aimity is distributed under the GPL. This is because it uses code derived directly from a GPL'd library. I will eventually get around to replacing said code and re-release Aimity under a BSD license, or just put it in the public domain.

Credit

Aimity uses a derivitive of Justin Bishop's raim module. Thank you Justin!