# http://wiki.inspircd.org/Modules for a list of modules and #
# each modules link for any additional conf tags they require. #
# #
-# You may use wildcards in a <module> tag to load all modules which #
-# match a glob pattern (e.g. m_sa????.so would load m_sajoin, #
-# m_sapart, m_saquit and m_sanick) #
-# #
# ____ _ _____ _ _ ____ _ _ _ #
# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | #
# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | #
# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) #
# #
# To link servers to InspIRCd, you MUST load the m_spanningtree #
-# module. Since several features (like SSL server links) rely on #
-# other modules being loaded before m_spanningtree, the module itself #
-# is at the bottom of this file. DO NOT forget to load it. If you DO #
-# NOT do this, server links will NOT work at all. ie. The ports will #
-# NOT bind, and /connect will not work properly. This is by design, #
-# to allow for the implementation of other linking protocols in #
-# modules in the future. #
+# module. If you don't do this, server links will NOT work at all. #
+# This is by design, to allow for the implementation of other linking #
+# protocols in modules in the future. #
# #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# To use, ALLTIME must be in one of your oper class blocks.
#<module name="m_alltime.so">
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Antibear security module: Prevents 'bear.txt' based trojans from
-# connecting to your network by sending them a numeric they can't handle.
-#<module name="m_antibear.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Antibottler module: Labels bottler leech bots
-#<module name="m_antibottler.so">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Auditorium module: Adds channel mode +u which makes everyone else
# except you in the channel invisible, used for large meetings etc.
#
# Auditorium settings:
#
-#<auditorium showops="no" operoverride="no">
+#<auditorium opvisible="no" opcansee="no" opercansee="yes">
+#
+# opvisible (auditorium-vis in exemptchanops):
+# Show channel ops to all users
+# opcansee (auditorium-see in exemptchanops):
+# Allow ops to see all joins/parts/kicks in the channel
+# opercansee:
+# Allow opers (channels/auspex) to see see all joins/parts/kicks in the channel
#
-# showops:
-# Setting this value to yes makes m_auditorium behave like unrealircd
-# +u channel mode, e.g. ops see users joining, parting, etc, and users
-# joining the channel see the ops. Without this flag, the mode acts
-# like ircnet's +a (anonymous channels), showing only the user in the
-# names list, and not even showing the ops in the list, or showing the
-# ops that the user has joined.
-# operoverride:
-# Setting this value to yes makes m_auditorium affect the userlist for
-# regular users only. Opers will view all users in the channel normally.
+# Exemptchanops can be used to adjust the level at which users become visible or
+# the level at which they can see the full membe list of the channel.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Autoop module: Adds basic channel access controls via the +w listmode.
# capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! ">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Block colour module: Blocking colour-coded messages with cmode +c
+# Block color module: Blocking color-coded messages with cmode +c
#<module name="m_blockcolor.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel Names module: Allows disabling channels which have certain
-# characters in the channel name such as bold, colourcodes, etc which
+# characters in the channel name such as bold, colorcodes, etc which
# can be quite annoying and allow users to on occasion have a channel
# that looks like the name of another channel on the network.
#<module name="m_channames.so">
#<connflood seconds="30" maxconns="3" timeout="30"
# quitmsg="Throttled" bootwait="10">
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Custom prefixes : allows for channel prefixes to be added.
+# This can replace m_chanprotect and m_halfop, except for services that
+# recognise those modules by name
+#<module name="m_customprefix.so">
+#
+# name The name of the mode, must be unique from other modes
+# letter The letter used for this mode. Required.
+# prefix The prefix used for nicks with this mode. Not required.
+# rank A numeric rank for this prefix, defining what permissions it gives
+# VOICE_VALUE is 10000, HALFOP_VALUE is 20000, OP_VALUE is 30000
+# ranktoset The numeric rank required to set/unset this mode. Defaults to rank.
+# depriv Can you remove the mode from yourself? Defaults to yes.
+#<customprefix name="founder" letter="q" prefix="~" rank="50000" ranktoset="50000">
+#<customprefix name="admin" letter="a" prefix="&" rank="40000" ranktoset="50000">
+#<customprefix name="halfop" letter="h" prefix="%" rank="20000" ranktoset="30000">
+#<customprefix name="halfvoice" letter="V" prefix="-" rank="1" ranktoset="20000">
+
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Custom title module: Adds the /TITLE command which allows for trusted
# users to gain a custom whois line and a optional
# 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>
+#<module name="m_delaymsg.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Deny Channels: Deny Channels from being used by users
# 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_gecosban.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# GeoIP module: Allows the server admin to ban users by country code.
+# GeoIP module: Allows the server admin to match 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,
# or check the InspIRCd wiki page for this module.
#<module name="m_geoip.so">
#
-#-#-#-#-#-#-#-#-#-#-#-# GEOIP CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# <geoip banunknown="false"> #
-# #
-# Set this value to true or yes to block unknown IP ranges which are #
-# not in the database (usually LAN addresses, localhost, etc) #
-# #
-# <geoban country="TR" reason="This country not permitted"> #
-# #
-# Use one or more of these tags to ban countries by country code. #
-# The country code must be in capitals and should be an ISO country #
-# code such as TR, GB, or US. #
+# The actual allow/ban actions are done by connect classes, not by the
+# GeoIP module. An example connect class to ban people from russia or
+# turkey:
+#
+# <connect deny="*" geoip="TR,RU">
+#
+# The country code must be in capitals and should be an ISO country
+# code such as TR, GB, or US. Unknown IPs (localhost, LAN IPs, etc)
+# will be assigned the country code "UNK". Since connect classes are
+# matched from top down, your deny classes must be above your allow
+# classes for them to match.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Globops module: gives /GLOBOPS and SNOMASK +g
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Invite except module: Adds support for channel invite exceptions (+I)
#<module name="m_inviteexception.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Invisible module - Adds support for usermode +Q (quiet) which lets an
-# oper go 'invisible' similar to unrealircd 3.1's +I mode. Note that
-# opers are still able to see invisible users, and if an oper with +Q
-# deopers, they will become visible.
-#
-# This module is oper-only and seen by many to be quite abusive.
-#
-#<module name="m_invisible.so">
+# Does a +I bypass channel +k in addition to +i?
+#<inviteexception bypasskey="yes">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Join flood module: Adds support for join flood protection (+j)
# Jump Server module: Adds support for the RPL_REDIR numeric
# This module is oper-only.
# To use, JUMPSERVER must be in one of your oper class blocks.
+# If your server is redirecting new clients and you get disconnected,
+# do a REHASH from shell to open up again.
#<module name="m_jumpserver.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# bindauth="mysecretpass" #
# verbose="yes"> #
# #
+# <ldapwhitelist cidr="10.42.0.0/16"> #
+# #
# The baserdn indicates the base DN to search in for users. Usually #
# this is 'ou=People,dc=yourdomain,dc=yourtld'. #
# #
# allow anonymous searching in which case these two values do not #
# need defining, otherwise they should be set similar to the examples #
# above. #
+# #
+# ldapwhitelist indicates that clients connecting from an IP in the #
+# provided CIDR do not need to authenticate against LDAP. It can be #
+# repeated to whitelist multiple CIDRs. #
+
+# ldapwhitelist indicates that clients connecting from the associated #
+# CIDR do to authenticate against LDAP. It can be used multiple #
+# times. #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# LDAP oper configuration module: Adds the ability to authenticate #
# These commands require OPER status and that the LOCKSERV UNLOCKSERV #
# are specified in a <class> tag that the oper is part of. This is so #
# you can control who has access to this possible dangerous command. #
-# If your server is locked and you got disconnected, do a REHASH from #
+# If your server is locked and you get disconnected, do a REHASH from #
# shell to open up again.
#
# This module is oper-only.
# m_mssql.so is more complex than described here, see wiki for more #
# info http://wiki.inspircd.org/Modules/mssql #
#
-#<database name="db" username="user" password="pass" hostname="localhost" id="db1">
+#<database module="mssql" name="db" user="user" pass="pass" host="localhost" id="db1">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# MySQL module: Allows other SQL modules to access MySQL databases
# m_mysql.so is more complex than described here, see the wiki for #
# more: http://wiki.inspircd.org/Modules/mysql #
#
-#<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database2">
+#<database module="mysql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database2">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Named Modes module: This module allows for the display and set/unset
#<module name="m_opermodes.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Oper password hash module: Allows hashed oper passwords
-# Relies on the module m_md5.so and/or m_sha256.so being loaded before
-# m_password_hash.so in the configuration file.
-# This module is oper-only.
+# Password forwarding module: Forwards a password users can send on connect
+# to the specified client below. The client is usually nickserv and this
+# module is usually used to authenticate users with nickserv using their
+# connect password.
+#<module name="m_passforward.so">
+
+<passforward
+ # nick: nick to forward connect passwords to.
+ nick="NickServ"
+
+ # forwardmsg: Message to send to users using a connect password.
+ # $nick will be the users' nick, $nickrequired will be the nick
+ # of where the password is going (the nick above).
+ forwardmsg="NOTICE $nick :*** Forwarding PASS to $nickrequired"
+
+ # cmd: Command for the nick to run when it recieves a connect
+ # password.
+ cmd="PRIVMSG $nickrequired :IDENTIFY $pass">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Password hash module: Allows hashed passwords to be used.
+# To be useful, a hashing module like m_sha256.so also needs to be loaded.
+#
#<module name="m_password_hash.so">
#
-#-#-#-#-#-#-#-#-#-#-# OPER HASH CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
+#-#-#-#-#-#-#-#-#-# PASSWORD HASH CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#
#
# To use this module, you must define a hash type for each oper's
# password you want to hash. For example:
# <oper name="Brain"
# host="ident@dialup15.isp.com"
# hash="sha256"
-# password="a41d730937a53b79f788c0ab13e9e1d5"
+# password="01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"
# type="NetAdmin">
#
-# The types of hashing available vary depending on which hashing modules
-# you load, but usually if you load m_sha256.so and m_md5.so, both md5
-# and sha256 type hashing will be available (the most secure of which
-# is SHA256).
+# Starting from 2.0, you can use a more secure salted hash that prevents simply
+# looking up the hash's value in a rainbow table built for the hash.
+# hash="hmac-sha256" password="lkS1Nbtp$CyLd/WPQXizsbxFUTqFRoMvaC+zhOULEeZaQkUJj+Gg"
+#
+# Generate hashes using the /MKPASSWD command on the server. Don't run it on a
+# server you don't trust with your password.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Permanent Channels module: Channels with the permanent channels mode
# 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">
+#<permchanneldb filename="data/permchannels.conf">
+#<include file="data/permchannels.conf">
#
# You may also create channels on startup by using the <permchannels> block.
-#<permchannels channel="#opers" modes="is" topic="Opers only.">
+# Don't forget to set them +P in the modes, or they won't stay permanent.
+#<permchannels channel="#opers" modes="isP" topic="Opers only.">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# PostgreSQL module: Allows other SQL modules to access PgSQL databases
# m_pgsql.so is more complex than described here, see the wiki for #
# more: http://wiki.inspircd.org/Modules/pgsql #
#
-#<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database" ssl="no">
+#<database module="pgsql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database" ssl="no">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Muteban: Implements extended ban m:, which stops anyone matching
# use glob. For this reason, is recommended to use a real regex engine
# so that at least \s or [[:space:]] is available.
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# JSON-RPC module: Encode and decode JSON-RPC requests for modules
-#<module name="m_rpc_json.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# RPC test module: A test of the RPC API
-#<module name="m_rpctest.so">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAJOIN module: Adds the /SAJOIN command
# This module is oper-only.
# You may also let SHUN affect opers (defaults to no).
#<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="yes" affectopers="no">
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# 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)
# your configuration file! #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Strip colour module: Adds the channel mode +S
+# Strip color module: Adds the channel mode +S
#<module name="m_stripcolor.so">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# m_sqlite.so is more complex than described here, see the wiki for #
# more: http://wiki.inspircd.org/Modules/sqlite3 #
#
-#<database hostname="/full/path/to/database.db" id="anytext">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SQLutils module: Provides some utilities to SQL client modules, such
-# as mapping queries to users and channels. You must copy the source
-# for this module from the directory src/modules/extra/m_sqlutils.cpp
-# and src/modules/extra/m_sqlutils.h into /src/modules
-# Needed for, and loaded before: SQLauth and SQLoper
-# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_sqlutils.cpp
-# and run make install, then uncomment this module to enable it.
-#
-#<module name="m_sqlutils.so">
+#<database module="sqlite" hostname="/full/path/to/database.db" id="anytext">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQL authentication module: Allows IRCd connections to be tied into
# m_sqlauth.so is too complex it describe here, see the wiki: #
# http://wiki.inspircd.org/Modules/sqlauth #
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SQL logging module: Allows you to log network-wide data for your
-# network in a fully normalised set of SQL tables. You must copy the
-# source for this module from the directory src/modules/extra
-# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_sqllog.cpp
-# and run make install, then uncomment this module to enable it.
-#
-#<module name="m_sqllog.so">
-#
-#-#-#-#-#-#-#-#-#-#-#- SQLLOG CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
-# #
-# dbid - Database ID to use (see m_sql) #
-# #
-# See also: http://wiki.inspircd.org/Modules/sqllog #
-# #
-#<sqllog dbid="1">
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SQL oper module: Allows you to store oper credentials in an SQL table
# You must copy the source for this module from the directory src/modules/extra
# be a lot less bans to apply - as most of them will already be there.
#<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.
-#
-
-
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# ____ _ _____ _ _ ____ _ _ _ #
# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | #
# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) #
# #
# To link servers to InspIRCd, you MUST load the m_spanningtree #
-# module. Since several features (like SSL server links) rely on #
-# other modules being loaded before m_spanningtree, the module itself #
-# is at the bottom of this file. DO NOT forget to load it. If you DO #
-# NOT do this, server links will NOT work at all. ie. The ports will #
-# NOT bind, and /connect will not work properly. This is by design, #
-# to allow for the implementation of other linking protocols in #
-# modules in the future. #
+# module. If you don't do this, server links will NOT work at all. #
+# This is by design, to allow for the implementation of other linking #
+# protocols in modules in the future. #
# #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#