{ "info": { "author": "Binet R\u00e9seau", "author_email": "br@eleves.polytechnique.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: No Input/Output (Daemon)", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Communications :: Chat :: Internet Relay Chat", "Topic :: System :: Logging", "Topic :: System :: Monitoring" ], "description": "Kaoz\n====\n\n.. image:: https://travis-ci.org/BinetReseau/Kaoz.png?branch=master\n :target: https://travis-ci.org/BinetReseau/Kaoz\n\nGeneral purpose\n---------------\n\nKaoz is a free notifier for IRC. It's purpose is to provide an easy to use way for System Administrators to send warnings and logs on any choosen IRC channel.\nIt therefore uses a persistent daemon, which is called the *server* later on, that will listen on a given port, optionnaly with ssl enabled.\nThe server expects lines to have the format ``password:channel:message``, like ``secret:#help:Hello``.\n``password`` is a global password required to use the service.\n``channel`` is an irc channel on the configured network. (Kaoz will join the channel to do so).\nA *client* is an application which connects to the server to send messages on IRC.\nPlease note that, in case you whish to agregate many servers' notifications, you may have only one Kaoz server, but you should multiply clients.\n\nLicence\n-------\n\nKaoz is provided under a MIT-like licence. See the licence file for more informations.\n\nDependencies\n------------\n\n* python\n* python ssl module (if you whish to use SSL)\n* python irc library (https://bitbucket.org/jaraco/irc)\n\nInstallation of the server\n--------------------------\n\nFirst, copy the config to the location of your choice, for example ``/etc/kaoz.conf``.\nThen edit the ``kaoz.conf`` file to provide correct values for the IRC Server and the listening socket.\nThe daemon is started with the ``bin/kaoz`` program.\nThere is a Gentoo ``init.d`` file in ``initd/kaoz`` for your interest.\nIt should be easy to figure out how to adapt this file to your distribution.\n\nKnown limitations\n-----------------\n\n* Kaoz does not support key-protected channels.\n\nKaoz client examples\n--------------------\n\nSending messages to IRC\n~~~~~~~~~~~~~~~~~~~~~~~\n\nHere are some ways to send ``Hello`` to channel ``#help`` using a Kaoz server which is listenning on host ``myhost`` port ``4242``, protected with password ``secret``.\nFor that purpose, a client needs to send ``secret:#help:Hello`` to the server (with an optional LF or CR+LF, as you want).\n\n* In Shell, for simple servers without SSL, use one of the following lines:\n\n.. code-block:: sh\n\n echo \"secret:#help:Hello\" |netcat myhost 4242\n echo \"secret:#help:Hello\" |socat - TCP:myhost:4242\n\n* In Shell, for servers which use SSL certificates:\n\n.. code-block:: sh\n\n echo \"secret:#help:Hello\" |socat - OPENSSL:myhost:4242\n\n* In Shell, for servers which use SSL certificates and a trusted authority certificate file (CA file):\n\n.. code-block:: sh\n\n echo \"secret:#help:Hello\" |socat - OPENSSL:myhost:4242,verify,cafile=myca.crt\n\n* In Python without SSL:\n\n.. code-block:: python\n\n import socket\n sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n sock.connect(('myhost', 4242))\n sock.sendall('%s:%s:%s' % ('secret', '#help', 'Hello'))\n sock.close()\n\n* In Python with SSL:\n\n.. code-block:: python\n\n import socket\n import ssl\n sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n sock.connect(('myhost', 4242))\n # use these options to check CA: cert_reqs=ssl.CERT_REQUIRED, certfile='myca.crt'\n sock = ssl.wrap_socket(self.sock)\n sock.sendall('%s:%s:%s' % ('secret', '#help', 'Hello'))\n sock.close()\n\nKaoz server support multi-lined messages, so long as each lines begins with the password and a channel.\n\nSending commands to Koaz\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nA Kaoz server also accepts basic commands which enable its monitoring.\nWhen a client wants to run ``command`` on the server, she needs to send ``secret::command`` and the server replies directly in the socket.\nThe double colon that it is a command, rather than a message to send to IRC.\n\nThe following commands are supported (there is only one for the time being):\n\n* ``channels``: get the list of channels the server has joined.\n\n\nAbout IRC style and colors\n--------------------------\n\nSome control sequences allow IRC users to write messages with style and colors (``^X`` means ``Ctrl+X``):\n\n* ``^B`` (= x02) Bold text\n* ``^C`` (= x03) Colored text\n* ``^O`` (= x0F) Back to original plain text\n* ``^R`` (= x16) Reversed text\n* ``^_`` (= x1F) Underlined text\n\nThere are 16 colors:\n\n1. Black\n2. Navy Blue\n3. Green\n4. Red\n5. Brown\n6. Purple\n7. Olive\n8. Yellow\n9. Lime Green\n10. Teal\n11. Aqua Light\n12. Royal Blue\n13. Hot Pink\n14. Dark Gray\n15. Light Gray\n16. White\n\nFor example ``^C2Hello`` writes Hello in blue.\n\nContact\n-------\n\nKaoz is provided by *Binet R\u00e9seau*, a student association from France's \u00c9cole polytechnique.\nIf you have inquiries, comments or suggestions, you may contact us at br@eleves.polytechnique.fr\n\n::\n\n ________________\n _/ ______________ \\_\n _/ _/ \\_ \\\n / _/ ____ ____ \\ \\\n / / / __ \\ / __ \\ | |\n / / / /_/ / / /_/ / | |\n | | / _, < / _, _/ | |\n | | / /_/ / / / | | | |\n | | /_____/ /_/ | | / /\n \\ \\ \\ \\__/ /\n \\ \\_ \\____/\n \\_ \\________________\n \\________________/\n", "description_content_type": null, "docs_url": null, "download_url": "http://pypi.python.org/pypi/kaoz/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/BinetReseau/Kaoz", "keywords": "irc,notification,bot", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "kaoz", "package_url": "https://pypi.org/project/kaoz/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/kaoz/", "project_urls": { "Download": "http://pypi.python.org/pypi/kaoz/", "Homepage": "http://github.com/BinetReseau/Kaoz" }, "release_url": "https://pypi.org/project/kaoz/2.1.0/", "requires_dist": null, "requires_python": null, "summary": "A simple IRC notifier bot.", "version": "2.1.0" }, "last_serial": 938830, "releases": { "2.0.1": [ { "comment_text": "", "digests": { "md5": "0b6faad5587f3feb02215a1d8dfc62b4", "sha256": "99dc78bebf3460708af7e0236586ff757a944637bd6698e1c489514b37e9d7a1" }, "downloads": -1, "filename": "kaoz-2.0.1.tar.gz", "has_sig": false, "md5_digest": "0b6faad5587f3feb02215a1d8dfc62b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16687, "upload_time": "2013-07-06T10:29:07", "url": "https://files.pythonhosted.org/packages/17/e6/464bc742f7804193555b6e260aa65503b9dcd892d38a58bb393aedbdee8d/kaoz-2.0.1.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "2c4b5b57e30cff2d10fd359b73826b80", "sha256": "4dee11efeab0eb63703dd4d53b8c33c9a9e5a8359d8d2591cb97983d3914c8fe" }, "downloads": -1, "filename": "kaoz-2.1.0.tar.gz", "has_sig": false, "md5_digest": "2c4b5b57e30cff2d10fd359b73826b80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18385, "upload_time": "2013-12-08T12:03:45", "url": "https://files.pythonhosted.org/packages/17/0c/a89e743fca89ac2b072ea819b5329b6e8c72005db338f60f8cf031db67d0/kaoz-2.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2c4b5b57e30cff2d10fd359b73826b80", "sha256": "4dee11efeab0eb63703dd4d53b8c33c9a9e5a8359d8d2591cb97983d3914c8fe" }, "downloads": -1, "filename": "kaoz-2.1.0.tar.gz", "has_sig": false, "md5_digest": "2c4b5b57e30cff2d10fd359b73826b80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18385, "upload_time": "2013-12-08T12:03:45", "url": "https://files.pythonhosted.org/packages/17/0c/a89e743fca89ac2b072ea819b5329b6e8c72005db338f60f8cf031db67d0/kaoz-2.1.0.tar.gz" } ] }