]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - docs/inspircd.conf.example
Support port binding here
[user/henk/code/inspircd.git] / docs / inspircd.conf.example
index bac34bd574b8eebad14fb0e4be0823d1ab6212e1..7d04c6bb8afea0212e24a5eeef3d4adee63e0849 100644 (file)
 #         This is an example of the config file for InspIRCd.          #
 #             Change the options to suit your network                  #
 #                                                                      #
-#                 Last updated on : 04/09/2006                         #
-#                 Written by      : CC  (cc@backchat.co.za)            #
-#                 Updated by      : katsklaw (katsklaw@gmail.com)      #
-#                 Updated by      : brain (brain@inspircd.org)         #
+#                Last updated on : 03 Feb 2007                         #
 #                                                                      #
 #    ____                _   _____ _     _       ____  _ _   _         #
 #   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |        #
@@ -61,8 +58,8 @@
 
 #-#-#-#-#-#-#-#-#-#-#-#-   ADMIN INFORMATION   -#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
-#   Describes the Server Administrator's real name, nick              #
-#   and email address.                                                #
+#   Describes the Server Administrator's real name (optionally),      #
+#   nick, and email address.                                          #
 #                                                                     #
 #  Syntax is as follows:                                              #
 #       <admin name="real name"                                       #
 # <bind address="ip address" port="port" type="servers">              #
 #                                                                     #
 # If InspIRCd is built for IPV6, and you wish to accept IPV4 clients, #
-# then you must specify your IPV6 clients in the following form:      #
-# ::ffff:1.2.3.4, where 1.2.3.4 is the IPV4 address to bind the       #
-# port on. If InspIRCd is built  for IPV4 connections (this is the    #
-# default) then you do not need to prefix your addresses like this.   #
+# then you can specify IPV4 ip addresses here to bind. You may also   #
+# use the 4in6 notation, ::ffff:1.2.3.4, where 1.2.3.4 is the IPV4    #
+# address to bind the port, but as of InspIRCd 1.1.1, this is not     #
+# required.                                                           #
+#                                                                     #
+# ------------------------------------------------------------------- #
+#                                                                     #
+# PLEASE NOTE: If you have build InspIRCd as an ipv6 server, and you  #
+# specify an empty bind address, the binding will be bound to ALL THE #
+# IPV6 IP ADDRESSES, and not the ipv4 addresses. If you are using an  #
+# ipv6 enabled InspIRCd and want to bind to multiple IPV4 addresses   #
+# in this way, you must specify them by hand. If you have built the   #
+# server for ipv4 connections only, then specifying an empty bind     #
+# address binds the port to all ipv4 IP addresses, as expected.       #
 #                                                                     #
 
 <bind address="" port="6000" 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. This feature can   #
-#   not be disabled, however it can be set to exremely high values,   #
+#   not be disabled, however it can be set to extremely 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      #
 #   The optional recvq value is the maximum size which users in this  #
 #   group may grow their receive queue to. This is recommended to be  #
 #   kept pretty low compared to the sendq, as users will always       #
-#   recieve more than they send in normal circumstances. The default  #
+#   receive more than they send in normal circumstances. The default  #
 #   if not specified is 4096.                                         #
 #                                                                     #
 #   IMPORTANT NOTE, CALL THE CONFUSION POLICE!                        #
 #               what commands. Class names are case sensitive,        #
 #               seperate multiple class names with spaces.            #
 #                                                                     #
-#  host       - optional hostmask operators will recieve on oper-up.  #
+#  host       - optional hostmask operators will receive on oper-up.  #
 #                                                                     #
 #  Syntax is as follows:                                              #
 #                                                                     #
 #                is not loaded, this configuration option has no      #
 #                effect and will be ignored.                          #
 #                                                                     #
-#  type        - Sefines the kind of operator. This must match a type #
+#  type        - Defines the kind of operator. This must match a type #
 #                tag you defined above, and is case sensitive.        #
 #                                                                     #
 #  Syntax is as follows:                                              #
 #             type="oper type">                                       #
 #                                                                     #
 
-<oper   name="katsklaw"
+<oper   name="Brain"
         password="s3cret"
         host="ident@dialup15.isp.com *@localhost *@server.com *@3ffe::0/16"
-       fingerprint="a41d730937a53b79f788c0ab13e9e1d5"
         type="NetAdmin">
 
 
 # that server to operoverride modes. This should only be used for     #
 # services and protected oper servers!                                #
 #                                                                     #
-# NOTE: If you have built InspIRCd with IPV6 support, and you want    #
-# to link to an IPV4 server, you must specify the IP address in the   #
-# form '::ffff:1.2.3.4' where 1.2.3.4 is the IP address of the target #
-# server. If you have built InspIRCd for IPV4 (this is the default)   #
-# you should not prefix your IP addresses in this fashion.            #
+# ------------------------------------------------------------------- #
+#                                                                     #
+# NOTE: If you have built your server as an ipv6 server, then when a  #
+# DNS lookup of a server's host occurs, AAAA records (ipv6) are       #
+# priorotized over A records (ipv4). Therefore, if the server you are #
+# connecting to has both an IPV6 ip address and an IPV4 ip address in #
+# its DNS entry, the IPV6 address will *always* be selected. To       #
+# change this behaviour simply specify the IPV4 IP address rather     #
+# than the hostname of the server.                                    #
+#                                                                     #
+# ------------------------------------------------------------------- #
 #                                                                     #
 #    ____                _   _____ _     _       ____  _ _   _        #
 #   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
 <link name="hub.penguin.org"
         ipaddr="penguin.box.com"
         port="7000"
-       allowmask="69.58.44.0/24"
+        allowmask="69.58.44.0/24"
         autoconnect="300"
-       failover="hub.other.net"
-       timeout="15"
-       transport="gnutls"
+        failover="hub.other.net"
+        timeout="15"
+        transport="gnutls"
         sendpass="outgoing!password"
         recvpass="incoming!password">
 
 <link name="services.antarctic.com"
         ipaddr="localhost"
         port="7000"
-       allowmask="127.0.0.0/8"
+        allowmask="127.0.0.0/8"
         sendpass="penguins"
         recvpass="polarbears">
 
 # resolving even though the DNS server appears to be up! Most ISP and #
 # hosting provider DNS servers support recursive lookups.             #
 #                                                                     #
-# NOTE: If you have built InspIRCd with IPV6 support, and you want    #
-# to use an IPV4 nameserver, you must specify the IP address in the   #
-# form '::ffff:1.2.3.4' where 1.2.3.4 is the IP address of the target #
-# server. If you have built InspIRCd for IPV4 (this is the default)   #
-# you should not prefix your IP addresses in this fashion.            #
+# ------------------------------------------------------------------- #
 #                                                                     #
-# IF YOUR RESOLV.CONF CONTAINS ONLY IPV4 ADDRESSES, AND YOU ARE USING #
-# IPV6, YOU MUST DEFINE THE <DNS SERVER> TAG, AND USE THE ::FFFF      #
-# PREFIX NOTATION. IF YOU DO NOT, HOSTS WILL *NOT* RESOLVE.           #
+# NOTE: if you have built InspIRCd with IPV6 support, then both       #
+# ipv6 and ipv4 addresses are allowed here, and also in the system    #
+# resolv.conf file. Remember that an ipv4 dns server can still        #
+# resolve ipv6 addresses, and vice versa.                             #
 #                                                                     #
 
 <dns server="127.0.0.1" timeout="5">
 
-# An example of using IPV4 nameservers over IPV6
-#<dns server="::ffff:127.0.0.1" timeout="5">
+# An example of using an IPV6 nameserver
+#<dns server="::1" timeout="5">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#  PID FILE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
 # Ban except module: Adds support for channel ban exceptions (+e)
 #<module name="m_banexception.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Ban redirection module: Allows bans which redirect to a specified
+# channel. e.g. +b nick!ident@host#channelbanneduserissentto
+#<module name="m_banredirect.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Block amsg module: Attempt to block all usage of /amsg and /ame
 #<module name="m_blockamsg.so">
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Block CAPS module: Blocking all-CAPS messages with cmode +P
 #<module name="m_blockcaps.so">
+#                                                                     #
+#-#-#-#-#-#-#-#-#-#-#-  BLOCKCAPS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# percent        - How many percent of text must be caps before text  #
+#                  will be blocked.                                   #
+#                                                                     #
+# minlen         - The minimum length a line must be for the block    #
+#                  percent to have any effect.                        #
+#                                                                     #
+#<blockcaps percent="95" minlen="5">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Block colour module: Blocking colour-coded messages with cmode +c
 #
 #-#-#-#-#-#-#-#-#-#-#- CLOAKING  CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
-# Optional - If ypu specify the m_cloaking.so module as above, you    #
+# 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.                        #
 #                                                                     #
-# <cloak key1="543241423"                                             #
-#        key2="5378410432"                                            #
-#        key3="1143242382"                                            #
-#        key4="9504324581"                                            #
+# <cloak key1="0x2AF39F40"                                            #
+#        key2="0x78E10B32"                                            #
+#        key3="0x4F2D2E82"                                            #
+#        key4="0x043A4C81"                                            #
 #        prefix="mynet">                                              #
 #                                                                     #
 # 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.                        #
+# 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.                                #
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Conn-Lusers: Shows the LUSERS output on connect
 # Devoice Module: Let users devoice themselves.
 #<module name="m_devoice.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# DNS Blacklist Module: Provides support for looking up IPs on one or #
+# more blacklists.                                                    #
+#<module name="m_dnsbl.so">                                           #
+#                                                                     #
+# For configuration options please see the wiki page for m_dnsbl at   #
+# http://inspircd.org/wiki/DNS_Blacklist_Module                       #
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Filter module: Provides glob-based message filtering
 #<module name="m_filter.so">
 # Knock module: adds the /KNOCK command and +K channel mode
 #<module name="m_knock.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Lock server module: Adds /LOCKSERV and /UNLOCKSERV commands that is #
+# used to temporarily close/open for new connections to the server.   #
+# 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 #
+# shell to open up again.
+#<module name="m_lockserv.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Msg flood module: Adds message/notice flood protection (+f)
 #<module name="m_messageflood.so">
 # To use this module, you must define a hash type for each oper's
 # password you want to hash. For example:
 #
-#     <oper name="katsklaw"
+#     <oper name="Brain"
 #           host="ident@dialup15.isp.com"
 #           hash="sha256"
 #           password="a41d730937a53b79f788c0ab13e9e1d5"
 # 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">
+#
+#-#-#-#-#-#-#-#-#-# SECURELIST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# Securelist can be harmful to some irc search engines such as        #
+# netsplit.de and searchirc.com. To prevent securelist blocking these #
+# sites from listing, define exception tags as shown below:           #
+<securelist exception="*@*.searchirc.org">
+<securelist exception="*@*.netsplit.de">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Set Idle module: Adds a command for opers to change their
 # features to silence based on invites, channel messages, etc.
 #<module name="m_silence_ext.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# SQLite3 module: Allows other SQL modules to access SQLite3          #
+# databases through a unified API. You must link the source for this  #
+# module from the directory src/modules/extra to src/modules, plus    #
+# the file m_sqlv2.h                                                  #
+#<module name="m_sqlite3.so">
+#
+#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# m_sqlite.so is more complex than described here, see the wiki for   #
+# more: http://www.inspircd.org/wiki/SQLite3_Service_Provider_Module  #
+#
+#<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
 
 <exception host="*@ircop.host.com" reason="Opers hostname">
 
+#-#-#-#-#-#-#-#-#-#-#- INSANE BAN OPTIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
+#                                                                     #
+# This optional tag allows you to specify how wide a gline, eline,    #
+# kline, zline or qline can be before it is forbidden from being      #
+# set. By setting hostmasks="yes", you can allow all G, K, E lines,   #
+# no matter how many users the ban would cover. This is not           #
+# recommended! By setting ipmasks="yes", you can allow all Z lines,   #
+# no matter how many users these cover too. Needless to say we        #
+# don't recommend you do this, or, set nickmasks="yes", which will    #
+# allow any qline.                                                    #
+#                                                                     #
+# The trigger value indicates how wide any mask will be before it is  #
+# prevented from being set. The default value is 95.5% if this tag is #
+# not defined in your configuration file, meaning that if your        #
+# network has 1000 users, a gline matching over 955 of them will be   #
+# prevented from being added.                                         #
+#                                                                     #
+# Please note that remote servers (and services) are exempt from      #
+# these restrictions and expected to enforce their own policies       #
+# locally!                                                            #
+#                                                                     #
+
+<insane hostmasks="no" ipmasks="no" nickmasks="no" trigger="95.5">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 #                                                                     #
 #   You should already know what to do here :)                        #