irc-police is a stateful, transparent IRCv3 proxy that tells you why and how IRC software is fucked up.
irc-police validates the following:
go build ./cmd/irc-police or
Usage of irc-police: -connect string upstream address to connect to -listen string listen address (default "127.0.0.1:6667") -no-tls connect to upstream using a plain-text connection
For example, to connect to freenode, run
./irc-police -connect chat.freenode.net:6697
and point your IRC client to
irc-police will transparently proxy your client connection to freenode, and print to standard output any error it will encounter.
Mostly https://ircdocs.horse. Thank them for documenting it all.
If you were expecting this section to only be "The RFCs," then you should know that the RFCs are actually outdated. Each and everyone has been tinkering with the protocol, and ircdocs was born to document its evolution.
This proxy doesn't validate software against the RFCs, it validates software against the implicitly agreed-upon baseline and common sense. Its output should point out actual bugs in software and misbehaviors that are tolerated only because implementations are so liberal in what they accept.
For IRCv3 stuff, https://ircv3.net of course.
hhirtz on freenode. Talk should happen on
#ircdocs, since it's their
job to document the state of the art in IRC.
Questions and patches also welcome at
ISC, see LICENSE.
Copyright (C) 2021 The irc-police contributors