]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/inspircd.conf.example
Document m_antibear, m_safelist
[user/henk/code/inspircd.git] / docs / inspircd.conf.example
index cf223feac29341a08dbc4176bb72de28ae7c2bb4..659cb4313a061d6b8e250ecd4e41bf68c1b529ed 100644 (file)
 #   something new or different to this version and you SHOULD READ IT. #
 #                                                                      #
 ########################################################################
-
+#                                                                      #
+#         Unalphabeticalise the modules list at your own risk          #
+#                                                                      #
+########################################################################
 
 
 #-#-#-#-#-#-#-#-#-#-#-#-  SERVER DESCRIPTION  -#-#-#-#-#-#-#-#-#-#-#-#-
 #                                                                     #
 #   Enter the port and address bindings here.                         #
 #                                                                     #
-#  bind address - specifies which the address which ports bind        #
-#  port         - opens an unused port                                #
+#  bind address - specifies which the address which ports bind.       #
+#                 may be a hostname or an IP address. Resolution of   #
+#                 hostnames may block for up to one second per IP     #
+#                 as port binding occurs before the socket engine is  #
+#                 initialized and therefore nonblocking DNS is not    #
+#                 available at this point until startup is complete.  #
+#  port         - The port number to bind to                          #
 #  type         - can be 'clients' or 'servers'. The clients type is  #
 #                 a standard tcp based socket, the servers type is a  #
 #                 also a TCP based connection but of a different      #
 #                                                                     #
 #  Syntax is as follows:                                              #
 #                                                                     #
-# <bind address="ip number" port="port" type="clients">               #
-# <bind address="ip number" port="port" type="servers">               #
+# <bind address="ip or host" port="port" type="clients">              #
+# <bind address="ip or host" port="port" type="servers">              #
 #                                                                     #
 
 <bind address="" port="6660" type="clients">
 #                                                                     #
 #   You should also include a flood="x" line which indicates          #
 #   the number of lines a user may place into their buffer at once    #
-#   before they are disconnected for excess flood. The default is to  #
-#   DISABLE this feature. A recommended value is 10. A counter is     #
-#   maintained for each user which is reset every 'threshold' seconds #
-#   and specifying this threshold value with threshold="X" indicates  #
-#   how often the counter is reset. For example, with flood="5" and   #
-#   threshold="8", the user may not send more than 5 lines in 8 secs. #
+#   before they are disconnected for excess flood. This feature can   #
+#   not be disabled, however it can be set to exremely high values,   #
+#   rendering it effectively disabled. A recommended value is 10.     #
+#   A counter is maintained for each user which is reset every        #
+#   'threshold' seconds and specifying this threshold value with      #
+#   threshold="X" indicates how often the counter is reset. For       #
+#   example, with flood="5" and threshold="8", the user may not send  #
+#   more than 5 lines in 8 secs.                                      #
 #                                                                     #
 #   You may optionally specify the sendq size and ping frequency of   #
 #   each connect:allow line using the pingfreq="X" and sendq="X"      #
 #   that of the user... Just to clear up any confusion or complaints  #
 #   that these are backwards :p                                       #
 #                                                                     #
-#   The maxlocal and maxglobal values can be used to enforce local    #
+#   The localmax and globalmax values can be used to enforce local    #
 #   and global session limits on connections. The session limits are  #
 #   counted against all users, but applied only to users within the   #
 #   class. For example, if you had a class 'A' which has a session    #
 #                                                                     #
 
 <connect allow="196.12.*"  password="secret">
-<connect allow="*" timeout="60" flood="10" threshold="60" pingfreq="120" sendq="262144" recvq="4096" maxlocal="3" maxglobal="3">
+<connect allow="*" timeout="60" flood="10" threshold="60" pingfreq="120" sendq="262144" recvq="4096" localmax="3" globalmax="3">
 
 <connect deny="69.254.*">
 
 #              are modules that allow for oper password encryption.   #      
 #                                                                     #
 #  host      - host of client allowed to oper-up.                     #
-#              wildcards accepted                                     #
+#              wildcards accepted, seperate multiple hosts with space #
 #                                                                     #
 #  type      - specified above, defines the kind of operator          #
 #                                                                     #
 
 <oper   name="katsklaw"
         password="s3cret"
-        host="*@*"
+        host="ident@dialup15.isp.com *@localhost *@server.com"
         type="NetAdmin">
 
 
 #   files.                                                            #
 #                                                                     #
 
-<files  motd="/home/cc/inspircd/conf/inspire.motd"
-        rules="/home/cc/inspircd/conf/inspire.rules">
+<files  motd="/home/cc/inspircd/conf/inspircd.motd"
+        rules="/home/cc/inspircd/conf/inspircd.rules">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
-# Define your DNS server address here. InspIRCd has its own resolver  #
-# and you must define this otherwise nobody's host will resolve. The  #
-# timeout value is in seconds.                                        #
+# Define your DNS server address here. InspIRCd has its own resolver. #
+# If you do not define this value, the first dns server from your     #
+# /etc/resolv.conf file is read. If no entries are found in this file #
+# or the file cannot be opened, the default value '127.0.0.1' is used #
+# instead. The timeout value is in seconds.                           #
 #                                                                     #
 #    ____                _   _____ _     _       ____  _ _   _        #
 #   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
 #                  instead of the server names in the quit message,   #
 #                  identical to the way IRCu displays them.           #
 #                                                                     #
+#  hidebans      - When set to 'yes', will hide gline, kline, zline   #
+#                  and qline quit messages from non-opers. For        #
+#                  example, user A who is not an oper will just see   #
+#                  (G-Lined) while user B who is an oper will see the #
+#                  text (G-Lined: Reason here) instead.               #
+#                                                                     #
 #  hidewhois     - When defined with a non-empty value, the given     #
 #                  text will be used in place of the user's server    #
 #                  in WHOIS, when a user is WHOISed by a non-oper.    #
 #                  opers. Please be aware that this will also hide    #
 #                  any leaf servers of a U-lined server, e.g. jupes.  #
 #                                                                     #
+#  tempdir       - If defined, indicates a path where modules will be #
+#                  temporarily copied before loading. If not defined, #
+#                  defaults to /tmp.                                  #
+#                                                                     #
 
 <options prefixquit="Quit: "
          loglevel="default"
          customversion=""
          maxtargets="20"
         hidesplits="no"
+        hidebans="no"
         hidewhois=""
         flatlinks="no"
         hideulines="no"
 #                                                                     #
 # text        -      The text to detect at the start of the line,     #
 #                    must be at the start of the line to trigger the  #
-#                    alias. May contain spaces, but case insensitive. #
+#                    alias. Cant contain spaces, but case insensitive #
 # replace     -      The text to replace 'text' with. Usually this    #
 #                    will be "PRIVMSG ServiceName" or similar.        #
 # requires    -      If you provide a value for 'requires' this means #
 #<alias text="NS" replace="PRIVMSG NickServ" requires="NickServ" uline="yes">
 #<alias text="CS" replace="PRIVMSG ChanServ" requires="ChanServ" uline="yes">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# 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.txt">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Antibottler module: Labels bottler leech bots
 #<module name="m_antibottler.so">
 # Ban except module: Adds support for channel ban exceptions (+e)
 #<module name="m_banexception.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Block amsg module: Attempt to block all usage of /amsg and /ame
+#<module name="m_blockamsg.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-  BLOCKAMSG CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# If you have the m_blockamsg.so module loaded, you can configure it  #
+# with the <blockamsg> tag:                                           #
+#                                                                     #
+# delay          -   How many seconds between two messages to force   #
+#                    them to be recognised as unrelated.              #
+# action         -   Any of 'notice', 'noticeopers', 'silent', 'kill' #
+#                    or 'killopers'. Define how to take action when   #
+#                    a user uses /amsg or /ame.                       #
+#
+#<blockamsg delay="3" action="killopers">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Block CAPS module: Blocking all-CAPS messages with cmode +P
+#<module name="m_blockcaps.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Block colour module: Blocking colour-coded messages with cmode +c
 #<module name="m_blockcolor.so">
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Cloaking module: Adds usermode +x and cloaking support
 #<module name="m_cloaking.so">
+#
+#-#-#-#-#-#-#-#-#-#-#- CLOAKING  CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# Optional - If ypu 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.                        #
+#                                                                     #
+# <cloak key1="-543241423"                                            #
+#        key2="5378410432"                                            #
+#        key3="1143242382"                                            #
+#        key4="9504324581"                                            #
+#        prefix="mynet">                                              #
+#                                                                     #
+# Please note that the key values will accept any number, positive    #
+# or negative, and should be large numbers. Using small numbers such  #
+# as "7" or "1924" will seriously weaken the security of your cloak.  #
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Conn-Lusers: Shows the LUSERS output on connect
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Conn-Wait-for-Pong: Don't let a user connect until they PONG
 #<module name="m_conn_waitpong.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-   WAITPONG CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# If you have the m_conn_waitpong.so module loaded, configure it with #
+# the <waitpong> tag:                                                 #
+#                                                                     #
+# sendsnotice    -   Whether to send a snotice on connect, like Unreal#
+# killonbadreply -   Whether to kill the user if they send the wrong  #
+#                    PONG reply.                                      #
+#
+#<waitpong sendsnotice="yes" killonbadreply="yes">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Deny Channels: Deny Channels from being used by users
 #
 #<opermotd file="/path/to/oper.motd">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Oper WHO module: Provides a more revealing /WHO to opers
+#<module name="m_operwho.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Override module: Adds support for oper override
 #<module name="m_override.so">
 # Restrict message module: Allows users to only message opers
 #<module name="m_restrictmsg.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Provide /LIST throttling (to prevent flooding) and /LIST safety to
+# prevent excess flood when the list is large.
+#<module name="m_safelist.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # SAJOIN module: Adds the /SAJOIN command
 #<module name="m_sajoin.so">
 # SAQUIT module: Adds the oper /SAQUIT command (abusable!!!)
 #<module name="m_saquit.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
+# Secure list module: Prevent /LIST in the first minute of connection,
+# crippling most spambots and trojan spreader bots.
+#<module name="m_securelist.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Set Idle module: Adds a command for opers to change their
 # idle time (mainly a toy)
 # Timed bans module: Adds timed bans and the /TBAN command
 #<module name="m_timedbans.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Uninvite module: Adds the /UNINVITE command which lets users remove
+# pending invites from channels without waiting for the user to join.
+#<module name="m_uninvite.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Userip module: Adds the /USERIP command
 #<module name="m_userip.so">