Skip to content

Personal branch of HaxIRCd (redundant-link C99 IRCd) for my own amusement, check https://git.andrewyu.org/hax/haxircd.git for the real thing

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.c
Unknown
LICENSE.h
Notifications You must be signed in to change notification settings

runxiyu/raxircd

Repository files navigation

HaxIRCd, a public domain multi-protocol IRCd with redundant links

This is a work in progress.

Goals

  • Could link in a network among multiple traditional protocols from different traditional IRCDs.
  • Could provide internal services (ChanServ, NickServ, HaxServ) and synchronize the services database, handling collisions gracefully.
  • Correct, fast and scalable.
  • Modular. More extensive runtime module reloading is planned.
  • Replace CoupServ and perhaps PyLink in the distant future.

Some implementation details(-ish)

  • dlopen(3) is used to dynamically load HaxIRCd.so; this is for RTLD_GLOBAL, so we can use the contained symbols for the actual loadable modules.
  • All strings that we handle (i.e. not required by external libraries) are length-specified, not null-terminated. Null bytes are treated as any other character in networking.
  • Configuration is just another source file, config.c. The header file config.h defines the configuration options needed.

Dependencies

  • Reasonably modern UNIX-like system with support for POSIX threads. We haven't tested on non-Linux systems yet.
  • If you want TLS support, GnuTLS, OpenSSL, or LibreSSL.
  • hax_string
  • hax_table

Why

  • PyLink is used by the rx IRC network, but it's unmaintained and we still want to use something like it.
  • CoupServ uses the 1202 (InspIRCd v2) protocol, which is not supported by InspIRCd v4; more generally, we want to make protocols pluggable modules.

About

Personal branch of HaxIRCd (redundant-link C99 IRCd) for my own amusement, check https://git.andrewyu.org/hax/haxircd.git for the real thing

Topics

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.c
Unknown
LICENSE.h

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published