2 # miau 0.5.3 configuration file example
3 # (C) 2003-2004 Tommi Saviranta <tsaviran@cs.helsinki.fi>
6 # About structure of this configuration file:
8 # - All parameters are written inside quotes (for example, "foobar")
10 # - Options are defined like: option = "parameter1"[:"parameter2"] ...
12 # - When entering multiparameter options, certain parameters have default
13 # values and can be left out.
15 # - When entering multiparameter options and, for example, user doesn't want
16 # to set parameter2 at all but he needs to set parameter3, parameter2 can
17 # be skipped with column (':') like: "parameter1"::"parameter3".
19 # - Empty lines and characters after '#' (hash) are ignored.
21 # - When setting permissions, switched etc. (switches (booleans) are described
22 # as "state"), everything beginning with "t", "r" and "1" are concidered as
23 # "true" or "yes" (positive). Everything else is "false" or "no" (negative).
28 ################################################################################
31 # nicknames = { "nick" }: Your nickname (and secondary nicknames) on IRC.
32 # If the primary nick (first nick on the list) is already on use,
33 # miau will try the others on the list.
44 # realname = "realname": Your "real" name on IRC.
49 #realname = "Prokhor Zakharov"
52 # username = "username": Your ident (matters only if you don't have identd
61 # password = "password": The password miau will expect to receive from client
62 # when it's registering with nick. If this is 13 characters long,
63 # miau assumed it's crypted.
65 # If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes
66 # (from command line) with -c -switch.
74 # listenport = "port": The port miau will wait for incoming connections.
82 # servers = { "server":"port":"password":"timeout" }: miau's IRC-server-list.
83 # Each line represents one server, where timeout is delay in
84 # seconds before connectiong attempt times out. Only "server"
85 # parameter is required.
92 # "irc.foo.bar":"6662"
93 # "localhost"::"foobar"
94 # "127.0.0.1":"6670"::"5"
98 # connhosts = { "host":"permitted" }: List of hosts that are allowed (or denied)
99 # to connect to miau. When boolean-value is left unset, it is
100 # assumed to be "true". This list will be processed as a chain
101 # which means latter rules can override previous ones.
103 # Default: no default
108 # "client*.evil.net":"no"
114 ################################################################################
117 # listenhost = "host": Host miau uses to listen on.
119 # If you are compiled with IPV6 and need this to listen on an IPV4 port, you
120 # must use an IP in the form ::FFFF:127.0.0.1
122 # Default: no default
125 #listenhost = "127.0.0.1"
128 # bind = "host": Host/IP miau uses for outgoing connections.
136 # maxclients = "number": Maximum number of clients connected to miau
137 # concurrently. Set to zero for unlimited clients.
145 # stonedtimeout = "seconds": Time (in seconds) with no data from the server
146 # before it is declared stoned and being disconnected. Although
147 # minimum value is 30, this value has no upper limit. Watch out,
148 # though, if this value is set too high, death of servers may stay
149 # undetected for a very long time if you are idle.
154 #stonedtimeout = "150"
157 # connecttimeout = "seconds": Time (in seconds) before connection attampt will
158 # time out. Note that while connecting to the server miau will not
159 # respond to clients. Minimum value is 5, and many systems define
165 #connecttimeout = "60"
168 # channels = { "channel":"keyword" }: List of channels to join.
179 # rejoin = "state": Rejoin channels after disconnecting from the server.
180 # If rejoin is set to true, channels defined in "channels" are
181 # also joined when client first time connects to miau.
189 # leave = "state": Leave channels when all clients have detached from miau.
190 # If "leave" is set to "false" and "rejoin" is set to "true",
191 # channels defined at "channels" will be joined at miau startup.
192 # If both "leave" and "rejoin" is set to "true", channels that
193 # are left at client detach, are rejoined when client attached
202 # leavemsg = "message": Message miau will either use as PART-message or as an
203 # ACTION when all clients have detached from miau. If unset or
204 # set to empty, no message will be shown. Note that many people
205 # dislike event-based messages (which happens when "leave" is set
206 # to "false" and "leavemsg" is set). Also see usequitmsg.
208 # Note: Note that commenting this option out and rehashing after leavemsg was
209 # set, this option is _not_ reverted. To disable leavemsg afterwards you
210 # need to write an empty string here and rehash.
218 # awaymsg = "message": Text that will be set to miau's away-reason when all
219 # clients have detached from miau. If unset or set to empty,
220 # AWAY-status will be left untouched. When any client attaches
221 # back to miau, AWAY-status will be reset. Also see usequitmsg.
223 # Note: If user sets him/herself away, miau will not touch away-status nor
224 # message neither when connecting to or disconnecting from miau.
226 # Note: Note that commenting this option out and rehashing after awaymsg was
227 # set, this option is _not_ reverted. To disable awaymsg afterwards you
228 # need to write an empty string here and rehash.
233 #awaymsg = "bouncing around - all private messages will be logged"
236 # usequitmsg = "state": Use last quit-reason as away-reason and/or leave-message
237 # (if respective options are enabled) when all clients have
238 # disconnected from miau. If quit-reason is empty, default values
239 # of awaymsg and leavemsg will be used, otherwise most recent
240 # quit-message overrides values in miaurc.
245 # usequitmsg = "false"
248 # getnick = "selection": miau can try to reclaim your primary nick when it is
249 # lost. This option may be one of the following: "never",
250 # "detached", "attached", or "always".
251 # "never" ....... miau will not try to get your nick back.
252 # "detached" .... miau will try to get your nick when no
253 # clients are attached.
254 # "attached" .... miau will try to get your nick when
255 # there are one or more clients attached.
256 # "always" ...... miau will try to get your nick
258 # Note: Do _not_ use options "attached" and "always" with clients (like
259 # irc-II EPIC) that automatically change your nick when they receive
260 # NICKINUSE from the server - you might end up chaning your nick until
261 # server drops your connection due excess flood.
269 # getnickinterval = "seconds": Time between tries (in seconds) to obtain
270 # currently (possibly) lost primary nick. Don't set it too low
271 # or you might get kicked out the server due to excess flood.
276 #getnickinterval = "30"
279 # antiidle = "minutes": Time between idle-timer resets in minutes. Set to 0 to
288 # qloglength = "minutes": Age of oldest line in quicklog in minutes. Set to zero
289 # to disable quicklog.
291 # This option might not be compiled in.
299 # timestamp = "option": Location of timestamp in quicklog events. This option
300 # may be one of the following "beginning", "end", or "none".
302 # This option might not be compiled in.
307 #timestamp = "beginning"
310 # flushqlog = "state": If set to true, quicklog will be written only when no
311 # clients are connected and quicklog will be erased when client
312 # connects to miau. If you are running a single client, you
313 # probably want to leave this to "false.
315 # This option might not be compiled in.
323 # inbox = "state": Enables logging private messages when no clients are
326 # This option might not be compiled in.
334 # nevergiveup = "state": If set to true, miau will reset "working"-status of
335 # servers to working when all are set to dysfunctional.
336 # Respectively, if set to false, miau will quit when all servers
337 # on the list have been set to dysfunctional.
342 #nevergiveup = "false"
345 # norestricted = "state": If set to true, miau will not stay on server that
346 # forces user to have restricted-status (+r).
351 #norestricted = "false"
354 # reconnectdelay = "seconds": Time (in seconds) between connection attempts.
355 # Minumun value is set to 1.
360 #reconnectdelay = "30"
363 # nickfillchar = "fill character": Character used to modify your primary nick
364 # when all defined nicks are already occupied. Note character is
365 # a single octet (byte) and if longer string is fed, only the
366 # first character is used.
368 # Example: When nickfillchar is set to '_', primary nick is "zak" and all
369 # defined nicks are occupied, next nicks tried are "zak_", "zak__",
370 # "zak___" and so on. When nick has grown too long, it will be shifted
371 # one characted to right (where shift is cyclic) - this means
372 # "zak______" will become "_zak_____", which, again, will become
381 # maxnicklen = "length": Maximum nick length, used with nickfillchar.
389 # usermode = "usermode(s)": Usermode that miau will request (if no clients are
390 # attached at the moment) from the server when connection to the
391 # server is established. Leave unset or set to empty to disable
400 # forwardmsg = "command": miau can collect the (private) messages within three
401 # (3) minutes and pipe them into the program specified. Leave this
402 # unset or set to empty to disable this feature.
407 #forwardmsg = "mail user@host"
410 # ignore = { "mask":"ignored" }: List of users whose private messages (PRIVMSG)
411 # and noticies (NOTICE) are ignored when no clients are attached
412 # to miau. When "ignored" is left undefined, it is assumed to be
413 # "true". Setting "ignored" to "false" means that this user will
414 # _not_ be ignored. This list is processed as a chain.
420 # "*@localhost":"yes"
425 # privlog = "mode": Whatever private messages should be logged in nick-specific
426 # files. Can be one of "never", "detached", "attached", and
429 # This option might not be compiled in.
437 # chanlog = { "channel(s)":"options":"logfile" }: List of channel logfiles.
439 # When channel is set to "*", line represents global log. When logging,
440 # if channel doesn't have entry of it's own in this list, it will use settings
441 # of global log and write log to it's own file. When defining global log,
442 # "logfile" is ignored. Each line can have multiple channels
443 # (like "#foobar,#miau").
445 # If logfile is left undefined, logfile will be named after the channel with
446 # possible postfix (see logpostfix). All lofiles are written in miau's work
449 # Options consist of abritary set of following possibilities:
451 # e: log parts (exits)
453 # m: log messages (privmsg/notice)
454 # c: log mode changes (changes)
455 # n: log nick changes
456 # o: log misc events (other)
457 # b: log messages from miau (bouncer)
458 # a: log all of above
459 # A: log when a client is attached
460 # D: log when a client is detached
461 # C: log continuously (status of clients doesn't matter)
463 # This option might not be compiled in.
469 # "#foobar":"a" # log everything on #foobar
470 # "#miau":"aD":"foo.log" # log everything to file "foo.log" when
471 # all clients are detached
472 # "*":"mjeq" # log only messages, joins, parts and quits
477 # logpostfix = "postfix": When writing log to undefined logfile, each logfile
478 # consists of channel name followed by postfix. Postfix can be
481 # This option might not be compiled in.
483 # Default: no postfix
489 # onconnect = { "mode":"target/data"(:"data") }: When miau connects and
490 # registers user to server, miau can send pre-defined messages.
491 # User can define miau to send normal messages (PRIVMSG), notices
492 # (NOTICE) or arbitrary messages.
494 # Mode can be one of the following:
495 # p: private message (PRIVMSG).
496 # n: notice (NOTICE). Should be used with services and automatons, but
497 # unfortunately some network services can't cope with notices.
498 # r: "raw" message. This means user must provide complete message to send
499 # to the server. Using raw message user has complete control over what
500 # is being sent. If you don't know what this is, you don't need this.
501 # When using modes "p" or "n", user must provide both message and target where
502 # as with raw messages only one parameter in addition to type should be given.
504 # This option might not be compiled in.
510 # "p":"nickserv":"identify foobar"
511 # "n":"nickserv@services.host.net":"id raboof"
516 # automodes = { "mask":"privilegded" }: List of people who are automatically
517 # given certain privilege on channel. Mask is given in form of
518 # "mode:nick!username@host/#channel" (where "mode" is a single
519 # character) and list is processed as a chain.
521 # This option might not be compiled in.
527 # "o:zak*!zak@client*-myisp.com/#channel":"yes"
528 # "o:zak*!*@evil.impersonator.net/#foobar":"no"
529 # "v:newbie*!*@ircnet.com/#newbie":"yes"
533 # automodedelay = "seconds": Time (in seconds) after first queued mode change
534 # would take effect. During this period of time miau can collect
535 # more than one mode change and commit up to three at a time.
536 # Other situation reasonaly big value (like 30) here could prove
537 # useful is channel where there are stupid "auto-oping" bots.
538 # (Stupid bots do mode changes even if someone else did that
541 # This option might not be compiled in.
546 #automodedelay = "60"
549 # cmdpasswd = "password": Password for remote commands. If this is 13 characters
550 # long, miau assumes it's crypted. Comment this out or leave it
551 # empty to disable remote commands. When sending miau a remote
552 # command, password _always_ begins with column (':') (if
553 # cmdpasswd is set to "foobar" (or hash of it), you need to send
554 # miau a message beginning with ":foobar" to issue a remote
557 # This feature might not be compiled in.
559 # If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes
560 # (from command line) with -c -switch.
568 # dccbounce = "state": miau can bounce DCCs. Set to true to enable bouncing.
569 # You probably don't need this.
571 # This option might not be compiled in.
579 # dccbindhost = "host": If miau has separate IPs for IRC-network and clients,
580 # you should enter IP for clients here.
582 # This option might not be compiled in.
584 # Default: no default
587 #dccbindhost = "10.0.0.1"