<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_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">

<module name="m_spanningtree.so">

