3
0
mirror of https://github.com/jlu5/PyLink.git synced 2025-01-23 18:54:05 +01:00
Go to file
James Lu e76d31d14e relay: fixes to KICK handling, don't allow spawning new pseudoclients for trivial tasks like TOPIC or PART
This introduces a new spawnIfMissing option in getRemoteUser, which defaults to True and toggles spawning new pseudoclients if one is not found for a certain network.
In the case of TOPIC or PART being sent, we'll want this turned off because we can either 1) route these through our PyLink server SID, or 2) ignore these entirely.

For KICK handling, this commit fixes kicks sent from servers or clients that don't have a pseudoclient on the target network, by tagging them in the message and routing them through our main PyLink SID.
Normal kicks still behave as usual:

* You have been kicked from #endlessvoid by GLo|o|/ovd (test)
* You have been kicked from #endlessvoid by pylink-devel.overdrive.pw ((ChanServ/ovd) (GLo|o| (GLolol)) test)
* You have been kicked from #endlessvoid by pylink-devel.overdrive.pw ((some.server.name/ovd) No reason given)
2015-07-19 23:49:50 -07:00
log Make sure log/ exists 2015-07-18 20:13:53 -07:00
plugins relay: fixes to KICK handling, don't allow spawning new pseudoclients for trivial tasks like TOPIC or PART 2015-07-19 23:49:50 -07:00
protocols inspircd: make channel user tracking more fault tolerant (in sjoinServer / handle_part) 2015-07-19 23:46:19 -07:00
tests Log command usage, 'exec' usage, successful logins, and access denied to commands in admin.py 2015-07-19 15:01:49 -07:00
.gitignore .gitignore: add *.db 2015-07-12 16:28:33 -07:00
classes.py Fix fakeirc and tests for relay (#56) 2015-07-17 22:52:55 -07:00
conf.py It's almost June! Updates: 2015-05-31 12:20:09 -07:00
config.yml.example example conf: mention pingfreq and disabling autoconnect 2015-07-17 23:44:52 -07:00
coreplugin.py Log command usage, 'exec' usage, successful logins, and access denied to commands in admin.py 2015-07-19 15:01:49 -07:00
LICENSE Add a LICENSE: MPL 2.0 2015-06-20 21:10:50 -07:00
log.py log: replace existing log files instead of appending 2015-07-19 16:52:58 -07:00
main.py Irc: prevent rare UnicodeDecodeError by decoding individual lines, not the entire socket.recv() output 2015-07-19 23:46:31 -07:00
README.md README: fix link to issue tracker 2015-07-15 23:15:08 -07:00
utils.py utils.applyModes: don't crash if existing modelist is a list, not a set 2015-07-19 22:42:04 -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 throughout your user base!

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:

  • InspIRCd 2.0.x: more protocol modules may be implemented in the future…
  • Python 3.4+
  • PyYAML (pip install pyyaml or apt-get install python3-yaml)

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 your configuration may break in an update!

  2. Run main.py from the command line.

  3. Profit???