]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - conf/modules.conf.example
Hold reference to the associated ConfigTag inside ConnectClass
[user/henk/code/inspircd.git] / conf / modules.conf.example
index 0809c44225260ca903a5fc5f57d6b2be53021e10..9be66715943606b8db1449875993b35787408968 100644 (file)
 #<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.
 # 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  #-#-#-#-#-#-#-#-#-#-#-#-#
 # 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.
 # 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.
 #