mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-27 13:09:23 +01:00
README refresh; update supported IRCds list
- Move charybdis to extended support - I have not seen any networks use this in production - Move legacy p10 / ts6 variants into a new Legacy support section [skip ci]
This commit is contained in:
parent
b433fed718
commit
f17540a7e2
42
README.md
42
README.md
@ -6,13 +6,16 @@
|
|||||||
|
|
||||||
PyLink is an extensible, plugin-based IRC services framework written in Python. It aims to be:
|
PyLink is an extensible, plugin-based IRC services framework written in Python. It aims to be:
|
||||||
|
|
||||||
1) a replacement for the now-defunct Janus.
|
1) a replacement for the Janus relay daemon.
|
||||||
|
|
||||||
2) a versatile framework for developing IRC services.
|
2) a versatile framework for developing IRC services.
|
||||||
|
|
||||||
PyLink and any bundled software are licensed under the Mozilla Public License, version 2.0 ([LICENSE.MPL2](LICENSE.MPL2)). The corresponding documentation in the [docs/](docs/) folder is licensed under the Creative Attribution-ShareAlike 4.0 International License. ([LICENSE.CC-BY-SA-4.0](LICENSE.CC-BY-SA-4.0))
|
PyLink and any bundled software are licensed under the Mozilla Public License, version 2.0 ([LICENSE.MPL2](LICENSE.MPL2)). The corresponding documentation in the [docs/](docs/) folder is licensed under the Creative Attribution-ShareAlike 4.0 International License. ([LICENSE.CC-BY-SA-4.0](LICENSE.CC-BY-SA-4.0))
|
||||||
|
|
||||||
## Support the project
|
## Support the project
|
||||||
|
|
||||||
|
I maintain PyLink and other IRC projects in my spare time - as such, donations are welcome and appreciated.
|
||||||
|
|
||||||
[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-50CAF2.svg)](https://www.paypal.me/jlucode)
|
[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-50CAF2.svg)](https://www.paypal.me/jlucode)
|
||||||
|
|
||||||
## Obtaining support
|
## Obtaining support
|
||||||
@ -63,7 +66,7 @@ If you are a developer and want to help make PyLink more portable, patches are w
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
1) Rename `example-conf.yml` to `pylink.yml` (or a similarly named `.yml` file) and configure your instance there. Note that the configuration format isn't finalized yet - this means that your configuration may break in an update!
|
1) Rename `example-conf.yml` to `pylink.yml` (or a similarly named `.yml` file) and configure your instance there.
|
||||||
|
|
||||||
2) Run `pylink` from the command line. PyLink will load its configuration from `pylink.yml` by default, but you can override this by running `pylink` with a config argument (e.g. `pylink mynet.yml`).
|
2) Run `pylink` from the command line. PyLink will load its configuration from `pylink.yml` by default, but you can override this by running `pylink` with a config argument (e.g. `pylink mynet.yml`).
|
||||||
|
|
||||||
@ -73,27 +76,37 @@ If you are a developer and want to help make PyLink more portable, patches are w
|
|||||||
|
|
||||||
These IRCds (in alphabetical order) are frequently tested and well supported. If any issues occur, please file a bug on the issue tracker.
|
These IRCds (in alphabetical order) are frequently tested and well supported. If any issues occur, please file a bug on the issue tracker.
|
||||||
|
|
||||||
* [charybdis](https://github.com/charybdis-ircd/charybdis) (3.5+) - module `ts6`
|
* [InspIRCd](http://www.inspircd.org/) (2.0 - 3.x) - module `inspircd`
|
||||||
- For KLINE support to work, a `shared{}` block should be added for PyLink on all servers.
|
|
||||||
* [InspIRCd](http://www.inspircd.org/) 2.0 - 3.x - module `inspircd`
|
|
||||||
- Set the `target_version` option to `insp3` to target InspIRCd 3.x, or `insp20` to target InspIRCd 2.0 (currently the default).
|
- Set the `target_version` option to `insp3` to target InspIRCd 3.x, or `insp20` to target InspIRCd 2.0 (currently the default).
|
||||||
- For vHost setting to work, `m_chghost.so` must be loaded. For ident and realname changing support, `m_chgident.so` and `m_chgname.so` must be loaded respectively.
|
- For vHost setting to work, `m_chghost.so` must be loaded. For ident and realname changing support, `m_chgident.so` and `m_chgname.so` must be loaded respectively.
|
||||||
- Supported channel, user, and prefix modes are negotiated on connect, but hotloading modules that change these is not supported. After changing module configuration, it is recommended to SQUIT PyLink to force a protocol renegotiation.
|
- Supported channel, user, and prefix modes are negotiated on connect, but hotloading modules that change these is not supported. After changing module configuration, it is recommended to SQUIT PyLink to force a protocol renegotiation.
|
||||||
* [Nefarious IRCu](https://github.com/evilnet/nefarious2) (2.0.0+) - module `p10`
|
* [Nefarious IRCu](https://github.com/evilnet/nefarious2) (2.0.0+) - module `p10`
|
||||||
- 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.
|
- 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.
|
||||||
* [UnrealIRCd](https://www.unrealircd.org/) 4.2.x - 5.0.x - module `unreal`
|
* [UnrealIRCd](https://www.unrealircd.org/) (4.2.x - 5.0.x) - module `unreal`
|
||||||
- Supported channel, user, and prefix modes are negotiated on connect, but hotloading modules that change these is not supported. After changing module configuration, it is recommended to SQUIT PyLink to force a protocol renegotiation.
|
- Supported channel, user, and prefix modes are negotiated on connect, but hotloading modules that change these is not supported. After changing module configuration, it is recommended to SQUIT PyLink to force a protocol renegotiation.
|
||||||
|
|
||||||
### Extended support
|
### 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.
|
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.
|
||||||
|
|
||||||
|
* [charybdis](https://github.com/charybdis-ircd/charybdis) (3.5+) - module `ts6`
|
||||||
|
- For KLINE support to work, a `shared{}` block should be added for PyLink on all servers.
|
||||||
|
* [ChatIRCd](http://www.chatlounge.net/software) (1.2.x / git master) - module `ts6`
|
||||||
|
- For KLINE support to work, a `shared{}` block should be added for PyLink on all servers.
|
||||||
|
* [juno-ircd](https://github.com/cooper/juno) (13.x / ava) - module `ts6` (see [configuration example](https://github.com/cooper/juno/blob/master/doc/ts6.md#pylink))
|
||||||
|
* [ngIRCd](https://ngircd.barton.de/) (24+) - module `ngircd`
|
||||||
|
- For GLINEs to propagate, the `AllowRemoteOper` option must be enabled in ngIRCd.
|
||||||
|
- `+` (modeless) channels are not supported, and should be disabled for PyLink to function correctly.
|
||||||
|
- For use with Relay, the `CloakHostModeX` setting will work fine but `CloakHost` and `CloakUserToNick` are *not* supported.
|
||||||
|
|
||||||
|
### Legacy extended support
|
||||||
|
|
||||||
|
Support for these IRCds was added at some point but is no longer actively maintained, either due to inactive upstream development or a perceived lack of interest. We recommend migrating to an IRCd in the above two sections.
|
||||||
|
|
||||||
* [beware-ircd](http://ircd.bircd.org/) (1.6.3) - module `p10`
|
* [beware-ircd](http://ircd.bircd.org/) (1.6.3) - module `p10`
|
||||||
- Because bircd disallows BURST after ENDBURST for regular servers, U-lines are required for all PyLink servers. Fortunately, wildcards are supported in U-lines, so you can add something along the lines of `U:<your pylink server>:` and `U:*.relay:` (adjust accordingly for your relay server suffix).
|
- Because bircd disallows BURST after ENDBURST for regular servers, U-lines are required for all PyLink servers. Fortunately, wildcards are supported in U-lines, so you can add something along the lines of `U:<your pylink server>:` and `U:*.relay:` (adjust accordingly for your relay server suffix).
|
||||||
- Use `ircd: snircd` as the target IRCd.
|
- Use `ircd: snircd` as the target IRCd.
|
||||||
- Halfops, `sethost` (`+h`), and account-based cloaking (`VHostStyle=1`) are supported. Crypted IPs and static hosts (`VHostStyle` 2 and 3) are NOT.
|
- Halfops, `sethost` (`+h`), and account-based cloaking (`VHostStyle=1`) are supported. Crypted IPs and static hosts (`VHostStyle` 2 and 3) are NOT.
|
||||||
* [ChatIRCd](http://www.chatlounge.net/software) (1.2.x / git master) - module `ts6`
|
|
||||||
- For KLINE support to work, a `shared{}` block should be added for PyLink on all servers.
|
|
||||||
* [Elemental-IRCd](https://github.com/Elemental-IRCd/elemental-ircd) (6.6.x / git master) - module `ts6`
|
* [Elemental-IRCd](https://github.com/Elemental-IRCd/elemental-ircd) (6.6.x / git master) - module `ts6`
|
||||||
- For KLINE support to work, a `shared{}` block should be added for PyLink on all servers.
|
- For KLINE support to work, a `shared{}` block should be added for PyLink on all servers.
|
||||||
* [IRCd-Hybrid](http://www.ircd-hybrid.org/) (8.2.x / svn trunk) - module `hybrid`
|
* [IRCd-Hybrid](http://www.ircd-hybrid.org/) (8.2.x / svn trunk) - module `hybrid`
|
||||||
@ -104,19 +117,12 @@ Support for these IRCds exist, but are not tested as frequently and thoroughly.
|
|||||||
- On ircd-ratbox, all known IPs of users will be shown in `/whois`, even if the client is e.g. a cloaked relay client. If you're paranoid about this, turn off Relay IP forwarding on the ratbox network(s).
|
- On ircd-ratbox, all known IPs of users will be shown in `/whois`, even if the client is e.g. a cloaked relay client. If you're paranoid about this, turn off Relay IP forwarding on the ratbox network(s).
|
||||||
- For KLINE support to work, a `shared{}` block should be added for PyLink on all servers.
|
- For KLINE support to work, a `shared{}` block should be added for PyLink on all servers.
|
||||||
* [IRCu](http://coder-com.undernet.org/) (u2.10.12.16+) - module `p10`
|
* [IRCu](http://coder-com.undernet.org/) (u2.10.12.16+) - module `p10`
|
||||||
- Host changing is not supported.
|
- Host changing (changehost, relay) is not supported.
|
||||||
* [juno-ircd](https://github.com/cooper/juno) (13.x / ava) - module `ts6` (see [configuration example](https://github.com/cooper/juno/blob/master/doc/ts6.md#pylink))
|
|
||||||
* [ngIRCd](https://ngircd.barton.de/) (24+) - module `ngircd`
|
|
||||||
- For GLINEs to propagate, the `AllowRemoteOper` option must be enabled in ngIRCd.
|
|
||||||
- `+` (modeless) channels are not supported, and should be disabled for PyLink to function correctly.
|
|
||||||
- For use with Relay, the `CloakHostModeX` setting will work fine but `CloakHost` and `CloakUserToNick` are *not* supported.
|
|
||||||
* [snircd](https://development.quakenet.org/) (1.3.x+) - module `p10`
|
* [snircd](https://development.quakenet.org/) (1.3.x+) - module `p10`
|
||||||
- Outbound host changing (i.e. for the `changehost` plugin) is not supported on P10 variants other than Nefarious.
|
- Outbound host changing (i.e. for the `changehost` plugin) is not supported.
|
||||||
|
|
||||||
Other TS6 and P10 variations may work, but are not officially supported.
|
|
||||||
|
|
||||||
### Clientbot
|
### Clientbot
|
||||||
|
|
||||||
Since v1.0, PyLink supports connecting to IRCds as a relay bot and forwarding users back, similar to Janus' Clientbot. This can be useful if the IRCd a network used isn't supported, or if you want to relay certain channels without fully linking with a network.
|
PyLink supports connecting to IRCds as a relay bot and forwarding users back as virtual clients, similar to Janus' Clientbot. This can be useful if the IRCd a network used isn't supported, or if you want to relay certain channels without fully linking with a network.
|
||||||
|
|
||||||
For Relay to work properly with Clientbot, be sure to load the `relay_clientbot` plugin in conjunction with `relay`.
|
For Relay to work properly with Clientbot, be sure to load the `relay_clientbot` plugin in conjunction with `relay`.
|
||||||
|
Loading…
Reference in New Issue
Block a user