diff options
Diffstat (limited to 'docs/conf')
-rw-r--r-- | docs/conf/aliases/anope.conf.example | 27 | ||||
-rw-r--r-- | docs/conf/aliases/atheme.conf.example | 25 | ||||
-rw-r--r-- | docs/conf/aliases/ircservices.conf.example | 21 | ||||
-rw-r--r-- | docs/conf/aliases/neostats.conf.example | 35 | ||||
-rw-r--r-- | docs/conf/inspircd.censor.example | 14 | ||||
-rw-r--r-- | docs/conf/inspircd.conf.example | 963 | ||||
-rw-r--r-- | docs/conf/inspircd.filter.example | 59 | ||||
-rw-r--r-- | docs/conf/inspircd.helpop-full.example | 1060 | ||||
-rw-r--r-- | docs/conf/inspircd.helpop.example | 299 | ||||
-rw-r--r-- | docs/conf/inspircd.motd.example | 41 | ||||
-rw-r--r-- | docs/conf/inspircd.quotes.example | 203 | ||||
-rw-r--r-- | docs/conf/inspircd.rules.example | 3 | ||||
-rw-r--r-- | docs/conf/links.conf.example | 119 | ||||
-rw-r--r-- | docs/conf/modules.conf.example | 1809 | ||||
-rw-r--r-- | docs/conf/modules/modules.conf.charybdis | 329 | ||||
-rw-r--r-- | docs/conf/modules/modules.conf.unreal | 434 | ||||
-rw-r--r-- | docs/conf/opers.conf.example | 162 |
17 files changed, 5603 insertions, 0 deletions
diff --git a/docs/conf/aliases/anope.conf.example b/docs/conf/aliases/anope.conf.example new file mode 100644 index 000000000..406adc29a --- /dev/null +++ b/docs/conf/aliases/anope.conf.example @@ -0,0 +1,27 @@ +# Aliases for nickserv, chanserv, operserv, memoserv, hostserv, botserv +<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="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> +<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> +<alias text="BOTSERV" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes"> + +# Note: We can't have a shorthand version of this, it conflicts with HS for helpserv +<alias text="HELPSERV" replace="PRIVMSG HelpServ :$2-" requires="HelpServ" uline="yes"> + +# Shorthand aliases for nickserv, chanserv, operserv, memoserv, hostserv, botserv +<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="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> +<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> +<alias text="BS" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes"> + + +# /id [channel] <password> +# Identify for a channel or nickname +<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes"> +<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes"> +<alias text="IDENTIFY" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes"> +<alias text="IDENTIFY" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes"> + diff --git a/docs/conf/aliases/atheme.conf.example b/docs/conf/aliases/atheme.conf.example new file mode 100644 index 000000000..7a0bc015a --- /dev/null +++ b/docs/conf/aliases/atheme.conf.example @@ -0,0 +1,25 @@ +# Aliases for nickserv, chanserv, operserv, memoserv +<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="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> +<alias text="GAMESERV" replace="PRIVMSG GameServ :$2-" requires="GameServ" uline="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="ALIS" replace="PRIVMSG ALIS :$2-" requires="ALIS" uline="yes"> + +# Shorthand aliases for nickserv, chanserv, operserv, memoserv +<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="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> +<alias text="GS" replace="PRIVMSG GameServ :$2-" requires="GameServ" uline="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="LS" replace="PRIVMSG ALIS :$2-" requires="ALIS" uline="yes"> + +# /id [channel] <password> +# Identify for a channel or nickname +<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes"> +<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2-" requires="NickServ" uline="yes"> + diff --git a/docs/conf/aliases/ircservices.conf.example b/docs/conf/aliases/ircservices.conf.example new file mode 100644 index 000000000..a4c31dd05 --- /dev/null +++ b/docs/conf/aliases/ircservices.conf.example @@ -0,0 +1,21 @@ +# Aliases for nickserv, chanserv, operserv, memoserv, hostserv +<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="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> +<alias text="STATSERV" replace="PRIVMSG StatServ :$2-" requires="StatServ" uline="yes" operonly="yes"> +<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> + +# Shorthand aliases for nickserv, chanserv, operserv, memoserv, hostserv +<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="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> +<alias text="SS" replace="PRIVMSG StatServ :$2-" requires="StatServ" uline="yes" operonly="yes"> +<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> + +# /id [channel] <password> +# Identify for a channel or nickname +<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes"> +<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes"> + diff --git a/docs/conf/aliases/neostats.conf.example b/docs/conf/aliases/neostats.conf.example new file mode 100644 index 000000000..baa7fe0ba --- /dev/null +++ b/docs/conf/aliases/neostats.conf.example @@ -0,0 +1,35 @@ +# Aliases for BLSB, ConnectServ, FloodServ, NeoStats, Operlog, QuoteServ, SecureServ, SeenServ, TextServ, WarServ, YahtzeeServ, LogServ, opsb, GamesServ, ProfileServ & StupidServ +<alias text="BLSB" replace="PRIVMSG BLSB :$2-" requires="BLSB" uline="yes" operonly="yes"> +<alias text="CONNECTSERV" replace="PRIVMSG ConnectServ :$2-" requires="ConnectServ" uline="yes" operonly="yes"> +<alias text="FLOODSERV" replace="PRIVMSG FloodServ :$2-" requires="FloodServ" uline="yes" operonly="yes"> +<alias text="NEOSTATS" replace="PRIVMSG NeoStats :$2-" requires="NeoStats" uline="yes" operonly="yes"> +<alias text="OPERLOG" replace="PRIVMSG Operlog :$2-" requires="Operlog" uline="yes" operonly="yes"> +<alias text="QUOTESERV" replace="PRIVMSG QuoteServ :$2-" requires="QuoteServ" uline="yes" operonly="yes"> +<alias text="SECURESERV" replace="PRIVMSG SecureServ :$2-" requires="SecureServ" uline="yes" operonly="yes"> +<alias text="SEENSERV" replace="PRIVMSG SeenServ :$2-" requires="SeenServ" uline="yes" operonly="yes"> +<alias text="TEXTSERV" replace="PRIVMSG TextServ :$2-" requires="TextServ" uline="yes" operonly="yes"> +<alias text="WARSERV" replace="PRIVMSG WarServ :$2-" requires="WarServ" uline="yes"> +<alias text="YAHTZEESERV" replace="PRIVMSG YahtzeeServ :$2-" requires="YahtzeeServ" uline="yes" operonly="yes"> +<alias text="LOGSERV" replace="PRIVMSG LogServ :$2-" requires="LogServ" uline="yes" operonly="yes"> +<alias text="OPSB" replace="PRIVMSG opsb :$2-" requires="opsb" uline="yes" operonly="yes"> +<alias text="GAMESSERV" replace="PRIVMSG GamesServ :$2-" requires="GamesServ" uline="yes"> +<alias text="PROFILESERV" replace="PRIVMSG ProfileServ :$2-" requires="ProfileServ" uline="yes"> +<alias text="STUPIDSERV" replace="PRIVMSG StupidServ :$2-" requires="StupidServ" uline="yes"> + +# Shorthand aliases for FloodServ, Operlog, QuoteServ, TextServ, WarServ, YahtzeeServ, LogServ, GamesServ, ProfileServ, SecureServ, SeenServ, NeoStats, ConnectServ & StupidServ +<alias text="FS" replace="PRIVMSG FloodServ :$2-" requires="FloodServ" uline="yes" operonly="yes"> +<alias text="OL" replace="PRIVMSG Operlog :$2-" requires="Operlog" uline="yes" operonly="yes"> +<alias text="QS" replace="PRIVMSG QuoteServ :$2-" requires="QuoteServ" uline="yes" operonly="yes"> +<alias text="TS" replace="PRIVMSG TextServ :$2-" requires="TextServ" uline="yes" operonly="yes"> +<alias text="WS" replace="PRIVMSG WarServ :$2-" requires="WarServ" uline="yes"> +<alias text="YS" replace="PRIVMSG YahtzeeServ :$2-" requires="YahtzeeServ" uline="yes" operonly="yes"> +<alias text="LS" replace="PRIVMSG LogServ :$2-" requires="LogServ" uline="yes" operonly="yes"> +<alias text="GS" replace="PRIVMSG GamesServ :$2-" requires="GamesServ" uline="yes"> +<alias text="PS" replace="PRIVMSG ProfileServ :$2-" requires="ProfileServ" uline="yes"> + +<alias text="SECURE" replace="PRIVMSG SecureServ :$2-" requires="SecureServ" uline="yes" operonly="yes"> +<alias text="SEEN" replace="PRIVMSG SeenServ :$2-" requires="SeenServ" uline="yes" operonly="yes"> +<alias text="NEO" replace="PRIVMSG NeoStats :$2-" requires="NeoStats" uline="yes" operonly="yes"> +<alias text="CONN" replace="PRIVMSG ConnectServ :$2-" requires="ConnectServ" uline="yes" operonly="yes"> +<alias text="STUPID" replace="PRIVMSG StupidServ :$2-" requires="StupidServ" uline="yes"> + diff --git a/docs/conf/inspircd.censor.example b/docs/conf/inspircd.censor.example new file mode 100644 index 000000000..342ccd875 --- /dev/null +++ b/docs/conf/inspircd.censor.example @@ -0,0 +1,14 @@ +# Configuration file for m_censor.so (1.0.0.0) +# C.J.Edwards May 2004. +# + +# The tags for this module are formatted as follows: +# +# <badword text="simple word" +# replace="text to replace with"> +# +# You can specify <badword text="simple word" replace=""> +# to block lines containing the word + +<badword text="shit" replace="poo"> +<badword text="fuck" replace="(censored)"> diff --git a/docs/conf/inspircd.conf.example b/docs/conf/inspircd.conf.example new file mode 100644 index 000000000..d1293be25 --- /dev/null +++ b/docs/conf/inspircd.conf.example @@ -0,0 +1,963 @@ +######################################################################## +# # +# ___ ___ ____ ____ _ # +# |_ _|_ __ ___ _ __|_ _| _ \ / ___|__| | # +# | || '_ \/ __| '_ \| || |_) | | / _` | # +# | || | | \__ \ |_) | || _ <| |__| (_| | # +# |___|_| |_|___/ .__/___|_| \_\\____\__,_| # +# |_| # +# ____ __ _ _ _ # +# / ___|___ _ __ / _(_) __ _ _ _ _ __ __ _| |_(_) ___ _ __ # +# | | / _ \| '_ \| |_| |/ _` | | | | '__/ _` | __| |/ _ \| '_ \ # +# | |__| (_) | | | | _| | (_| | |_| | | | (_| | |_| | (_) | | | | # +# \____\___/|_| |_|_| |_|\__, |\__,_|_| \__,_|\__|_|\___/|_| |_| # +# |___/ # +# # +##################################||#################################### + #||# +##################################||#################################### +# # +# This is an example of the config file for InspIRCd. # +# Change the options to suit your network # +# # +# # +# ____ _ _____ _ _ ____ _ _ _ # +# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # +# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # +# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # +# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # +# # +# Lines prefixed with READ THIS BIT, as shown above, are IMPORTANT # +# lines, and you REALLY SHOULD READ THEM. Yes, THIS MEANS YOU. Even # +# if you've configured InspIRCd before, these probably indicate # +# something new or different to this version and you SHOULD READ IT. # +# # +######################################################################## +# # +# Unalphabeticalise the modules list at your own risk # +# # +######################################################################## + +#-#-#-#-#-#-#-#-#-# INCLUDE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# This optional tag allows you to include another config file # +# allowing you to keep your configuration tidy. The configuration # +# file you include will be treated as part of the configuration file # +# which includes it, in simple terms the inclusion is transparent. # +# # +# All paths to config files are relative to the directory that the # +# process runs in. # +# # +# You may also include an executable file, in which case if you do so # +# the output of the executable on the standard output will be added # +# to your config at the point of the include tag. # +# # +# Syntax is as follows: # +#<include file="file.conf"> # +#<include executable="/path/to/executable parameters"> # +# # +# Executable Include Example: # +#<include executable="/usr/bin/wget -q -O - http://mynet.net/inspircd.conf"> +# # + + +#-#-#-#-#-#-#-#-#-#-#-# VARIABLE DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-# +# # +# You can define variables that will be substituted later in the # +# configuration file. This can be useful to allow settings to be # +# easily changed, or to parameterize a remote includes. # +# # +# Variables may be redefined and may reference other variables. # +# Value expansion happens at the time the tag is read. # +# # +# Using variable definitions REQUIRES that the config format be # +# changed to "xml" from the default "compat" that uses escape # +# sequences such as "\"" and "\n", and does not support <define> # +<config format="xml"> +<define name="bindip" value="1.2.2.3"> +<define name="localips" value="&bindip;/24"> + +#-#-#-#-#-#-#-#-#-#-#-#- SERVER DESCRIPTION -#-#-#-#-#-#-#-#-#-#-#-#- +# # +# Here is where you enter the information about your server. # +# # + +<server + # name: Hostname of your server. Does not need to resolve, but + # does need to be correct syntax (something.somethingelse.tld). + name="penguin.omega.org.za" + + # description: Server description. Spaces are allowed. + description="Waddle World" + + # id: The SID to use for this server. This should not be uncommented + # unless there is a SID conflict. This must be three characters long. + # The first character must be a digit [0-9], the remaining two chars + # may be letters [A-Z] or digits. + #id="97K" + + # network: Network name given on connect to clients. + # Should be the same on all servers on the network and + # not contain spaces. + network="Omega"> + + +#-#-#-#-#-#-#-#-#-#-#-#- ADMIN INFORMATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# Describes the Server Administrator's real name (optionally), # +# nick, and email address. # +# # + +<admin + # name: Real Name + name="Johnny English" + + # nick: Nickname (preferably what you use on the network) + nick="MI5" + + # email: email address. Does not have to be valid + # but should be for the users to be able to contact you. + email="MI5@the.best.secret.agent"> + + +#-#-#-#-#-#-#-#-#-#-#-#- PORT CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#- +# # +# Enter the port and address bindings here. # +# # +# # +# ____ _ _____ _ _ ____ _ _ _ # +# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # +# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # +# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # +# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # +# # +# If you want to link servers to InspIRCd you must load the # +# m_spanningtree.so module! Please see the modules list below for # +# information on how to load this module! If you do not load this # +# module, server ports will NOT be bound! # +# # +# PLEASE NOTE: If you have build InspIRCd with IPv6 support, you MUST # +# specify a bind address if you want the IRCd to bind to a IPv4 IP. # + +<bind + # address: IP address to bind to if the box that you are hosting + # on has more than one IP, else the ircd will try to bind to all + # IP's on the box if this is not defined. + address="" + + # port: Port for users or servers to be able to connect to. + # you can select multiple ports by separating them + # with a - character like the example below. + port="6697" + + # type: Type of bind block this is. It can either be clients or + # servers. Whichever you select will be the only type able to connect + # to this bind section. + type="clients" + + # ssl: If you want this bind section to use SSL, define either + # gnutls or openssl here. The appropriate SSL modules must be loaded + # for ssl to work. If you do not want this bind section to support ssl, + # just remove or comment out this option. + ssl="gnutls" +> + +<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. + +<bind address="" port="7000,7001" type="servers"> +<bind address="1.2.3.4" port="7005" type="servers" ssl="openssl"> + + +#-#-#-#-#-#-#-#-#-#- DIE/RESTART CONFIGURATION -#-#-#-#-#-#-#-#-#-#- +# # +# You can configure the passwords here which you wish to use for # +# the die and restart commands. Only trusted IRCop's 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". + # Optional, but recommended. Create hashed password with: + # /mkpasswd <hash> <password> + #hash="sha256" + + # diepass: Password for opers to use if they need to shutdown (die) + # a server. + diepass="" + + # restartpass: Password for opers to use if they need to restart + # a server. + restartpass=""> + + +#-#-#-#-#-#-#-#-#-#- CONNECTIONS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# This is where you can configure which connections are allowed # +# and denied access onto your server. The password is optional. # +# You may have as many of these as you require. To allow/deny all # +# connections, use a '*' or 0.0.0.0/0. # +# # +# -- It is important to note that connect tags are read from the -- # +# TOP DOWN. This means that you should have more specific deny # +# and allow tags at the top, progressively more general, followed # +# by a <connect allow="*" (should you wish to have one). # +# # +# Connect blocks are searched twice for each user - once when the TCP # +# connection is accepted, and once when the user completes their # +# registration. Most of the information (hostname, ident response, # +# password, SSL when using STARTTLS, etc) is only available during # +# the second search, so if you are trying to make a closed server, # +# you will probably need a connect block just for user registration. # +# This can be done by using <connect registered="no"> # + +<connect + # deny: Will not let people connect if they have specified host/IP. + deny="69.254.*"> + +# connect:reason is the message that users will see if they match a deny block +<connect deny="3ffe::0/32" reason="The 6bone address space is deprecated"> + +<connect + # name: Name to use for this connect block. Mainly used for + # connect class inheriting. + name="secret" + + # parent: This setting is to specify if this connect class + # inherits settings from any other. Put the other class's name + # in here to use its settings as a template - for example, if + # you only want to adjust sendq and a password + parent="main" + + # allow: What IP addresses/hosts to allow for this block. + allow="196.12.*" + + # hash: what hash this password is 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". + # Optional, but recommended. Create hashed password with: + # /mkpasswd <hash> <password> + #hash="sha256" + + # password: Password to use for this block/user(s) + password="secret" + + # maxchans: Maximum number of channels a user in this class + # be in at one time. This overrides every other maxchans setting. + #maxchans="30" + + # timeout: How long (in seconds) the server will wait before + # disconnecting a user if they do not do anything on connect. + # (Note, this is a client-side thing, if the client does not + # send /nick, /user or /pass) + timeout="10" + + # localmax: Maximum local connections per IP (or CIDR mask, see below). + localmax="3" + + # globalmax: Maximum global (network-wide) connections per IP (or CIDR mask, see below). + globalmax="3" + + # maxconnwarn: Enable warnings when localmax or globalmax is hit (defaults to on) + maxconnwarn="off" + + # useident: Defines if users in this class MUST respond to a ident query or not. + useident="no" + + # limit: How many users are allowed in this class + limit="5000" + + # modes: Usermodes that are set on users in this block on connect. + # Enabling this option requires that the m_conn_umodes module be loaded. + # This entry is highly recommended to use for/with IP Cloaking/masking. + # For the example to work, this also requires that the m_cloaking + # module be loaded as well. + modes="+x" + + # requireident, requiressl, requireaccount: require that users of this + # block have a valid ident response, use SSL, or have authenticated. + # Requires m_ident, m_sslinfo, or m_services_account respectively. + requiressl="on" + # NOTE: For requireaccount, you must complete the signon prior to full + # connection. Currently, this is only possible by using SASL + # authentication; passforward and PRIVMSG NickServ happen after + # your final connect block has been found. + + # Alternate MOTD file for this connect class. The contents of this file are + # specified using <files secretmotd="filename"> or <execfiles ...> + motd="secretmotd" + + # port: What port this user is allowed to connect on. (optional) + # The port MUST be set to listen in the bind blocks above. + port="6697"> + +<connect + # name: Name to use for this connect block. Mainly used for + # connect class inheriting. + name="main" + + # allow: What IP addresses/hosts to allow for this block. + allow="*" + + # maxchans: Maximum number of channels a user in this class + # be in at one time. This overrides every other maxchans setting. + #maxchans="30" + + # timeout: How long (in seconds) the server will wait before + # disconnecting a user if they do not do anything on connect. + # (Note, this is a client-side thing, if the client does not + # send /nick, /user or /pass) + timeout="10" + + # pingfreq: How often (in seconds) the server tries to ping connecting clients. + pingfreq="120" + + # hardsendq: maximum amount of data allowed in a client's send queue + # before they are dropped. Keep this value higher than the length of + # your network's /LIST or /WHO output, or you will have lots of + # disconnects from sendq overruns! + hardsendq="1048576" + + # softsendq: amount of data in a client's send queue before the server + # begins delaying their commands in order to allow the sendq to drain + softsendq="8192" + + # recvq: amount of data allowed in a client's queue before they are dropped. + recvq="8192" + + # threshold: This specifies the amount of command penalty a user is allowed to have + # before being quit or fakelagged due to flood. Normal commands have a penalty of 1, + # ones such as /OPER have penalties up to 10. + # + # If you are not using fakelag, this should be at least 20 to avoid excess flood kills + # from processing some commands. + threshold="10" + + # commandrate: This specifies the maximum rate that commands can be processed. + # If commands are sent more rapidly, the user's penalty will increase and they will + # either be fakelagged or killed when they reach the threshold + # + # Units are millicommands per second, so 1000 means one line per second. + commandrate="1000" + + # fakelag: Use fakelag instead of killing users for excessive flood + # + # Fake lag stops command processing for a user when a flood is detected rather than + # immediately killing them; their commands are held in the recvq and processed later + # as the user's command penalty drops. Note that if this is enabled, flooders will + # quit with "RecvQ exceeded" rather than "Excess Flood". + fakelag="on" + + # localmax: Maximum local connections per IP. + localmax="3" + + # globalmax: Maximum global (network-wide) connections per IP. + globalmax="3" + + # useident: Defines if users in this class must respond to a ident query or not. + useident="no" + + # limit: How many users are allowed in this class + limit="5000" + + # modes: Usermodes that are set on users in this block on connect. + # Enabling this option requires that the m_conn_umodes module be loaded. + # This entry is highly recommended to use for/with IP Cloaking/masking. + # For the example to work, this also requires that the m_cloaking + # module be loaded as well. + modes="+x"> + + +#-#-#-#-#-#-#-#-#-#-#-#- CIDR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#- +# # +# CIDR configuration allows detection of clones and applying of # +# throttle limits across a CIDR range. (A CIDR range is a group of # +# IPs, for example, the CIDR range 192.168.1.0-192.168.1.255 may be # +# represented as 192.168.1.0/24). This means that abuse across an ISP # +# is detected and curtailed much easier. Here is a good chart that # +# shows how many IPs the different CIDRs correspond to: # +# http://en.wikipedia.org/wiki/CIDR#Prefix_aggregation # +# # + +<cidr + # ipv4clone: specifies how many bits of an IP address should be + # looked at for clones. The default only looks for clones on a + # single IP address of a user. You do not want to set this + # extremely low. (Values are 0-32). + ipv4clone="32" + + # ipv6clone: specifies how many bits of an IP address should be + # looked at for clones. The default only looks for clones on a + # single IP address of a user. You do not want to set this + # extremely low. (Values are 0-128). + ipv6clone="128"> + +# This file has all the information about oper classes, types and o:lines. +# You *MUST* edit it. +<include file="conf/opers.conf.example"> + +# This file has all the information about server links and ulined servers. +# You *MUST* edit it if you intend to link servers. +<include file="conf/links.conf.example"> + +#-#-#-#-#-#-#-#-#-#- MISCELLANEOUS CONFIGURATION -#-#-#-#-#-#-#-#-#-# +# # + +# Files block - contains files whose contents are used by the ircd +# +# motd - displayed on connect and when a user executes /MOTD +# rules - displayed when the user executes /RULES +# Modules can also define their own files +<files motd="conf/inspircd.motd.example" rules="conf/inspircd.rules.example"> + +# Example of an executable file include. Note this will be read on rehash, +# not when the command is run. +#<execfiles rules="wget -O - http://www.example.com/rules.txt"> + +#-#-#-#-#-#-#-#-#-#-#-# MAXIMUM CHANNELS -#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# # + +<channels + # users: Maximum number of channels a user can be in at once. + users="20" + + # opers: Maximum number of channels a oper can be in at once. + opers="60"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# If these values are not defined, InspIRCd uses the default DNS resolver +# of your system. + +<dns + # server: DNS server to use to attempt to resolve IP's to hostnames. + # in most cases, you won't need to change this, as inspircd will + # automatically detect the nameserver depending on /etc/resolv.conf + # (or, on windows, your set nameservers in the registry.) + # Note that this must be an IP address and not a hostname, because + # there is no resolver to resolve the name until this is defined! + # + # server="127.0.0.1" + + # timeout: seconds to wait to try to resolve DNS/hostname. + timeout="5"> + +# An example of using an IPv6 nameserver +#<dns server="::1" timeout="5"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-# PID FILE -#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# Define the path to the PID file here. The PID file can be used to # +# rehash the ircd from the shell or to terminate the ircd from the # +# shell using shell scripts, perl scripts, etc... and to monitor the # +# ircd's state via cron jobs. If this is a relative path, it will be # +# relative to the configuration directory, and if it is not defined, # +# the default of 'inspircd.pid' is used. # +# # + +#<pid file="/path/to/inspircd.pid"> + +#-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# Use these tags to customise the ban limits on a per channel basis. # +# The tags are read from top to bottom, and any tag found which # +# matches the channels name applies the banlimit to that channel. # +# It is advisable to put an entry with the channel as '*' at the # +# bottom of the list. If none are specified or no maxbans tag is # +# matched, the banlist size defaults to 64 entries. # +# # + +<banlist chan="#morons" limit="128"> +<banlist chan="*" limit="69"> + +#-#-#-#-#-#-#-#-#-#-#- DISABLED FEATURES -#-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# This tag is optional, and specifies one or more features which are # +# not available to non-operators. # +# # +# For example you may wish to disable NICK and prevent non-opers from # +# changing their nicknames. # +# Note that any disabled commands take effect only after the user has # +# 'registered' (e.g. after the initial USER/NICK/PASS on connection) # +# so for example disabling NICK will not cripple your network. # +# # +# You can also define if you want to disable any channelmodes # +# or usermodes from your users. # +# # +# `fakenonexistant' will make the ircd pretend that nonexistant # +# commands simply don't exist to non-opers ("no such command"). # +# # +#<disabled commands="TOPIC MODE" usermodes="" chanmodes="" fakenonexistant="yes"> + + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- RTFM LINE -#-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# Just remove this... Its here to make you read ALL of the config # +# file options ;) # + +<die value="You should probably edit your config *PROPERLY* and try again."> + + + +#-#-#-#-#-#-#-#-#-#-#-#-#- SERVER OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# Settings to define which features are usable on your server. # +# # + +<options + # prefixquit: What (if anything) a users' quit message + # should be prefixed with. + prefixquit="Quit: " + + # suffixquit: What (if anything) a users' quit message + # should be suffixed with. + suffixquit="" + + # prefixpart: What (if anything) a users' part message + # should be prefixed with. + prefixpart=""" + # NOTE: Use "\"" instead of """ if not using <config format="xml"> + + # suffixpart: What (if anything) a users' part message + # should be suffixed with. + suffixpart=""" + + # fixedquit: Set all users' quit messages to this value. + #fixedquit="" + + # fixedpart: Set all users' part messages in all channels + # to this value. + #fixedpart="" + + # syntaxhints: If enabled, if a user fails to send the correct parameters + # for a command, the ircd will give back some help text of what + # the correct parameters are. + syntaxhints="no" + + # cyclehosts: If enabled, when a user gets a host set, it will cycle + # them in all their channels. If not, it will simply change their host + # without cycling them. + cyclehosts="yes" + + # cyclehostsfromuser: If enabled, the source of the mode change for + # cyclehosts will be the user who cycled. This can look nicer, but + # triggers anti-takeover mechanisms of some obsolete bots. + cyclehostsfromuser="no" + + # ircumsgprefix: Use undernet-style message prefixing for NOTICE and + # PRIVMSG. If enabled, it will add users' prefix to the line, if not, + # it will just message the user normally. + ircumsgprefix="no" + + # announcets: If set to yes, when the TimeStamp on a channel changes, all users + # in channel will be sent a NOTICE about it. + announcets="yes" + + # allowmismatched: Setting this option to yes will allow servers to link even + # if they don't have the same VF_OPTCOMMON modules loaded. Setting this to + # yes may introduce some desyncs and weirdness. + allowmismatched="no" + + # defaultbind: Sets the default for <bind> tags without an address. Choices are + # ipv4 or ipv6; if not specified, IPv6 will be used if your system has support, + # falling back to IPv4 otherwise. + defaultbind="auto" + + # hostintopic: If enabled, channels will show the host of the topicsetter + # in the topic. If set to no, it will only show the nick of the topicsetter. + hostintopic="yes" + + # pingwarning: If a server does not respond to a ping within x seconds, + # it will send a notice to opers with snomask +l informing that the server + # is about to ping timeout. + pingwarning="15" + + # serverpingfreq: How often pings are sent between servers (in seconds). + serverpingfreq="60" + + # defaultmodes: What modes are set on a empty channel when a user + # joins it and it is unregistered. This is similar to Asuka's + # autochanmodes. + defaultmodes="nt" + + # moronbanner: This is the text that is sent to a user when they are + # banned from the server. + moronbanner="You're banned! Email haha@abuse.com with the ERROR line below for help." + + # exemptchanops: exemptions for channel access restrictions based on prefix. + exemptchanops="nonick:v flood:o" + + # invitebypassmodes: This allows /invite to bypass other channel modes. + # (Such as +k, +j, +l, etc) + invitebypassmodes="yes" + + # nosnoticestack: This prevents snotices from 'stacking' and giving you + # the message saying '(last message repeated X times)'. Defaults to no. + nosnoticestack="no"> + + +#-#-#-#-#-#-#-#-#-#-#-# PERFORMANCE CONFIGURATION #-#-#-#-#-#-#-#-#-#-# +# # + +<performance + # netbuffersize: Size of the buffer used to recieve data from clients. + # The ircd may only read this amount of text in 1 go at any time. + netbuffersize="10240" + + # maxwho: Maximum number of results to show in a /who query. + maxwho="4096" + + # somaxconn: The maximum number of connections that may be waiting + # in the accept queue. This is *NOT* the total maximum number of + # connections per server. Some systems may only allow this to be up + # to 5, while others (such as linux and *BSD) default to 128. + somaxconn="128" + + # softlimit: This optional feature allows a defined softlimit for + # connections. If defined, it sets a soft max connections value. + # must be lower than ./configure maxclients. + softlimit="12800" + + # quietbursts: When syncing or splitting from a network, a server + # can generate a lot of connect and quit messages to opers with + # +C and +Q snomasks. Setting this to yes squelches those messages, + # which makes it easier for opers, but degrades the functionality of + # bots like BOPM during netsplits. + quietbursts="yes" + + # nouserdns: If enabled, no DNS lookups will be performed on + # connecting users. This can save a lot of resources on very busy servers. + nouserdns="no"> + +#-#-#-#-#-#-#-#-#-#-#-# SECURITY CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-# +# # + +<security + + # announceinvites: If this option is set, then invites are announced + # to the channel when a user invites another user. If you consider + # this to be unnecessary noise, set this to 'none'. + # To announce to all ops, set this to 'ops' and to announce to all users, + # set the value to 'all'. The value 'dynamic' will make the messages + # go to every user who has power of INVITE on the channel. This + # is the recommended setting. + announceinvites="dynamic" + + # hidemodes: If enabled, then the listmodes given will be hidden + # from users below halfop. This is not recommended to be set on +b + # as it may break some functionality in popular clients such as mIRC. + hidemodes="eI" + + # hideulines: If this value is set to yes, U-lined servers will + # be hidden from non-opers in /links and /map. + hideulines="no" + + # flatlinks: If this value is set to yes, /map and /links will + # be flattened when shown to non-opers. + flatlinks="no" + + # hidewhois: When defined, the given text will be used in place + # of the server a user is on when whoised by a non-oper. Most + # networks will want to set this to something like "*.netname.net" + # to conceal the actual server a user is on. + # Note that enabling this will cause users' idle times to only be + # shown when the format /WHOIS <nick> <nick> is used. + hidewhois="" + + # hidebans: If this value is set to yes, when a user is banned ([gkz]lined) + # only opers will see the ban message when the user is removed + # from the server. + hidebans="no" + + # hidekills: If defined, replaces who set a /kill with a custom string. + hidekills="" + + # hidesplits: If enabled, non-opers will not be able to see which + # servers split in a netsplit, they will only be able to see that one + # occurred (If their client has netsplit detection). + hidesplits="no" + + # maxtargets: Maximum number of targets per command. + # (Commands like /notice, /privmsg, /kick, etc) + maxtargets="20" + + # customversion: Displays a custom string when a user /version's + # the ircd. This may be set for security reasons or vanity reasons. + customversion="" + + # operspywhois: show opers (users/auspex) the +s channels a user is in. Values: + # splitmsg Split with an explanatory message + # yes Split with no explanatory message + # no Do not show + operspywhois="no" + + # runasuser: If this is set, InspIRCd will attempt to setuid + # to run as this user- allows binding of ports under 1024. + # NOT SUPPORTED/NEEDED UNDER WINDOWS. + #runasuser="" + + # runasgroup: If this is set, InspIRCd will attempt to set group + # to run under this group, which allows binding of ports under 1024 + # NOT SUPPORTED/NEEDED UNDER WINDOWS. + #runasgroup="" + + # restrictbannedusers: If this is set to yes, InspIRCd will not allow users + # banned on a channel to change nickname or message channels they are + # banned on. + restrictbannedusers="yes" + + # genericoper: Setting this value to yes makes all opers on this server + # appear as 'is an IRC operator' in their WHOIS, regardless of their + # oper type, however oper types are still used internally. This only + # affects the display in WHOIS. + genericoper="no" + + # userstats: /stats commands that users can run (opers can run all). + userstats="Pu"> + +#-#-#-#-#-#-#-#-#-#-#-#-# LIMITS CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-# +# # +# This configuration tag defines the maximum sizes of various types # +# on IRC, such as the maximum length of a channel name, and the # +# maximum length of a channel. Note that with the exception of the # +# identmax value all values given here are the exact values you would # +# expect to see on IRC. This contrasts with the older InspIRCd # +# releases where these values would be one character shorter than # +# defined to account for a null terminator on the end of the text. # +# # +# These values should match network-wide otherwise issues will occur. # +# # +# The highest safe value you can set any of these options to is 500, # +# but it is recommended that you keep them somewhat # +# near their defaults (or lower). # + +<limits + # maxnick: Maximum length of a nickname. + maxnick="31" + + # maxchan: Maximum length of a channel name. + maxchan="64" + + # maxmodes: Maximum number of mode changes per line. + maxmodes="20" + + # maxident: Maximum length of a ident/username. + maxident="11" + + # maxquit: Maximum length of a quit message. + maxquit="255" + + # maxtopic: Maximum length of a channel topic. + maxtopic="307" + + # maxkick: Maximum length of a kick message. + maxkick="255" + + # maxgecos: Maximum length of a GECOS (realname). + maxgecos="128" + + # maxaway: Maximum length of an away message. + maxaway="200"> + + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Logging +# ------- +# +# Logging is covered with the <log> tag, which you may use to change +# the behaviour of the logging of the IRCd. +# +# In InspIRCd as of 1.2, logging is pluggable and very extensible. +# Different files can log the same thing, different 'types' of log can +# go to different places, and modules can even extend the log tag +# to do what they want. +# +# An example log tag would be: +# <log method="file" type="OPER" level="default" target="opers.log"> +# which would log all information on /oper (failed and successful) to +# a file called opers.log. +# +# There are many different types which may be used, and modules may +# generate their own. A list of useful types: +# - USERS - information relating to user connection and disconnection +# - OPER - succesful and failed oper attempts +# - KILL - kill related messages +# - snomask - server notices (*all* snomasks will be logged) +# - FILTER - messages related to filter matches (m_filter) +# - CONFIG - configuration related messages +# - COMMAND - die and restart messages, and messages related to unknown user types +# - SOCKET - socket engine informational/error messages +# - MODULE - module related messages +# - STARTUP - messages related to starting up the server +# +# You may also log *everything* by using a type of *, and subtract things out +# of that by using -TYPE - for example "* -USERINPUT -USEROUTPUT". +# +# Useful levels are: +# - default (general messages, including errors) +# - sparse (misc error messages) +# - debug (debug messages) +# +# Some types only produce output in the debug level, those are: +# - BANCACHE - ban cache debug messages +# - CHANNELS - information relating to joining/creating channels +# - CULLLIST - debug messages related to issues with removing users +# - RESOLVER - DNS related debug messages +# - CONNECTCLASS - Connection class debug messages +# - USERINPUT +# - USEROUTPUT +# +# The following log tag is highly default and uncustomised. It is recommended you +# sort out your own log tags. This is just here so you get some output. + +<log method="file" type="* -USERINPUT -USEROUTPUT" level="default" target="ircd.log"> + +#-#-#-#-#-#-#-#-#-#-#-#-#- WHOWAS OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# This tag lets you define the behaviour of the /whowas command of # +# your server. # +# # + +<whowas + # groupsize: Maximum entries per nick shown when performing + # a /whowas nick. + groupsize="10" + + # maxgroups: Maximum number of nickgroups that can be added to + # the list so that /whowas does not use a lot of resources on + # large networks. + maxgroups="100000" + + # maxkeep: Maximum time a nick is kept in the whowas list + # before being pruned. Time may be specified in seconds, + # or in the following format: 1y2w3d4h5m6s. Minimum is + # 1 hour. + maxkeep="3d"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#- BAN OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# The ban tags define nick masks, host masks and ip ranges which are # +# banned from your server. All details in these tags are local to # +# Your server. # +# # + +<badip + # ipmask: IP range to ban. Wildcards and CIDR can be used. + ipmask="69.69.69.69" + + # reason: Reason to display when user is disconnected. + reason="No porn here thanks."> + +<badnick + # nick: Nick to disallow. Wildcards are supported. + nick="ChanServ" + + # reason: Reason to display on /nick. + reason="Reserved For Services"> + +<badnick nick="NickServ" reason="Reserved For Services"> +<badnick nick="OperServ" reason="Reserved For Services"> +<badnick nick="MemoServ" reason="Reserved For Services"> + +<badhost + # host: ident@hostname to ban. + # Wildcards and CIDR (if you specify an IP) can be used. + host="*@hundredz.n.hundredz.o.1337.kiddies.com" + + # reason: Reason to display when user is disconnected + reason="Too many 1337 kiddiots"> + +<badhost host="root@*" reason="Don't irc as root!"> +<badhost host="*@172.32.0.0/16" reason="This subnet is bad."> + +# exception: Hosts that are exempt from [kgz]lines. +<exception + # host: ident@hostname to exempt. + # Wildcards and CIDR (if you specify an IP) can be used. + host="*@ircop.host.com" + + # reason: Reason for exception. Only shown in /stats e + 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. # +# # + +<insane + # hostmasks: Allow bans with insane hostmasks. (over-reaching bans) + hostmasks="no" + + # ipmasks: Allow bans with insane ipmasks. (over-reaching bans) + ipmasks="no" + + # nickmasks: Allow bans with insane nickmasks. (over-reaching bans) + nickmasks="no" + + # trigger: What percentage of users on the network to trigger + # specifying an insane ban as. The default is 95.5%, which means + # if you have a 1000 user network, a ban will not be allowed if it + # will be banning 955 or more users. + trigger="95.5"> + + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN -#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# You should already know what to do here :) # + +<die value="User error. Insert new user and press any key. (you didn't edit your config properly.)"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# MODULES #-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# ____ _ _____ _ _ ____ _ _ _ # +# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # +# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # +# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # +# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # +# # +# Well done, you've reached the end of the basic configuration, your # +# ircd should now start if you want to try it out! (./inspircd start) # +# # +# We now suggest you read and edit modules.conf, as modules are what # +# provide almost all the features of InspIRCd. :) # +# # +# The default does nothing -- we include it for simplicity for you. # +<include file="conf/modules.conf.example"> + +# Here are some pre-built modules.conf files that closely match the +# default configurations of some popular IRCd's. You still may want to +# look over them and make sure if everything is correct for you and setup +# the proper SSL information. +# +# *NOTE*: These files have no comments for what the modules do. If you +# are interested in that, please read the modules.conf.example. It is also +# recommended that you make your own modules file based on modules.conf.example. + +# Settings similar to UnrealIRCd defaults. +#<include file="conf/modules/modules.conf.unreal"> + +# Settings similar to Charybdis IRCd defaults. +#<include file="conf/modules/modules.conf.charybdis"> + + +######################################################################### +# # +# - InspIRCd Development Team - # +# http://www.inspircd.org # +# # +######################################################################### diff --git a/docs/conf/inspircd.filter.example b/docs/conf/inspircd.filter.example new file mode 100644 index 000000000..8200a028f --- /dev/null +++ b/docs/conf/inspircd.filter.example @@ -0,0 +1,59 @@ +# Configuration file for m_filter.so and m_filter_pcre.so + +# The tags for this module are formatted as follows: +# +# <keyword pattern="any glob pattern here" +# reason="reason for filtering" +# action="action to take" +# flags="filter flags" +# duration="optional length of gline"> +# +# Valid actions for 'action' are: +# +# block This blocks the line, sends out a notice to all opers with +# +s and informs the user that their message was blocked. +# +# silent This blocks the line only, and informs the user their message +# was blocked, but does not notify opers. +# +# none This action causes nothing to be done except logging. This +# is the default action if none is specified. +# +# kill This disconnects the user, with the 'reason' parameter as +# the kill reason. +# +# gline G-LINE the user for 'duration' length of time. Durations may +# be specified using the notation 1y2d3h4m6s in a similar way to +# other glines, omitting the duration or setting it to 0 makes +# any glines set by this filter be permanent. +# +# You can add filters from IRC using the /FILTER command. If you do this, they +# will be set globally to your entire network. +# +# Valid characters for 'flags' are one or more of: +# +# p: Block private and channel messages +# n: Block private and channel notices +# P: Block part messages +# q: Block quit messages +# o: Don't match against opers +# *: Represents all of the above flags +# -: Does nothing, a non-op for when you do not want to specify any flags +# +# IMPORTANT NOTE: Because the InspIRCd config reader places special meaning on the +# '\' character, you must use '\\' if you wish to specify a '\' character in a regular +# expression. For example, to indicate numbers, use \\d and not \d. This does not +# apply when adding a regular expression over irc with the /FILTER command. + +# Example filters for m_filter: +# +# <keyword pattern="*qwerty*" reason="You qwertied!" action="block" flags="pn"> +# <keyword pattern="*killmenow*" reason="As you request." action="kill" flags="*"> +# <keyword pattern="*blah*" reason="Dont blah!" action="gline" duration="1d6h" flags="-"> + +# An example regexp filter for m_filter_pcre: +# +# <keyword pattern="^blah.*?$" reason="Dont blah!" action="gline" duration="1d6h" flags="pnPq"> + +# An example of excluding a channel from filtering: +# <exemptfromfilter channel="#help"> diff --git a/docs/conf/inspircd.helpop-full.example b/docs/conf/inspircd.helpop-full.example new file mode 100644 index 000000000..9c4ae0b92 --- /dev/null +++ b/docs/conf/inspircd.helpop-full.example @@ -0,0 +1,1060 @@ +##################### +# Helpop Standard # +##################### + +<alias text="HELP" replace="HELPOP $2-"> + +<helpop key="start" value="InspIRCd Help System + +This system provides help for commands and modes. +Specify your question or a command name as the +parameter for this command. + +/HELPOP CUSER - To see a list of user commands +/HELPOP COPER - To see a list of oper commands +/HELPOP UMODES - To see a list of user modes +/HELPOP CHMODES - To see a list of channel modes +/HELPOP SNOMASKS - To see a list of oper snotice masks +/HELPOP EXTBANS - To see a list of extended bans"> + +<helpop key="nohelp" value="There is no help for the topic +you searched for. Please try again."> + +##################### +# User Commands # +##################### + +<helpop key="cuser" value="User Commands +------------- + +PRIVMSG NOTICE NICK JOIN PART +CYCLE KNOCK MODE DEVOICE TOPIC +KICK FPART REMOVE TBAN INVITE +UNINVITE AWAY DCCALLOW SILENCE ACCEPT +MKPASSWD VHOST TITLE SETNAME + +WHOIS WHOWAS ISON USERHOST WATCH +LIST NAMES WHO MOTD RULES +ADMIN MAP LINKS LUSERS TIME +STATS VERSION INFO MODULES COMMANDS +SSLINFO FINGERPRINT + +USER PASS PING PONG QUIT + +OPER"> + +<helpop key="sslinfo" value="/SSLINFO [nick] + +Displays information on the SSL connection and certificate of the +target user."> + +<helpop key="fingerprint" value="/FINGERPRINT [nick] + +Shows the SSL fingerprint of a user. This can be used for +authentication by bots and scripts."> + +<helpop key="uninvite" value="/UNINVITE [nick] [channel] + +Uninvite a user from a channel, same syntax as INVITE."> + +<helpop key="tban" value="/TBAN [channel] [duration] [banmask] + +Sets a timed ban. The duration of the ban can be specified in the +following format: 1w2d3h4m6s which indicates a ban of one week, two +days, three hours, four minutes and six seconds. Alternatively the +ban may just be specified as a number of seconds. All timed bans +appear in the banlist as normal bans and may be safely removed +before their time is up."> + +<helpop key="dccallow" value="/DCCALLOW [+|-] [nick] [duration] + +Adds a nickname to or deletes a nickname from your DCCALLOW list."> + +<helpop key="accept" value="/ACCEPT [+-*] [nick]{ [, [+-]<nick> ] } + +Manages your accept list. This list is used to determine who can +private message you when you have usermode +g set. ACCEPT +nick adds +a nick to your accept list, ACCEPT -nick removes a nick from your +accept list, and ACCEPT * displays your accept list."> + +<helpop key="cycle" value="/CYCLE [channel] + +Cycles a channel (leaving and rejoining), overrides restrictions that +would stop a new user joining, such as user limits and channel keys."> + +<helpop key="title" value="/TITLE [name] [password] + +Authenticate for a WHOIS title line and optionally a vhost using the +specified username and password."> + +<helpop key="watch" value="/WATCH [C|S|+/-[NICK]] + +Adds or deletes a user from the watch list. C clears the list +and S queries the status."> + +<helpop key="vhost" value="/VHOST [username] [password] + +Authenticate for a vhost using the specified username and password."> + +<helpop key="remove" value="/REMOVE [nick] [channel] {[reason]} + +Removes a user from a channel you specify. You must be at least a +channel halfoperator to remove a user. A removed user will part with +a message stating they were removed from the channel and by whom."> + +<helpop key="fpart" value="/FPART [channel] [nick] {[reason]} + +This behaves identically to /REMOVE, the only difference is that that +[channel] and [nick] parameters are switched around to match /KICK's +syntax. Also, /REMOVE is a builtin mIRC command which caused trouble +for some users. This feature was added in the 1.1 branch."> + +<helpop key="devoice" value="/DEVOICE [channel] + +Devoices yourself from the specified channel."> + +<helpop key="silence" value="/SILENCE [+/-][hostmask] [p|c|i|n|t|a|x] + +A serverside ignore of the given n!u@h mask. The letter(s) at the end +specify what is to be ignored from this hostmask. + +Valid SILENCE Flags +------------------- + + p Block private messages + c Block channel messages + i Block invites + n Block private notices + t Block channel notices + a Block all of the above + x Exception + +Multiple letters may be specified. For an exception, you msut pair x +with what you want excepted. For example, if you wanted to except +everything from people with a host matching *.foo.net, you would do +/SILENCE +*!*@*.foo.net xa + +/SILENCE without a parameter will list the hostmasks that you have silenced."> + +<helpop key="knock" value="/KNOCK [channel] + +Sends a notice to a channel indicating you wish to join."> + +<helpop key="user" value="/USER [ident] [local host] [remote host] :[GECOS] + +This command is used by your client to register your +IRC session, providing your ident and GECOS to the +server. + +You should not use it during an established connection."> + +<helpop key="nick" value="/NICK [new nick] + +Change your nickname to [new nick]."> + +<helpop key="quit" value="/QUIT {[reason]} + +Quit from IRC and end your current session."> + +<helpop key="version" value="/VERSION + +Returns the server's version information."> + +<helpop key="ping" value="/PING [server] + +Ping a server. Target server will answer with a PONG."> + +<helpop key="pong" value="/PONG [server] + +Your client should send this to answer server PINGs. You +should not issue this command manually."> + +<helpop key="admin" value="/ADMIN [server] + +Shows the administrative information for the given server."> + +<helpop key="privmsg" value="/PRIVMSG [target] [text] + +Sends a message to a user or channel specified in [target]."> + +<helpop key="notice" value="/NOTICE [target] [text] + +Sends a notice to a user or channel specified in [target]."> + +<helpop key="join" value="/JOIN [channel]{,[channel]} [key]{,[key]} + +Joins one or more channels you provide the names for."> + +<helpop key="names" value="/NAMES [channel]{,[channel]} + +Return a list of users on the channels you provide."> + +<helpop key="part" value="/PART [channel]{,[channel] [reason]} + +Leaves one or more channels you specify."> + +<helpop key="kick" value="/KICK [channel] [nick] {[reason]} + +Kicks a user from a channel you specify. You must be +At least a channel halfoperator to kick a user."> + +<helpop key="mode" value="/MODE [target] [+|-][modes]{[+|-][modes]} {mode parameters} + +Sets the mode for a channel or a nickname specified in [target] +A user may only set modes upon themselves, and may not set the ++o usermode, and a user may only change channel modes of +channels where they are at least a halfoperator. + +For a list of all user and channel modes, enter /HELPOP UMODES or +/HELPOP CHMODES."> + +<helpop key="topic" value="/TOPIC [channel] {topic} + +Sets or retrieves the channel topic. If a channel topic is +given in the command and either the channel is not +t, or +you are at least a halfoperator, the channel topic will be +changed to the new one you provide."> + +<helpop key="who" value="/WHO [ [search-pattern] [ohurmaiMplf] ] + +Looks up the information of users matching the range you provide. +You may only /WHO nicknames in channels or on servers where you +share a common channel with them, or ones which are not +i (unless +you are an IRC operator). The search-pattern may be a special +sequence of characters determined by the flags given below, or +it may be one of a nickname, a channel, a hostmask, an ip address +mask or a server mask. + +Valid WHO Flags +--------------- + +The following flags after the mask have the following effects: + + o Show online IRC operators matching the mask + + a Show all users who have an away message matching the given mask + i Show all users who have an ident (username) matching the given mask + p Show all users who are connected on the given port number + r Show all users whose realnames match the mask. When this + flag is set it overrides the meaning of the search-pattern, + which must contain a glob pattern intended to match GECOS + (realname) fields. + m Search for all users with a given set of user modes. When + this flag is set it overrides the meaning of the + search-pattern, which must contain the mode sequence to + search for, for example to find all users with +i and + without +s, issue the command WHO +i-s m. + t Show users connected within this number of seconds + M Show all users who have metadata attached to them with + the given key name + + f Show only remote (far) users + l Show only local users + + h Show real hostnames rather than masked hostnames (IRC + operators only) + u Unlimit the results past the maximum /who results value + (IRC operators only) + +You may combine multiple flags in one WHO command except where stated in the table above."> + +<helpop key="motd" value="/MOTD [server] + +Show the message of the day for [server]. Messages of the day often +contain important server rules and notices and should be read prior +to using a server."> + +<helpop key="rules" value="/RULES + +Show the rules file for the local server. This is similar in effect to +except that these are not sent automatically on connect."> + +<helpop key="oper" value="/OPER [login] [password] + +Attempts to authenticate a user as an IRC operator. + +Both successful and unsuccessful oper attempts are +logged, and sent to online IRC operators."> + +<helpop key="list" value="/LIST [pattern] + +Creates a list of all existing channels matching the glob pattern +[pattern], e.g. *chat* or bot*."> + +<helpop key="lusers" value="/LUSERS + +Shows a count of local and remote users, servers and channels."> + +<helpop key="userhost" value="/USERHOST [nickname] + +Returns the hostname and nickname of a user, and some other +miscellaneous information."> + +<helpop key="away" value="/AWAY {message} + +If a message is given, marks you as being away, otherwise +removes your away status and previous message."> + +<helpop key="ison" value="/ISON [nick] {[nick]...} + +Returns a subset of the nicks you give, showing only those +that are currently online."> + +<helpop key="invite" value="/INVITE [nick] [channel] {[time]} + +Invites a user to a channel. If the channel is NOT +A, only +channel halfoperators or above can invite people. If +A is set, +anyone can invite people to the channel, as long as the person +doing the invite is a member of the channel they wish to invite +the user to. + +Invited users may override bans, +k, and similar in addition to ++i, depending on configuration. + +If a time is provided, the invite expires after that time and the user +can no longer use it to enter the channel."> + +<helpop key="pass" value="/PASS [password] + +This command is used by your client when setting up +your IRC session to submit a server password to the +server. + +You should not use it during an established connection."> + +<helpop key="whowas" value="/WHOWAS [nick] + +Returns a list of times the user was seen recently on IRC along with +the time they were last seen and their server."> + +<helpop key="links" value="/LINKS + +Shows all servers linked to this one."> + +<helpop key="map" value="/MAP + +Shows a graphical representation of all users and servers on the +network, and the links between them, as a tree from the perspective +of your server."> + +<helpop key="whois" value="/WHOIS [nick] {server} + +Returns the WHOIS information of a user, their channels, hostname, +etc. If a second nickname or server is provided, then a whois is +performed from the server where the user is actually located rather +than locally, showing idle and signon times."> + +<helpop key="time" value="/TIME [servermask] + +Returns the local time of the server, or remote time of another +server."> + +<helpop key="info" value="/INFO + +Returns information on the developers and supporters who made this +IRC server possible."> + +<helpop key="setname" value="/SETNAME [name] + +Sets your name to the specified name."> + + +##################### +# Oper Commands # +##################### + +<helpop key="coper" value="Oper Commands +------------- + +OPERMOTD CHECK CLONES USERIP LINE +ALLTIME MODULES WALLOPS GLOBOPS + +SETHOST SETIDENT CHGHOST CHGIDENT CHGNAME +SETIDLE SWHOIS + +SANICK NICKLOCK NICKUNLOCK + +SAJOIN SAPART SAMODE SATOPIC SAKICK + +KILL SAQUIT GLINE ZLINE QLINE +KLINE RLINE ELINE CBAN SHUN +FILTER OJOIN + +CONNECT SQUIT RCONNECT RSQUIT + +DIE RESTART REHASH +CLEARCACHE LOADMODULE UNLOADMODULE +RELOADMODULE GLOADMODULE GUNLOADMODULE +GRELOADMODULE RELOAD CLOSE +LOCKSERV UNLOCKSERV JUMPSERVER"> + +<helpop key="userip" value="/USERIP [nickname] + +Returns the ip and nickname of a user."> + +<helpop key="tline" value="/TLINE [host or ip mask] + +This command returns the number of local and global clients matched, +and the percentage of clients matched, plus how they were matched +(by IP address or by hostname)."> + +<helpop key="lockserv" value="/LOCKSERV + +Locks out all new connections notifying connecting users that the +service is temporarily closed and to try again later."> + +<helpop key="unlockserv" value="/UNLOCKSERV + +Opens the server up again for new connections."> + +<helpop key="jumpserver" value="/JUMPSERVER {[newserver] [newport] [+/-flags] {:[reason]}} + +Sets or cancels jumpserver mode. If no parameters are given, +jumpserver mode is cancelled, if it is currently set. If parameters +are given, a server address must be given for [newserver] and a +server port must be given for [newport]. Zero or more status flags +should be given for 'flags', from the list below (if you do not +wish to specify any flags just place a '+' in this field): + +1. +a: Redirect all users immediately (except for opers) and cause +them to quit with the given reason + +2. +n: Redirect any new users who connect and cause them to quit +during registration + +You may use + and - to set or unset these flags in the command, the +default flags are -a+n, which will just redirect new users. The +reason parameter is optional, and if not provided defaults to +'Please use this server/port instead' (the default given in various +numeric lists)"> + +<helpop key="filter" value="/FILTER [filter-definition] {[action] [flags] {[gline-duration]} :[reason]} + +This command will add a filter when more than one parameter is given, +for messages of the types specified by the flags, with the given +filter definition, action, gline duration (when the action is 'gline') +and reason. + +The filter will take effect when a message of any type specified by +the flags and matching the definition is sent to the server, and +perform the specified action. + +Valid FILTER Actions +-------------------- + +None Does nothing +Block Blocks message and informs +s IRCops of the blocked message + and all relevant info +Silent Blocks message, but does not notify IRCops +Kill Kills the user +Gline Glines the user for the specified duration + +Valid FILTER Flags +------------------ + +p Block private and channel messages +n Block private and channel notices +P Block part messages +q Block quit messages +o Don't match against opers +* Represents all of the above flags +- Does nothing, a non-op for when you do not want to specify any + flags + +The reason for the filter will be used as the reason for the action, +unless the ation is 'none', and is sent to the user when their text is +blocked by 'block' and 'silent' actions. + +A gline duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 +minutes and 6 seconds. All fields in this format are optional. + +When only one parameter is provided (the filter pattern) the provided +filter will be removed. Note that if you remove a +configuration-defined filter, it will reappear at next rehash unless +it is also removed from the config file."> + +<helpop key="ojoin" value="/OJOIN [#chan] + +Force joins you to the specified channel, and gives you +Y and any other +configuration-defined modes on it, preventing you from being kicked. +Depending on configuration, may announce that you have joined the +channel on official network business."> + +<helpop key="clones" value="/CLONES [limit] + +Retrieves a list of users with more clones than the specified +limit."> + +<helpop key="check" value="/CHECK [nick|ip|hostmask|channel] {[server]} + +Allows opers to look up advanced information on channels, hostmasks +or IP addresses, in a similar way to WHO but in more detail, displaying +most information the IRCD has stored on the target, including all +metadata. + +With the second parameter given, runs the command remotely on the +specified server."> + +<helpop key="alltime" value="/ALLTIME + +Shows the time on all servers on the network."> + +<helpop key="rconnect" value="/RCONNECT [source mask] [target mask] + +The server matching [source mask] will try to connect to the first +server in the config file matching [target mask]."> + +<helpop key="rsquit" value="/RSQUIT {[source mask]} [target mask] + +Causes a remote server matching [target mask] to be disconnected from +the network, only if connected via a server matching [source mask] if +it is specified."> + +<helpop key="globops" value="/GLOBOPS [message] + +Sends a message to all users with the +g snomask."> + +<helpop key="cban" value="/CBAN [channel] {[duration] :[reason]} + +Sets or removes a channel ban. You must specify all three parameters +to add a ban, and one parameter to remove a ban (just the channel). + +The duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, +5 minutes and 6 seconds. All fields in this format are optional."> + +<helpop key="sajoin" value="/SAJOIN [nick] [channel] + +Forces the user to join the channel."> + +<helpop key="sapart" value="/SAPART [nick] [channel] + +Forces the user to part the channel."> + +<helpop key="samode" value="/SAMODE [target] +/-[modes] {[parameters for modes]} + +Applies the given mode change to the channel or nick specified."> + +<helpop key="sanick" value="/SANICK [nick] [new nick] + +Changes the user's nick to the new nick."> + +<helpop key="saquit" value="/SAQUIT [nick] [reason] + +Forces user to quit with the specified reason."> + +<helpop key="setidle" value="/SETIDLE [idle time] + +Sets your idle time (in seconds) to the specified value."> + +<helpop key="sethost" value="/SETHOST [host] + +Sets your host to the specified host."> + +<helpop key="setident" value="/SETIDENT [ident] + +Sets your ident to the specified ident."> + +<helpop key="swhois" line="/SWHOIS [nick] [swhois] + +Sets the user's swhois field to the given swhois."> + +<helpop key="mkpasswd" value="/MKPASSWD [hashtype] [plaintext] + +Encodes the plaintext to a hash of the given type and displays +the result."> + +<helpop key="opermotd" value="/OPERMOTD + +Redisplays the Oper MOTD."> + +<helpop key="nicklock" value="/NICKLOCK [nick] [new nick] + +Changes the user's nick to the new nick, and forces +it to remain as such for the remainder of the session."> + +<helpop key="nickunlock" value="/NICKUNLOCK [nick] + +Allows a previously locked user to change nicks again."> + +<helpop key="chghost" value="/CHGHOST [nickname] [new hostname] + +Changes the hostname of the user to the new hostname."> + +<helpop key="chgname" value="/CHGNAME [nickname] [new name] + +Changes the name of the user to the new name."> + +<helpop key="chgident" value="/CHGIDENT [nickname] [new ident] + +Changes the ident of the user to the new ident."> + +<helpop key="shun" value="/SHUN [nick!user@host] {[duration] :[reason]} + +Sets or removes a shun (serverside ignore) on a host and ident mask. +You must specify all three parameters to add a shun, and one parameter +to remove a shun (just the nick!user@host section). + +The duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, +5 minutes and 6 seconds. All fields in this format are optional."> + +<helpop key="die" value="/DIE [password] + +This command shuts down the local server. A single parameter is +required, which must match the password in the configuration for the +command to function."> + +<helpop key="restart" value="/RESTART [password] + +This command restarts down the local server. A single parameter is +required, which must match the password in the configuration for the +command to function."> + +<helpop key="commands" value="/COMMANDS + +Shows all currently available commands."> + +<helpop key="kill" value="/KILL [user] [reason] + +This command will disconnect a user from IRC with the given reason."> + +<helpop key="rehash" value="/REHASH + +This command will cause the server configuration file to be reread and +values reinitialized for all servers matchin the server mask, or the +local server if one is not specified."> + +<helpop key="connect" value="/CONNECT [servermask] + +Add a connection to the server matching the given servermask. You must +have configured the server for linking in your configuration file +before trying to link them."> + +<helpop key="squit" value="/SQUIT [servermask] + +Disconnects the server matching the given servermask from this server."> + +<helpop key="modules" value="/MODULES + +Lists currently loaded modules, their memory offsets, version numbers, +and flags. If you are not an operator, you will see reduced detail."> + +<helpop key="loadmodule" value="/LOADMODULE [filename.so] + +Loads the specified module into the local server."> + +<helpop key="unloadmodule" value="/UNLOADMODULE [filename.so] + +Unloads a module from the local server. The module cannot have the +static flag set (see the output of /MODULES)."> + +<helpop key="reloadmodule" value="/RELOADMODULE [filename.so] + +Unloads and reloads a module on the local server. This module cannot +have the static flag set (see the output of /MODULES)."> + +<helpop key="loadmodule" value="/GLOADMODULE [filename.so] + +Loads the specified module on all linked servers."> + +<helpop key="unloadmodule" value="/GUNLOADMODULE [filename.so] + +Unloads a module from all linked servers. The module cannot have the +static flag set (see the output of /MODULES)."> + +<helpop key="reloadmodule" value="/GRELOADMODULE [filename.so] + +Unloads and reloads a module on all linked servers. This module cannot +have the static flag set (see the output of /MODULES)."> + +<helpop key="kline" value="/KLINE [user@host] {[duration] :[reason]} + +Sets or removes a k-line (local host based ban) on a host and ident mask. +You must specify all three parameters to add a ban, and one parameter +to remove a ban (just the user@host section). + +The duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, +5 minutes and 6 seconds. All fields in this format are optional."> + +<helpop key="zline" value="/ZLINE [ipmask] {[duration] :[reason]} + +Sets or removes a z-line (ip based ban) on an ip range mask. +You must specify all three parameters to add a ban, and one parameter +to remove a ban (just the ipmask). + +The duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, +5 minutes and 6 seconds. All fields in this format are optional."> + +<helpop key="qline" value="/QLINE [nickmask] {[duration] :[reason]} + +Sets or removes a q-line (nick based ban) on a nick mask. +You must specify all three parameters to add a ban, and one parameter +to remove a ban (just the nickmask). + +The duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, +5 minutes and 6 seconds. All fields in this format are optional."> + +<helpop key="gline" value="/GLINE [user@host] {[duration] :[reason]} + +Sets or removes a g-line (host based ban) on host mask. +You must specify all three parameters to add a ban, and one +parameter to remove a ban (just the user@host section). + +The duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, +5 minutes and 6 seconds. All fields in this format are optional."> + +<helpop key="eline" value="/ELINE [user@host] {[duration] :[reason]} + +Sets or removes a e-line (local ban exception) on host mask. +You must specify at least 3 parameters to add an exception, and one +parameter to remove an exception (just the user@host section). + +The duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, +5 minutes and 6 seconds. All fields in this format are optional. + +This command has a few important limitations. Bans on *@<ip> can only +be negated by an eline on *@<ip>, bans on *@<host> can be negated by +elines on *@<ip>, or *@<host>, and bans on <ident>@* or <ident>@<host> +can be negated by any eline that matches."> + +<helpop key="wallops" value="/WALLOPS [message] + +Sends a message to all +w users."> + +<helpop key="sakick" value="/SAKICK [#chan] [nick] [reason] + +Kicks the given user from the specified channel."> + +<helpop key="satopic" value="/SATOPIC [#chan] [new topic] + +Applies the given topic to the specified channel."> + +<helpop key="rline" value="/RLINE [regex] {[duration] :[reason]} + +Sets or removes an r-line (regex line) on a n!u@h\\sgecos mask. You +must specify all three parameters to add an rline, and one parameter +to remove an rline (just the regex). + +The duration may be specified in seconds, or in the format +1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, +5 minutes and 6 seconds. All fields in this format are optional."> + +<helpop key="clearcache" value="/CLEARCACHE {servername} + +This command clears the DNS cache of the specified server. If no +server is specified, the local server's DNS cache will be cleared."> + +<helpop key="reload" value="/RELOAD [core command] + +Reloads the specified core command."> + +<helpop key="close" value="/CLOSE + +Closes all unregistered connections to the local server."> + +###################### +# User/Channel Modes # +###################### + +<helpop key="umodes" value="User Modes +---------- + + c Blocks private messages and notices from users who do + not share a common channel with you (requires + commonchans module). + d Deaf mode. User will not recieve any messages or notices + from channels they are in (requires deaf module). + g In combination with /allow, provides for server side + ignore (requires callerid module). + h Marks as 'available for help' in WHOIS (IRCop only, + requires helpop module). + i Makes invisible to /WHO if the user using /WHO is not in + a common channel. + k Prevents the user from being kicked from channels, or + having op modes removed from them (services only, + requires servprotect module). + o Marks as a IRC operator. + s [mask] Receives server notices specified by [mask] + (IRCop only). + r Marks as a having a registered nickname + (requires services account module). + w Receives wallops messages. + x Gives a cloaked hostname (requires cloaking module). + B Marks as a bot (requires botmode module). + G Censors messages sent to the user based on filters + configured for the network (requires censor module). + H Hides an oper's oper status from WHOIS (requires + hideoper module). + I Hides a user's entire channel list in WHOIS from + non-IRCops (requires hidechans module). + Q Makes an operator invisible, preventing users from + seeing their presence, including in channel user lists + (IRCop only, requires invisible module). + R Blocks private messages from unregistered users + (requires services account module). + S Strips mIRC color/bold/underline codes out of private + messages to the user (requires stripcolor module). + W Receives notification when a user uses WHOIS on them + (IRCop only, requires showwhois module)."> + +<helpop key="chmodes" value="Channel Modes +------------- + + v [nickname] Gives voice to [nickname], allowing them to speak + while the channel is +m. + h [nickname] Gives halfop status to [nickname] (this mode can + be disabled). + o [nickname] Gives op status to [nickname]. + a [nickname] Gives protected status to [nickname], preventing + them from them from being kicked (+q only, + requires chanprotect module). + q [nickname] Gives owner status to [nickname], preventing them + from being kicked (Services or only, requires + chanprotect module). + + b [hostmask] Bans [hostmask] from the channel. + e [hostmask] Excepts [hostmask] from bans (requires + banexception module). + I [hostmask] Excepts [hostmask] from +i, allowing matching + users to join while the channel is invite-only + (requires inviteexception module). + + c Blocks messages containing mIRC color codes + (requires blockcolor module). + d [time] Blocks messages to a channel from new users + until they have been in the channel for [time] + seconds (requires delaymsg module). + f [*][lines]:[sec] Kicks on text flood equal to or above the + specified rate. With *, the user is banned + (requires messageflood module). + i Makes the channel invite-only. + Users can only join if an operator + uses /INVITE to invite them. + j [joins]:[sec] Limits joins to the specified rate (requires + joinflood module). + k [key] Set the channel key (password) to [key]. + l [limit] Set the maximum allowed users to [limit]. + m Enable moderation. Only users with +v, +h, or +o + can speak. + n Blocks users who are not members of the channel + from messaging it. + p Make channel private, hiding it in users' whoises + and replacing it with * in /LIST. + r Marks the channel as registered with Services + (requires services account module). + s Make channel secret, hiding it in users' whoises + and /LIST. + t Prevents users without +h or +o from changing the + topic. + u Makes the channel an auditorium; normal users only + see themselves or themselves and the operators, + while operators see all the users (requires + auditorium module). + w [flag]:[banmask] Adds basic channel access controls of [flag] to + [banmask], via the +w listmode. + For example, +w o:R:Brain will op anyone identified + to the account 'Brain' on join. + (requires autoop module) + z Blocks non-SSL clients from joining the channel. + + A Allows anyone to invite users to the channel + (normally only chanops can invite, requires + allowinvite module). + B Blocks messages with too many capital letters, + as determined by the network configuration + (requires blockcaps module). + C Blocks any CTCPs to the channel (requires noctcp + module). + D Delays join messages from users until they + message the channel (requires delayjoin module). + F [changes]:[sec] Blocks nick changes when they equal or exceed the + specified rate (requires nickflood module). + G Censors messages to the channel based on the + network configuration (requires censor module). + J [seconds] Prevents rejoin after kick for the specified + number of seconds. This prevents auto-rejoin + (requires kicknorejoin module). + K Blocks /KNOCK on the channel. + L [channel] If the channel reaches its limit set by +l, + redirect users to [channel] (requires redirect + module). + M Blocks unregistered users from speaking (requires + services account module). + N Prevents users on the channel from chainging nick + (requires nonicks module). + O Channel is IRCops only (can only be set by IRCops, + requires operchans module). + P Makes the channel permanent; Bans, invites, the + topic, modes, and such will not be lost when it + empties (can only be set by IRCops, requires + permchannels module). + Q Only ulined servers and their users can kick + (requires nokicks module) + R Blocks unregistered users from joining (requires + services account module). + S Strips mIRC color codes from messages to the + channel (requirs stripcolor module). + T Blocks /NOTICEs to the channel from users who are + not at least halfop (requires nonotice module). + + g [mask] Blocks messages matching the given blob mask + (requires chanfilter module). + X [mode] Makes channel operators immune to the specified + restrictive mode (requires exemptchanops module). + +------------- +NOTE: A large number of these modes are dependent upon server-side modules +being loaded by a server/network administrator. The actual modes available +on your network may be very different to this list. Please consult your +help channel if you have any questions."> + +###################### +# Stats Symbols # +###################### + +<helpop key="stats" value="/STATS [symbol] + +Shows various server statistics. Depending on configuration, some +symbols may be only available to opers. + +Valid symbols are: + +e Show e-lines (local ban exemptions) +g Show g-lines (host bans) +k Show k-lines (local host bans) +q Show q-lines (nick mask bans) +Z Show z-lines (IP mask bans) +R Show R-lines (regular expression bans) + +H Show shuns +s Show filters +C Show channel bans + +c Show link blocks +d Show configured DNSBLs and related statistics +m Show command statistics, number of times commands have been used +o Show a list of all valid oper usernames and hostmasks +p Show open client ports, and the port type (ssl, plaintext, etc) +u Show server uptime +z Show memory usage statistics +i Show connect class permissions +l Show all client connections with information (sendq, commands, bytes, time connected) +L Show all client connections with information and IP address +P Show online opers and their idle times +T Show bandwidth/socket statistics +U Show U-lined servers +Y Show connection classes +O Show opertypes and the allowed user and channel modes it can set +E Show socket engine events +S Show currently held registered nicknames + +Note that all /STATS use is broadcast to online IRC operators."> + +###################### +# SNOMASKS # +###################### + +<helpop key="snomasks" value="Server Notice Masks + + a Allows receipt of local announcement messages. + A Allows receipt of remote announcement messages. + c Allows receipt of local connect messages. + C Allows receipt of remote connect messages. + d Allows receipt of general (and sometimes random) debug + messages. + f Allows receipt of flooding notices. + g Allows receipt of globops (requires globops module). + G Allows receipt of notices of use of oper-override (requires + override module) + j Allows receipt of channel creation notices (requires + chancreate module). + J Allows receipt of remote channel creation notices (requires + chancreate module). + k Allows receipt of local kill messages. + K Allows receipt of remote kill messages. + l Allows receipt of local linking related + messages. + L Allows receipt of remote linking related + messages. + n See local nickname changes (requires seenicks module). + N See remote nickname changes (requires seenicks modules). + o Allows receipt of oper-up, oper-down, and oper-failure + messages. + O Allows receipt of remote oper-up, oper-down, and oper-failure + messages. + q Allows receipt of local quit messages. + Q Allows receipt of remote quit messages. + t Allows receipt of attempts to use /STATS (local and remote). + v Allows receipt of oper-override notices (requires override module). + x Allows receipt of Xline notices (g/z/q/k/e/R/shuns)."> + +###################### +# EXTBANS # +###################### + +<helpop key="extbans" value="Extended Bans +---------- + +Extbans are split into two types; matching extbans, which match on +users in additional ways, and acting extbans, which restrict users +in different ways to a standard ban. + +To use an extban, simply set +b <ban> or +e <ban> with it as the ban, +instead of a normal nick!user@host mask, to ban or exempt matching +users. Ban exceptions on acting extbans exempt that user from matching +an extban of that type, and from any channel mode corresponding to the +restriction. Matching extbans may also be used for invite exceptions by +setting +I <extban>. + +Matching extbans: + + j:#channel Matches anyone in #channel. Does not support wildcards + for #channel (requires channelban module). + r:realname Matches users with a matching realname (requires gecosban + module). + s:server Matches users on a matching server (requires serverban + module). + z:fingerprint Matches users with a matching ssl fingerprint (requires + sslmodes module) + O:opertype Matches IRCops of a matching type, mostly useful as an + an invite exception (requires operchans module). + R:account Matches users logged into a matching account (requires + services account module). + +Acting extbans: + + c:<ban> Blocks any messages that contain color codes from + matching users (requires blockcolor module). + m:<ban> Blocks messages from matching users (requires muteban + module). Users with +v or above are not affected. + p:<ban> Blocks part messages from matching users (requires + nopartmsg module). + A:<ban> Blocks invites by matching users even when +A is set + (requires allowinvite module). + B:<ban> Blocks all capital or nearly all capital messages from + matching users (requires blockcaps module). + C:<ban> Blocks CTCPs from matching users (requires noctcp + module). + N:<ban> Blocks nick changes from matching users (requires + nonicks module). + Q:<ban> Blocks kicks by matching users (requires nokicks + module). + S:<ban> Strips color/bold/underline from messages from matching + users (requires stripcolor module). + T:<ban> Blocks notices from matching users (requires nonotice + module). + +A ban given to an acting extban may either be a nick!user@host mask, +matched against users as for a normal ban, or a matching extban. + +There is an additional special type of extended ban, a redirect ban: + + Redirect n!u@h#channel will redirect the banned user to #channel + when they try to join (requires banredirect module)."> diff --git a/docs/conf/inspircd.helpop.example b/docs/conf/inspircd.helpop.example new file mode 100644 index 000000000..4b3354837 --- /dev/null +++ b/docs/conf/inspircd.helpop.example @@ -0,0 +1,299 @@ +# Sample configuration file for m_helpop.so +# You can either copy this into your conf folder and set up the module to use it, +# or you can customize the responses for your network and/or add more. +# +# The way the new helpop system works is simple. You use one or more helpop tags. +# <helpop key="moo" value="something here">. +# key is what the user is looking for (i.e. /helpop moo), and value is what they get back +# (note that it can span multiple lines!). +# -- w00t 16/dec/2006 +# + +<alias text="HELP" replace="HELPOP $2-"> + +<helpop key="start" value="InspIRCd Help System + +This system provides help for commands and modes. +Specify your question or a command name as the +parameter for this command. + +/HELPOP CUSER - To see a list of user commands +/HELPOP COPER - To see a list of oper commands +/HELPOP UMODES - To see a list of user modes +/HELPOP CHMODES - To see a list of channel modes +/HELPOP SNOMASKS - To see a list of oper snotice masks +/HELPOP EXTBANS - To see a list of extended bans"> + +<helpop key="nohelp" value="There is no help for the topic +you searched for. Please try again."> + +<helpop key="cuser" value="User Commands +------------- + +PRIVMSG NOTICE NICK JOIN PART +CYCLE KNOCK MODE DEVOICE TOPIC +KICK FPART REMOVE TBAN INVITE +UNINVITE AWAY DCCALLOW SILENCE ACCEPT +MKPASSWD VHOST TITLE + +WHOIS WHOWAS ISON USERHOST WATCH +LIST NAMES WHO MOTD RULES +ADMIN MAP LINKS LUSERS TIME +STATS VERSION INFO MODULES COMMANDS +SSLINFO FINGERPRINT + +USER PASS PING PONG QUIT + +OPER"> + +<helpop key="coper" value="Oper Commands +------------- + +OPERMOTD CHECK TAXONOMY CLONES USERIP +TLINE ALLTIME MODULES WALLOPS GLOBOPS + +SETHOST SETIDENT SETNAME CHGHOST CHGIDENT +CHGNAME SETIDLE SWHOIS + +SANICK NICKLOCK NICKUNLOCK + +SAJOIN SAPART SAMODE SATOPIC SAKICK + +KILL SAQUIT GLINE ZLINE QLINE +KLINE RLINE ELINE CBAN SHUN +FILTER + +CONNECT SQUIT RCONNECT RSQUIT + +DIE RESTART REHASH +CLEARCACHE LOADMODULE UNLOADMODULE +RELOADMODULE GLOADMODULE GUNLOADMODULE +GRELOADMODULE RELOAD CLOSE +LOCKSERV UNLOCKSERV JUMPSERVER"> + +<helpop key="umodes" value="User Modes +---------- + + c Blocks private messages and notices from users who do + not share a common channel with you (requires + commonchans module). + d Deaf mode. User will not recieve any messages or notices + from channels they are in (requires deaf module). + g In combination with /allow, provides for server side + ignore (requires callerid module). + h Marks as 'available for help' in WHOIS (IRCop only, + requires helpop module). + i Makes invisible to /WHO if the user using /WHO is not in + a common channel. + k Prevents the user from being kicked from channels, or + having op modes removed from them (services only, + requires servprotect module). + o Marks as a IRC operator. + s [mask] Receives server notices specified by [mask] + (IRCop only). + r Marks as a having a registered nickname + (requires services account module). + w Receives wallops messages. + x Gives a cloaked hostname (requires cloaking module). + B Marks as a bot (requires botmode module). + G Censors messages sent to the user based on filters + configured for the network (requires censor module). + H Hides an oper's oper status from WHOIS (requires + hideoper module). + I Hides a user's entire channel list in WHOIS from + non-IRCops (requires hidechans module). + Q Makes an operator invisible, preventing users from + seeing their presence, including in channel user lists + (IRCop only, requires invisible module). + R Blocks private messages from unregistered users + (requires services account module). + S Strips mIRC color/bold/underline codes out of private + messages to the user (requires stripcolor module). + W Receives notification when a user uses WHOIS on them + (IRCop only, requires showwhois module)."> + +<helpop key="chmodes" value="Channel Modes +------------- + + v [nickname] Gives voice to [nickname], allowing them to speak + while the channel is +m. + h [nickname] Gives halfop status to [nickname] (this mode can + be disabled). + o [nickname] Gives op status to [nickname]. + a [nickname] Gives protected status to [nickname], preventing + them from them from being kicked (+q only, + requires chanprotect module). + q [nickname] Gives owner status to [nickname], preventing them + from being kicked (Services or only, requires + chanprotect module). + + b [hostmask] Bans [hostmask] from the channel. + e [hostmask] Excepts [hostmask] from bans (requires + banexception module). + I [hostmask] Excepts [hostmask] from +i, allowing matching + users to join while the channel is invite-only + (requires inviteexception module). + + c Blocks messages containing mIRC color codes + (requires blockcolor module). + f [*][lines]:[sec] Kicks on text flood equal to or above the + specified rate. With *, the user is banned + (requires messageflood module). + g [mask] Blocks messages matching the given blob mask + (requires chanfilter module). + i Makes the channel invite-only. + Users can only join if an operator + uses /INVITE to invite them. + j [joins]:[sec] Limits joins to the specified rate (requires + joinflood module). + k [key] Set the channel key (password) to [key]. + l [limit] Set the maximum allowed users to [limit]. + m Enable moderation. Only users with +v, +h, or +o + can speak. + n Blocks users who are not members of the channel + from messaging it. + p Make channel private, hiding it in user's whoises + and replacing it with * in /LIST. + r Marks the channel as registered with Services + (requires services account module). + s Make channel secret, hiding it in user's whoises + and /LIST. + t Prevents users without +h or +o from changing the + topic. + u Makes the channel an auditorium; normal users only + see themselves or themselves and the operators, + while operators see all the users (requires + auditorium module). + w [flag]:[banmask] Adds basic channel access controls of [flag] to + [banmask], via the +w listmode. + For example, +w o:R:Brain will op anyone identified + to the account 'Brain' on join. + (requires autoop module) + z Blocks non-SSL clients from joining the channel. + + A Allows anyone to invite users to the channel + (normally only chanops can invite, requires + allowinvite module). + B Blocks messages with too many capital letters, + as determined by the network configuration + (requires blockcaps module). + C Blocks any CTCPs to the channel (requires noctcp + module). + D Delays join messages from users until they + message the channel (requires delayjoin module). + F [changes]:[sec] Blocks nick changes when they equal or exceed the + specified rate (requires nickflood module). + G Censors messages to the channel based on the + network configuration (requires censor module). + J [seconds] Prevents rejoin after kick for the specified + number of seconds. This prevents auto-rejoin + (requires kicknorejoin module). + K Blocks /KNOCK on the channel. + L [channel] If the channel reaches its limit set by +l, + redirect users to [channel] (requires redirect + module). + M Blocks unregistered users from speaking (requires + services account module). + N Prevents users on the channel from chainging nick + (requires nonicks module). + O Channel is IRCops only (can only be set by IRCops, + requires operchans module). + P Makes the channel permanent; Bans, invites, the + topic, modes, and such will not be lost when it + empties (can only be set by IRCops, requires + permchannels module). + Q Only ulined servers and their users can kick + (requires nokicks module) + R Blocks unregistered users from joining (requires + services account module). + S Strips mIRC color codes from messages to the + channel (requirs stripcolor module). + T Blocks /NOTICEs to the channel from users who are + not at least halfop (requires nonotice module). + +------------- +NOTE: A large number of these modes are dependent upon server-side modules +being loaded by a server/network administrator. The actual modes available +on your network may be very different to this list. Please consult your +help channel if you have any questions."> + +<helpop key="snomasks" value="Server Notice Masks + + a Allows receipt of local announcement messages. + A Allows receipt of remote announcement messages. + c Allows receipt of local connect messages. + C Allows receipt of remote connect messages. + d Allows receipt of general (and sometimes random) debug + messages. + f Allows receipt of flooding notices. + g Allows receipt of globops (requires globops module). + G Allows receipt of notices of use of oper-override (requires + override module) + j Allows receipt of channel creation notices (requires + chancreate module). + J Allows receipt of remote channel creation notices (requires + chancreate module). + k Allows receipt of local kill messages. + K Allows receipt of remote kill messages. + l Allows receipt of local linking related + messages. + L Allows receipt of remote linking related + messages. + n See local nickname changes (requires seenicks module). + N See remote nickname changes (requires seenicks modules). + o Allows receipt of oper-up, oper-down, and oper-failure + messages. + O Allows receipt of remote oper-up, oper-down, and oper-failure + messages. + q Allows receipt of local quit messages. + Q Allows receipt of remote quit messages. + t Allows receipt of attempts to use /STATS (local and remote). + v Allows receipt of oper-override notices (requires override module). + x Allows receipt of Xline notices (g/z/q/k/e/R/shuns)."> + +<helpop key="extbans" value="Extended Bans +---------- + + c:n!u@h Blocks any messages that contain color codes from + matching users (requires blockcolor module). + j:#channel Prevents anyone in #channel from joining the channel + (requires channelban module). + m:n!u@h Blocks messages from matching users (requires muteban + module). + p:n!u@h Blocks part messages from matching users (requires + nopartmsg module). + r:realname Prevents users with a matching realname from joining + the channel (requires gecosban module). + s:server Prevents users on a matching server from joining the + channel (requires services account). + + A:n!u@h Blocks invites by matching users even when +A is set + (requires allowinvite module). + B:n!u@h Blocks all capital or nearly all capital messages from + matching users (requires blockcaps module). + C:n!u@h Blocks CTCPs from matching users (requires noctcp + module). + M:account Blocks messages from users logged into a matching + account (requires services account module). + N:n!u@h Blocks nick changes from matching users (requires + nonicks module). + O:opertype Prevents IRCops of the specified opertype from joining + the channel, mostly useful as an invite exception (IRCop + only, requires operchans module). + Q:n!u@h Blocks kicks by matching users (requires nokicks + module). + R:account Prevents users logged into a matching account from + joining the channel (requires services account module). + S:n!u@h Strips color/bold/underline from messages from matching + users (requires stripcolor module). + T:n!u@h Blocks notices from matching users (requires nonotice + module). + + Redirect n!u@h#channel will redirect the banned user to #channel + when they try to join (requires banredirect module). + +All extbans that prevent users from joining may by used for ban +exceptions and invite exceptions (invex), and extbans blocking +specific actions may be used for ban exceptions to exempt people from +either wider extbans or the restrictive mode matching the extban, +where one exists."> diff --git a/docs/conf/inspircd.motd.example b/docs/conf/inspircd.motd.example new file mode 100644 index 000000000..0a1260c0c --- /dev/null +++ b/docs/conf/inspircd.motd.example @@ -0,0 +1,41 @@ + + _____ _____ _____ _____ _ +|_ _| |_ _| | __ \ / ____| | | + | | _ __ ___ _ __ | | | |__) || | __| | + | | | '_ \ / __| | '_ \ | | | _ / | | / _` | + _| |_ | | | | \__ \ | |_) | _| |_ | | \ \ | |____ | (_| | +|_____| |_| |_| |___/ | .__/ |_____| |_| \_\ \_____| \__,_| + __________________| |_______________________________ + |__________________|_|_______________________________| + + Putting the ricer in IRCer since 2007 + + //\ + V \ WELCOME TO AN INSPIRCD NETWORK + \ \_ If you see this, I am probably new. + \,'.`-. If I'm not new, my owner is lazy. + |\ `. `. + ( \ `. `-. _,.-:\ + \ \ `. `-._ __..--' ,-';/ + \ `. `-. `-..___..---' _.--' ,'/ + `. `. `-._ __..--' ,' / + `. `-_ ``--..'' _.-' ,' + `-_ `-.___ __,--' ,' + `-.__ `----""" __.-' + `--..____..--' + + -- To change, see inspircd.motd.example -- + / \ + / * Web: http://www.inspircd.org \ + | * IRC: irc.inspircd.org #inspircd | + | * Docs: http://wiki.inspircd.org | + | * Bugs: http://inspircd.org/bugtrack/ | + | | + | We hope you like this software. Please do | + | make sure you put some effort into | + | your configuration, though, so you love it.| + | Enjoy. | + | | + \ -- The InspIRCd Team / + ------------------------------------------- + diff --git a/docs/conf/inspircd.quotes.example b/docs/conf/inspircd.quotes.example new file mode 100644 index 000000000..56a580e33 --- /dev/null +++ b/docs/conf/inspircd.quotes.example @@ -0,0 +1,203 @@ +Men are from Mars. Women are from Venus. Computers are from hell +Computer /nm./: a device designed to speed and automate errors +Hardware /nm./: the part of the computer that you can kick. +Maniac /n./ An early computer built by nuts. +RAM /abr./: Rarely Adequate Memory. +Programmer /n./ A red-eyed, mumbling mammal capable of conversing with inanimate objects +Multitasking /adj./ 3 PCs and a chair with wheels +Plonk /excl./: The sound a newbie makes as he falls to the bottom of a kill file +hURL /n./: a link to a web site that makes you want to puke +SUPERCOMPUTER: what it sounded like before you bought it. +If it's really a supercomputer, how come the bullets don't bounce off when I shoot it? . The Covert Comic. +A computer is like an Old Testament god, with a lot of rules and no mercy. . Joseph Campbell +I dropped my computer on my foot! That Megahurtz!! +A computer's attention span is as long as it's power cord +586: The average IQ needed to understand a PC +Memory is like an orgasm. It's a lot better if you don't have to fake it +If it jams, force it. If it breaks, it needed replacing anyway. +A bus station is where a bus stops. A train station is where a train stops. On my desk I have a workstation.. +Want to come see my HARD DRIVE ? I promise it isn't 3.5 inches and it ain't floppy. . Geek pick-up line. +If you torture the data enough, it will confess. . Ronald Coase +If you give someone a program, you will frustrate them for a day; if you teach them how to program, you will frustrate them for a lifetime +ASCII stupid question, get a stupid ANSI! +Use the source, Luke... +Programming is an art form that fights back +MacOS, Windows, BeOS: they're all just Xerox copies +Whenever you think you have a clever programming trick... forget it! +Managing senior programmers is like herding cats. . Dave Platt +Your program is sick ! Shoot it and put it out of its memory +/* You are not expected to understand this */ +To define recursion, we must first define recursion +ERROR: Computer possessed; Load EXOR.SYS ? [Y/N] +Linux is only free if your time is worthless +Linux: find out what you've been missing while you've been rebooting Windows NT +unzip; strip; touch; finger; mount; fsck; more; yes; unmount; sleep +Profanity is the one language all programmers know best +It's 5.50 a.m.... Do you know where your stack pointer is? +#define QUESTION ((bb) || !(bb)) . Shakespeare +The more I C, the less I see. +Confucius say: He who play in root, eventually kill tree. +Unix is the answer, but only if you phrase the question very carefully +C++: Hard to learn and built to stay that way +Java is, in many ways, C++-- . Michael Feldman. +They don't make bugs like Bunny anymore . Olav Mjelde +If debugging is the process of removing software bugs, then programming must be the process of putting them in +When the only tool you own is a hammer, every problem you encounter resembles a nail +System Error: press F13 to continue... +To err is human, but for a real disaster you need a computer +Computers make very fast, very accurate mistakes +Life would be so much easier if we only had the source code +Who is this 'General Failure' and why is he reading my disk? +hAS aNYONE sEEN MY cAPSLOCK kEY? +InspIRCd, now with excessive ammounts of Cheeze +I'm in the computer business, I make Out-Of-Order signs +Kevorkian Virus: helps your computer shut down whenever it wants to. + [OUT OF QUOTES, PLEASE ORDER MORE] +Insert Something Funkeh.. err.. There! --> +Cannot delete tmp150---3.tmp: There is not enough free disk space. Delete one or more files to free disk space, and then try again +File not found. Should I fake it ? (Y/N) +The definition of an upgrade: Take old bugs out, put new ones in +If it's not on fire, it's a software problem +It's a little-known fact that the Y1K problem caused the Dark Ages +Artificial Intelligence usually beats natural stupidity +Making fun of AOL users is like making fun of the kid in the wheel chair +Daddy, why doesn't this magnet pick up this floppy disk? +Daddy, what does FORMATTING DRIVE C mean? +See daddy ? All the keys are in alphabetical order now. +Enter any 11-digit prime number to continue... +ASCII and ye shall receive. +The web is a dominatrix. Every where I turn, I see little buttons ordering me to Submit. +<FrostyCoolSlug> NO, You cannot dial 999, I'm downloading my mail ;/ +640K ought to be enough for anybody. . Bill Gates, 1981 +Windows not found, [P]arty, [C]elebrate, [D]rink? +English, the Microsoft of languages... +It's been said that Bill Gates named his company after his dick... +Ever notice how fast Windows runs ? -- Neither did I +If at first you don't succeed, work for Microsoft +We are Microsoft. Resistance Is Futile. You Will Be Assimilated +"Microsoft Works." . Oxymoron +Windows isn't a virus, viruses do something +PANIC! buffer = :NickServ WRITE_DB(3). <-- JUST KIDDING! +It just keeps going and going and going and going and goi <BANG> +All that I know is that nukes are comming from 127.0.0.1 +I know all about the irc and the mirc cops. +M re ink n ed d, ple s r fil +Please refrain from feeding the IRC Operators. Thank you. +I know all about mirc stuff, hmm.. I think this channel is experiencing packet loss.. +MacDonalds claims Macintosh stole their next idea of the iMac +I can't hold her any longer, captain, she's gonna bl.. sorry, got caught up in the moment +I recommend purchasing a Cyrix CPU for testing nuclear meltdowns +Is it an international rule to have the worst picture possible on your driver license? +Have you hugged your services coder, today? +Ever wonder why they make the colon flash on alarm clocks? +Whats this?.. blue screen with a VXD error?!.. I'VE BEEN NUKED! +do-do-bop-doo-doo-do-do-doo.. For those of you who know that song, you have problems.. +be wery wery quiet... hunting wabbit... +I've been IRC Nuked"Great warrior? War does not make one great." - Yoda +"I find your lack of faith.....disturbing." - Darth Vader +"I have a bad feeling about this.."--All of the Star Wars characters. +Can I upgrade my Hard Drive to a WARP drive? +Canadian DOS prompt: EH?\> +Canadian DOS: "Yer sure, eh?" [y/n] +CONGRESS.SYS Corrupted: Re-boot Washington D.C (Y/n)? +I don't have a solution but I admire the problem. +Famous Last Words: Trust me. I know what I'm doing. +Hey Captain, I just created a black ho-÷p!%$û NO CARRIER +Access denied--nah nah na nah nah! +Bad command. Bad, bad command! Sit! Stay! Staaay.. +Error: Keyboard not attached. Press F1 to continue. +*grumble* "You're just supposed to sit here?" +"Hey, what's this button d..<BOOM>" -W. Crusher +"He has become One with Himself!" "He's passed out!" "That too."-B5 +For a funny quote, call back later. +Famous last words: 'You saw a WHAT around the corner?!' +I like work ... I can sit and watch it for hours. +Copywight 1994 Elmer Fudd. All wights wesewved. +Cannot find REALITY.SYS. Universe halted. +BUFFERS=20 FILES=15 2nd down, 4th quarter, 5 yards to go! +My software never has bugs. It just develops random features. +Why doesn't DOS ever say 'EXCELLENT command or filename!? +Shell to DOS... Come in DOS, do you copy? Shell to DOS... +Computing Definition - Network-Admin: Primary person who just got set up for the blame of the system crash. +An expert is a person who has made all the mistakes which can be made in a very narrow field. +Famous last words: This is the safe way to do it....... +Famous Last Words: Trust me. I know what I'm doing. +Clinton, "I didn't say that - er, well - yes, but I didn't mean..." +CLINTON LEGACY??...even Pharaoh had only ten plagues... +IBM I Bought McIntosh +IBM I Bring Manuals +IBM I've Been Moved +IBM Idolized By Management +IBM Impenetrable Brain Matter +IBM Imperialism By Marketing +IBM Incorrigible Boisterous Mammoth +IBM Inertia Breeds Mediocrity +IBM Ingenuity Becomes Mysterious +IBM Ingrained Batch Mentality +IBM Innovation By Management +IBM Insipid Belligerent Mossbacks +IBM Insipidly Bankrolling Millions +IBM Inspect Before Multiusing +IBM Install Bigger Memory +IBM Institution By Machiavelli +IBM Insultingly Boring Merchandisers +IBM Intellectuals Being Moronized +IBM Intelligence Belittling Meaning +IBM Intimidated, Buffaloed Management +IBM Into Building Money +IBM Intolerant of Beards & Moustaches +IBM Invest Before Multi-tasking +IBM Investigate Baffling Malodor +IBM Irresponsible Behave Multinational +IBM It Beats Mattel +IBM It's a Big Mess +IBM It's Better Manually +IBM Itty Bitty Machine +IBM Institute for Black Magic +100,000 lemmings can't be wrong. +Murphy's Eighth Law: If everything seems to be going well, you have obviously overlooked something. +Rules of the game: Do not believe in miracles - rely on them. +Rules of the game: Any given program, once running, is obsolete. +Computing Definition - Error: What someone else has made when they disagree with your computer output. +Backup not found: (A)bort (R)etry (P)anic +WinErr 653: Multitasking attempted - system confused. +Cannot join #real_life (invite only) +"Unfortunatly, no one can be told what the Matrix is. You have to see it for yourself." - Matrix +"Reality is a thing of the past" - Matrix +"The future will not be user friendly" - Matrix +"The general idea in chat is to make yourself understandable... ..." - Peer +"heh i am talkin to someone...she's not dead...yet anyways" - Stinky +"He who must die, must die in the dark, even though he sells candles" +"If at first you don't succeed, skydiving is not for you." +"Friendship is like peeing on yourself: everyone can see it, but only you get the warm feeling that it brings." +"France sucks, but Paris swallows" +"A computer once beat me at chess, but it was no match for me at kick boxing. +"Ever wonder why the SAME PEOPLE make up ALL the conspiracy theories? +"Don't think of it as being outnumbered. Think of it as having a wide target selection." +"Sysadmins can't be sued for malpractice, but surgeons don't have to deal with patients who install new versions of their own innards." +"FACE!" +"Dirka Dirka Mohammed JIHAD!" +We can learn much from wise words, little from wisecracks, and less from wise guys. +"Blessed are the young, for they shall inherit the national debt." - Herbert Hoover +If you have five dollars and Chuck Norris has five dollars, Chuck Norris has more money than you. +Apple pays Chuck Norris 99 cents every time he listens to a song. +If Chuck Norris and InspIRCd met in a dark alley, Chuck Norris would get his first black eye. Ever. +Chuck Norris can sneeze with his eyes open. +Chuck Norris can kill two stones with one bird. +There is no theory of evolution. Just a list of animals Chuck Norris allows to live. +The Great Wall of China was originally created to keep Chuck Norris out. It failed miserably. +Chuck Norris can win a game of Connect Four in only three moves. +Chuck Norris is not hung like a horse... horses are hung like Chuck Norris. +Chuck Norris is currently suing NBC, claiming Law and Order are trademarked names for his left and right legs. +Chuck Norris CAN believe it's not butter. +Chuck Norris is so fast, he can run around the world and punch himself in the back of the head. +When the Boogeyman goes to sleep every night, he checks his closet for Chuck Norris. +Outer space exists because it's afraid to be on the same planet with Chuck Norris. +Chuck Norris counted to infinity - twice. +Chuck Norris only fears one thing in this world, and that is InspIRCd. +InspIRCd's core is ran by donated Chuck Norris DNA. +Chuck Norris exists because InspIRCd allows him to. +Chuck Norris CAN punch you in the face over the internet. +When Chuck Norris uses InspIRCd, he doesn't use the /kill command, he uses the /ROUND-HOUSE-TO-THE-FACE command. +A developer only classifies oneself as such if they consider themselves as such. +"While hunting in Africa, I shot an elephant in my pajamas. How an elephant got into my pajamas I'll never know." -- Groucho Marx diff --git a/docs/conf/inspircd.rules.example b/docs/conf/inspircd.rules.example new file mode 100644 index 000000000..e51f0afd9 --- /dev/null +++ b/docs/conf/inspircd.rules.example @@ -0,0 +1,3 @@ +This is the InspIRCd rules file. + +Place any network or server rules here :) diff --git a/docs/conf/links.conf.example b/docs/conf/links.conf.example new file mode 100644 index 000000000..94340cd31 --- /dev/null +++ b/docs/conf/links.conf.example @@ -0,0 +1,119 @@ +#-#-#-#-#-#-#-#-#-#-#- SERVER LINK CONFIGURATION -#-#-#-#-#-#-#-#-#-# +# # +# Defines which servers can link to this one, and which servers this # +# server may create outbound links to. # +# # +# ____ _ _____ _ _ ____ _ _ _ # +# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # +# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # +# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # +# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # +# # +# If you want to link servers to InspIRCd you must load the # +# m_spanningtree.so module! # +# # +# # + +<link + # name: The name of the remote server. This must match + # the <server:name> value of the remote server. + name="hub.penguin.org" + + # ipaddr: The IP address of the remote server. + # Can also be a hostname, but hostname must resolve. + ipaddr="penguin.box.com" + + # port: The port to connect to the server on. + # It must be bound as a server port on the other server. + port="7000" + + # allowmask: Range of IP addresses to allow for this link. + # Can be a CIDR (see example). + allowmask="69.58.44.0/24" + + # 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" + + # ssl: If defined, this states extra modules that will be used when + # making an outbound connection to the server. Options are: "openssl" + # and "gnutls" for encryption (they are compatible with each other). + # You must use the same (or a compatible) transport on both sides of the link. + # + # 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. + ssl="gnutls" + + # fingerprint: If defined, this option will force servers to be + # authenticated using SSL Fingerprints. See http://wiki.inspircd.org/SSL + # for more information. This will require an SSL link for both inbound + # and outbound connections. + #fingerprint="" + + # bind: Local IP address to bind to. + bind="1.2.3.4" + + # statshidden: defines if IP is shown to opers when + # /stats c is invoked. + statshidden="no" + + # hidden: If this is set to yes, this server and its "child" + # servers will not be shown when users do a /map or /links + hidden="no" + + # passwords: the passwords we send and receive. + # The remote server will have these passwords reversed. + # Passwords that contain a space character or begin with + # a colon (:) are invalid and may not be used. + sendpass="outgoing!password" + recvpass="incoming!password"> + +# A duplicate of the first link block without comments +# if you like copying & pasting. +<link name="hub.penguin.org" + ipaddr="penguin.box.com" + port="7000" + allowmask="69.58.44.0/24" + timeout="300" + ssl="gnutls" + bind="1.2.3.4" + statshidden="no" + hidden="no" + sendpass="outgoing!password" + recvpass="incoming!password"> + +# Link block for services. Options are the same as for the first +# link block (depending on what your services package supports). +<link name="services.antarctic.com" + ipaddr="localhost" + port="7000" + allowmask="127.0.0.0/8" + sendpass="penguins" + recvpass="polarbears"> + +# Simple autoconnect block. This enables automatic connection of a server +# Recommended setup is to have leaves connect to the hub, and have no +# automatic connections started by the hub. +<autoconnect period="300" server="hub.penguin.org"> + +# Failover autoconnect block. If you have multiple hubs, or want your network +# to automatically link even if the hub is down, you can specify multiple +# space seperated servers to autoconnect; they will be tried in a round +# robin fashion until one succeeds. Period defines the time for restarting +# a single loop. +<autoconnect period="120" + server="hub.us.penguin.org hub.eu.penguin.org leaf.eu.penguin.org"> + + +#-#-#-#-#-#-#-#-#-#-#-#- ULINES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# +# This tag defines a ulined server. A U-Lined server has special # +# permissions, and should be used with caution. Services servers are # +# usually u-lined in this manner. # +# # +# The 'silent' value, if set to yes, indicates that this server should# +# not generate quit and connect notices, which can cut down on noise # +# to opers on the network. # +# # +<uline server="services.antarctic.com" silent="yes"> diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example new file mode 100644 index 000000000..e987f4878 --- /dev/null +++ b/docs/conf/modules.conf.example @@ -0,0 +1,1809 @@ +#-#-#-#-#-#-#-#-#-#-#-#-#- MODULE OPTIONS -#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# These tags define which modules will be loaded on startup by your # +# server. Add modules without any paths. When you make your ircd # +# using the 'make' command, all compiled modules will be moved into # +# the folder you specified when you ran ./configure. The module tag # +# automatically looks for modules in this location. # +# If you attempt to load a module outside of this location, either # +# in the config, or via /LOADMODULE, you will receive an error. # +# # +# By default, ALL modules are commented out. You must uncomment them # +# or add lines to your config to load modules. Please refer to # +# http://wiki.inspircd.org/Modules for a list of modules and # +# each modules link for any additional conf tags they require. # +# # +# ____ _ _____ _ _ ____ _ _ _ # +# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # +# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # +# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # +# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # +# # +# To link servers to InspIRCd, you MUST load the m_spanningtree # +# 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. # +# # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# MD5 Module - Allows other modules to generate MD5 hashes, usually for +# cryptographic uses and security. +# +# IMPORTANT: +# Other modules such as m_cloaking.so and m_password_hash.so may rely on +# this module being loaded to function. +# +#<module name="m_md5.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SHA256 Module - Allows other modules to generate SHA256 hashes, +# usually for cryptographic uses and security. +# +# IMPORTANT: +# Other modules such as m_password_hash.so may rely on this module being +# loaded to function. Certain modules such as m_spanningtree.so will +# function without this module but when it is loaded their features will +# be enhanced (for example the addition of HMAC authentication). +# +#<module name="m_sha256.so"> +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# RIPEMD160 Module - Allows other modules to generate RIPEMD160 hashes, +# usually for cryptographic uses and security. +# +# IMPORTANT: +# Other modules may rely on this module being loaded to function. +#<module name="m_ripemd160.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Abbreviation module: Provides the ability to abbreviate commands a-la +# BBC BASIC keywords. +#<module name="m_abbreviation.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Alias module: Allows you to define server-side command aliases +#<module name="m_alias.so"> +# +# Fantasy settings: +# +#<fantasy prefix="!" allowbots="no"> +# +# prefix: +# Set the prefix for in-channel aliases (fantasy commands) to the +# specified character. If not set, the default is "!". +# allowbots: +# If this is set to no, +B clients will not be able to use fantasy +# commands. If not set, the default is no. +# +#-#-#-#-#-#-#-#-#-#-#- ALIAS DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# If you have the m_alias.so module loaded, you may also define # +# aliases as shown below. They are commonly used to provide shortcut # +# commands to services, however they are not limited to just this use.# +# An alias tag requires the following values to be defined in it: # +# # +# text - The text to detect as the actual command line, # +# Cant contain spaces, but case insensitive. # +# You may have multiple aliases with the same # +# command name (text="" value), however the first # +# found will be executed if its format value is # +# matched, or it has no format value. Aliases are # +# read from the top of the file to the bottom. # +# # +# usercommand - If this is true, the alias can be run simply as # +# /aliasname. Defaults to true. # +# # +# channelcommand - If this is true, the alias can be used as an # +# in-channel alias or 'fantasy command', prefixed # +# by the fantasy prefix character, !aliasname by # +# default. Defaults to false. # +# # +# format - If this is defined, the parameters of the alias # +# must match this glob pattern. For example if you # +# want the first parameter to start with a # for # +# the alias to be executed, set format="#*" in the # +# alias definition. Note that the :'s which are # +# part of IRC formatted lines will be preserved # +# for matching of this text. This value is # +# optional. # +# # +# replace - The text to replace 'text' with. Usually this # +# will be "PRIVMSG ServiceName :$2-" or similar. # +# You may use the variables $1 through $9 in the # +# replace string, which refer to the first through # +# ninth word in the original string typed by the # +# user. You may also use $1- through $9- which # +# refer to the first word onwards, through to the # +# ninth word onwards, e.g. if the user types the # +# command "foo bar baz qux quz" then $3- will hold # +# "baz qux quz" and $2 will contain "bar". You may # +# also use the special variables: $nick, $ident, # +# $host and $vhost, and you may separate multiple # +# commands with a newline (which can be written in # +# the file literally, or encoded as &nl; or \n # +# depending on the config format setting). # +# # +# requires - If you provide a value for 'requires' this means # +# the given nickname MUST be online for the alias # +# to successfully trigger. If they are not, then # +# the user receives a 'no such nick' 401 numeric. # +# # +# uline - Defining this value with 'yes', 'true' or '1' # +# will ensure that the user given in 'requires' # +# must also be on a u-lined server, as well as # +# actually being on the network. If the user is # +# online, but not on a u-lined server, then an # +# oper-alert is sent out as this is possibly signs # +# of a user trying to impersonate a service. # +# # +# operonly - Defining this value, with a value of 'yes', '1' # +# or true will make the alias oper only. If a non- # +# oper attempts to use the alias, it will appear # +# to not exist. # +# # +#<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. +# +#<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" +# requires="ChanServ" uline="yes"> +# +#<alias text="ID" replace="PRIVMSG NickServ :IDENTIFY $2" +# requires="NickServ" uline="yes"> +# +# This alias fixes a glitch in xchat 2.6.x and above and the way it +# assumes IDENTIFY must be prefixed by a colon (:) character. It should +# be placed ABOVE the default NICKSERV alias (the first example) listed +# above. +# +#<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-" +# requires="NickServ" uline="yes"> +# +# You may also add aliases to trigger based on something said in a +# channel, aka 'fantasy' commands, configured in the same manner as any +# other alias, with usercommand="no" and channelcommand="yes" The +# command must be preceded by the fantasy prefix when used. +# +#<alias text="CS" usercommand="no" channelcommand="yes" +# replace="PRIVMSG ChanServ :$1 $chan $2-" requires="ChanServ" uline="yes"> +# +# This would be used as "!cs <command> <options>", with the channel +# being automatically inserted after the command in the message to +# ChanServ, assuming the fantasy prefix is "!". + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Allowinvite module: Gives channel mode +A to allow all users to use +# /invite, and extban A to deny invite from specific masks +#<module name="m_allowinvite.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Alltime module: Shows time on all connected servers at once. +# This module is oper-only and provides /alltime. +# To use, ALLTIME must be in one of your oper class blocks. +#<module name="m_alltime.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Auditorium module: Adds channel mode +u which makes everyone else +# except you in the channel invisible, used for large meetings etc. +#<module name="m_auditorium.so"> +# +# Auditorium settings: +# +#<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 +# +# 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. +# For example, +w o:R:Brain will op anyone identified to the account "Brain" +# on join. +#<module name="m_autoop.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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"> +# +#-#-#-#-#-#-#-#-#-#-#- 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 +B +#<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. # +# # +# capsmap - A list of chars to be considered CAPS, this was # +# you can add CAPS for your language. Also you can # +# add things like ! and space to further lock down # +# on caps usage. # +#<blockcaps percent="50" +# minlen="5" +# capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! "> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Block color module: Blocking color-coded messages with cmode +c +#<module name="m_blockcolor.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Botmode module: Adds the user mode +B +#<module name="m_botmode.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# CallerID module: Adds usermode +g which activates hybrid-style +# callerid (== block all private messages unless you /accept first) +#<module name="m_callerid.so"> +# +#-#-#-#-#-#-#-#-#-#-#- CALLERID CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# maxaccepts - Maximum number of entires a user can add to his # +# /accept list. Default is 16 entries. # +# operoverride - Can opers (note: ALL opers) ignore callerid mode? # +# Default is no. # +# tracknick - Preserve /accept entries when a user changes nick? # +# If no (the default), the user is removed from # +# everyone's accept list if he changes nickname. # +# cooldown - Amount of time (in seconds) that must pass since # +# the last notification sent to a user before he can # +# be sent another. Default is 60 (1 minute). # +#<callerid maxaccepts="16" +# operoverride="no" +# tracknick="no" +# cooldown="60"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# CAP module: Provides the CAP negotiation mechanism seen in +# ratbox-derived ircds +#<module name="m_cap.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# CBAN module: Lets you disallow channels from being used at runtime. +# This module is oper-only and provides /cban. +# To use, CBAN must be in one of your oper class blocks. +#<module name="m_cban.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Censor module: Adds the channel mode +G +#<module name="m_censor.so"> +# +#-#-#-#-#-#-#-#-#-#-#- CENSOR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# Optional - If you specify to use the m_censor module, then you must # +# specify some censor tags. See also: # +# http://wiki.inspircd.org/Modules/censor # +# +#<include file="conf/censor.conf"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# CGI:IRC module: Adds support for automatic host changing in CGI:IRC +# (http://cgiirc.sourceforge.net). +#<module name="m_cgiirc.so"> +# +#-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# +# +# Optional - If you specify to use m_cgiirc, then you must specify one +# or more cgihost tags which indicate authorised CGI:IRC servers which +# will be connecting to your network, and an optional cgiirc tag. +# For more information see: http://wiki.inspircd.org/Modules/cgiirc +# +# Set to yes if you want to notice opers when CGI clients connect +# <cgiirc opernotice="no"> +# +# The type field indicates where the module should get the real +# client's IP address from, for further information, please see the +# CGI:IRC documentation. +# +# Old style: +# <cgihost type="pass" mask="www.mysite.com"> # Get IP from PASS +# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident +# <cgihost type="passfirst" mask="www.mysite.com"> # See the docs +# New style: +# <cgihost type="webirc" password="foobar" +# mask="somebox.mysite.com"> # Get IP from WEBIRC +# +# IMPORTANT NOTE: +# --------------- +# +# When you connect CGI:IRC clients, there are two connect classes which +# apply to these clients. When the client initially connects, the connect +# class which matches the cgi:irc site's host is checked. Therefore you +# must raise the maximum local/global clients for this ip as high as you +# want to allow cgi clients. After the client has connected and is +# determined to be a cgi:irc client, the class which matches the client's +# real IP is then checked. You may set this class to a lower value, so that +# the real IP of the client can still be restricted to, for example, 3 +# sessions maximum. +# + + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Channel create module: Adds snomask +j, which will notify opers of +# any new channels that are created. +# This module is oper-only. +#<module name="m_chancreate.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Channel filter module: Allows channel-op defined message +# filtering using simple string matches (channel mode +g) +#<module name="m_chanfilter.so"> +# +# If hidemask is set to yes, the user will not be shown the mask when +# his/her message is blocked. +#<chanfilter hidemask="yes"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Channel History module: Displays the last 'X' lines of chat to a user +# joining a channel with +H 'X:T' set; 'T' is the maximum time to keep +# lines in the history buffer. Designed so that the new user knows what +# the current topic of conversation is when joining the channel. +# NOTE: Currently hard-limited to a maximum of 50 lines. +#<module name="m_chanhistory.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Channel logging module: used to send snotice output to channels, to +# allow staff to centrally monitor and discuss network activity. +# +# The "channel" field is where you want the messages to go, "snomasks" +# is what snomasks you want to be sent to that channel. Multiple tags +# are allowed. +#<module name="m_chanlog.so"> +#<chanlog snomasks="AOcC" channel="#opers"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Channel Names module: Allows disabling channels which have certain +# 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"> + +<channames + # denyrange: characters or range of characters to deny in channel + # names. + denyrange="2,3" + + # allowrange: characters or range of characters to specifically allow + # in channel names. + allowrange=""> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Channelban: Implements extended ban j:, which stops anyone in already +# in a channel matching a mask like +b j:#channel*mask from joining. +#<module name="m_channelban.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Chanprotect module: gives +q and +a channel modes +#<module name="m_chanprotect.so"> + +<chanprotect + # noservices: With this set to yes, when a user joins a empty channel, + # the server will set +q on them. If set to no, it will only set +o + # on them until they register the channel. + noservices="no" + + # qprefix: Prefix (symbol) to use for +q users. + qprefix="~" + + # aprefix: Prefix (symbol) to use for +a users. + aprefix="&" + + # deprotectself: If this value is set (true, yes or 1), it will allow + # +a and +q users to remove the +a and +q from themselves, otherwise, + # the status will have to be removed by services. + deprotectself="yes" + + # deprotectothers: If this value is set to yes, true, or 1, then any + # user with +q or +a may remove the +q or +a from other users. + deprotectothers="yes"> + + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Check module: gives /check +# Check is useful for looking up information on channels, +# users, IP addresses and hosts. +# This module is oper-only. +# To use, CHECK must be in one of your oper class blocks. +#<module name="m_check.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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 #-#-#-#-#-#-#-#-# +# Optional - If you want to use special chars for hostnames you can # +# specify your own custom list of chars with the <hostname> tag: # +# # +# charmap - A list of chars accepted as valid by the /CHGHOST # +# and /SETHOST commands. Also note that the list is # +# case-sensitive. # +#<hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# CHGIDENT module: Adds the /CHGIDENT command +# This module is oper-only. +# To use, CHGIDENT must be in one of your oper class blocks. +#<module name="m_chgident.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# CHGNAME module: Adds the /CHGNAME command +# This module is oper-only. +# To use, CHGNAME must be in one of your oper class blocks. +#<module name="m_chgname.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Cloaking module: Adds usermode +x and cloaking support. +# Relies on the module m_md5.so being loaded before m_cloaking.so in +# the configuration file. +# To use, you should enable m_conn_umodes and add +x as +# an enabled mode. See the m_conn_umodes module for more information. +#<module name="m_cloaking.so"> +# +#-#-#-#-#-#-#-#-#-#-#- CLOAKING CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# 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. +# This module is oper-only and provides /close. +# To use, CLOSE must be in one of your oper class blocks. +#<module name="m_close.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Clones module: Adds an oper command /CLONES for detecting cloned +# users. Warning: This module may be resource intensive when its +# command is issued, use with care. +# This module is oper-only. +# To use, CLONES must be in one of your oper class blocks. +#<module name="m_clones.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Common channels module: Adds user mode +c, which, when set, requires +# that users must share a common channel with you to PRIVMSG or NOTICE +# you. +#<module name="m_commonchans.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Conn-Join: Allows you to force users to join one or more channels +# automatically upon connecting to the server. +#<module name="m_conn_join.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- CONNJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# +# If you have m_conn_join.so loaded, you can configure it using the +# follow values: +# +#<autojoin channel="#one,#two,#three"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Conn-Usermodes: Set modes on users when they connect +# When this module is loaded <connect:allow> tags may have an optional +# modes="" value, which contains modes to add or remove from users +# when they connect to the server. +#<module name="m_conn_umodes.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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 other # +# older ircds # +# # +# killonbadreply - Whether to kill the user if they send the wrong # +# PONG reply. # +# # +#<waitpong sendsnotice="yes" killonbadreply="yes"> + + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Channel cycle module. Server side /hop, with +ilk etc bypass. +#<module name="m_cycle.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Connectban: Provides IP connection throttling. Any IP range that connects +# too many times (configurable) in an hour is zlined for a (configurable) +# duration, and their count resets to 0. +# +# ipv4cidr and ipv6cidr allow you to turn the comparison from individual +# IP addresses (32 and 128 bits) into CIDR masks, to allow for throttling +# over whole ISPs/blocks of IPs, which may be needed to prevent attacks. +# +#<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128"> +# This allows for 10 connections in an hour with a 10 minute ban if that is exceeded. +# +#<module name="m_connectban.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Connection throttle module. Configuration: +#<module name="m_connflood.so"> +# +#-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# seconds, maxconns - Amount of connections per <seconds>. +# +# timeout - Time to wait after the throttle was activated +# before deactivating it. Be aware that the time +# is seconds + timeout. +# +# quitmsg - The message that users get if they attempt to +# connect while the throttle is active. +# +# bootwait - Amount of time in seconds to wait before enforcing +# the throttling when the server just booted. +# +#<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 +# vhost can be specified. +#<module name="m_customtitle.so"> +# +#-#-#-#-#-#-#-#-#-#- CUSTOM TITLE CONFIGURATION -#-#-#-#-#-#-#-#-#-# +# name - The username used to identify +# password - The password used to identify +# hash - The hash for the specific user's password (optional) +# m_password_hash.so and a hashing module must be loaded for this to work +# host - Allowed hostmask [optional] +# title - Title shown in whois +# vhost - Displayed host [optional] +# +#<title name="foo" password="bar" title="Official Chat Helper"> +#<title name="bar" password="foo" host="ident@host.name" title="Official Chat Helper" vhost="helper.network.chat"> +#<title name="foo" password="fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9" hash="sha256" title="Official Chat Helper"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# DCCALLOW module: Adds the /DCCALLOW command +#<module name="m_dccallow.so"> +# +#-#-#-#-#-#-#-#-#-#-#- DCCALLOW CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# blockchat - Whether to block DCC CHAT as well as DCC SEND +# length - Default duration of entries in DCCALLOW list +# action - Default action to take if no action is specified +# can be 'block' or 'allow' +# +# File configuration: +# pattern - The glob pattern to match against +# action - Action to take if a user attempts to send a file +# that matches this pattern, can be 'block' or 'allow' +# +#<dccallow blockchat="yes" length="5m" action="block"> +#<banfile pattern="*.exe" action="block"> +#<banfile pattern="*.txt" action="allow"> +# +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Deaf module: adds support for ircu style usermode +d - deaf to +# channel messages and channel notices. +#<module name="m_deaf.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Delay join module: Adds the channel mode +D which delays all JOIN +# messages from users until they speak. If they quit or part before +# speaking, their quit or part message will not be shown to the channel +# which helps cut down noise on large channels in a more friendly way +# 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"> +# +#-#-#-#-#-#-#-#-#-#-#- DENYCHAN DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-# +# # +# If you have the m_denychans.so module loaded, you need to specify # +# the channels to deny: # +# # +# name - The channel name to deny. (glob masks are ok) # +# # +# allowopers - If operators are allowed to override the deny. # +# # +# reason - Reason given for the deny. # +# # +# redirect - Redirect the user to a different channel # +# # +#<badchan name="#gods*" allowopers="yes" reason="Tortoises!"> # +#<badchan name="#heaven" redirect="#hell" reason="Nice try!"> # +# # +# Redirects will not work if the target channel is set +L. # +# # +# Additionally, you may specify channels which are allowed, even if # +# a badchan tag specifies it would be denied: # +#<goodchan name="#godsleeps"> # +# Glob masks are accepted here also. + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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://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"> # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Filter module: Provides message filtering, similar to SPAMFILTER. +#<module name="m_filter.so"> +# # +# This module depends upon a regex provider such as m_regex_pcre or # +# m_regex_glob to function. You must specify which of these you want # +# m_filter to use via the tag below. # +# # +# Valid engines are: # +# # +# glob - Glob patterns, provided via m_regex_glob.so # +# pcre - PCRE regexps, provided via m_regex_pcre.so, needs libpcre # +# tre - TRE regexps, provided via m_regex_tre.so, requires libtre # +# posix - POSIX regexps, provided via m_regex_posix.so, not availale # +# on windows, no dependencies on other operating systems. # +# # +#<filteropts engine="glob"> # +# # +# Your choice of regex engine must match on all servers network-wide. +# +# You may specify specific channels that are exempt from being filtered: +#<exemptfromfilter channel="#blah"> +# +#-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# Optional - If you specify to use the m_filter module, then # +# specfiy below the path to the filter.conf file, or define some # +# <filter> tags. # +# # +#<include file="conf/filter.conf"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Gecosban: Implements extended ban r:, which stops anyone matching +# a mask like +b r:*realname?here* from joining a channel. +#<module name="m_gecosban.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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, +# use your package manager to find the appropriate packages +# or check the InspIRCd wiki page for this module. +#<module name="m_geoip.so"> +# +# 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 +# This module is oper-only. +# To use, GLOBOPS must be in one of your oper class blocks. +#<module name="m_globops.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Global load module: Allows loading and unloading of modules network- +# wide (USE WITH EXTREME CAUTION!) +# This module is oper-only and provides /gloadmodule, /gunloadmodule +# and /greloadmodule. +# To use, GLOADMODULE, GUNLOADMODULE and GRELOADMODULE +# must be in one of your oper class blocks. +#<module name="m_globalload.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Halfop module: Provides the +h (halfops) channel status mode. +#<module name="m_halfop.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# HELPOP module: Provides the /HELPOP command +#<module name="m_helpop.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- HELPOP CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# Optional - If you specify to use the m_helpop.so module, then # +# specify below the path to the helpop.conf file, or if you like to # +# make a mess, define your helpop tags in this conf. # +# # +#<include file="conf/inspircd.helpop-full.example"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# HIDECHANS module: Allows opers to hide their channels list from non- +# opers by setting user mode +I on themselves. +#<module name="m_hidechans.so"> +# +# HIDECHANS can optionally prevent opers from seeing channels on a +I +# user, for more privacy if set to true. +# This setting is not recommended for most mainstream networks. +#<hidechans affectsopers="false"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# HIDEOPER module: Allows opers to hide their oper status from non- +# opers by setting user mode +H on themselves. +# This module is oper-only. +#<module name="m_hideoper.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Hostchange module: Allows a different style of cloaking +#<module name="m_hostchange.so"> +# +#-#-#-#-#-#-#-#-#-#-#- HOSTCHANGE CONFIGURATION -#-#-#-#-#-#-#-#-#-# +# # +# Optional - If you choose to use the m_hostchange.so module. # +# Config Help - See http://wiki.inspircd.org/Modules/hostchange # +# # +#<host suffix="polarbears.org" separator="." prefix=""> +#<hostchange mask="*@fbi.gov" action="addnick"> +#<hostchange mask="*r00t@*" action="suffix"> +#<hostchange mask="a@b.com" action="set" value="blah.blah.blah"> +#<hostchange mask="localhost" ports="7000,7001,7005-7007" action="set" value="blahblah.foo"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# httpd module: Provides http server support for InspIRCd +#<module name="m_httpd.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- HTTPD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# +# If you choose to use the m_httpd.so module, then you will need to add +# a <bind> tag with type "httpd", and load at least one of the other +# m_httpd_* modules to provide pages to display. +# + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# http ACL module: Provides access control lists for m_httpd dependent +# modules. Use this module to restrict pages by IP address and by +# password. +# +#<module name="m_httpd_acl.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- HTTPD ACL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# +# Restrict access to the m_httpd_stats module to all but the local +# network and when the correct password is specified: +# +# <httpdacl path="/stats*" types="password,whitelist" +# username="secretstuff" password="mypasshere" whitelist="127.0.0.*,10.*"> +# +# Deny all connections to all but the main index page: +# +# <httpdacl path="/*" types="blacklist" blacklist="*"> +# + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# http config module: Allows the server's configuration to be viewed +# over HTTP. Requires m_httpd.so to be loaded for it to function. +#<module name="m_httpd_config.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# http stats module: Provides basic stats pages over HTTP +# Requires m_httpd.so to be loaded for it to function. +#<module name="m_httpd_stats.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Ident: Provides RFC 1413 ident lookup support +# When this module is loaded <connect:allow> tags may have an optional +# useident="yes|no" boolean value, determining whether or not to lookup +# ident on users matching that connect tag. +#<module name="m_ident.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- IDENT CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# Optional - If you are using the m_ident.so module, then you can # +# specify the timeout for ident lookups here. If not defined, it will # +# default to one second. This is a non-blocking timeout which holds # +# the user in a 'connecting' state until the lookup is complete. # +# The bind value indicates which IP to bind outbound requests to. # +# # +#<ident timeout="5"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Invite except module: Adds support for channel invite exceptions (+I) +#<module name="m_inviteexception.so"> +# Does a +I bypass channel +k in addition to +i? +#<inviteexception bypasskey="yes"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Join flood module: Adds support for join flood protection (+j) +#<module name="m_joinflood.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Anti-Auto-Rejoin: Adds support for prevention of auto-rejoin (+J) +#<module name="m_kicknorejoin.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Knock module: adds the /KNOCK command and +K channel mode +#<module name="m_knock.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# LDAP authentication module: Adds the ability to authenticate users # +# via LDAP. This is an extra module which must be enabled explicitly # +# by symlinking it from modules/extra, and requires the OpenLDAP libs # +# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_ldapauth.cpp +# and run make install, then uncomment this module to enable it. # +# # +#<module name="m_ldapauth.so"> # +# # +# Configuration: # +# # +# <ldapauth baserdn="ou=People,dc=brainbox,dc=cc" # +# attribute="uid" # +# server="ldap://brainwave.brainbox.cc" # +# allowpattern="Guest*" # +# killreason="Access denied" # +# searchscope="subtree" # +# binddn="cn=Manager,dc=brainbox,dc=cc" # +# 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'. # +# # +# The attribute value indicates the attribute which is used to locate # +# a user account by name. On POSIX systems this is usually 'uid'. # +# # +# The server parameter indicates the LDAP server to connect to. The # +# ldap:// style scheme before the hostname proper is MANDITORY. # +# # +# The allowpattern value allows you to specify a wildcard mask which # +# will always be allowed to connect regardless of if they have an # +# account, for example guest users. # +# # +# Killreason indicates the QUIT reason to give to users if they fail # +# to authenticate. # +# # +# The searchscope value indicates the subtree to search under. On our # +# test system this is 'subtree'. Your mileage may vary. # +# # +# Setting the verbose value causes an oper notice to be sent out for # +# every failed authentication to the server, with an error string. # +# # +# The binddn and bindauth indicate the DN to bind to for searching, # +# and the password for the distinguished name. Some LDAP servers will # +# 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. # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# LDAP oper configuration module: Adds the ability to authenticate # +# opers via LDAP. This is an extra module which must be enabled # +# explicitly by symlinking it from modules/extra, and requires the # +# OpenLDAP libs. Re-run configure with: ./configure --enable-extras=m_ldapoper.cpp +# and run make install, then uncomment this module to enable it. # +# # +#<module name="m_ldapoper.so"> +# # +# Configuration: # +# # +# <ldapoper baserdn="ou=People,dc=brainbox,dc=cc" +# server="ldap://brainwave.brainbox.cc" +# searchscope="subtree" +# binddn="cn=Manager,dc=brainbox,dc=cc" +# bindauth="mysecretpass"> +# # +# Available configuration items are identical to the same items in # +# m_ldapauth above. # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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 get disconnected, do a REHASH from # +# shell to open up again. +# +# This module is oper-only. +# +#<module name="m_lockserv.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Map hiding module: replaces /MAP and /LINKS output to users with a # +# message to see a website, set by maphide="http://link.to/site" in # +# the security tag, instead. # +#<module name="m_maphide.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Msg flood module: Adds message/notice flood protection (+f) +#<module name="m_messageflood.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# MLOCK module: Adds support for server-side enforcement of services +# side MLOCKs. Basically, this module suppresses any mode change that +# would likely be immediately bounced by services. +#<module name="m_mlock.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# MsSQL module: Allows other SQL modules to access MS SQL Server +# through a unified API. You must copy the source for this module +# from the directory src/modules/extra, plus the file m_sqlv2.h +# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_mssql.cpp +# and run make install, then uncomment this module to enable it. +# +#<module name="m_mssql.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_mssql.so is more complex than described here, see wiki for more # +# info http://wiki.inspircd.org/Modules/mssql # +# +#<database module="mssql" name="db" user="user" pass="pass" host="localhost" id="db1"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# MySQL module: Allows other SQL modules to access MySQL databases +# through a unified API. You must copy the source for this module +# from the directory src/modules/extra, plus the file m_sqlv2.h +# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_mysql.cpp +# and run make install, then uncomment this module to enable it. +# +#<module name="m_mysql.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_mysql.so is more complex than described here, see the wiki for # +# more: http://wiki.inspircd.org/Modules/mysql # +# +#<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 +# of channel settings and modes via long-form mode names in channels with +# channelmode +Z set. For example, to set a channelban with named modes: +# /mode #channel +Z ban=foo!bar@baz . Currently this doesn't serve much +# purpose outside of making channel administration a bit easier in some +# cases, but eventually modules will start using named modes only because +# we're running out of channelmodes. :D +#<module name="m_namedmodes.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# NAMESX module: Provides support for the NAMESX extension which allows +# clients to see all the prefixes set on a user without getting confused. +# This is supported by mIRC, x-chat, klient, and maybe more. +#<module name="m_namesx.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# National characters module: +# 1) Allows using national characters in nicknames. +# 2) Allows using custom (national) casemapping over the network. +# file -- filename of existing file in "locales" directory +# casemapping -- custom value for 005 numeric (if you want it to be +# different from the filename. +# +#<nationalchars file="bynets/russian-w1251-charlink" casemapping="ru_RU.cp1251-charlink"> +#<module name="m_nationalchars.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Nickchange flood protection module: Allows up to X nick changes in Y seconds. +# Provides channel mode +F. +#<module name="m_nickflood.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Nicklock module: Let opers change a user's nick and then stop that +# user from changing their nick again. +# This module is oper-only. +# To use, NICKLOCK and NICKUNLOCK must be in one of your oper class blocks. +#<module name="m_nicklock.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# No ctcp module: Adds the channel mode +C to block CTCPs and extban C +# to block CTCPs sent by specific users. +#<module name="m_noctcp.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# No kicks module: Adds the +Q channel mode and the Q: extban to deny +# certain users from kicking. +#<module name="m_nokicks.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# No nicks module: Adds the +N channel mode, as well as the +b N: +# extended bantype. +N stops all users from changing their nick, +# the +b N: extban stops anyone from matching a +b N:nick!user@host +# mask from changing their nick. +#<module name="m_nonicks.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# No part message module: adds extban 'p' to block part messages from # +# matching users. # +#<module name="m_nopartmsg.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# No Notice module: adds the channel mode +T and the extban T to block +# specific users from noticing the channel. +#<module name="m_nonotice.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 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. +# +#<module name="m_operchans.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Oper Join module: Auto-joins opers to a channel upon oper-up +# This module is oper-only. For the user equivalent, see m_conn_join. +#<module name="m_operjoin.so"> +# +#-#-#-#-#-#-#-#-#-#-# OPERJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# If you are using the m_operjoin.so module, specify options here: # +# # +# channel - The channel name to join, can also be a comma # +# seperated list eg. "#channel1,#channel2". # +# # +# override - Lets the oper join walking thru any modes that # +# might be set, even bans. Use "yes" or "no". # +# # +#<operjoin channel="#channel" override="no"> +# +# Alternatively you can use the autojoin="channellist" in a <type> # +# tag to set specific autojoins for a type of oper, for example: # +# +#<type name="Helper" autojoin="#help" classes="..."> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Oper log module: Logs all oper commands to the ircd log at default +# loglevel. +# This module is oper-only. +#<module name="m_operlog.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Oper prefixing module: Gives IRC operators a prefix status character +# on all channels they are in. +# +#<module name="m_operprefix.so"> +# +# You may additionally customise the prefix character. +#<operprefix prefix="!"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Oper MOTD module: Provides support for seperate message of the day +# on oper-up +# This module is oper-only. +#<module name="m_opermotd.so"> +# +#-#-#-#-#-#-#-#-#-#-# OPERMOTD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# If you are using the m_opermotd.so module, specify the motd here # +# # +# onoper - Should the message be sent on /OPER or only when # +# /OPERMOTD is used. Use "yes" or "no". # +# # +#<opermotd file="oper.motd" onoper="yes"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Override module: Adds support for oper override +# This module is oper-only. +#<module name="m_override.so"> +# +#-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# m_override.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/override # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Oper levels module: Gives each oper a level and prevents +# actions being taken against higher level opers +# Specify the level as the 'level' parameter of the <type> tag +# # This module is oper-only. +#<module name="m_operlevels.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Oper modes module: Allows you to specify modes to add/remove on oper +# Specify the modes as the 'modes' parameter of the <type> tag +# and/or as the 'modes' parameter of the <oper> tag. +# This module is oper-only. For the user equivalent, see m_conn_umodes +#<module name="m_opermodes.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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"> +# +#-#-#-#-#-#-#-#-#-# 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="01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" +# type="NetAdmin"> +# +# 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 +# will remain open even after everyone else has left the channel, and +# therefore keep things like modes, ban lists and topic. Permanent +# channels -may- need support from your Services package to function +# properly with them. This adds channel mode +P. +# 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="data/permchannels.conf"> +#<include file="data/permchannels.conf"> +# +# You may also create channels on startup by using the <permchannels> block. +# 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 +# through a unified API. You must copy the source for this module +# from the directory src/modules/extra, plus the file m_sqlv2.h +# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_pgsql.cpp +# and run make install, then uncomment this module to enable it. +# +#<module name="m_pgsql.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_pgsql.so is more complex than described here, see the wiki for # +# more: http://wiki.inspircd.org/Modules/pgsql # +# +#<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 +# a mask like +b m:nick!user@host from speaking on channel. +#<module name="m_muteban.so"> +# + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Random Quote module: provides a random quote on connect. +# NOTE: Some of these may mimic fatal errors and confuse users and +# opers alike! - BEWARE! +#<module name="m_randquote.so"> +# +#-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# Optional - If you specify to use the m_randquote.so module, then # +# specify below the path to the randquotes.conf file. # +# # +#<randquote file="randquotes.conf"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Redirect module: Adds channel redirection (mode +L) +#<module name="m_redirect.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for Glob or wildcard (?/*) matching. +# You must have at least 1 provider loaded to use m_filter or m_rline +# modules. This module has no additional requirements, as it uses the +# matching already present in InspIRCd core. +#<module name="m_regex_glob.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for PCRE (Perl-Compatible Regular +# Expressions). You need libpcre installed to compile and load this +# module. You must have at least 1 provider loaded to use m_filter or +# m_rline. +#<module name="m_regex_pcre.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for POSIX Regular Expressions. +# You shouldn't need any additional libraries on a POSIX-compatible +# system (ie: any Linux, BSD, but not Windows). You must have at least +# 1 provider loaded to use m_filter or m_rline. +# On POSIX-compliant systems, regex syntax can be found by using the +# command: 'man 7 regex'. +#<module name="m_regex_posix.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for TRE Regular Expressions. +# This is the same regular expression engine used by UnrealIRCd, so +# if you are most familiar with the syntax of /spamfilter from there, +# this is the provider you want. You need libtre installed in order +# to compile and load this module. +#<module name="m_regex_tre.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Remove module: Adds the /REMOVE command which is a peaceful +# alternative to /KICK +#<module name="m_remove.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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. +# +# You probably *DO NOT* want to load this module on a public network. +# +#<module name="m_restrictmsg.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Ban users through regular expression patterns +#<module name="m_rline.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- RLINE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# +# +# If you wish to re-check a user when they change nickname (can be +# useful under some situations, but *can* also use CPU with more users +# on a server) then set the following configuration value: +# Also, this is where you set what Regular Expression engine is to be +# used. If you ever change it while running, all of your R-Lines will be +# wiped. This is the regex engine used by all R-Lines set, and +# m_regex_<engine>.so must be loaded, or rline will be nonfunctional +# until you load it or change the engine to one that is loaded. +# +#<rline matchonnickchange="yes" engine="pcre"> +# +# Generally, you will NOT want to use 'glob' here, as this turns +# rline into just another gline. The exceptions are that rline will +# always use the full nick!user@host realname string, rather than only +# user@host, but beware that only the ? and * wildcards are available, +# and are the only way to specify where the space can occur if you do +# use glob. For this reason, is recommended to use a real regex engine +# so that at least \s or [[:space:]] is available. + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SAJOIN module: Adds the /SAJOIN command +# This module is oper-only. +# To use, SAJOIN must be in one of your oper class blocks. +#<module name="m_sajoin.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SAKICK module: Adds the /SAKICK command +# This module is oper-only. +# To use, SAKICK must be in one of your oper class blocks. +#<module name="m_sakick.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SAMODE module: Adds the oper /SAMODE command +# This module is oper-only. +# To use, SAMODE must be in one of your oper class blocks. +#<module name="m_samode.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SANICK module: Allows opers to change user's nicks +# This module is oper-only. +# To use, SANICK must be in one of your oper class blocks. +#<module name="m_sanick.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SAPART module: Adds the oper /SAPART command +# This module is oper-only. +# To use, SAPART must be in one of your oper class blocks. +#<module name="m_sapart.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SAQUIT module: Adds the oper /SAQUIT command (abusable!!!) +# This module is oper-only. +# To use, SAQUIT must be in one of your oper class blocks. +#<module name="m_saquit.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SATOPIC module: Adds the oper /SATOPIC command +# This module is oper-only. +# To use, SATOPIC must be in one of your oper class blocks. +#<module name="m_satopic.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SASL authentication module: Provides support for IRC Authentication +# Layer (aka: atheme SASL) via AUTHENTICATE. +#<module name="m_sasl.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: # +<securehost exception="*@*.searchirc.org"> +<securehost exception="*@*.netsplit.de"> +<securehost exception="*@echo940.server4you.de"> +<securehost exception="*@*.ircdriven.com"> +# # +# Define the following variable to change how long a user must wait # +# before issuing a LIST. If not defined, defaults to 60 seconds. # +# # +#<securelist waittime="60"> # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Servprotect module: Provides support for Austhex style +k / +# UnrealIRCD +S services mode +#<module name="m_servprotect.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# See nicks module: Allow for SNOMASK +N which shows nick changes. +# This module is oper-only. +#<module name="m_seenicks.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Set Idle module: Adds a command for opers to change their +# idle time (mainly a toy) +# This module is oper-only. +# To use, SETIDLE must be in one of your oper class blocks. +#<module name="m_setidle.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Services support module: Adds several usermodes such as +R and +M +# this module implements the 'identified' state via account names (AC) +# and is similar in operation to the way asuka and ircu handle services. +# +# At the same time, this offers +r for users and channels to mark them +# as identified seperately from the idea of a master account, which +# can be useful for services which are heavily nick-as-account centric. +# +# This replaces m_services from 1.1 and earlier. +# +# Also of note is that this module implements two extbans: +# +b R: (stop matching account names from joining) +# +b M: (stop matching account names from speaking) +# +#<module name="m_services_account.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Sethost module: Adds the /SETHOST command +# This module is oper-only. +# To use, SETHOST must be in one of your oper class blocks. +# See m_chghost for how to customise valid chars for hostnames +#<module name="m_sethost.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Setident module: Adds the /SETIDENT command +# This module is oper-only. +# To use, SETIDENT must be in one of your oper class blocks. +#<module name="m_setident.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SETNAME module: Adds the /SETNAME command +# This module is oper-only. +# To use, SETNAME must be in one of your oper class blocks. +#<module name="m_setname.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Serverban: Implements extended ban s:, which stops anyone connected +# to a server matching a mask like +b s:server.mask.here from joining. +#<module name="m_serverban.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Show Whois module: Adds the +W usermode which allows opers +# to see when they are whois'ed (can be annoying). +# This module is oper-only. +#<module name="m_showwhois.so"> +# +# If you wish, you may also let users set this mode. Only opers with the +# users/auspex priv will see real hosts of people, though. This setting +# is not reloadable via /rehash, and will require /reloadmodule, as +# it directly affects the mode object itself. +#<showwhois opersonly="yes" +# +# You may also set whether or not users should recieve whois notices, should +# they be /whois'd by an oper. +# showfromopers="yes"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Shun module: Provides the /SHUN command, which stops a user from +# executing all except configured commands. +# This module is oper-only. +# To use, SHUN must be in one of your oper class blocks. +#<module name="m_shun.so"> +# +# You may also configure which commands you wish a user to be able to +# perform. It should be noted that if a shunned user issues QUIT or PART +# then their message will be removed, as if they did not issue one. +# +# You can (optionally) let the user know that their command was blocked. +# +# You may also let SHUN affect opers (defaults to no). +#<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="yes" affectopers="no"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SSL channel mode module: Adds support for SSL-only channels (+z). +# does not do anything useful without a working SSL module (see below) +#<module name="m_sslmodes.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 +# src/modules/extra, or answer 'yes' in ./configure when asked if you +# want to enable this, or it will not load. +#<module name="m_ssl_gnutls.so"> +# +#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_ssl_gnutls.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/ssl_gnutls # +# # +# NOTE: If you want to use this module to encrypt and sign your # +# server to server traffic, you MUST load it before m_spanningtree in # +# your configuration file! # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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. 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"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# OpenSSL ssl module: Adds support for client-server SSL using OpenSSL, +# if enabled. You must copy the source for this module from the directory +# src/modules/extra, or answer 'yes' in ./configure when asked if you +# want to enable this, or it will not load. +#<module name="m_ssl_openssl.so"> +# +#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_ssl_openssl.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/ssl_openssl # +# # +# NOTE: If you want to use this module to encrypt and sign your # +# server to server traffic, you MUST load it before m_spanningtree in # +# your configuration file! # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Strip color module: Adds the channel mode +S +#<module name="m_stripcolor.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SILENCE module: Adds support for /SILENCE +#<module name="m_silence.so"> +# +# Configuration tags: +# +#<silence maxentries="32"> +# +# Sets the maximum number of entries on a users silence list. + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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 # +# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_aqlite.cpp +# and run make install, then uncomment this module to enable it. # +# +#<module name="m_sqlite3.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_sqlite.so is more complex than described here, see the wiki for # +# more: http://wiki.inspircd.org/Modules/sqlite3 # +# +#<database module="sqlite" hostname="/full/path/to/database.db" id="anytext"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SQL authentication module: Allows IRCd connections to be tied into +# a database table (for example a forum). You must copy the source for +# this module from the directory src/modules/extra +# Depends on the SQLutils module being loaded first. +# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_sqlauth.cpp +# and run make install, then uncomment this module to enable it. +# +#<module name="m_sqlauth.so"> +# +#-#-#-#-#-#-#-#-#-#-#- SQLAUTH CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_sqlauth.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/sqlauth # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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 +# Depends on the SQLutils module being loaded first. +# This modules is in extras. Re-run configure with: ./configure --enable-extras=m_sqloper.cpp +# and run make install, then uncomment this module to enable it. +# +#<module name="m_sqloper.so"> +# +#-#-#-#-#-#-#-#-#-#-#- SQLOPER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# dbid - Database ID to use (see m_sql) # +# hash - Hashing provider to use for password hashing # +# # +# See also: http://wiki.inspircd.org/Modules/sqloper # +# # +#<sqloper dbid="1" hash="md5"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SVSHold module: Implements SVSHOLD. Like Q:Lines, but can only be # +# added/removed by Services. # +#<module name="m_svshold.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SWHOIS module: Allows you to add arbitary lines to user WHOIS. +# This module is oper-only. +# To use, SWHOIS must be in one of your oper class blocks. +#<module name="m_swhois.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 channel bans and the /TBAN command +#<module name="m_timedbans.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Test line module: Adds the /TLINE command, used to test how many +# users a /GLINE or /ZLINE etc would match. +# This module is oper-only. +# To use, TLINE must be in one of your oper class blocks. +#<module name="m_tline.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# UHNAMES support module: Adds support for the IRCX style UHNAMES +# extension, which displays ident and hostname in the names list for +# each user, saving clients from doing a WHO on the channel. Note that +# this module is not widely supported yet. If a client does not support +# UHNAMES it will not enable it, this will not break incompatible +# clients. +#<module name="m_uhnames.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 +# This module is oper-only. +# To use, USERIP must be in one of your oper class blocks. +#<module name="m_userip.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Vhost module: Adds the VHOST command which allows for adding virtual +# hosts which are accessible using a username and password in the config. +#<module name="m_vhost.so"> +# +#-#-#-#-#-#-#-#-#-#-#- VHOST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# +# # +# user - Username for the vhost. # +# # +# pass - Password for the vhost. # +# # +# hash - The hash for the specific user (optional) # +# m_password_hash.so and a hashing module must be loaded # +# for this to work. # +# # +# host - Vhost to set. # +# +#<vhost user="some_username" pass="some_password" host="some.host"> +#<vhost user="foo" password="fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9" hash="sha256" host="some.other.host"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Watch module: Adds the WATCH command, which is used by clients to +# maintain notify lists. +#<module name="m_watch.so"> +# +# Configuration tags: +# +#<watch maxentries="32"> +# +# Sets the maximum number of entries on a user's watch list. + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# XLine database: Stores all *Lines (G/Z/K/R/any added by other modules) +# in a file "xline.db" which can be re-loaded on restart. This is useful +# for two reasons: it keeps bans so users may not evade them, and on +# bigger networks, server connections will take less time as there will +# be a lot less bans to apply - as most of them will already be there. +#<module name="m_xline_db.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# ____ _ _____ _ _ ____ _ _ _ # +# | _ \ ___ __ _ __| | |_ _| |__ (_)___ | __ )(_) |_| | # +# | |_) / _ \/ _` |/ _` | | | | '_ \| / __| | _ \| | __| | # +# | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # +# |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # +# # +# To link servers to InspIRCd, you MUST load the m_spanningtree # +# 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. # +# # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Spanning Tree module - allows linking of servers using the spanning +# tree protocol (see the READ THIS BIT section above). +# You will almost always want to load this. +# +#<module name="m_spanningtree.so"> + + diff --git a/docs/conf/modules/modules.conf.charybdis b/docs/conf/modules/modules.conf.charybdis new file mode 100644 index 000000000..8ba2f1b40 --- /dev/null +++ b/docs/conf/modules/modules.conf.charybdis @@ -0,0 +1,329 @@ +<module name="m_md5.so"> +<module name="m_sha256.so"> +<module name="m_alias.so"> +<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"> +<alias text="ID" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes"> + +<module name="m_banexception.so"> +<module name="m_banredirect.so"> +<module name="m_blockcolor.so"> +<module name="m_callerid.so"> +<callerid maxaccepts="16" + operoverride="no" + tracknick="no" + cooldown="60"> + +<module name="m_cap.so"> +<module name="m_cban.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# CGI:IRC module: Adds support for automatic host changing in CGI:IRC +# (http://cgiirc.sourceforge.net). +#<module name="m_cgiirc.so"> +# +#-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# +# +# Optional - If you specify to use m_cgiirc, then you must specify one +# or more cgihost tags which indicate authorised CGI:IRC servers which +# will be connecting to your network, and an optional cgiirc tag. +# For more information see: http://wiki.inspircd.org/Modules/cgiirc +# +# Set to yes if you want to notice opers when CGI clients connect +# <cgiirc opernotice="no"> +# +# The type field indicates where the module should get the real +# client's IP address from, for further information, please see the +# CGI:IRC documentation. +# +# Old style: +# <cgihost type="pass" mask="www.mysite.com"> # Get IP from PASS +# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident +# <cgihost type="passfirst" mask="www.mysite.com"> # See the docs +# New style: +# <cgihost type="webirc" password="foobar" +# mask="somebox.mysite.com"> # Get IP from WEBIRC +# +# IMPORTANT NOTE: +# --------------- +# +# When you connect CGI:IRC clients, there are two connect classes which +# apply to these clients. When the client initially connects, the connect +# class which matches the cgi:irc site's host is checked. Therefore you +# must raise the maximum local/global clients for this ip as high as you +# want to allow cgi clients. After the client has connected and is +# determined to be a cgi:irc client, the class which matches the client's +# real IP is then checked. You may set this class to a lower value, so that +# the real IP of the client can still be restricted to, for example, 3 +# sessions maximum. +# + +<module name="m_chancreate.so"> +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Channel Names module: Allows disabling channels which have certain +# 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"> + +<channames + # denyrange: characters or range of characters to deny in channel + # names. + denyrange="2" + + # allowrange: characters or range of characters to specifically allow + # in channel names. + allowrange=""> + +<module name="m_channelban.so"> +<module name="m_chghost.so"> +<hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789"> +<module name="m_chgident.so"> +<module name="m_chgname.so"> +<module name="m_cloaking.so"> +# +#-#-#-#-#-#-#-#-#-#-#- CLOAKING CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# 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-"> + +<module name="m_close.so"> +<module name="m_conn_umodes.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Connectban: Provides IP connection throttling. Any IP range that connects +# too many times (configurable) in an hour is zlined for a (configurable) +# duration, and their count resets to 0. +# +# ipv4cidr and ipv6cidr allow you to turn the comparison from individual +# IP addresses (32 and 128 bits) into CIDR masks, to allow for throttling +# over whole ISPs/blocks of IPs, which may be needed to prevent attacks. +# +#<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128"> +# This allows for 10 connections in an hour with a 10 minute ban if that is exceeded. +# +#<module name="m_connectban.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Connection throttle module. Configuration: +#<module name="m_connflood.so"> +# +#-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# seconds, maxconns - Amount of connections per <seconds>. +# +# timeout - Time to wait after the throttle was activated +# before deactivating it. Be aware that the time +# is seconds + timeout. +# +# quitmsg - The message that users get if they attempt to +# connect while the throttle is active. +# +# bootwait - Amount of time to wait before enforcing the +# throttling when the server just booted. +# +#<connflood seconds="30" maxconns="3" timeout="30" +# quitmsg="Throttled" bootwait="10"> + +<module name="m_deaf.so"> +<module name="m_dnsbl.so"> +<module name="m_gecosban.so"> +<module name="m_globalload.so"> +<module name="m_ident.so"> +<ident timeout="1"> +<module name="m_inviteexception.so"> +<module name="m_joinflood.so"> +<module name="m_knock.so"> +<module name="m_namesx.so"> +<module name="m_operchans.so"> +<module name="m_operlog.so"> +<module name="m_opermodes.so"> +<module name="m_password_hash.so"> +<module name="m_permchannels.so"> +<module name="m_muteban.so"> +<module name="m_redirect.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for Glob or wildcard (?/*) matching. +# You must have at least 1 provider loaded to use m_filter or m_rline +# modules. This module has no additional requirements, as it uses the +# matching already present in InspIRCd core. +#<module name="m_regex_glob.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for PCRE (Perl-Compatible Regular +# Expressions). You need libpcre installed to compile and load this +# module. You must have at least 1 provider loaded to use m_filter or +# m_rline. +#<module name="m_regex_pcre.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for POSIX Regular Expressions. +# You shouldn't need any additional libraries on a POSIX-compatible +# system (ie: any Linux, BSD, but not Windows). You must have at least +# 1 provider loaded to use m_filter or m_rline. +# On POSIX-compliant systems, regex syntax can be found by using the +# command: 'man 7 regex'. +#<module name="m_regex_posix.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Ban users through regular expression patterns +#<module name="m_rline.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- RLINE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# +# +# If you wish to re-check a user when they change nickname (can be +# useful under some situations, but *can* also use CPU with more users +# on a server) then set the following configuration value: +# Also, this is where you set what Regular Expression engine is to be +# used. If you ever change it while running, all of your R-Lines will be +# wiped. This is the regex engine used by all R-Lines set, and +# m_regex_<engine>.so must be loaded, or rline will be nonfunctional +# until you load it or change the engine to one that is loaded. +# +#<rline matchonnickchange="yes" engine="pcre"> +# +# Generally, you will NOT want to use 'glob' here, as this turns +# rline into just another gline. The exceptions are that rline will +# always use the full nick!user@host realname string, rather than only +# user@host, but beware that only the ? and * wildcards are available, +# and are the only way to specify where the space can occur if you do +# use glob. For this reason, is recommended to use a real regex engine +# so that at least \s or [[:space:]] is available. + +<module name="m_sasl.so"> +<module name="m_servprotect.so"> +<module name="m_services_account.so"> +<module name="m_sethost.so"> +<module name="m_serverban.so"> +<module name="m_showwhois.so"> +<showwhois opersonly="yes" showfromopers="yes"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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) +#<module name="m_sslmodes.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 +# src/modules/extra, or answer 'yes' in ./configure when asked if you +# want to enable this, or it will not load. +#<module name="m_ssl_gnutls.so"> +# +#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_ssl_gnutls.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/ssl_gnutls # +# # +# NOTE: If you want to use this module to encrypt and sign your # +# server to server traffic, you MUST load it before m_spanningtree in # +# your configuration file! # + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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. 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"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# OpenSSL ssl module: Adds support for client-server SSL using OpenSSL, +# if enabled. You must copy the source for this module from the directory +# src/modules/extra, or answer 'yes' in ./configure when asked if you +# want to enable this, or it will not load. +#<module name="m_ssl_openssl.so"> +# +#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_ssl_openssl.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/ssl_openssl # +# # +# NOTE: If you want to use this module to encrypt and sign your # +# server to server traffic, you MUST load it before m_spanningtree in # +# your configuration file! # + +<module name="m_stripcolor.so"> +<module name="m_svshold.so"> +<module name="m_tline.so"> +<module name="m_uhnames.so"> +<module name="m_watch.so"> +<watch maxentries="32"> +<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. +# + + +<module name="m_spanningtree.so"> + diff --git a/docs/conf/modules/modules.conf.unreal b/docs/conf/modules/modules.conf.unreal new file mode 100644 index 000000000..105acefee --- /dev/null +++ b/docs/conf/modules/modules.conf.unreal @@ -0,0 +1,434 @@ +<module name="m_md5.so"> +<module name="m_sha256.so"> +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Alias module: Allows you to define server-side command aliases +<module name="m_alias.so"> +<fantasy prefix="!" allowbots="no"> +# Aliases +<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. +# +#<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" +# requires="ChanServ" uline="yes"> +# +#<alias text="ID" replace="PRIVMSG NickServ :IDENTIFY $2" +# requires="NickServ" uline="yes"> +# +# This alias fixes a glitch in xchat 2.6.x and above and the way it +# assumes IDENTIFY must be prefixed by a colon (:) character. It should +# be placed ABOVE the default NICKSERV alias (the first example) listed +# above. +# +#<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-" +# requires="NickServ" uline="yes"> + +<module name="m_allowinvite.so"> +<module name="m_alltime.so"> +<module name="m_auditorium.so"> +<auditorium showops="yes" operoverride="yes"> +<module name="m_banexception.so"> +<module name="m_blockcaps.so"> +<blockcaps percent="50" + minlen="5" + capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! "> +<module name="m_blockcolor.so"> +<module name="m_botmode.so"> +<module name="m_censor.so"> +<include file="inspircd.censor.example"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# CGI:IRC module: Adds support for automatic host changing in CGI:IRC +# (http://cgiirc.sourceforge.net). +#<module name="m_cgiirc.so"> +# +#-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# +# +# Optional - If you specify to use m_cgiirc, then you must specify one +# or more cgihost tags which indicate authorised CGI:IRC servers which +# will be connecting to your network, and an optional cgiirc tag. +# For more information see: http://wiki.inspircd.org/Modules/cgiirc +# +# Set to yes if you want to notice opers when CGI clients connect +# <cgiirc opernotice="no"> +# +# The type field indicates where the module should get the real +# client's IP address from, for further information, please see the +# CGI:IRC documentation. +# +# Old style: +# <cgihost type="pass" mask="www.mysite.com"> # Get IP from PASS +# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident +# <cgihost type="passfirst" mask="www.mysite.com"> # See the docs +# New style: +# <cgihost type="webirc" password="foobar" +# mask="somebox.mysite.com"> # Get IP from WEBIRC +# +# IMPORTANT NOTE: +# --------------- +# +# When you connect CGI:IRC clients, there are two connect classes which +# apply to these clients. When the client initially connects, the connect +# class which matches the cgi:irc site's host is checked. Therefore you +# must raise the maximum local/global clients for this ip as high as you +# want to allow cgi clients. After the client has connected and is +# determined to be a cgi:irc client, the class which matches the client's +# real IP is then checked. You may set this class to a lower value, so that +# the real IP of the client can still be restricted to, for example, 3 +# sessions maximum. +# + +<module name="m_chanfilter.so"> +<chanfilter hidemask="yes"> + +<module name="m_chanprotect.so"> + +<chanprotect + noservices="no" + qprefix="~" + aprefix="&" + deprotectself="yes" + deprotectothers="yes"> + +<module name="m_check.so"> +<module name="m_chghost.so"> +<hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789"> + +<module name="m_chgident.so"> +<module name="m_chgname.so"> +<module name="m_cloaking.so"> +<cloak mode="half" + key="secret" + prefix="net-"> + +<module name="m_close.so"> +<module name="m_clones.so"> +<module name="m_commonchans.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Conn-Join: Allows you to force users to join one or more channels +# automatically upon connecting to the server. +#<module name="m_conn_join.so"> +# +#-#-#-#-#-#-#-#-#-#-#-#- CONNJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# +# If you have m_conn_join.so loaded, you can configure it using the +# follow values: +# +#<autojoin channel="#one,#two,#three"> + +<module name="m_conn_umodes.so"> +<module name="m_cycle.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Connection throttle module. Configuration: +#<module name="m_connflood.so"> +# +#-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# seconds, maxconns - Amount of connections per <seconds>. +# +# timeout - Time to wait after the throttle was activated +# before deactivating it. Be aware that the time +# is seconds + timeout. +# +# quitmsg - The message that users get if they attempt to +# connect while the throttle is active. +# +# bootwait - Amount of time to wait before enforcing the +# throttling when the server just booted. +# +#<connflood seconds="30" maxconns="3" timeout="30" +# quitmsg="Throttled" bootwait="10"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# DCCALLOW module: Adds the /DCCALLOW command +<module name="m_dccallow.so"> +# +#-#-#-#-#-#-#-#-#-#-#- DCCALLOW CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# blockchat - Whether to block DCC CHAT as well as DCC SEND +# length - Default duration of entries in DCCALLOW list +# action - Default action to take if no action is specified +# can be 'block' or 'allow' +# +# File configuration: +# pattern - The glob pattern to match against +# action - Action to take if a user attempts to send a file +# that matches this pattern, can be 'block' or 'allow' +# +#<dccallow blockchat="yes" length="5m" action="block"> +#<banfile pattern="*.exe" action="block"> +#<banfile pattern="*.txt" action="allow"> +# +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# + +<module name="m_deaf.so"> +<module name="m_denychans.so"> +#<badchan name="#gods*" allowopers="yes" reason="Tortoises!"> # +#<badchan name="#heaven" redirect="#hell" reason="Nice try!"> # + +<module name="m_devoice.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Filter module: Provides message filtering, similar to SPAMFILTER. +<module name="m_filter.so"> +# # +# This module depends upon a regex provider such as m_regex_pcre or # +# m_regex_glob to function. You must specify which of these you want # +# m_filter to use via the tag below. # +# # +# Valid engines are: # +# # +# glob - Glob patterns, provided via m_regex_glob.so # +# pcre - PCRE regexps, provided via m_regex_pcre.so, needs libpcre # +# tre - TRE regexps, provided via m_regex_tre.so, requires libtre # +# posix - POSIX regexps, provided via m_regex_posix.so, not availale # +# on windows, no dependencies on other operating systems. # +# # +<filteropts engine="glob"> +# # +# Your choice of regex engine must match on all servers network-wide. +# +# You may specify specific channels that are exempt from being filtered: +#<exemptfromfilter channel="#blah"> +# +#-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# Optional - If you specify to use the m_filter module, then # +# specfiy below the path to the filter.conf file, or define some # +# <filter> tags. # +# # +#<include file="filter.conf"> + +<module name="m_gecosban.so"> +<module name="m_globops.so"> +<module name="m_globalload.so"> +<module name="m_halfop.so"> +<module name="m_helpop.so"> +<include file="inspircd.helpop-full.example"> + +<module name="m_hidechans.so"> +<hidechans affectsopers="false"> + +<module name="m_hideoper.so"> +<module name="m_ident.so"> +<ident timeout="1"> +<module name="m_inviteexception.so"> +<module name="m_joinflood.so"> +<module name="m_jumpserver.so"> +<module name="m_knock.so"> +<module name="m_messageflood.so"> +<module name="m_namesx.so"> +<module name="m_nickflood.so"> +<module name="m_noctcp.so"> +<module name="m_nokicks.so"> +<module name="m_nonicks.so"> +<module name="m_nopartmsg.so"> +<module name="m_nonotice.so"> +<module name="m_operchans.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Oper Join module: Auto-joins opers to a channel upon oper-up +# This module is oper-only. For the user equivalent, see m_conn_join. +<module name="m_operjoin.so"> +# +#-#-#-#-#-#-#-#-#-#-# OPERJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# If you are using the m_operjoin.so module, specify options here: # +# # +# channel - The channel name to join, can also be a comma # +# seperated list eg. "#channel1,#channel2". # +# # +# override - Lets the oper join walking thru any modes that # +# might be set, even bans. Use "yes" or "no". # +# # +#<operjoin channel="#channel" override="no"> +# +# Alternatively you can use the autojoin="channellist" in a <type> # +# tag to set specific autojoins for a type of oper, for example: # +# +#<type name="Helper" autojoin="#help" classes="..."> + +<module name="m_operlog.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Oper MOTD module: Provides support for seperate message of the day +# on oper-up +# This module is oper-only. +#<module name="m_opermotd.so"> +# +#-#-#-#-#-#-#-#-#-#-# OPERMOTD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# If you are using the m_opermotd.so module, specify the motd here # +# # +# onoper - Should the message be sent on /OPER or only when # +# /OPERMOTD is used. Use "yes" or "no". # +# # +#<opermotd file="oper.motd" onoper="yes"> + +<module name="m_override.so"> +#-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# m_override.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/override # + +<module name="m_operlevels.so"> +<module name="m_opermodes.so"> +<module name="m_password_hash.so"> +<module name="m_muteban.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Random Quote module: provides a random quote on connect. +# NOTE: Some of these may mimic fatal errors and confuse users and +# opers alike! - BEWARE! +#<module name="m_randquote.so"> +# +#-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# Optional - If you specify to use the m_randquote.so module, then # +# specify below the path to the randquotes.conf file. # +# # +#<randquote file="randquotes.conf"> + +<module name="m_redirect.so"> +<module name="m_regex_glob.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for PCRE (Perl-Compatible Regular +# Expressions). You need libpcre installed to compile and load this +# module. You must have at least 1 provider loaded to use m_filter or +# m_rline. +#<module name="m_regex_pcre.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for POSIX Regular Expressions. +# You shouldn't need any additional libraries on a POSIX-compatible +# system (ie: any Linux, BSD, but not Windows). You must have at least +# 1 provider loaded to use m_filter or m_rline. +# On POSIX-compliant systems, regex syntax can be found by using the +# command: 'man 7 regex'. +#<module name="m_regex_posix.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Regular Expression Provider for TRE Regular Expressions. +# This is the same regular expression engine used by UnrealIRCd, so +# if you are most familiar with the syntax of /spamfilter from there, +# this is the provider you want. You need libtre installed in order +# to compile and load this module. +#<module name="m_regex_tre.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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. +# +# You probably *DO NOT* want to load this module on a public network. +# +#<module name="m_restrictmsg.so"> + +<module name="m_sajoin.so"> +<module name="m_sakick.so"> +<module name="m_samode.so"> +<module name="m_sanick.so"> +<module name="m_sapart.so"> +<module name="m_saquit.so"> +<module name="m_satopic.so"> +<module name="m_servprotect.so"> +<module name="m_seenicks.so"> +<module name="m_setidle.so"> +<module name="m_services_account.so"> +<module name="m_sethost.so"> +<module name="m_setident.so"> +<module name="m_setname.so"> +<module name="m_showwhois.so"> +<showwhois opersonly="yes" showfromopers="yes"> + +<module name="m_shun.so"> +<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="no" affectopers="no"> + +<module name="m_spy.so"> +<module name="m_sslmodes.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 +# src/modules/extra, or answer 'yes' in ./configure when asked if you +# want to enable this, or it will not load. +#<module name="m_ssl_gnutls.so"> +# +#-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_ssl_gnutls.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/ssl_gnutls # +# # +# NOTE: If you want to use this module to encrypt and sign your # +# server to server traffic, you MUST load it before m_spanningtree in # +# your configuration file! # + +<module name="m_sslinfo.so"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# OpenSSL ssl module: Adds support for client-server SSL using OpenSSL, +# if enabled. You must copy the source for this module from the directory +# src/modules/extra, or answer 'yes' in ./configure when asked if you +# want to enable this, or it will not load. +#<module name="m_ssl_openssl.so"> +# +#-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# +# # +# m_ssl_openssl.so is too complex it describe here, see the wiki: # +# http://wiki.inspircd.org/Modules/ssl_openssl # +# # +# NOTE: If you want to use this module to encrypt and sign your # +# server to server traffic, you MUST load it before m_spanningtree in # +# your configuration file! # + +<module name="m_stripcolor.so"> +<module name="m_svshold.so"> +<module name="m_swhois.so"> +<module name="m_tline.so"> +<module name="m_uhnames.so"> +<module name="m_userip.so"> +<module name="m_watch.so"> +<watch maxentries="32"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# 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. +# + + +<module name="m_spanningtree.so"> + diff --git a/docs/conf/opers.conf.example b/docs/conf/opers.conf.example new file mode 100644 index 000000000..d76496e66 --- /dev/null +++ b/docs/conf/opers.conf.example @@ -0,0 +1,162 @@ +#-#-#-#-#-#-#-#-#-#-#-#- CLASS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#- +# # +# Classes are a group of commands which are grouped together and # +# given a unique name. They're used to define which commands # +# are available to certain types of Operators. # +# # +# # +# Note: It is possible to make a class which covers all available # +# commands. To do this, specify commands="*". This is not really # +# recommended, as it negates the whole purpose of the class system, # +# however it is provided for fast configuration (e.g. in test nets) # +# # + +<class + name="Shutdown" + + # commands: oper commands that users of this class can run. + commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOAD GUNLOADMODULE GRELOADMODULE SAJOIN SAPART SANICK SAQUIT SATOPIC" + + # privs: special privileges that users with this class may utilise. + # VIEWING: + # - channels/auspex: allows opers with this priv to see more detail about channels than normal users. + # - users/auspex: allows opers with this priv to view more details about users than normal users. + # - servers/auspex: allows opers with this priv to see more detail about server information than normal users. + # ACTIONS: + # - users/mass-message: allows opers with this priv to PRIVMSG and NOTICE to a server mask (e.g. NOTICE $*) + # - channels/high-join-limit: allows opers with this priv to join <channels:opers> total channels instead of <channels:users> total channels. + # - channels/set-permanent: allows opers with this priv to set +P on channels with m_permchannels. + # PERMISSIONS: + # - users/flood/no-throttle: allows opers with this priv to send commands without being throttled (*NOTE) + # - users/flood/increased-buffers: allows opers with this priv to send and recieve data without worrying about being disconnected for exceeding limits (*NOTE) + # + # *NOTE: These privs are potantially dangerous, as they grant users with them the ability to hammer your server's CPU/RAM as much as they want, essentially. + privs="users/auspex channels/auspex servers/auspex users/mass-message channels/high-join-limit channels/set-permanent users/flood/no-throttle users/flood/increased-buffers" + + # usermodes: Oper-only usermodes that opers with this class can use. + usermodes="*" + + # chanmodes: Oper-only channel modes that opers with this class can use. + chanmodes="*"> + +<class name="ServerLink" commands="CONNECT SQUIT CONNECT MKPASSWD ALLTIME SWHOIS CLOSE JUMPSERVER LOCKSERV" usermodes="*" chanmodes="*" privs="servers/auspex"> +<class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE ELINE TLINE RLINE CHECK NICKLOCK SHUN CLONES CBAN" usermodes="*" chanmodes="*"> +<class name="OperChat" commands="WALLOPS GLOBOPS SETIDLE" usermodes="*" chanmodes="*" privs="users/mass-message"> +<class name="HostCloak" commands="SETHOST SETIDENT SETNAME CHGHOST CHGIDENT TAXONOMY" usermodes="*" chanmodes="*" privs="users/auspex"> + + +#-#-#-#-#-#-#-#-#-#-#-#- OPERATOR COMPOSITION -#-#-#-#-#-#-#-#-#-#-# +# # +# This is where you specify which types of operators you have on # +# your server, as well as the commands they are allowed to use. # +# This works alongside with the classes specified above. # +# # + +<type + # name: Name of type. Used in actual olines below. + # Cannot contain spaces. If you would like a space, use + # the _ character instead and it will translate to a space on whois. + name="NetAdmin" + + # classes: classes (above blocks) that this type belongs to. + classes="OperChat BanControl HostCloak Shutdown ServerLink" + + # vhost: host oper gets on oper-up. This is optional. + vhost="netadmin.omega.org.za" + + # modes: usermodes besides +o that are set on a oper of this type + # when they oper up. Used for snomasks and other things. + # Requires that m_opermodes.so be loaded. + modes="+s +cCqQ"> + +<type name="GlobalOp" classes="OperChat BanControl HostCloak ServerLink" vhost="ircop.omega.org.za"> +<type name="Helper" classes="HostCloak" vhost="helper.omega.org.za"> + + +#-#-#-#-#-#-#-#-#-#-#- OPERATOR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# +# # +# Opers are defined here. This is a very important section. # +# Remember to only make operators out of trust worthy people. # +# # + +# oline with plain-text password +<oper + # name: oper login that is used to oper up (/oper name password). + # Remember: This is case sensitive + name="Brain" + + # password: case-sensitive, unhashed...yea...self-explanatory. + password="s3cret" + + # host: What hostnames/IP's are allowed to oper up with this oline. + # Multiple options can be separated by spaces and CIDR's are allowed. + # You CAN use just * or *@* for this section, but it is not recommended + # for security reasons. + host="ident@dialup15.isp.com *@localhost *@server.com *@3ffe::0/16" + + # ** ADVANCED ** This option is disabled by default. + # fingerprint: When using the m_sslinfo module, you may specify + # a key fingerprint here. This can be obtained by using the /sslinfo + # command while the module is loaded, and is also noticed on connect. + # This enhances security by verifying that the person opering up has + # a matching SSL client certificate, which is very difficult to + # forge (impossible unless preimage attacks on the hash exist). + # If m_sslinfo isn't loaded, this option will be ignored. + #fingerprint="67cb9dc013248a829bb2171ed11becd4" + + # autologin: if an SSL fingerprint for this oper is specified, you can + # have the oper block automatically log in. This moves all security of the + # oper block to the protection of the client certificate, so be sure that + # the private key is well-protected! Requires m_sslinfo. + #autologin="on" + + # sslonly: This oper can only oper up if they're using a SSL connection. + # Setting this option adds a decent bit of security. Highly recommended + # if the oper is on wifi, or specifically, unsecured wifi. Note that it + # is redundant to specify this option if you specify a fingerprint. + # This setting only takes effect if m_sslinfo is loaded. + #sslonly="yes" + + # vhost: overrides the vhost in the type block. Class and modes may also + # be overridden + vhost="brain.netadmin.omega" + + # type: What oper type this oline is. See the block above for list + # of types. NOTE: This is case-sensitive as well. + type="NetAdmin"> + +# oline with plain-text password and no comments..for all who like copy & paste +<oper + name="Brain" + password="s3cret" + host="ident@dialup15.isp.com *@localhost *@server.com *@3ffe::0/16" + #fingerprint="67cb9dc013248a829bb2171ed11becd4" + type="NetAdmin"> + +# oline with hashed password. It is highly recommended to use hashed passwords. +<oper + # name: oper login that is used to oper up (/oper name password). + # Remember: This is case sensitive + name="Brain" + + # hash: what hash this password is 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". + # Create hashed password with: /mkpasswd <hash> <password> + hash="sha256" + + # password: a hash of your password (see above option) hashed + # with /mkpasswd <hash> <password> . See m_password_hash in modules.conf + # for more information about password hashing. + password="1ec1c26b50d5d3c58d9583181af8076655fe00756bf7285940ba3670f99fcba0" + + # host: What hostnames/IP's are allowed to oper up with this oline. + # Multiple options can be separated by spaces and CIDR's are allowed. + # You CAN use just * or *@* for this section, but it is not recommended + # for security reasons. + host="ident@dialup15.isp.com *@localhost *@server.com *@3ffe::0/16" + + # type: What oper type this oline is. See the block above for list + # of types. NOTE: This is case-sensitive as well. + type="NetAdmin"> |