/rbircd

ruby irc daemon

Primary LanguageRuby

This software is an IRC daemon written in ruby by Yoann Guillot
License: WtfPLv2


It is *NOT* intended for heavy traffic, security against spam/bots, etc
Use at your own risks !
Also, when using one rbircd server in your irc network, you may introduce arbitrary flaws for the whole network !


To launch the daemon, you can run (foreground)
 ruby -r ./ircd.rb -e 'Ircd.run("my_config.txt")'
or (background)
 ruby -r ./ircd.rb -e 'Ircd.run_bg("my_config.txt", "irc_log.txt")'

The server will reload its source/configuration on SIGHUP, or on the 'REHASH' command from an oper.

The server is controlled through a configuration file, here is a sample:

----- snip conf -----
# the server name/description
M:rb.ircd.net:my sexy server
# irc network name (defaults to M tld)
N:ircd.net

# listening ports
P:127.0.0.1:6667
# listen, waiting for SSL connections
P:127.0.0.1:7000:SSL
# another SSL port, with a specific key/cert
P:127.0.0.1:8000:SSL:key=foo_pkey.pem:cert=foo_cert.pem
# ipv6
P:[::1]:6667

# link to other ircds
# ZIP not supported
# Warning: this protocol sucks, you should use SSL if possible
C:some.server.name:1.2.3.4:7001:mypassw0rd:RC4

# operator identifier : mask : pass hash : user mode
# use oper_mkpass.rb to generate the hash
O:jj:*!bla@trusted.computing.lulz:1234$5678:oa

# require users to send the 'PASS foo' command on connection
PASS:foo
----- snip -----

More specific tweaks should be done in the source itself, especially the Conf class (ping timeout delays, etc)

All IRC command implementation are in ircd_commands.rb (duh)


KTHXBAI