summaryrefslogtreecommitdiff
path: root/docs/conf/modules/unrealircd.conf.example
blob: 2d27b43a0b33e940f778bce732f25d8d34aa72d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
<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_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">

<module name="m_spanningtree.so">