Giter Club home page Giter Club logo

pircd's Introduction

                                  _                _ 
                           _ __  (_) _ __  ___  __| |
                          | '_ \ | || '__|/ __|/ _` |
                          | |_) || || |  | (__| (_| |
                          | .__/ |_||_|   \___|\__,_|
    _   _                 |_|    _   _             _   
   | |_| |_  ___   _ __  ___ _ _| | (_)_ _ __   __| |__ _ ___ _ __  ___ _ _  
   |  _| ' \/ -_) | '_ \/ -_) '_| | | | '_/ _| / _` / _` / -_) '  \/ _ \ ' \ 
    \__|_||_\___| | .__/\___|_| |_| |_|_| \__| \__,_\__,_\___|_|_|_\___/_||_|
                  |_|                  http://pircd.sourceforge.net/
                                    by jay kominek ([email protected])
                                       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 <[email protected]>
  Hail Eris!

pircd's People

Contributors

zadr avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.