mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-01 09:19:23 +01:00
ba7b6af89b
Easier syntax highlighting with editors this way, since the file extension is now something they recognize. Also, update README and .gitignore accordingly.
220 lines
7.8 KiB
YAML
220 lines
7.8 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
|
|
|
|
# Console log verbosity: see
|
|
# https://docs.python.org/3/library/logging.html#logging-levels
|
|
# for available settings.
|
|
loglevel: DEBUG
|
|
|
|
# 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
|
|
|
|
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 (SHA1) of your uplink.
|
|
# ssl_fingerprint: "e0fee1adf795c84eec4735f039503eb18d9c35cc"
|
|
|
|
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
|
|
|
|
# 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
|