Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


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.


*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 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 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)
	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 .


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

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

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

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:
Please consult your IRC server documentation for details on the C/N line

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:*:*

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 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 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 .


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'
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/ OK'.  Then run the following
	mkdir ~/.cpan/CPAN
	cat /path/to/ | sed s%/root/.cpan%$HOME/.cpan% > \
Then, run getmodules again.


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


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.


There are mailing lists and a CVS tree.
See for details.

Obtaining support:
	You should try the following, in order, for help with IMIRC:
	1) For bug reports or feature requests, use
	2) Send an email to
	3) Contact the author directly (see below)

Contacting the author:
	AIM: MattSachs

IMIRC website: