(superseded) this is the former juno-ircd, based off of pIRCd. The current version of juno-ircd is written from scratch and located elsewhere
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CVS
Tie
Channel.pm
Connection.pm
INTERNALS
LICENSE
LocalServer.pm
README
README.SSL
SETUP
Server.pm
TODO
User.pm
Utils.pm
juno
mkpasswd.pl
server.conf
server.motd

README

#####################################################################
#                The Perl Internet Relay Chat Daemon                #
#              _                     _              _               # 
#             (_)                   (_)            | |              #
#              _ _   _ _ __   ___    _ _ __ ___  __| |              #
#             | | | | | '_ \ / _ \  | | '__/ __|/ _` |              #
#             | | |_| | | | | (_) | | | | | (__| (_| |              #
#             | |\__,_|_| |_|\___/  |_|_|  \___|\__,_|              #
#            _/ |                                                   #
#           |__/            readme                                  #
#                                                                   #
#####################################################################
 
 Setting up

     Read the comments in the configuration file.
     You may need to edit the juno file as well to edit ports and/or enable SSL.
     I also suggest you change the server.motd, since you're network isn't the juno development network.

 Getting help

     If you want help, find someone who knows perl.
     irc://cooper.on.fgtb.us:6667/juno


                           _ __  (_) _ __  ___  __| |
                          | '_ \ | || '__|/ __|/ _` |
                          | |_) || || |  | (__| (_| |
                          | .__/ |_||_|   \___|\__,_|
    _   _                 |_|    _   _             _   
   | |_| |_  ___   _ __  ___ _ _| | (_)_ _ __   __| |__ _ ___ _ __  ___ _ _  
   |  _| ' \/ -_) | '_ \/ -_) '_| | | | '_/ _| / _` / _` / -_) '  \/ _ \ ' \ 
    \__|_||_\___| | .__/\___|_| |_| |_|_| \__| \__,_\__,_\___|_|_|_\___/_||_|
                  |_|                  http://pircd.sourceforge.net/
                                    by jay kominek (jkominek@users.sf.net)
                                       and other people

 Yes.
 It really is an IRC daemon.
 It's written in Perl.
 ...
 You can breathe again.
 There. Very good.

*** Introduction

 pircd is an IRC daemon written in Perl. I wrote it after realizing that Perl
is the right language for IRC. IRC is chock full of various strings and other
what not, all of which is easily parsed by Perl, where the C IRC daemons jump
through all kinds of hoops and have really nasty looking code (have you ever
looked at the Undernet IRC daemon? I gave up on trying to figure out how their
extensions to the protocol work by looking at the code.) Whereas pircd is, in
my opinion, very clean. Messages from the user are dispatched to the
appropriate code via a lookup table to subroutine references, no excessively
large if..elsif..else structure, no conversion of the strings into something
that they are not (numeric values, if I remember how ircu does it).

 pircd is now reasonably complete. It lacks STATS output with any relation
to reality, and interserver communication. As of this writing, it is 3810
lines long (counting comments and everything). I do not anticipate it getting
past twice that with the addition of the remaining features. (interserver
communication being the big one.)

 If you would like to know more about how pircd operates internally, please
consult the included file, 'INTERNALS'.

*** SSL

 pircd is one of very few IRC servers which support SSL. As of this writing,
however, no clients support SSL. Hopefully, support for authentication and
such based on SSL certificates will be added.

*** Requirements

 * Perl 5.004 and later.
 * The following Perl modules:
    Fcntl, Getopt::Long, IO::Select, IO::Socket,
    POSIX, Sys::Syslog, Tie::RefHash, UNIVERSAL
    IO::Socket::SSL if you want to use SSL
     In the future, I may make use of Compress::Zlib, also
     I imagine its use will be optional.
 * A computer
 * A port that you can bind to, preferably 6667

*** About the author

 I graduated from the University of Colorado at Boulder in May 2002 with
a degree in Computer Science. Currently I work at the Laboratory for
Atmospheric and Space Physics as a research assistant. I write Java
stuff. :(

 An up to date list of people helping with the development of pircd can
be found at http://sourceforge.net/project/memberlist.php?group_id=671

- Jay Kominek <jkominek@users.sf.net>
  Hail Eris!