Please reap the node by Anonymous. that was me. i forgot to log in... sorry.

i wrote a script tonight that could probably circumvent most restrictions on connecting to the AIM service from certain places (work, college computer labs, etc).

The script will listen for incoming telnet connections on one port, and make a connection to the AIM service on another (using Net::AIM.pm).

When it hears someone connecting to the telnet port, it'll accept the connection and wait for text. When the user types in "screenname blah blah blah", the script will IM "screenname" with "blah blah blah".

When it hears an incoming IM or ERROR, it'll send the relevant information out to the user connected via telnet.

what you need to have is an existing AIM account (so that the script can connect to AIM), and you need to make a slight modification to the AIM.pm module (so that it doesnt block when waiting for incoming AIM information). at around line 210-220 in AIM.pm (in the do_one_loop sub), there's a line that looks like foreach $ev ($sel->can_read($nexttimer)) {. i changed "$nexttimer" to "1" (so that it would wait 1 second for incoming info, then proceed). although that might not have been the best solution, it works. (you can download my modified AIM.pm here (it's version 1.15))

i plan to add support for other things in the coming days... such as being able to send people IMs even if they're not online (and it'll hold the IM until they come online, then deliver it), and such things like that...

anyway, the code is a bit long to post here, so i posted it up on my website... you can get the aimchat.pl source code here.

i apologize in advance for the nasty code, but i hacked it together rather quickly and sacrifised good looks for practicality... i plan to clean up the code and add some new things in the coming days.
hope it interests some of you :)
  • Comment on a thing i wrote to circumvent some restrictions on connecting to AIM
  • Download Code

Replies are listed 'Best First'.
Re: a thing i wrote to circumvent some restrictions on connecting to AIM
by bladx (Chaplain) on Mar 10, 2001 at 21:33 UTC
    Well, howard40, this is kinda an interesting project to do, from what I saw of the actual code, yes it was a bit sloppy, but at least it did the job for now!! ^_^ The only questions I have for you are, why do you need to avoid or go around restrictions in AOL's IM? I use it all the time on my home and school computer, and I never have to really go around ANY restrictions. Secondly, and lastly, about how you are going to add the feature where you can leave messages for friends even when they are not online is, why not just use ICQ?? It does that, and since it is already implemented, why reinvent the wheel?? I don't know... just some things to ponder I suppose!! Have a great day...

    bladx ~ ¡muchas veces tengo preguntas!
      I did it mostly just for fun, to see if it could be done. i realize that a great many people can get to any place on the internet that they wish, but there are also some people in offices and computer labs that have access to the AIM service blocked or monitored in some way. i know that ICQ does the message queue thing, but as far as i know, AIM does not have that feature yet... so i figured it'd be neat to try and implement it. it's not reinventing the wheel since AIM users cannot (to my knowlege) communicate with the ICQ network and thus take advantage of the ICQ message queue system.

      of course, if people started using jabber, most of those things would be solved, but for the time being, i wanted to play with the Net::AIM modules ;)

      the code is sloppy as hell now, becuase i hacked it up real quick to see if it would work... i'll get to cleaning it up and adding more features (like notifying you when buddies sign in/out) and feature to list current online buddies along with the queue system. i'll post code updates when i modify things.