This is IMIRC, by Matthew Sachs (c)1999-2004 Matthew Sachs, all rights reserved. This software is licensed under Version 2 of the GNU Public License. A copy of the license is contained in the file COPYING, which should have been included with this software. AOL Instant Messenger and AOL are a trademarks of America Online. ========REQUIREMENTS======== *perl 5.004 or better (5.6.1 or better strongly recommended.) *An IMIRC-compatible IRC server with C/N lines for IMIRC. Your IRC server might not work with IMIRC. Bahamut, Cyclone, Dancer, Dragonfire, Ultimate IRCD, Undernet IRCD, TS irc servers such as Hybrid, Unreal; TS4 servers such as PTLink; and irc.org 2.10 and possibly 2.9 are the only ones that are known to work. It should also work with anything that uses RFC-standard SERVER and USER/NICK protocols. Adding support for additional IRC servers is a high priority, please open a bug at http://bugs.zevils.com/ if your IRC server is not supported. *The following perl modules (the CPAN distribution containing the module is given in parentheses:) Digest::MD5 (Digest-MD5) Filter::Util::Call (Filter) HTML::Entities (HTML-Parser) HTML::FormatText (HTML-Format) HTML::Parse (HTML-Tree) HTML::Tagset (HTML-Tagset) MIME::Base64 (MIME-Base64) Net::OSCAR (Net-OSCAR) Scalar::Util (Scalar-List-Utils) To obtain these modules, run the included getmodules script. You can also use perl -MCPAN -e shell or download them from CPAN at http://www.perl.com/CPAN/modules/ . ========INSTALLATION======== If you are upgading from an older version of IMIRC, such as AIMIRC 1.2, read the file RELNOTES.1.5. If you are upgrading from IMIRC 1.5, there are some new configuration options that you might want to set; see RELNOTES.1.6. Change into the IMIRC directory. This directory was created when you unpacked the IMIRC tarball and should be called imirc-XX where XX is the IMIRC version. Obtain the necessary perl modules. The easiest way to do this is to run the included getmodules script: ./getmodules . If you've never run the CPAN shell before, it will tell you to run perl -MCPAN -e shell and then do getmodules again. The CPAN shell will prompt you for various options; you can usually take the defaults for most of them. If you don't have a lot of diskspace in /home, or you are restricted by disk quotas, you might want to use some place in /tmp for the "CPAN build and cache directory" (for instance /tmp/username-cpan.) Open the imirc.conf file in a text editor. Edit it to your satisfaction and then copy it to either /etc/imirc.conf or ~/.imirc . You should make sure that it is only readable by the user that IMIRC will run as since it will contain your irc C/N passwords in plaintext. This can probably be accomplished by chmod 600'ing it (e.g. gchmod 600 ~/.imirc). You need C/N lines for IMIRC set up in your ircd.conf. Mine look like this: C:127.0.0.1:password:imserv.your_irc_network.com::50 N:127.0.0.1:password:imserv.your_irc_network.com::50 Please consult your IRC server documentation for details on the C/N line syntax. You also need Q: lines for $usnick, $oldnick, and $prefix*. A Q: line is a way of telling the IRC server not to let users use certain nicknames. The syntax for Q: lines varies between IRC servers, so please consult your server documentation. Specifying the Q: lines incorrectly could cause you to have a Q: line which matches all nicks! With the traditional Q: line syntax, here's what you would need: Q:IMServ:Reserved for IMIRC Q:AIMServ:Reserved for IMIRC Q:AIM-*:Reserved for IMIRC You should add a U: line for IMIRC. If you get notices about IMIRC trying to use Q-lined nicknames or something of the sort, adding the U: will usually fix that. Again, consult your server documentation for the exact syntax, but it's often something like: U:imirc.your.irc.net:*:* Rehash your IRC server configuration (do the IRC /rehash command as an IRC operator) to have your IRC configuration changes take effect. For information on dealing with nickname length limitations, see the file README.ircu - it applies to many other IRC servers, not just ircu. Another issue is services. Read README.services if you are using services or any other sort of system bots! Now you should be able to run IMIRC. If you want to make your IMIRC available to the public, go to http://www.zevils.com/programs/imirc/imstat/ and add yourself to the networks list. Subscribe to either the imirc-announce or imirc-users mailing lists to keep abreast of updates to IMIRC. imirc-announce is a low-volume mailing list for announcements (new versions, etc.) only, while imirc-users is a general discussion mailing list for IMIRC users. Information on these mailing lists is available at http://lists.zevils.com/cgi-bin/mailman/listinfo/ . ========TROUBLESHOOTING======== If you get a permission denied error while trying to run imirc or getmodules, try the following command: chmod +x imirc getmodules If you get an error about a bad interpreter while trying to run getmodules or imirc, your perl may not be installed in /usr/bin/perl. Find out where your perl binary is located; try commands like 'which perl', 'type -path perl', 'whereis perl', and 'locate perl | grep bin'. Then, change the first line of getmodules and imirc from #!/usr/bin/perl to #!/path/to/your/perl If you get an error like 'mkdir /root/.cpan: Permission denied at CPAN.pm' while running getmodules, find where your system-wide CPAN configuration file is by looking at the line immediately above that error; it should contain something like '/usr/lib/perl5/CPAN/Config.pm OK'. Then run the following commands: mkdir ~/.cpan/CPAN cat /path/to/CPAN.pm | sed s%/root/.cpan%$HOME/.cpan% > \ ~/.cpan/CPAN/MyConfig.pm Then, run getmodules again. ========USAGE======== You need an AOL Instant Messenger account. Let's say your AIM account is SomeDude and the password is SomePass. To connect to AIM: /msg IMServ signon SomeDude SomePass To send an Instant Message to MattSachs: /msg AIM-MattSachs hi To get help on additional commands: /msg IMServ help To set yourself away on AIM, use the normal IRC /away command. Anyone contacting you while you are away will get an autoreply containing your away message. ========DEBUGGING======== To see debugging information, join #imirc-debug. You must have $debug set to in the config file for this to work. The key to this channel is the same as the value given in the config file for $ourpass (that is, the password that IMIRC sends to the upstream IRC server.) This isn't the greatest security in the world, as anyone in #imirc-debug can see the password of anyone signing onto AIM through your IMServ, any IMs sent or received, etc. You should almost definately set up ChanServ on that channel if you have one. #imirc-debug can also be used to send a few administrative commands, such as restart, to IMIRC. It can also be used to execute arbitrary perl code. **MAKE SURE #imirc-debug IS ADEQUATELY PROTECTED IF YOU ABSOLUTELY MUST TURN DEBUGGING ON!!!** ========FURTHER INFORMATION======== There are mailing lists and a CVS tree. See http://www.zevils.com/programs/ for details. Obtaining support: You should try the following, in order, for help with IMIRC: 1) For bug reports or feature requests, use http://bugs.zevils.com/ 2) Send an email to imirc-users@lists.zevils.com 3) Contact the author directly (see below) Contacting the author: E-Mail: matthewg@zevils.com AIM: MattSachs IMIRC website: http://www.zevils.com/programs/imirc/