mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-01 01:09:22 +01:00
290 lines
10 KiB
YAML
290 lines
10 KiB
YAML
# This is a sample configuration file for PyLink. You'll likely want to rename it to config.yml
|
|
# and begin your configuration there.
|
|
|
|
# Note: lines starting with a "#" are comments and will be ignored.
|
|
|
|
bot:
|
|
# Sets nick, user/ident, and real name.
|
|
nick: pylink
|
|
user: pylink
|
|
realname: PyLink Service Client
|
|
|
|
# Server description (shown in /links, /whois, etc.)
|
|
serverdesc: PyLink Server
|
|
|
|
# Sets the fantasy command prefix for calling commands inside channels
|
|
# (requires fantasy plugin).
|
|
prefix: "."
|
|
|
|
# Determines whether the bot will reply to commands prefixed with its nick
|
|
# (case sensitive and requires the fantasy plugin).
|
|
respondtonick: true
|
|
|
|
login:
|
|
# PyLink administrative login - Change this, or the service will not start!
|
|
user: admin
|
|
password: changeme
|
|
|
|
logging:
|
|
# This configuration block defines targets that PyLink should log commands,
|
|
# errors, etc., to.
|
|
|
|
# This sets the level for STDOUT logging, which is always enabled. Valid
|
|
# settings include DEBUG, INFO, WARNING, ERROR, and CRITICAL: see
|
|
# https://docs.python.org/3/library/logging.html#logging-levels for details.
|
|
stdout: INFO
|
|
|
|
channels:
|
|
# Log to channels on the specified networks.
|
|
# Note: DEBUG logging is not supported here: any log level settings
|
|
# below INFO be automatically raised to INFO.
|
|
# Log messages are forwarded over relay, so you will get duplicate
|
|
# messages if you add log blocks for more than one channel in one
|
|
# relay.
|
|
loglevel: INFO
|
|
|
|
inspnet:
|
|
"#services":
|
|
loglevel: INFO
|
|
"#pylink-notifications"
|
|
loglevel: WARNING
|
|
|
|
ts6net:
|
|
"#services":
|
|
loglevel: INFO
|
|
|
|
files:
|
|
# Logs to file targets. These will be placed in the log/ folder in the
|
|
# PyLink directory, with a filename based on the current instance name
|
|
# and the target name defined: instancename-targetname.log
|
|
# Changing settings in this block will require a restart to take effect.
|
|
|
|
# When running with ./pylink, this will create log/pylink-errors.log
|
|
# When running with ./pylink someconf.yml, this will create log/someconf-errors.log
|
|
"errors":
|
|
loglevel: ERROR
|
|
|
|
# Ditto above. When running with ./pylink, it will use log/pylink-commands.log
|
|
# When running with ./pylink someconf.yml, this will create log/someconf-commands.log
|
|
"commands":
|
|
loglevel: INFO
|
|
|
|
servers:
|
|
inspnet:
|
|
# Server IP, port, and passwords
|
|
ip: 127.0.0.1
|
|
port: 7000
|
|
recvpass: "abcd"
|
|
sendpass: "abcd"
|
|
|
|
# The full network name, used by plugins.
|
|
netname: "InspIRCd Network"
|
|
|
|
# Hostname we will use to connect to the remote server
|
|
hostname: "pylink.yournet.local"
|
|
|
|
# SID - required for InspIRCd and TS6 based servers. This must be three
|
|
# characters long.
|
|
# The first char must be a digit [0-9], and the remaining two chars may
|
|
# be either uppercase letters [A-Z] or digits.
|
|
sid: "0AL"
|
|
|
|
# SID range - the range of SIDs PyLink is allowed to use to generate
|
|
# server IDs. On TS6, this should be a combination of digits, letters,
|
|
# and #'s. Each # denotes a range (0-9A-Z) of characters that can be
|
|
# used by PyLink to generate appropriate SIDs. You will want to make
|
|
# sure no other servers are using this range.
|
|
# There must be at least one # in the entry.
|
|
sidrange: "8##"
|
|
|
|
# Autojoin channels
|
|
channels: ["#pylink"]
|
|
|
|
# Sets the protocol module to use - see the protocols/ folder for a list
|
|
# of valid values (omitting the .py extension).
|
|
protocol: "inspircd"
|
|
|
|
# Sets autoconnect delay - comment this out or set the value below 1 to
|
|
# disable autoconnect entirely.
|
|
autoconnect: 5
|
|
|
|
# Sets ping frequency (i.e. how long we should wait between sending
|
|
# pings to our uplink). When more than two consecutive pings are missed,
|
|
# PyLink will disconnect with a ping timeout. This defaults to 30 if
|
|
# not set.
|
|
pingfreq: 30
|
|
|
|
# Separator character (used by relay)
|
|
separator: "/"
|
|
|
|
# Sets the max nick length for the network. It is important this is
|
|
# set correctly, or PyLink might introduce a nick that is too long and
|
|
# cause netsplits!
|
|
maxnicklen: 30
|
|
|
|
# Toggles SSL for this network. Defaults to false if not specified, and
|
|
# requires the ssl_certfile and ssl_keyfile options to work.
|
|
#ssl: true
|
|
|
|
#ssl_certfile: pylink-cert.pem
|
|
#ssl_keyfile: pylink-key.pem
|
|
|
|
# Optionally, you can set this option to verify the SSL certificate
|
|
# fingerprint of your uplink.
|
|
#ssl_fingerprint: "e0fee1adf795c84eec4735f039503eb18d9c35cc"
|
|
|
|
# This sets the hash type for the fingerprint (md5, sha1, sha256, etc.)
|
|
# Valid values include md5 and sha1-sha512, though others may be
|
|
# supported depending on your system: see
|
|
# https://docs.python.org/3/library/hashlib.html
|
|
# This setting defaults to sha256.
|
|
#ssl_fingerprint_type: sha256
|
|
|
|
ts6net:
|
|
ip: ::1
|
|
|
|
# Determines whether IPv6 should be used for this connection.
|
|
ipv6: yes
|
|
|
|
port: 7000
|
|
recvpass: "abcd"
|
|
sendpass: "abcd"
|
|
hostname: "pylink.example.com"
|
|
sid: "8PY"
|
|
netname: "some TS6 network"
|
|
sidrange: "8P#"
|
|
|
|
# Leave this as an empty list if you don't want to join any channels.
|
|
channels: []
|
|
|
|
protocol: "ts6"
|
|
autoconnect: 5
|
|
pingfreq: 30
|
|
maxnicklen: 30
|
|
|
|
# Note: /'s in nicks are automatically converted to |'s for TS6
|
|
# networks, since they don't allow "/" in nicks.
|
|
separator: "|"
|
|
|
|
# The following options are specific to TS6 servers:
|
|
# Toggles owner (+y), admin (+a), and halfop (+h) support for
|
|
# shadowircd/elemental-ircd.
|
|
# This defaults to off for the best compatibility.
|
|
use_owner: false
|
|
use_admin: false
|
|
use_halfop: false
|
|
|
|
# Toggles support of shadowircd/elemental-ircd specific channel modes:
|
|
# +T (no notice), +u (hidden ban list), +E (no kicks), +J (blocks
|
|
# kickrejoin),
|
|
# +K (no repeat messages), +d (no nick changes), and user modes:
|
|
# +B (bot), +C (blocks CTCP), +D (deaf), +V (no invites), +I (hides
|
|
# channel list)
|
|
use_elemental_modes: false
|
|
|
|
unrealnet:
|
|
ip: 1.2.3.4
|
|
port: 8067
|
|
recvpass: "coffee"
|
|
sendpass: "tea"
|
|
hostname: "pylink.example.com"
|
|
sid: "2PY"
|
|
netname: "This should match your UnrealIRCd config"
|
|
sidrange: "8##"
|
|
channels: []
|
|
protocol: "unreal"
|
|
autoconnect: 5
|
|
pingfreq: 30
|
|
maxnicklen: 30
|
|
|
|
# This option enables SUPER HACKY UNREAL 3.2 COMPAT mode, which allows
|
|
# PyLink to link to mixed Unreal 3.2/4.0 networks, using a 4.0 server
|
|
# as a direct uplink.
|
|
# THIS IS EXPERIMENTAL, NOT WELL TESTED, AND MAY SET YOUR HOUSE ON FIRE
|
|
# AND G-LINE EVERYONE ON YOUR NETWORK.
|
|
# We encourage you to upgrade so that all your servers are running the
|
|
# same IRCd version.
|
|
#mixed_link: true
|
|
|
|
# Plugins to load (omit the .py extension)
|
|
plugins:
|
|
# Commands plugin: Provides core commands such as logging in, shutting down
|
|
# PyLink, and various command help.
|
|
- commands
|
|
|
|
# Networks plugin: Allows you to manage (dis)connections to networks while
|
|
# PyLink is running.
|
|
- networks
|
|
|
|
# Oper commands plugin: Provides a subset of network management commands.
|
|
# (KILL, JUPE, etc.)
|
|
# Note: these commands will be made available to anyone who's opered on your
|
|
# network, so make sure your opers are trustworthy!
|
|
#- opercmds
|
|
|
|
# Bots plugin: Allows you to manipulate pseudo-clients (bots) on networks.
|
|
#- bots
|
|
|
|
# Relay plugin: Janus-style server-side relay plugin. See the relay: block
|
|
# below for configuration.
|
|
#- relay
|
|
|
|
# Fantasy plugin: Allows you to trigger commands in channels by PyLink's
|
|
# nick or a configurable prefix character.
|
|
#- fantasy
|
|
|
|
# Changehost plugin: Automatically changes the hostmask of matching users
|
|
# to a template string, as they connect. This requires the changehost: block
|
|
# to be configured correctly below.
|
|
#- changehost
|
|
|
|
changehost:
|
|
# This block configures the Changehost plugin. You don't need this if you
|
|
# aren't using it.
|
|
|
|
# Sets the networks where Changehost should be enabled.
|
|
enabled_nets:
|
|
- inspnet
|
|
- ts6net
|
|
|
|
# This sets the hostmasks that Changehost should look for. Whenever someone
|
|
# with a matching nick!user@host connects, their host will be set to the
|
|
# text defined. The following substitutions are available here:
|
|
# $uid, $ts (time of connection), $nick, $realhost, $host, $ident, $ip.
|
|
# Invalid characters in hosts are replaced with a "-".
|
|
# Also, make sure you quote each entry so the YAML parser treats them as
|
|
# raw strings.
|
|
hosts:
|
|
|
|
# Here are some examples. Note that to keep your users' details
|
|
# private, you should probably refrain from using $ip or $realhost,
|
|
# in these hostmasks, unless cloaking is already disabled.
|
|
"*!GLolol@*.yournet.com": "$nick.opers.yournet.com"
|
|
"*!*@localhost": "some-server.hostname"
|
|
|
|
# Freenode-style masks are possible with this (though without the
|
|
# hashing)
|
|
"*!*@bnc-server.yournet.com": "yournet/bnc-users/$ident"
|
|
"*!*@ircip?.mibbit.com": "$ident.$realhost"
|
|
"WebchatUser*!*@*": "webchat/users/$ident"
|
|
|
|
relay:
|
|
# This block defines various options for the Relay plugin. You don't need this
|
|
# if you aren't using it.
|
|
|
|
# Determines whether remote opers will have user mode +H (hideoper) set on
|
|
# them. This has the benefit of lowering the oper count in /lusers and
|
|
# /stats (P|p), but only on IRCds that support it. This defaults to true
|
|
# if not set.
|
|
hideoper: true
|
|
|
|
# Determines whether real IPs should be sent across the relay. You should
|
|
# generally have a consensus with your linked networks whether this should
|
|
# be turned on. You will see other networks' user IP addresses, and they
|
|
# will see yours.
|
|
show_ips: false
|
|
|
|
# Whether subservers should be spawned for each relay network (requires
|
|
# reloading the plugin to change). Defaults to true.
|
|
spawn_servers: true
|