file explains the theory of operation, how to install the code,
and how to test it.
+== Theory of operation ==
+
+irkerhook.py creates JSON notification requests and ships them to
+irkerd's listener socket. irkerd run as a daemon in order to maintain
+all the client state required to post multiple notifications while generating
+minimum of join/leave messages (which, from the point of view of
+humans watching irkerd's output, are mere spam).
+
+See the security.txt document for a detailed discussion of security
+and DoS vulnerabilities related to irker.
+
== Installing irker ==
irker needs to run constantly, watching for TCP and UDP traffic on
it. See <http://pypi.python.org/pypi/irc/>; use version 3.0, not the
older code from SourceForge.
+For higher performance, also install the eventlet library from
+<http://pypi.python.org/pypi/eventlet/>. This merges in a cooperative
+threading implementation that is faster and has much lower space
+overhead than system threads, making irkerd more resistant to
+potential DoS attacks.
+
== Installing irkerhook.py ==
irkerhook.py should be called from the post-commit hook of each
Go to a project repo and call irkerhook.py as indicated above while
watching the freenode #commits channel.
-== Security considerations ==
-
-See the security.txt document for a detailed discussion of security
-and DoS vulnerabilities related to irker.