3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-24 19:52:53 +01:00
Go to file
James Lu d6cb9d45c7 Merge commit '320de2079a78202e99c7b6aeb53c28c13f43ba47'
Many things here, including:
- New 'exec' plugin
- INVITE, umode +H (hideoper) support for relay
- New and improved 'showuser' command, now with internals that support multiple binds to one command name.
- relay: bug fixes, like not sending empty user mode changes.
2015-09-12 09:11:52 -07:00
log Make sure log/ exists 2015-07-18 20:13:53 -07:00
plugins relay/protocols: use utils.toLower() for channel names, respecting IRCd casemappings 2015-09-06 21:47:27 -07:00
protocols Merge commit '320de2079a78202e99c7b6aeb53c28c13f43ba47' 2015-09-12 09:11:52 -07:00
tests Remove unused imports 2015-08-30 12:53:30 -07:00
.gitignore .gitignore: ignore .pem files 2015-08-10 20:26:10 -07:00
classes.py classes: Remove "opertype" IrcUser() argument 2015-08-31 14:11:12 -07:00
conf.py Refactor conf loading; skip the file-loading parts entirely for tests (#56) 2015-08-29 14:20:20 -07:00
config.yml.example various: make the server description configurable 2015-08-24 18:14:35 -07:00
coreplugin.py Show oper types on WHOIS 2015-08-31 14:52:56 -07:00
kill.sh Add wrapper scripts (start-cpulimit.sh, kill.sh) to assist running PyLink under cpulimit 2015-07-25 16:58:11 -07:00
LICENSE Add a LICENSE: MPL 2.0 2015-06-20 21:10:50 -07:00
log.py Support loading different config files from the command line 2015-08-03 19:27:19 -07:00
main.py Remove unused imports 2015-08-30 12:53:30 -07:00
README.md relay: fix many bugs with nick collision handling, and add flood prevention for fixing nicks 2015-08-22 21:01:51 -07:00
runtests.py Remove unused imports 2015-08-30 12:53:30 -07:00
start-cpulimit.sh start-cpulimit: throttle at 35% instead of killing at 20% usage 2015-08-12 01:20:44 -07:00
utils.py relay/protocols: use utils.toLower() for channel names, respecting IRCd casemappings 2015-09-06 21:47:27 -07:00
world.py Allow multiple plugins to bind to one command name! 2015-08-29 19:25:07 -07:00

PyLink

PyLink is an extensible, plugin-based IRC PseudoService written in Python. It aims to be a replacement for the now-defunct Janus.

Usage

PyLink is a work in progress and thus may be very unstable! No warranty is provided if this completely wrecks your network and causes widespread rioting amongst your users!

That said, please report any bugs you find to the issue tracker. Pull requests are open if youd like to contribute.

Dependencies

Dependencies currently include:

  • Python 3.4+
  • PyYAML (pip install pyyaml or apt-get install python3-yaml)
  • For the relay plugin only: expiringdict (pip install expiringdict/apt-get install python3-expiringdict)

Supported IRCds

  • InspIRCd 2.0.x - module inspircd
  • charybdis (3.5.x / git master) - module ts6
  • Elemental-IRCd (6.6.x / git master) - module ts6

Installation

  1. Rename config.yml.example to config.yml and configure your instance there. Not all options are properly implemented yet, and the configuration schema isnt finalized yet - this means that your configuration may break in an update!

  2. Run main.py from the command line.

  3. Profit???