3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-29 14:12:39 +01:00
Go to file
James Lu 18576ad488 Irc: fix the ping timeout/reconnection logic
- reset connection state and last ping time on reconnect
- move Ping timeout logic to somewhere where it'd actually run - the code for breaking out of the run() loop on a ping timeout could previously only run when a ping timeout hadn't occured yet
- consistently use log.warning() instead of log.warn()

This hopefully fixes PyLink going into a disconnect/reconnect loop sometimes instead of reconnecting properly.
2015-08-12 21:31:46 -07:00
log Make sure log/ exists 2015-07-18 20:13:53 -07:00
plugins relay: fix error message when DELINK is called on a relay's origin network without arguments 2015-08-12 07:03:49 -07:00
protocols pr/insp: Strip out listmodes in FJOIN 2015-08-12 07:05:05 -07:00
tests remove some debugging cruft and unused imports 2015-07-23 11:46:45 -07:00
.gitignore .gitignore: ignore .pem files 2015-08-10 20:26:10 -07:00
classes.py prs+IrcUser: add incoming (handle_away) and outgoing (awayClient) AWAY handling 2015-08-12 04:17:01 -07:00
conf.py Support loading different config files from the command line 2015-08-03 19:27:19 -07:00
config.yml.example Irc: optionally validate SSL cert fingerprints (#80) 2015-08-12 02:00:43 -07:00
coreplugin.py coreplugin: use a more standard "End of WHOIS" message 2015-07-24 11:13:53 -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 Irc: fix the ping timeout/reconnection logic 2015-08-12 21:31:46 -07:00
README.md README: formatting 2015-08-12 22:17:44 +08: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 utils.isOper: check for both umode +o and login status 2015-08-02 19:41:40 -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)

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

  2. Run main.py from the command line.

  3. Profit???