# "baz qux quz" and $2 will contain "bar". You may #
# also use the special variables: $nick, $ident, #
# $host and $vhost, and you may separate multiple #
-# commands with \n. If you wish to use the ACTUAL #
-# characters \ and n together in a line, you must #
-# use the sequence "\\n". #
+# commands with a newline (which can be written in #
+# the file literally, or encoded as &nl; or \n #
+# depending on the config format setting). #
# #
# requires - If you provide a value for 'requires' this means #
# the given nickname MUST be online for the alias #
#<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
#<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
#<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
+#<alias text="BOTSERV" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes">
+#<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
+#<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
#<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes">
#<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes">
#<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes">
+#<alias text="BS" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes">
+#<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes">
+#<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes">
#
# An example of using the format value to create an alias with two
# different behaviours depending on the format of the parameters.
#<module name="m_chanprotect.so">
<chanprotect
- # noservices: With this set to no, when a user joins a empty channel,
- # the server will set +q on them. If set to yes, it will only set +o
+ # noservices: With this set to yes, when a user joins a empty channel,
+ # the server will set +q on them. If set to no, it will only set +o
# on them until they register the channel.
noservices="no"
qprefix="~"
# aprefix: Prefix (symbol) to use for +a users.
- aprefix="&"
+ aprefix="&"
# deprotectself: If this value is set (true, yes or 1), it will allow
# +a and +q users to remove the +a and +q from themselves, otherwise,
# CHGHOST module: Adds the /CHGHOST command
# This module is oper-only.
# To use, CHGHOST must be in one of your oper class blocks.
+# NOTE: Services will not be able to set vhosts on users if this module
+# isn't loaded. If you're planning on running services, you probably
+# want to load this.
#<module name="m_chghost.so">
#
#-#-#-#-#-#-#-#-# /CHGHOST - /SETHOST CONFIGURATION #-#-#-#-#-#-#-#-#
#
#-#-#-#-#-#-#-#-#-#-#- CLOAKING CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
-# Optional - If you specify the m_cloaking.so module as above, you #
-# must define cloak keys, and optionally a cloak prefix as shown #
-# below. When using cloaking, the cloak keys are MANDITORY and must #
-# be included. However, if prefix is not included, it will default #
-# to your networks name from the <server> tag. You can also include #
-# the following optional values: #
-# #
-# ipalways - Always cloak the IP address, not the hostname, #
-# which doesn't reveal the user's ISP, but #
-# results in hosts that are harder to read and #
-# ban. #
-# #
-# lowercase - Display the cloaked hostnames in lowercase #
-# characters instead of uppercase #
-# #
-# <cloak key1="0x2AF39F40" #
-# key2="0x78E10B32" #
-# key3="0x4F2D2E82" #
-# key4="0x043A4C81" #
-# prefix="mynet" #
-# ipalways="false" #
-# lowercase="false"> #
-# #
-# Please note that the key values will accept any number, and should #
-# be large numbers. Using small numbers such as "7" or "1924" will #
-# seriously weaken the security of your cloak. It is recommended you #
-# use hexdecimal numbers prefixed by "0x", as shown in this example, #
-# with each key eight hex digits long. #
+# If you specify the m_cloaking.so module as above, you must define #
+# cloak keys, and optionally a cloak prefix as shown below. The cloak #
+# keys must be shared across the network for correct cloaking. #
+# #
+# There are four methods of cloaking: #
+# #
+# half Cloak only the "unique" portion of a host; show #
+# the last 2 parts of the domain, /16 subnet of IPv4 #
+# or /48 subnet of the IPv6 address. #
+# #
+# full Cloak the users completely, using three slices for #
+# common CIDR bans (IPv4: /16, /24; IPv6: /48, /64) #
+# #
+# These methods use a single key that can be any length of text. #
+# An optional prefix may be specified to mark cloaked hosts. #
+# #
+# The following methods are maintained for backwards compatibility; #
+# they are slightly less secure, and always hide unresolved IPs #
+# #
+# compat-host InspIRCd 1.2-compatible host-based cloaking #
+# compat-ip InspIRCd 1.2-compatible ip-always cloaking #
+# #
+# You must specify key1, key2, key3, key4 for the compat cloaking #
+# modes; the values must be less than 0x80000000 and should be picked #
+# at random. Prefix is mandatory, will default to network name if not #
+# specified, and will always have a "-" appended. #
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+#
+#<cloak mode="half"
+# key="secret"
+# prefix="net-">
#-#-#-#-#-#-#-#-#-#-#-#- CLOSE MODULE #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Close module: Allows an oper to close all unregistered connections.
# than the auditorium mode. Only channel ops may set the +D mode.
#<module name="m_delayjoin.so">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Delay message module: Adds the channel mode +d which disallows a user
+# from talking in the channel unless they've been joined for X seconds.
+# Settable a la: /mode +d 30
+#<module name="m_delaymsg.so>
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Deny Channels: Deny Channels from being used by users
#<module name="m_denychans.so">
# For configuration options please see the wiki page for m_dnsbl at #
# http://wiki.inspircd.org/Modules/dnsbl #
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Exempt Channel Operators Module: Provides support for allowing #
+# channel operators to be exempt from some channel modes. Supported #
+# modes are blockcaps, noctcp, blockcolor, nickflood, flood, censor, #
+# filter, regmoderated, nonick, nonotice, and stripcolor. #
+#<module name="m_exemptchanops.so"> #
+# #
+#-#-#-#-#-#-#-#-#-#- EXEMPTCHANOPS CONFIGURATION -#-#-#-#-#-#-#-#-#-#
+# alwaysexempt - Modes channel operators are always exempt from,
+# regardless of channel setting.
+# neverexempt - Modes channel operators are never exempt from,
+# regardless of channel setting.
+#<exemptchanops alwaysexempt="nickflood censor flood filter" neverexempt="regmoderated">
+
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Filter module: Provides message filtering, similar to SPAMFILTER.
#<module name="m_filter.so">
# #
#<include file="filter.conf">
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Foobar module: does nothing - historical relic
-#<module name="m_foobar.so">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Gecosban: Implements extended ban r:, which stops anyone matching
# a mask like +b r:*realname?here* from joining a channel.
# GeoIP module: Allows the server admin to ban users by country code.
# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_geoip.cpp
# and run make install, then uncomment this module to enable it.
+# This module requires GeoIP to be installed on your system,
+# use your package manager to find the appropriate packages
+# or check the InspIRCd wiki page for this module.
#<module name="m_geoip.so">
#
#-#-#-#-#-#-#-#-#-#-#-# GEOIP CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
#
#-#-#-#-#-#-#-#-#-#-#-#- HTTPD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
#
-# Optional - If you choose to use the m_httpd.so module, then you must
-# specify the port number and other details of your http server:
-#
-#<http ip="192.168.1.10" host="brainwave" port="32006"
-# index="/home/brain/inspircd/http/index.html">
-#
-# You may have as many of these tags as you wish, each with a different
-# IP, port, host or index file. Each one will act as an independent
-# HTTP server.
+# If you choose to use the m_httpd.so module, then you will need to add
+# a <bind> tag with type "httpd", and load at least one of the other
+# m_httpd_* modules to provide pages to display.
#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# opers are still able to see invisible users, and if an oper with +Q
# deopers, they will become visible.
#
-# This module is oper-only.
+# This module is oper-only and seen by many to be quite abusive.
#
#<module name="m_invisible.so">
#<module name="m_nonotice.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper channels mode: Adds the +O channel mode
-# This module is oper-only.
-#<module name="m_operchans.so">
+# Network buisness join module
+# Allows an oper to join a channel using /OJOIN, giving them +Y on the
+# channel which makes them immune to kick/deop/etc.
+#<module name="m_ojoin.so">
+#
+#<ojoin prefix="!" notice="yes" op="yes">
+# Specify the prefix that +Y will grant here
+# Leave prefix empty if you do not wish +Y to grant a prefix
+# If notice is set to on, upon ojoin, the server will notice
+# the channel saying that the oper is joining on network business
+# If op is set to on, it will give them +o along with +Y
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper invex/extban module: Adds +beI type O, to ban, exempt, and invex
-# given oper type masks.
+# Oper channels mode: Adds the +O channel mode and +beI type O:<mask>
+# to ban, exempt, and invex given oper type masks.
# e.g, /mode #channel +iI O:* is equivilant to chmode +O, but you
# may also, e.g. /mode #channel +iI O:AdminTypeOnly to only allow admins.
# +be work in a similar fashion.
-# This module is oper-only.
#
-#<module name="m_operinvex.so">
+#<module name="m_operchans.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper Join module: Auto-joins opers to a channel upon oper-up
# This module is oper-only.
#<module name="m_permchannels.so">
#
+# If you like, m_permchannels can write a config file of permanent channels
+# whenever +P is set, unset, or the topic/modes on a +P channel is changed.
+# If you want to do this, set the filename below, and uncomment the include.
+#
+#<permchanneldb filename="conf/permchannels.conf">
+#<include file="permchannels.conf">
+#
# You may also create channels on startup by using the <permchannels> block.
#<permchannels channel="#opers" modes="is" topic="Opers only.">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Registered users only channel creation
# Allows only registered users and opers to create new channels.
+#
+# You probably *DO NOT* want to load this module on a public network.
+#
#<module name="m_regonlycreate.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#<module name="m_remove.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Restricted channels module: Allows only opers to create channels
+# Restricted channels module: Allows only opers to create channels.
+#
+# You probably *DO NOT* want to load this module on a public network.
+#
#<module name="m_restrictchans.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Restrict message module: Allows users to only message opers
+# Restrict message module: Allows users to only message opers.
+#
+# You probably *DO NOT* want to load this module on a public network.
+#
#<module name="m_restrictmsg.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# RPC test module: A test of the RPC API
#<module name="m_rpctest.so">
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Provide /LIST throttling (to prevent flooding) and /LIST safety to
-# prevent excess flood when the list is large.
-#<module name="m_safelist.so">
-#
-#-#-#-#-#-#-#-#-#-#-# SAFELIST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
-#
-# When using Safelist, you may set the following values;
-#
-# The first value, 'throttle', sets the amount of time in seconds a user
-# must wait between LIST commands. For example, if this is set to 60
-# (the default) then the user may not /LIST more than once a minute.
-# If not defined, the default value is 60 seconds.
-#
-# The second value, 'maxlisters', indicates the maximum number of users
-# which may be retrieving a LIST at once. It is not recommended you raise
-# this value, as increasing it too high can make your network vulnerable
-# to floodbots which waste your bandwidth and CPU time with LIST requests.
-#
-#<safelist throttle="60" maxlisters="50">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAJOIN module: Adds the /SAJOIN command
# This module is oper-only.
<securehost exception="*@*.searchirc.org">
<securehost exception="*@*.netsplit.de">
<securehost exception="*@echo940.server4you.de">
+<securehost exception="*@*.ircdriven.com">
# #
# Define the following variable to change how long a user must wait #
# before issuing a LIST. If not defined, defaults to 60 seconds. #
# does not do anything useful without a working SSL module (see below)
#<module name="m_sslmodes.so">
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Dummy ssl module: If you have other servers on your network which
-# have SSL, but your server does not have ssl enabled, you should load
-# this module, which will handle SSL metadata (e.g. the "Is using ssl"
-# field in the WHOIS information).
-#<module name="m_ssl_dummy.so">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# GnuTLS ssl module: Adds support for client-server SSL using GnuTLS,
# if enabled. You must copy the source for this module from the directory
# SSL Info module: Allows users to retrieve information about other
# user's peer SSL certificates and keys. This can be used by client
# scripts to validate users. For this to work, one of m_ssl_gnutls.so
-# or m_ssl_openssl.so must be loaded. You must symlink the source for
-# this module from the directory src/modules/extra.
-# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_sslinfo.cpp
-# and run make install, then uncomment this module to enable it.
+# or m_ssl_openssl.so must be loaded. This module also adds the
+# "* <user> is using a secure connection" whois line, the ability for
+# opers to use SSL fingerprints to verify their identity and the ability
+# to force opers to use SSL connections in order to oper up.
+# It is highly recommended to load this module especially if
+# you use SSL on your network.
+# For how to use the oper features, please see the first example <oper> tag
+# in opers.conf.example.
#
#<module name="m_sslinfo.so">
# server to server traffic, you MUST load it before m_spanningtree in #
# your configuration file! #
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SSL Cert Oper module: Allows opers to oper up using the key fingerprint
-# stored within their SSL certificate and key pair.
-# When using this module, one of m_ssl_gnutls.so or m_ssl_openssl.so must
-# be loaded. An extra value should be added to enabled opers, which
-# is in the following format: fingerprint="<hash>". For more information,
-# see the example in the oper blocks.
-# This module is oper-only.
-#<module name="m_ssl_oper_cert.so">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Strip colour module: Adds the channel mode +S
#<module name="m_stripcolor.so">
#<module name="m_swhois.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Taxonomy module: Adds the /TAXONOMY command, used to view all
-# metadata attached to a user.
-# This module is oper-only.
-# To use, TAXONOMY must be in one of your oper class blocks.
-#<module name="m_taxonomy.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Test command module: Does nothing significant. Read: pointless.
-#<module name="m_testcommand.so">
+# Test module: enable this to create a command useful in testing
+# flood control. To avoid accidental use on live networks, the server
+# name must contain ".test" to load the module
+#<module name="m_testnet.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Timed bans module: Adds timed bans and the /TBAN command
-# This module is oper-only.
-# To use, TBAN must be in one of your oper class blocks.
+# Timed bans module: Adds timed channel bans and the /TBAN command
#<module name="m_timedbans.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#
#<module name="m_ziplink.so">
#
-# To use this module, you must enable it as a transport type in your
-# <link> tags or <bind> tags using the transport name 'zip'.
+# To use this module, you must enable it as a ssl type in your
+# <link> tags or <bind> tags using the ssl name 'ziplinks'.
# See the documentation of <link> and <bind>, respectively.
#