]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Add example modules.conf files that match Unreal and Charybdis feature sets [jdhore]
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>
Fri, 6 Nov 2009 01:23:18 +0000 (01:23 +0000)
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>
Fri, 6 Nov 2009 01:23:18 +0000 (01:23 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12037 e03df62e-2008-0410-955e-edbf42e46eb7

conf/inspircd.conf.example
conf/modules/modules.conf.charybdis [new file with mode: 0644]
conf/modules/modules.conf.unreal [new file with mode: 0644]

index 47ecd5889aeb63e537f2ab34a8e6a90a667efe06..0b4099a40a634516f1d419b428835f45a6276948 100644 (file)
 # The default does nothing -- we include it for simplicity for you.   #
 <include file="conf/modules.conf.example">
 
+# Here are some pre-built modules.conf files that closely match the
+# default configurations of some popular IRCd's. You still may want to
+# look over them and make sure if everything is correct for you and setup
+# the proper SSL information.
+#
+# *NOTE*: These files have no comments for what the modules do. If you
+# are interested in that, please read the modules.conf.example. It is also
+# recommended that you make your own modules file based on modules.conf.example.
+
+# Settings similar to UnrealIRCd defaults.
+#<include file="conf/modules/modules.conf.unreal">
+
+# Settings similar to Charybdis IRCd defaults.
+#<include file="conf/modules/modules.conf.charybdis">
+
 
 #########################################################################
 #                                                                       #
diff --git a/conf/modules/modules.conf.charybdis b/conf/modules/modules.conf.charybdis
new file mode 100644 (file)
index 0000000..aa95137
--- /dev/null
@@ -0,0 +1,313 @@
+<module name="m_md5.so">
+<module name="m_sha256.so">
+<module name="m_alias.so">
+<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">
+<alias text="ID" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes">
+
+<module name="m_banexception.so">
+<module name="m_banredirect.so">
+<module name="m_blockcolor.so">
+<module name="m_callerid.so">
+<callerid maxaccepts="16"
+          operoverride="no"
+          tracknick="no"
+          cooldown="60">
+
+<module name="m_cap.so">
+<module name="m_cban.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# CGI:IRC module: Adds support for automatic host changing in CGI:IRC
+# (http://cgiirc.sourceforge.net).
+#<module name="m_cgiirc.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-# CGIIRC  CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
+#
+# Optional - If you specify to use m_cgiirc, then you must specify one
+# or more cgihost tags which indicate authorised CGI:IRC servers which
+# will be connecting to your network, and an optional cgiirc tag.
+# For more information see: http://wiki.inspircd.org/Modules/cgiirc
+#
+# Set to yes if you want to notice opers when CGI clients connect
+# <cgiirc opernotice="no">
+#
+# The type field indicates where the module should get the real
+# client's IP address from, for further information, please see the
+# CGI:IRC documentation.
+#
+# Old style:
+# <cgihost type="pass" mask="www.mysite.com">       # Get IP from PASS
+# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident
+# <cgihost type="passfirst" mask="www.mysite.com">  # See the docs
+# New style:
+# <cgihost type="webirc" password="foobar"
+#   mask="somebox.mysite.com">                      # Get IP from WEBIRC
+#
+# IMPORTANT NOTE:
+# ---------------
+#
+# When you connect CGI:IRC clients, there are two connect classes which
+# apply to these clients. When the client initially connects, the connect
+# class which matches the cgi:irc site's host is checked. Therefore you
+# must raise the maximum local/global clients for this ip as high as you
+# want to allow cgi clients. After the client has connected and is
+# determined to be a cgi:irc client, the class which matches the client's
+# real IP is then checked. You may set this class to a lower value, so that
+# the real IP of the client can still be restricted to, for example, 3
+# sessions maximum.
+#
+
+<module name="m_chancreate.so">
+<module name="m_channelban.so">
+<module name="m_chghost.so">
+<hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789">
+<module name="m_chgident.so">
+<module name="m_chgname.so">
+<module name="m_cloaking.so">
+#
+#-#-#-#-#-#-#-#-#-#-#- CLOAKING  CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# 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-">
+
+<module name="m_close.so">
+<module name="m_conn_umodes.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Connectban: Provides IP connection throttling. Any IP range that connects
+# too many times (configurable) in an hour is zlined for a (configurable)
+# duration, and their count resets to 0.
+#
+# ipv4cidr and ipv6cidr allow you to turn the comparison from individual
+# IP addresses (32 and 128 bits) into CIDR masks, to allow for throttling
+# over whole ISPs/blocks of IPs, which may be needed to prevent attacks.
+#
+#<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128">
+# This allows for 10 connections in an hour with a 10 minute ban if that is exceeded.
+#
+#<module name="m_connectban.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Connection throttle module. Configuration:
+#<module name="m_connflood.so">
+#
+#-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
+#  seconds, maxconns -  Amount of connections per <seconds>.
+#
+#  timeout           -  Time to wait after the throttle was activated
+#                       before deactivating it. Be aware that the time
+#                       is seconds + timeout.
+#
+#  quitmsg           -  The message that users get if they attempt to
+#                       connect while the throttle is active.
+#
+#  bootwait          -  Amount of time to wait before enforcing the
+#                       throttling when the server just booted.
+#
+#<connflood seconds="30" maxconns="3" timeout="30"
+#   quitmsg="Throttled" bootwait="10">
+
+<module name="m_deaf.so">
+<module name="m_dnsbl.so">                                           
+<module name="m_gecosban.so">
+<module name="m_globalload.so">
+<module name="m_ident.so">
+<ident timeout="1">
+<module name="m_inviteexception.so">
+<module name="m_joinflood.so">
+<module name="m_knock.so">
+<module name="m_namesx.so">
+<module name="m_operchans.so">
+<module name="m_operlog.so">
+<module name="m_opermodes.so">
+<module name="m_password_hash.so">
+<module name="m_permchannels.so">
+<module name="m_muteban.so">
+<module name="m_redirect.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for Glob or wildcard (?/*) matching.
+# You must have at least 1 provider loaded to use m_filter or m_rline
+# modules. This module has no additional requirements, as it uses the
+# matching already present in InspIRCd core.
+#<module name="m_regex_glob.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for PCRE (Perl-Compatible Regular
+# Expressions). You need libpcre installed to compile and load this
+# module. You must have at least 1 provider loaded to use m_filter or
+# m_rline.
+#<module name="m_regex_pcre.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for POSIX Regular Expressions.
+# You shouldn't need any additional libraries on a POSIX-compatible
+# system (ie: any Linux, BSD, but not Windows). You must have at least
+# 1 provider loaded to use m_filter or m_rline.
+# On POSIX-compliant systems, regex syntax can be found by using the
+# command: 'man 7 regex'.
+#<module name="m_regex_posix.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Ban users through regular expression patterns
+#<module name="m_rline.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-#- RLINE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
+#
+# If you wish to re-check a user when they change nickname (can be
+# useful under some situations, but *can* also use CPU with more users
+# on a server) then set the following configuration value:
+# Also, this is where you set what Regular Expression engine is to be
+# used. If you ever change it while running, all of your R-Lines will be
+# wiped. This is the regex engine used by all R-Lines set, and
+# m_regex_<engine>.so must be loaded, or rline will be nonfunctional
+# until you load it or change the engine to one that is loaded.
+#
+#<rline matchonnickchange="yes" engine="pcre">
+#
+# Generally, you will NOT want to use 'glob' here, as this turns
+# rline into just another gline. The exceptions are that rline will
+# always use the full nick!user@host realname string, rather than only
+# user@host, but beware that only the ? and * wildcards are available,
+# and are the only way to specify where the space can occur if you do
+# use glob. For this reason, is recommended to use a real regex engine
+# so that at least \s or [[:space:]] is available.
+
+<module name="m_sasl.so">
+<module name="m_servprotect.so">
+<module name="m_services_account.so">
+<module name="m_sethost.so">
+<module name="m_serverban.so">
+<module name="m_showwhois.so">
+<showwhois opersonly="yes" showfromopers="yes">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Spy module: Provides the ability to see the complete names list of 
+# channels an oper is not a member of
+# This module is oper-only.
+#<module name="m_spy.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# SSL channel mode module: Adds support for SSL-only channels (+z).
+# does not do anything useful without a working SSL module (see below)
+#<module name="m_sslmodes.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
+# src/modules/extra, or answer 'yes' in ./configure when asked if you
+# want to enable this, or it will not load.
+#<module name="m_ssl_gnutls.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-  GNUTLS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# m_ssl_gnutls.so is too complex it describe here, see the wiki:      #
+# http://wiki.inspircd.org/Modules/ssl_gnutls                         #
+#                                                                     #
+# NOTE: If you want to use this module to encrypt and sign your       #
+# server to server traffic, you MUST load it before m_spanningtree in #
+# your configuration file!                                            #
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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. 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">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# OpenSSL ssl module: Adds support for client-server SSL using OpenSSL,
+# if enabled. You must copy the source for this module from the directory
+# src/modules/extra, or answer 'yes' in ./configure when asked if you
+# want to enable this, or it will not load.
+#<module name="m_ssl_openssl.so">
+#
+#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# m_ssl_openssl.so is too complex it describe here, see the wiki:     #
+# http://wiki.inspircd.org/Modules/ssl_openssl                        #
+#                                                                     #
+# NOTE: If you want to use this module to encrypt and sign your       #
+# server to server traffic, you MUST load it before m_spanningtree in #
+# your configuration file!                                            #
+
+<module name="m_stripcolor.so">
+<module name="m_svshold.so">
+<module name="m_tline.so">
+<module name="m_uhnames.so">
+<module name="m_watch.so">
+<watch maxentries="32">
+<module name="m_xline_db.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# ZipLinks module: Adds support for zlib deflate on server to server
+# connections. Both ends of the connection must load this module.
+# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_ziplink.cpp
+# and run make install, then uncomment this module to enable it.
+#
+#<module name="m_ziplink.so">
+#
+# 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.
+#
+
+
+<module name="m_spanningtree.so">
+
diff --git a/conf/modules/modules.conf.unreal b/conf/modules/modules.conf.unreal
new file mode 100644 (file)
index 0000000..105acef
--- /dev/null
@@ -0,0 +1,434 @@
+<module name="m_md5.so">
+<module name="m_sha256.so">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Alias module: Allows you to define server-side command aliases
+<module name="m_alias.so">
+<fantasy prefix="!" allowbots="no">
+# Aliases
+<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.
+#
+#<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3"
+#  requires="ChanServ" uline="yes">
+#
+#<alias text="ID" replace="PRIVMSG NickServ :IDENTIFY $2"
+#  requires="NickServ" uline="yes">
+#
+# This alias fixes a glitch in xchat 2.6.x and above and the way it
+# assumes IDENTIFY must be prefixed by a colon (:) character. It should
+# be placed ABOVE the default NICKSERV alias (the first example) listed
+# above.
+#
+#<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-"
+#  requires="NickServ" uline="yes">
+
+<module name="m_allowinvite.so">
+<module name="m_alltime.so">
+<module name="m_auditorium.so">
+<auditorium showops="yes" operoverride="yes">
+<module name="m_banexception.so">
+<module name="m_blockcaps.so">
+<blockcaps percent="50"
+           minlen="5"
+           capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! ">
+<module name="m_blockcolor.so">
+<module name="m_botmode.so">
+<module name="m_censor.so">
+<include file="inspircd.censor.example">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# CGI:IRC module: Adds support for automatic host changing in CGI:IRC
+# (http://cgiirc.sourceforge.net).
+#<module name="m_cgiirc.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-# CGIIRC  CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
+#
+# Optional - If you specify to use m_cgiirc, then you must specify one
+# or more cgihost tags which indicate authorised CGI:IRC servers which
+# will be connecting to your network, and an optional cgiirc tag.
+# For more information see: http://wiki.inspircd.org/Modules/cgiirc
+#
+# Set to yes if you want to notice opers when CGI clients connect
+# <cgiirc opernotice="no">
+#
+# The type field indicates where the module should get the real
+# client's IP address from, for further information, please see the
+# CGI:IRC documentation.
+#
+# Old style:
+# <cgihost type="pass" mask="www.mysite.com">       # Get IP from PASS
+# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident
+# <cgihost type="passfirst" mask="www.mysite.com">  # See the docs
+# New style:
+# <cgihost type="webirc" password="foobar"
+#   mask="somebox.mysite.com">                      # Get IP from WEBIRC
+#
+# IMPORTANT NOTE:
+# ---------------
+#
+# When you connect CGI:IRC clients, there are two connect classes which
+# apply to these clients. When the client initially connects, the connect
+# class which matches the cgi:irc site's host is checked. Therefore you
+# must raise the maximum local/global clients for this ip as high as you
+# want to allow cgi clients. After the client has connected and is
+# determined to be a cgi:irc client, the class which matches the client's
+# real IP is then checked. You may set this class to a lower value, so that
+# the real IP of the client can still be restricted to, for example, 3
+# sessions maximum.
+#
+
+<module name="m_chanfilter.so">
+<chanfilter hidemask="yes">
+
+<module name="m_chanprotect.so">
+
+<chanprotect
+       noservices="no"
+       qprefix="~"
+       aprefix="&amp;"
+       deprotectself="yes"
+       deprotectothers="yes">
+
+<module name="m_check.so">
+<module name="m_chghost.so">
+<hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789">
+
+<module name="m_chgident.so">
+<module name="m_chgname.so">
+<module name="m_cloaking.so">
+<cloak mode="half"
+       key="secret"
+       prefix="net-">
+
+<module name="m_close.so">
+<module name="m_clones.so">
+<module name="m_commonchans.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Conn-Join: Allows you to force users to join one or more channels
+# automatically upon connecting to the server.
+#<module name="m_conn_join.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-#- CONNJOIN CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
+#
+# If you have m_conn_join.so loaded, you can configure it using the
+# follow values:
+#
+#<autojoin channel="#one,#two,#three">
+
+<module name="m_conn_umodes.so">
+<module name="m_cycle.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Connection throttle module. Configuration:
+#<module name="m_connflood.so">
+#
+#-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
+#  seconds, maxconns -  Amount of connections per <seconds>.
+#
+#  timeout           -  Time to wait after the throttle was activated
+#                       before deactivating it. Be aware that the time
+#                       is seconds + timeout.
+#
+#  quitmsg           -  The message that users get if they attempt to
+#                       connect while the throttle is active.
+#
+#  bootwait          -  Amount of time to wait before enforcing the
+#                       throttling when the server just booted.
+#
+#<connflood seconds="30" maxconns="3" timeout="30"
+#   quitmsg="Throttled" bootwait="10">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# DCCALLOW module: Adds the /DCCALLOW command
+<module name="m_dccallow.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-  DCCALLOW CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
+#  blockchat         - Whether to block DCC CHAT as well as DCC SEND
+#  length            - Default duration of entries in DCCALLOW list
+#  action            - Default action to take if no action is specified
+#                      can be 'block' or 'allow'
+#
+# File configuration:
+#  pattern           - The glob pattern to match against
+#  action            - Action to take if a user attempts to send a file
+#                      that matches this pattern, can be 'block' or 'allow'
+#
+#<dccallow blockchat="yes" length="5m" action="block">
+#<banfile pattern="*.exe" action="block">
+#<banfile pattern="*.txt" action="allow">
+#
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+
+<module name="m_deaf.so">
+<module name="m_denychans.so"> 
+#<badchan name="#gods*" allowopers="yes" reason="Tortoises!">         #
+#<badchan name="#heaven" redirect="#hell" reason="Nice try!">         #
+
+<module name="m_devoice.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Filter module: Provides message filtering, similar to SPAMFILTER.
+<module name="m_filter.so">
+#                                                                     #
+# This module depends upon a regex provider such as m_regex_pcre or   #
+# m_regex_glob to function. You must specify which of these you want  #
+# m_filter to use via the tag below.                                  #
+#                                                                     #
+# Valid engines are:                                                  #
+#                                                                     #
+# glob  - Glob patterns, provided via m_regex_glob.so                 #
+# pcre  - PCRE regexps, provided via m_regex_pcre.so, needs libpcre   #
+# tre   - TRE regexps, provided via m_regex_tre.so, requires libtre   #
+# posix - POSIX regexps, provided via m_regex_posix.so, not availale  #
+#         on windows, no dependencies on other operating systems.     #
+#                                                                     #
+<filteropts engine="glob">                                           
+#                                                                     #
+# Your choice of regex engine must match on all servers network-wide.
+#
+# You may specify specific channels that are exempt from being filtered:
+#<exemptfromfilter channel="#blah">
+#
+#-#-#-#-#-#-#-#-#-#-#-  FILTER  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# Optional - If you specify to use the m_filter module, then          #
+# specfiy below the path to the filter.conf file, or define some      #
+# <filter> tags.                                                      #
+#                                                                     #
+#<include file="filter.conf">
+
+<module name="m_gecosban.so">
+<module name="m_globops.so">
+<module name="m_globalload.so">
+<module name="m_halfop.so">
+<module name="m_helpop.so">
+<include file="inspircd.helpop-full.example">
+
+<module name="m_hidechans.so">
+<hidechans affectsopers="false">
+
+<module name="m_hideoper.so">
+<module name="m_ident.so">
+<ident timeout="1">
+<module name="m_inviteexception.so">
+<module name="m_joinflood.so">
+<module name="m_jumpserver.so">
+<module name="m_knock.so">
+<module name="m_messageflood.so">
+<module name="m_namesx.so">
+<module name="m_nickflood.so">
+<module name="m_noctcp.so">
+<module name="m_nokicks.so">
+<module name="m_nonicks.so">
+<module name="m_nopartmsg.so">
+<module name="m_nonotice.so">
+<module name="m_operchans.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Oper Join module: Auto-joins opers to a channel upon oper-up
+# This module is oper-only. For the user equivalent, see m_conn_join.
+<module name="m_operjoin.so">
+#
+#-#-#-#-#-#-#-#-#-#-#   OPERJOIN CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# If you are using the m_operjoin.so module, specify options here:    #
+#                                                                     #
+# channel     -      The channel name to join, can also be a comma    #
+#                    seperated list eg. "#channel1,#channel2".        #
+#                                                                     #
+# override    -      Lets the oper join walking thru any modes that   #
+#                    might be set, even bans. Use "yes" or "no".      #
+#                                                                     #
+#<operjoin channel="#channel" override="no">
+#
+# Alternatively you can use the autojoin="channellist" in a <type>    #
+# tag to set specific autojoins for a type of oper, for example:      #
+#
+#<type name="Helper" autojoin="#help" classes="...">
+
+<module name="m_operlog.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Oper MOTD module: Provides support for seperate message of the day
+# on oper-up
+# This module is oper-only.
+#<module name="m_opermotd.so">
+#
+#-#-#-#-#-#-#-#-#-#-#   OPERMOTD CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# If you are using the m_opermotd.so module, specify the motd here    #
+#                                                                     #
+# onoper      -      Should the message be sent on /OPER or only when #
+#                    /OPERMOTD is used. Use "yes" or "no".            #
+#                                                                     #
+#<opermotd file="oper.motd" onoper="yes">
+
+<module name="m_override.so">
+#-#-#-#-#-#-#-#-#-#-#   OVERRIDE CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# m_override.so is too complex it describe here, see the wiki:        #
+# http://wiki.inspircd.org/Modules/override                           #
+
+<module name="m_operlevels.so">
+<module name="m_opermodes.so">
+<module name="m_password_hash.so">
+<module name="m_muteban.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Random Quote module: provides a random quote on connect.
+# NOTE: Some of these may mimic fatal errors and confuse users and 
+# opers alike! - BEWARE!
+#<module name="m_randquote.so">
+#
+#-#-#-#-#-#-#-#-#-#-  RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# Optional - If you specify to use the m_randquote.so module, then    #
+# specify below the path to the randquotes.conf file.                 #
+#                                                                     #
+#<randquote file="randquotes.conf">
+
+<module name="m_redirect.so">
+<module name="m_regex_glob.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for PCRE (Perl-Compatible Regular
+# Expressions). You need libpcre installed to compile and load this
+# module. You must have at least 1 provider loaded to use m_filter or
+# m_rline.
+#<module name="m_regex_pcre.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for POSIX Regular Expressions.
+# You shouldn't need any additional libraries on a POSIX-compatible
+# system (ie: any Linux, BSD, but not Windows). You must have at least
+# 1 provider loaded to use m_filter or m_rline.
+# On POSIX-compliant systems, regex syntax can be found by using the
+# command: 'man 7 regex'.
+#<module name="m_regex_posix.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for TRE Regular Expressions.
+# This is the same regular expression engine used by UnrealIRCd, so
+# if you are most familiar with the syntax of /spamfilter from there,
+# this is the provider you want. You need libtre installed in order
+# to compile and load this module.
+#<module name="m_regex_tre.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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.
+#
+# You probably *DO NOT* want to load this module on a public network.
+#
+#<module name="m_restrictmsg.so">
+
+<module name="m_sajoin.so">
+<module name="m_sakick.so">
+<module name="m_samode.so">
+<module name="m_sanick.so">
+<module name="m_sapart.so">
+<module name="m_saquit.so">
+<module name="m_satopic.so">
+<module name="m_servprotect.so">
+<module name="m_seenicks.so">
+<module name="m_setidle.so">
+<module name="m_services_account.so">
+<module name="m_sethost.so">
+<module name="m_setident.so">
+<module name="m_setname.so">
+<module name="m_showwhois.so">
+<showwhois opersonly="yes" showfromopers="yes">
+
+<module name="m_shun.so">
+<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="no" affectopers="no">
+
+<module name="m_spy.so">
+<module name="m_sslmodes.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
+# src/modules/extra, or answer 'yes' in ./configure when asked if you
+# want to enable this, or it will not load.
+#<module name="m_ssl_gnutls.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-  GNUTLS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# m_ssl_gnutls.so is too complex it describe here, see the wiki:      #
+# http://wiki.inspircd.org/Modules/ssl_gnutls                         #
+#                                                                     #
+# NOTE: If you want to use this module to encrypt and sign your       #
+# server to server traffic, you MUST load it before m_spanningtree in #
+# your configuration file!                                            #
+
+<module name="m_sslinfo.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# OpenSSL ssl module: Adds support for client-server SSL using OpenSSL,
+# if enabled. You must copy the source for this module from the directory
+# src/modules/extra, or answer 'yes' in ./configure when asked if you
+# want to enable this, or it will not load.
+#<module name="m_ssl_openssl.so">
+#
+#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# m_ssl_openssl.so is too complex it describe here, see the wiki:     #
+# http://wiki.inspircd.org/Modules/ssl_openssl                        #
+#                                                                     #
+# NOTE: If you want to use this module to encrypt and sign your       #
+# server to server traffic, you MUST load it before m_spanningtree in #
+# your configuration file!                                            #
+
+<module name="m_stripcolor.so">
+<module name="m_svshold.so">
+<module name="m_swhois.so">
+<module name="m_tline.so">
+<module name="m_uhnames.so">
+<module name="m_userip.so">
+<module name="m_watch.so">
+<watch maxentries="32">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# ZipLinks module: Adds support for zlib deflate on server to server
+# connections. Both ends of the connection must load this module.
+# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_ziplink.cpp
+# and run make install, then uncomment this module to enable it.
+#
+#<module name="m_ziplink.so">
+#
+# 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.
+#
+
+
+<module name="m_spanningtree.so">
+