Project description
PyLink is an extensible, plugin-based IRC services framework written in
Python. It aims to be:
a replacement for the now-defunct Janus.
a versatile framework and gateway to IRC.
Support
First, MAKE SURE you’ve read the `FAQ <docs/faq.md>`__!
When upgrading between major versions, remember to read the `release
notes <RELNOTES.md>`__ for any breaking changes!
Please report any bugs you find to the issue
tracker. Pull requests are
open if you’d like to contribute, though new stuff generally goes to the
devel branch.
You can also find support via our IRC channels:
#PyLink @ irc.overdrivenetworks.com(webchat)
or #PyLink @ chat.freenode.net. Ask your questions and be patient
for a response.
License
PyLink and any bundled software are licensed under the Mozilla Public
License, version 2.0 (LICENSE.MPL2). The
corresponding documentation in the docs/ folder is licensed
under the Creative Attribution-ShareAlike 4.0 International License.
(LICENSE.CC-BY-SA-4.0)
Dependencies
Python 3.4+
Setuptools (pip install setuptools)
PyYAML (pip install pyyaml)
ircmatch
(pip install ircmatch)
For the servprotect plugin:
expiringdict (note:
unfortunately, installation is broken in pip due to
mailgun/expiringdict#13)
Supported IRCds
Primary support
These IRCds (in alphabetical order) are frequently tested and well
supported. If any issues occur, please file a bug on the issue tracker.
Extended support
Support for these IRCds exist, but are not tested as frequently and
thoroughly. Bugs should be filed if there are any issues, though they
may not always be fixed in a timely fashion.
Elemental-IRCd
(6.6.x / git master) - module ts6
InspIRCd 2.2 (git master) - module inspircd
IRCd-Hybrid (8.2.x / svn trunk) -
module hybrid
juno-ircd (10.x / yiria) -
module ts6 (with elemental-ircd modes)
Nefarious IRCu (2.0.0+) -
module nefarious
Note: Both account cloaks (user and oper) and hashed IP cloaks are
optionally supported (HOST_HIDING_STYLE settings 0 to 3). Make
sure you configure PyLink to match your IRCd settings.
For optimal functionality (mode overrides in relay, etc.), a
UWorld{} block / U-line should be added for every server that
PyLink spawns.
Other TS6 and P10 variations may work, but are not officially supported.
Setup
Install PyLink by using python3 setup.py install (global install)
or python3 setup.py install --user (local install; note:
--user is a literal string)
Rename example-conf.yml to pylink.yml and configure your
instance there. Note that the configuration format isn’t finalized
yet - this means that your configuration may break in an update!
Run pylink from the command line.
Profit???
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution