Error when capability doesn't have a draft/ prefix
Validate tags values
Add go.mod
irc-police is a stateful, transparent IRCv3 proxy that tells you why and how IRC software is fucked up.
irc-police validates the following:
Use go build ./cmd/irc-police
or make
.
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 localhost:6667
(plain-text).
irc-police will transparently proxy your client connection to freenode, and print to standard output any error it will encounter.
TODO: document
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.
I am 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 ~taiite/public-inbox@lists.sr.ht
!
ISC, see LICENSE.
Copyright (C) 2021 The irc-police contributors