-
Notifications
You must be signed in to change notification settings - Fork 3
the perl irc daemon
License
jkominek/pircd
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
_ _ _ __ (_) _ __ ___ __| | | '_ \ | || '__|/ __|/ _` | | |_) || || | | (__| (_| | | .__/ |_||_| \___|\__,_| _ _ |_| _ _ _ | |_| |_ ___ _ __ ___ _ _| | (_)_ _ __ __| |__ _ ___ _ __ ___ _ _ | _| ' \/ -_) | '_ \/ -_) '_| | | | '_/ _| / _` / _` / -_) ' \/ _ \ ' \ \__|_||_\___| | .__/\___|_| |_| |_|_| \__| \__,_\__,_\___|_|_|_\___/_||_| |_| http://github.com/jkominek/pircd by jay kominek ([email protected]) julian squires ([email protected]) et al Yes. It really is an IRC daemon. It's written in Perl. ... You can breathe again. There. Very good. *** Pre-introduction I thought I'd pull this onto github, from sourceforge, where it had lingered for more than a decade. I doubt I'll do anything with it (though I updated the email addresses in it), but now at least if anyone starts making modifications, the features of github will let others find them more easily. Over the years a number of folks (certainly more than I ever expected when I first started working on it) wrote me to thank me. I'm glad it helped people. I hope it can continue to do so. I've shifted my stance on pull requests since I originally wrote this pre-introduction. I'm not speedy, but I will gladly attempt to process them. *** 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 README update, it is 3868 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 SSL support in IRC software is fairly widespread these days. pircd has gone from ahead of the curve to probably slightly behind. There are some bugs, the server-side cert handling isn't suitable for a Let's Encrypt-world, and we can't verify client-side certs for any useful purpose. Help on this would be appreciated. *** 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 - Jay Kominek <[email protected]> Hail Eris!
About
the perl irc daemon
Topics
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published