# to this bind section.
type="clients"
- # ssl: If you want the port(s) in this bind tag to use SSL, set this
- # to either "gnutls" or "openssl". The appropriate SSL module must be
- # loaded for SSL to work. If you do not want the port(s) in this bind
- # tag to support SSL, just remove or comment out this option.
+ # ssl: If you want the port(s) in this bind tag to use SSL, set this to
+ # the name of a custom <sslprofile> tag that you have defined or one
+ # of "openssl", "gnutls", "mbedtls" if you have not defined any. See the
- # wiki page for the SSL module you are using for more details.
++ # docs page for the SSL module you are using for more details.
+ #
+ # You will need to load the ssl_openssl module for OpenSSL, ssl_gnutls
+ # for GnuTLS and ssl_mbedtls for mbedTLS.
ssl="gnutls"
+
+ # defer: When this is non-zero, connections will not be handed over to
+ # the daemon from the operating system before data is ready.
+ # In Linux, the value indicates the time period we'll wait for a
+ # connection to come up with data. Don't set it too low!
+ # In BSD the value is ignored; only zero and non-zero is possible.
+ # Windows ignores this parameter completely.
+ # Note: This does not take effect on rehash.
+ # To change it on a running bind, you'll have to comment it out,
+ # rehash, comment it in and rehash again.
+ defer="0"
+
+ # free: When this is enabled the listener will be created regardless of
+ # whether the interface that provides the bind address is available. This
+ # is useful for if you are starting InspIRCd on boot when the server may
+ # not have brought the network interfaces up yet.
+ free="no"
>
<bind address="" port="6660-6669" type="clients">
-# When linking servers, the OpenSSL and GnuTLS implementations are completely
-# link-compatible and can be used alongside each other
-# on each end of the link without any significant issues.
-# Supported SSL types are: "openssl" and "gnutls".
-# You must load m_ssl_openssl for OpenSSL or m_ssl_gnutls for GnuTLS.
+# Listener accepting HTML5 WebSocket connections.
+# Requires the websocket module and SHA-1 hashing support (provided by the sha1
+# module).
+#<bind address="" port="7002" type="clients" hook="websocket">
-<bind address="" port="7000,7001" type="servers">
-<bind address="1.2.3.4" port="7005" type="servers" ssl="openssl">
+# EXPERIMENTAL: Listener that binds on a UNIX endpoint instead of a TCP/IP endpoint:
+#<bind path="/tmp/inspircd.sock" type="clients">
- # for this listener. See the wiki page for the SSL module you are using for
+# You can define a custom <sslprofile> tag which defines the SSL configuration
++# for this listener. See the docs page for the SSL module you are using for
+# more details.
+#
+# Alternatively, you can use one of the default SSL profiles which are created
+# when you have not defined any:
+# "openssl" (requires the ssl_openssl module)
+# "gnutls" (requires the ssl_gnutls module)
+# "mbedtls" (requires the ssl_mbedtls module)
+#
+# When linking servers, the OpenSSL, GnuTLS, and mbedTLS implementations are
+# completely link-compatible and can be used alongside each other on each end
+# of the link without any significant issues.
-#-#-#-#-#-#-#-#-#-#- DIE/RESTART CONFIGURATION -#-#-#-#-#-#-#-#-#-#-
-# #
-# You can configure the passwords here which you wish to use for #
-# the /DIE and /RESTART commands. Only trusted ircops who will #
-# need this ability should know the die and restart password. #
-# #
-
-<power
- # hash: what hash these passwords are hashed with.
- # Requires the module for selected hash (m_md5.so, m_sha256.so
- # or m_ripemd160.so) be loaded and the password hashing module
- # (m_password_hash.so) loaded.
- # Options here are: "md5", "sha256" and "ripemd160", or one of
- # these prefixed with "hmac-", e.g.: "hmac-sha256".
- # Optional, but recommended. Create hashed passwords with:
- # /mkpasswd <hash> <password>
- #hash="sha256"
-
- # diepass: Password for opers to use if they need to shutdown (die)
- # a server.
- #
- # IMPORTANT: leaving this field empty does not disable the use of
- # the DIE command. In order to prevent the use of this command you
- # should remove it from the command privileges of your opers.
- diepass=""
-
- # restartpass: Password for opers to use if they need to restart
- # a server.
- #
- # IMPORTANT: leaving this field empty does not disable the use of
- # the RESTART command. In order to prevent the use of this command
- # you should remove it from the command privileges of your opers.
- restartpass="">
+<bind address="" port="7000,7001" type="servers">
+<bind address="1.2.3.4" port="7005" type="servers" ssl="openssl">
#-#-#-#-#-#-#-#-#-#- CONNECTIONS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# timeout: If defined, this option defines how long the server
# will wait to consider the connect attempt failed and try the
# failover (see above).
- timeout="300"
+ timeout="5m"
- # ssl: If defined, this states the SSL module that will be used when
- # making an outbound connection to the server. Options are: "openssl"
- # and "gnutls" (they are compatible with each other).
+ # ssl: If defined, this states the SSL profile that will be used when
+ # making an outbound connection to the server. Options are the name of an
+ # <sslprofile> tag that you have defined or one of "openssl", "gnutls",
- # "mbedtls" if you have not defined any. See the wiki page for the SSL
++ # "mbedtls" if you have not defined any. See the docs page for the SSL
+ # module you are using for more details.
#
- # You will need to load the m_ssl_openssl.so module for OpenSSL,
- # m_ssl_gnutls.so for GnuTLS. The server port that you connect to
- # must be capable of accepting this type of connection.
+ # You will need to load the ssl_openssl module for OpenSSL, ssl_gnutls
+ # for GnuTLS and ssl_mbedtls for mbedTLS. The server port that you
+ # connect to must be capable of accepting this type of connection.
ssl="gnutls"
# fingerprint: If defined, this option will force servers to be
- # authenticated using SSL Fingerprints. See http://docs.inspircd.org/2/modules/spanningtree
- # for more information. This will require an SSL link for both inbound
- # and outbound connections.
+ # authenticated using SSL certificate fingerprints. See
- # https://wiki.inspircd.org/SSL for more information. This will
- # require an SSL link for both inbound and outbound connections.
++ # https://docs.inspircd.org/3/modules/spanningtree for more information.
++ # This will require an SSL link for both inbound and outbound connections.
#fingerprint=""
# bind: Local IP address to bind to.
# #
# By default, ALL modules are commented out. You must uncomment them #
# or add lines to your config to load modules. Please refer to #
- # https://wiki.inspircd.org/3.0/Modules for a list of modules and #
-# https://docs.inspircd.org/2/modules for a list of modules and #
++# https://docs.inspircd.org/3/modules for a list of modules and #
# each modules link for any additional conf tags they require. #
# #
# ____ _ _____ _ _ ____ _ _ _ #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# DNS blacklist module: Provides support for looking up IPs on one or #
# more blacklists. #
-#<module name="m_dnsbl.so"> #
+#<module name="dnsbl">
# #
- # For configuration options please see the wiki page for dnsbl at #
- # https://wiki.inspircd.org/Modules/3.0/dnsbl #
-# For configuration options please see the docs page for m_dnsbl at #
-# https://docs.inspircd.org/2/modules/dnsbl #
++# For configuration options please see the docs page for dnsbl at #
++# https://docs.inspircd.org/3/modules/dnsbl #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Exempt channel operators module: Provides support for allowing #
#
#-#-#-#-#-#-#-#-#-#-#- HOSTCHANGE CONFIGURATION -#-#-#-#-#-#-#-#-#-#
# #
- # See https://wiki.inspircd.org/Modules/3.0/hostchange for help. #
-# See https://docs.inspircd.org/2/modules/hostchange for help. #
++# See https://docs.inspircd.org/3/modules/hostchange for help. #
# #
-#<host suffix="invalid.org" separator="." prefix="">
-#<hostchange mask="*@42.theanswer.example.org" action="addnick">
-#<hostchange mask="*root@*" action="suffix">
+#<hostchange mask="*@42.theanswer.example.org" action="addaccount" suffix=".users.example.com">
+#<hostchange mask="*root@*" action="addnick" prefix="example/users/">
#<hostchange mask="a@example.com" action="set" value="foo.bar.baz">
-#<hostchange mask="localhost" ports="7000,7001,7005-7007" action="set" value="blahblah.foo">
+#<hostchange mask="*@localhost" ports="7000,7001,7005-7007" action="set" value="blahblah.foo">
+
+# hostcycle: If loaded, when a user gets a host or ident set, it will
+# cycle them in all their channels. If not loaded it will simply change
+# their host/ident without cycling them.
+# This module is compatible with the ircv3_chghost module. Clients
+# supporting the chghost extension will get the chghost message instead
+# of seeing a host cycle.
+#<module name="hostcycle">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# httpd module: Provides HTTP server support for InspIRCd.
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
- # mysql is more complex than described here, see the wiki for more #
- # info: https://wiki.inspircd.org/Modules/3.0/mysql #
-# m_mysql.so is more complex than described here, see the docs for #
-# more: https://docs.inspircd.org/2/modules/mysql #
++# mysql is more complex than described here, see the docs for more #
++# info: https://docs.inspircd.org/3/modules/mysql #
#
#<database module="mysql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database2">
#
#-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
# #
-# m_override.so is too complex it describe here, see the docs: #
-# https://docs.inspircd.org/2/modules/override #
+# Much of override's configuration relates to your oper blocks. #
+# For more information on how to allow opers to override, see: #
- # https://wiki.inspircd.org/Modules/3.0/override #
++# https://docs.inspircd.org/3/modules/override #
+# #
+# noisy - If enabled, all oper overrides will be announced #
+# via channel notice. #
+# #
+# requirekey - If enabled, overriding on join requires a channel #
+# key of "override" to be specified. #
+# #
+# enableumode - If enabled, user mode +O is required for override. #
+# #
+#<override noisy="yes" requirekey="no" enableumode="true">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper levels module: Gives each oper a level and prevents actions
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
- # pgsql is more complex than described here, see the wiki for #
- # more: https://wiki.inspircd.org/Modules/3.0/pgsql #
-# m_pgsql.so is more complex than described here, see the docs for #
-# more: https://docs.inspircd.org/2/modules/pgsql #
++# pgsql is more complex than described here, see the docs for #
++# more: https://docs.inspircd.org/3/modules/pgsql #
#
#<database module="pgsql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database" ssl="no">
#
#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
- # ssl_gnutls is too complex to describe here, see the wiki: #
- # https://wiki.inspircd.org/Modules/3.0/ssl_gnutls #
-# m_ssl_gnutls.so is too complex to describe here, see the docs: #
-# https://docs.inspircd.org/2/modules/ssl_gnutls #
++# ssl_gnutls is too complex to describe here, see the docs: #
++# https://docs.inspircd.org/3/modules/ssl_gnutls #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SSL info module: Allows users to retrieve information about other
#
#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
- # ssl_openssl is too complex to describe here, see the wiki: #
- # https://wiki.inspircd.org/Modules/3.0/ssl_openssl #
-# m_ssl_openssl.so is too complex to describe here, see the docs: #
-# https://docs.inspircd.org/2/modules/ssl_openssl #
++# ssl_openssl is too complex to describe here, see the docs: #
++# https://docs.inspircd.org/3/modules/ssl_openssl #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Strip color module: Adds channel mode +S that strips mIRC color
-# codes from all messages sent to the channel.
-#<module name="m_stripcolor.so">
+# Strip color module: Adds channel mode +S that strips color codes and
+# all control codes except CTCP from all messages sent to the channel.
+#<module name="stripcolor">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Silence module: Adds support for the /SILENCE command, which allows
#
#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
# #
- # sqlite is more complex than described here, see the wiki for more #
- # info: https://wiki.inspircd.org/Modules/3.0/sqlite3 #
-# m_sqlite.so is more complex than described here, see the docs for #
-# more: https://docs.inspircd.org/2/modules/sqlite3 #
++# sqlite is more complex than described here, see the docs for more #
++# info: https://docs.inspircd.org/3/modules/sqlite3 #
#
#<database module="sqlite" hostname="/full/path/to/database.db" id="anytext">
#
#-#-#-#-#-#-#-#-#-#-#- SQLAUTH CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
- # sqlauth is too complex to describe here, see the wiki: #
- # https://wiki.inspircd.org/Modules/3.0/sqlauth #
-# m_sqlauth.so is too complex to describe here, see the docs: #
-# https://docs.inspircd.org/2/modules/sqlauth #
++# sqlauth is too complex to describe here, see the docs: #
++# https://docs.inspircd.org/3/modules/sqlauth #
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SQL oper module: Allows you to store oper credentials in an SQL table
+# SQL oper module: Allows you to store oper credentials in an SQL
+# table. You can add additional table columns like you would config
+# tags in opers.conf. Opers in opers.conf will override opers from
+# this module.
#
-#<module name="m_sqloper.so">
+#<module name="sqloper">
#
#-#-#-#-#-#-#-#-#-#-#- SQLOPER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
# #
# dbid - Database ID to use (see SQL modules). #
-# hash - Hashing provider to use for password hashing. #
# #
- # See also: https://wiki.inspircd.org/Modules/3.0/sqloper #
-# See also: https://docs.inspircd.org/2/modules/sqloper #
++# See also: https://docs.inspircd.org/3/modules/sqloper #
# #
-#<sqloper dbid="1" hash="md5">
+#<sqloper dbid="1">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# StartTLS module: Implements STARTTLS, which allows clients #
+# connected to non SSL enabled ports to enable SSL, if a proper SSL #
+# module is loaded (either ssl_gnutls or ssl_openssl). #
+#<module name="starttls">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# SVSHold module: Implements SVSHOLD. Like Q:Lines, but can only be #
+# SVSHold module: Implements SVSHOLD. Like Q-lines, but can only be #
# added/removed by Services. #
-#<module name="m_svshold.so">
-# If silent is true no snotices will be generated by SVSHOLD.
+#<module name="svshold">
+# SVSHOLD does not generate server notices by default, you can turn
+# notices on by uncommenting the next line.
#<svshold silent="false">
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#