Add WIP README.md
Add 0BSD license
Add ![deny(unsafe_code)]
A pure-Rust library implementation of the IRC protocol, spanning from the original RFC (1459) to modern IRC with IRCv3.
Aims to facilitate both modern IRC clients and servers to be written in Rust easily and free from unnecessary dependencies and bloat, while also being fast and correct.
Official protocol definitions are feature-gated so as to enable people to just use the parts they need from the library, whether that is to just parse old IRC messages or making a IRCv3 compatability tester for servers.
By default the rfc1459
, rfc2812
and ircv3
features are enabled.
rfc1459
- enables functionality first defined in the original RFC 1459.rfc2812
- enables functionality first defined in the follow-up RFC 2812.ircv3
- enables modern IRC functionality as defined by the IRCv3 working group.There is also a few feature flags for enabling various third-party defined functionality, mostly in the form of numerical replies. Useful for making clients that are able to fully integrate with those third-parties. It is however a bit trickier to fully support them due to numerous collisions with officially defined numerics.
quake-net
ircnet
inspircd
unreal
This library is licensed under 0BSD, see LICENSE.md. However, the rights to the
specification documents under docs/
belong to their respective copy-right holder and they are
all deeply appreciated.