~curious/rirc

A modern IRC library written in Rust
750450bd — CuriouslyCurious 1 year, 11 months ago
Add WIP README.md
536b5e84 — CuriouslyCurious 1 year, 11 months ago
Add 0BSD license
0d27ae89 — CuriouslyCurious 1 year, 11 months ago
Add ![deny(unsafe_code)]

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~curious/rirc
read/write
git@git.sr.ht:~curious/rirc

You can also use your local clone with git send-email.

#rirc (Rust IRC)

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.

#Feature Flags

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

#License

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.

Do not follow this link