]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - config/miau/miaurc
9b4f04df9d60fda3fec11758eafc85a265204851
[people/pmueller/ipfire-2.x.git] / config / miau / miaurc
1 #
2 # miau 0.6.2 configuration file example
3 # (C) 2003-2006 Tommi Saviranta <wnd@iki.fi>
4 #
5
6 # About structure of this configuration file:
7 #
8 # - All parameters are written inside quotes (for example, "foobar")
9 #
10 # - Options are defined like: option = "parameter1"[:"parameter2"] ...
11 #
12 # - When entering multiparameter options, certain parameters have default
13 # values and can be left out.
14 #
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".
18 #
19 # - Empty lines and characters after '#' (hash) are ignored.
20 #
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).
24
25
26
27 # Required settings
28 ################################################################################
29
30
31 # nicknames = { "nick" }: Your nickname (and secondary nicknames) on IRC.
32 #
33 # If the primary nick (first nick on the list) is already on use, miau will try
34 # the others on the list.
35 #
36 # Default: no default
37 #
38 # Example:
39 #nicknames = {
40 # "zak"
41 # "zakh"
42 #}
43 nicknames = {
44 "miau_bnc_on_ipfire"
45 "miau_bnc_on_ipfire_"
46 "miau_bnc_on_ipfire__"
47 }
48
49
50 # realname = "realname": Your "real" name on IRC.
51 #
52 # Default: no default
53 #
54 # Example:
55 #realname = "Prokhor Zakharov"
56 realname = "miau_bnc_on_ipfire"
57
58
59 # username = "username": Your username.
60 #
61 # Your ident, matters only if you don't have identd running.
62 #
63 # Default: no default
64 #
65 # Example:
66 #username = "zak"
67
68 username = "miau_bnc_on_ipfire"
69
70 # password = "password": The password miau will expect to receive from client
71 # when it's registering with nick.
72 #
73 # If this is 13 characters long, miau assumed it's crypted.
74 #
75 # If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes
76 # (from command line) with -c -switch.
77 #
78 # Default: no default
79 #
80 # Example:
81 #password = "foobar"
82 password = "password"
83
84
85 # listenport = "port": The port miau will wait for incoming connections.
86 #
87 # Default: no default
88 #
89 # Example:
90 listenport = "4096"
91
92
93 # servers = { "server":"port":"password":"timeout" }: miau's IRC-server-list.
94 #
95 # Each line represents one server, where timeout is delay in seconds before
96 # connectiong attempt times out. Only "server" parameter is required.
97 #
98 # Default: no default
99 #
100 # Example:
101 #servers = {
102 # "irc.net"
103 # "irc.foo.bar":"6662"
104 # "localhost"::"foobar"
105 # "127.0.0.1":"6670"::"5"
106 #}
107 servers = {
108 "irc.freenode.net"
109 }
110
111
112 # connhosts = { "host":"permitted" }: List of hosts that are allowed (or denied)
113 # to connect to miau.
114 #
115 # When boolean-value is left unset, it is assumed to be "true". This list will
116 # be processed as a chain which means latter rules can override previous ones.
117 #
118 # Default: no default
119 #
120 # Example:
121 #connhosts = {
122 # "*":"yes"
123 # "client*.evil.net":"no"
124 #}
125 connhosts = {
126 # "192.168.1.*":"yes"
127 "*":"yes"
128 }
129
130
131
132 # Optional settings
133 ################################################################################
134
135
136 # statelog = "state": Should miau write state log.
137 #
138 # When true, log will be written to "$MIAUDIR/log". If set to false, the same
139 # stuff is printed on stdout (on terminal).
140 #
141 # Default: true
142 #
143 # Example:
144 #statelog = "false"
145
146
147 # listenhost = "host": Host miau uses to listen on.
148 #
149 # If you are compiled with IPV6 and need this to listen on an IPV4 port, you
150 # must use an IP in the form ::FFFF:127.0.0.1
151 #
152 # Default: no default
153 #
154 # Example:
155 listenhost = "0.0.0.0"
156
157
158 # floodtimer = "number": Time it takes to send one message.
159 #
160 # When configuring flood-protection, this variable defined how fast you can
161 # send messages; how many seconds sending one message takes. See also burstsize.
162 #
163 # Default: 2
164 #
165 # Example
166 #floodtimer = "1"
167
168
169 # burstsize = "number": How manu messages can be sent at once.
170 #
171 # When onfiguring flood-protection, this variable defined how many messages
172 # can be sent at once (in a burst). See also floodtimer.
173 #
174 # Default: 5
175 #
176 # Example:
177 #burstsize = "5"
178
179
180 # jointries = "number": Number of tries to join channel after dropping from
181 # server etc. miau tries to join channels once a minute.
182 #
183 # Default: 30
184 #
185 # Example:
186 #jointries = "1440"
187
188
189 # bind = "host": Host/IP miau uses for outgoing connections.
190 #
191 # Default: none
192 #
193 # Example:
194 #bind = "172.16.1.1"
195
196
197 # maxclients = "number": Maximum number of clients connected to miau
198 # concurrently.
199 #
200 # Set to zero for unlimited clients.
201 #
202 # Default: 3
203 #
204 #Example:
205 #maxclients = "1"
206
207
208 # stonedtimeout = "seconds": Time (in seconds) with no data from the server
209 # before it is declared stoned and being disconnected.
210 #
211 # Although minimum value is 30, this value has no upper limit. Watch out,
212 # though, if this value is set too high, death of servers may stay undetected
213 # for a very long time if you are idle.
214 #
215 # Default: 90
216 #
217 # Example:
218 #stonedtimeout = "150"
219
220
221 # connecttimeout = "seconds": Time (in seconds) before connection attampt will
222 # time out.
223 #
224 # Note that while connecting to the server miau will not respond to clients.
225 # Minimum value is 5, and many systems define maximum value.
226 #
227 # Default: 30
228 #
229 # Example:
230 #connecttimeout = "60"
231
232
233 # channels = { "channel":"keyword" }: List of channels to join.
234 #
235 # Default: none
236 #
237 # Example:
238 #channels = {
239 # "#lugop"
240 #}
241 channels = {
242 "#ipfire"
243 }
244
245 # rejoin = "state": Rejoin channels after disconnecting from the server.
246 #
247 # If rejoin is set to true, channels defined in "channels" are also joined when
248 # client first time connects to miau.
249 #
250 # Default: true
251 #
252 # Example:
253 #rejoin = "false"
254
255
256 # leave = "state": Leave channels when all clients have detached from miau.
257 #
258 # If "leave" is set to "false" and "rejoin" is set to "true", channels defined
259 # at "channels" will be joined at miau startup. If both "leave" and "rejoin"
260 # is set to "true", channels that are left at client detach, are rejoined when
261 # client attached back to miau.
262 #
263 # Default: false
264 #
265 # Example:
266 #leave = "false"
267
268
269 # leavemsg = "message": Message miau will either use as PART-message or as an
270 # ACTION when all clients have detached from miau.
271 #
272 # If unset or set to empty, no message will be shown. Note that many people
273 # dislike event-based messages (which happens when "leave" is set to "false"
274 # and "leavemsg" is set). Also see usequitmsg.
275 #
276 # Note: Note that commenting this option out and rehashing after leavemsg was
277 # set, this option is _not_ reverted. To disable leavemsg afterwards you
278 # need to write an empty string here and rehash.
279 #
280 # Default: none
281 #
282 # Example:
283 #leavemsg = "doh"
284
285
286 # awaymsg = "message": Text that will be set to miau's away-reason when all
287 # clients have detached from miau.
288 #
289 # If unset or set to empty, AWAY-status will be left untouched. When any client
290 # attaches back to miau, AWAY-status will be reset. Also see usequitmsg.
291 #
292 # Note: If user sets him/herself away, miau will not touch away-status nor
293 # message neither when connecting to or disconnecting from miau.
294 #
295 # Note: Note that commenting this option out and rehashing after awaymsg was
296 # set, this option is _not_ reverted. To disable awaymsg afterwards you
297 # need to write an empty string here and rehash.
298 #
299 # Default: none
300 #
301 # Example:
302 #awaymsg = "bouncing around - all private messages will be logged"
303
304
305 # usequitmsg = "state": Use last quit-reason as away-reason and/or leave-message
306 # (if respective options are enabled) when all clients have
307 # disconnected from miau.
308 #
309 # If quit-reason is empty, default values of awaymsg and leavemsg will be used,
310 # otherwise most recent quit-message overrides values in miaurc.
311 #
312 # Default: true
313 #
314 # Example:
315 # usequitmsg = "false"
316
317
318 # autoaway = "selection": miau can set user away automatically.
319 #
320 # This option allows to define when to do that. This option may be one of the
321 # following: "never", "detach", "noclients".
322 #
323 # never: never set user away
324 # detach: set user away when any of the clients disconnects
325 # noclients: set user away when the last client disconnects
326 #
327 # Default: detach
328 #
329 # Example:
330 #autoaway = "noclients"
331
332
333 # chandiscon = "selection": When miau is disconnected from the server e.g.
334 # because of network problem, miau can notify user about this in
335 # a couple of ways.
336 #
337 # nothing: only print server notice
338 # notice: send notice to each channel
339 # part: part each channel. mIRC users probably don't want to use this.
340 # privmsg: send a private message to the user
341 #
342 # Default: part
343 #
344 # Example:
345 #chandiscon = "notice"
346
347
348 # getnick = "selection": miau can try to reclaim your primary nick when it is
349 # lost.
350 #
351 # This option may be one of the following: "never", "detached", "attached", or
352 # "always".
353 #
354 # never miau will not try to get your nick back
355 # detached miau will try to get your nick when no clients are attached
356 # attached miau will try to get your nick when there are one or more
357 # clients attached
358 # always miau will try to get your nick
359 #
360 # Note: Do _not_ use options "attached" and "always" with clients (like
361 # irc-II EPIC) that automatically change your nick when they receive
362 # NICKINUSE from the server - you might end up chaning your nick until
363 # server drops your connection due excess flood.
364 #
365 # Note: If you issue "/nick not-primary-nick", miau will start trying to get
366 # your primary nick back.
367 #
368 # Default: detached
369 #
370 # Example:
371 getnick = "always"
372
373
374 # getnickinterval = "seconds": Time between tries (in seconds) to obtain
375 # currently (possibly) lost primary nick.
376 #
377 # Don't set it too low or you might get kicked out the server due to excess
378 # flood.
379 #
380 # Default: 60
381 #
382 # Example:
383 #getnickinterval = "30"
384
385
386 # antiidle = "minutes": Time between idle-timer resets in minutes. Set to 0 to
387 # disable.
388 #
389 # Default: 0
390 #
391 # Example:
392 #antiidle = "300"
393
394
395 # qloglength = "minutes": Age of oldest line in quicklog in minutes. Set to zero
396 # to disable quicklog.
397 #
398 # This option might not be compiled in.
399 #
400 # Default: 30
401 #
402 # Example:
403 qloglength = "60"
404
405
406 # timestamp = "option": Location of timestamp in quicklog events.
407 #
408 # This option may be one of the following "beginning", "end", or "none".
409 #
410 # This option might not be compiled in.
411 #
412 # Default: none
413 #
414 # Example:
415 #timestamp = "beginning"
416
417
418 # flushqlog = "state": Erase quicklog when quicklog is replayed.
419 #
420 # If set to true, quicklog will be written only when no clients are connected
421 # and quicklog will be erased when client connects to miau. If you are running
422 # a single client, you probably want to leave this to "false.
423 #
424 # This option might not be compiled in.
425 #
426 # Default: true
427 #
428 # Example:
429 #flushqlog = "true"
430
431
432 # autoqlog = "minutes": Automatically replay number of minutes of quiclog on
433 # attach.
434 #
435 # This option might not be compiled in.
436 #
437 # Default: 30
438 #
439 # Example:
440 #autoqlog = "30"
441
442
443 # inbox = "state": Enables logging private messages when no clients are
444 # connected to miau.
445 #
446 # This option might not be compiled in.
447 #
448 # Default: true
449 #
450 # Example:
451 #inbox = "true"
452
453
454 # nevergiveup = "state": Don't die when miau runs out of working servers.
455 #
456 # If set to true, miau will reset "working"-status of servers to working when
457 # all are set to dysfunctional. Respectively, if set to false, miau will quit
458 # when all servers on the list have been set to dysfunctional.
459 #
460 # Default: true
461 #
462 # Example:
463 #nevergiveup = "false"
464
465
466 # norestricted = "state": Don't join servers where you get "+r".
467 #
468 # If set to true, miau will not stay on server that forces user to have
469 # restricted-status (+r).
470 #
471 # Default: true
472 #
473 # Example:
474 #norestricted = "false"
475
476
477 # reconnectdelay = "seconds": Time (in seconds) between connection attempts.
478 #
479 # Minumun value is set to 1.
480 #
481 # Default: 10
482 #
483 # Example:
484 #reconnectdelay = "30"
485
486
487 # nickfillchar = "fill character": Fill nick with this character when unique
488 # nick is required.
489 #
490 # Character used to modify your primary nick when all defined nicks are already
491 # occupied. Note character is a single octet (byte) and if longer string is
492 # fed, only the first character is used.
493 #
494 # Example: When nickfillchar is set to '_', primary nick is "zak" and all
495 # defined nicks are occupied, next nicks tried are "zak_", "zak__",
496 # "zak___" and so on. When nick has grown too long, it will be shifted
497 # one characted to right (where shift is cyclic) - this means
498 # "zak______" will become "_zak_____", which, again, will become
499 # "__zak____".
500 #
501 # Default: _
502 #
503 # Example:
504 #nickfillchar = "^"
505
506
507 # maxnicklen = "length": Maximum nick length, used with nickfillchar.
508 #
509 # Default: 9
510 #
511 # Example:
512 #maxnicklen = "11"
513
514
515 # usermode = "usermode(s)": Usermode.
516 #
517 # Usermode that miau will request (if no clients are attached at the moment)
518 # from the server when connection to the server is established. Leave unset or
519 # set to empty to disable this feature.
520 #
521 # Default: none
522 #
523 # Example:
524 #usermode = "+i"
525
526
527 # forwardmsg = "command": Commands to pipe private messages to.
528 #
529 # miau can collect the (private) messages within specified time (see
530 # forwardtime) and pipe them into the program specified. Leave this unset or
531 # set to empty to disable this feature.
532 #
533 # Default: none
534 #
535 # Example:
536 #forwardmsg = "mail user@host"
537
538
539 # forwardtime = "seconds": Time between sending stuff in forwardmsg queue.
540 #
541 # Time in seconds after first inserted line into forwardmsg queue before
542 # piping the stuff out.
543 #
544 # Default: 180
545 #
546 # Example:
547 #forwardtime = "3600"
548
549
550 # ignore = { "mask":"ignored" }: Ignored users.
551 #
552 # List of users whose private messages (PRIVMSG) and noticies (NOTICE) are
553 # ignored when no clients are attached to miau. When "ignored" is left
554 # undefined, it is assumed to be "true". Setting "ignored" to "false" means
555 # that this user will _not_ be ignored. This list is processed as a chain.
556 #
557 # Default: none
558 #
559 # Example:
560 #ignore = {
561 # "*@localhost":"yes"
562 # "zak*":"no"
563 #}
564
565
566 # privlog = "mode": Log private messages.
567 #
568 # Whatever private messages should be logged in nick-specific files. Can be one
569 # of "never", "detached", "attached", and "always".
570 #
571 # This option might not be compiled in.
572 #
573 # Default: never
574 #
575 # Example:
576 privlog = "always"
577
578
579 # chanlog = { "channel(s)":"options":"logfile" }: List of channel logfiles.
580 #
581 # When channel is set to "*", line represents global log. When logging,
582 # if channel doesn't have entry of it's own in this list, it will use settings
583 # of global log and write log to it's own file. When defining global log,
584 # "logfile" is ignored. Each line can have multiple channels
585 # (like "#foobar,#miau").
586 #
587 # If logfile is left undefined, logfile will be named after the channel with
588 # possible suffix (see logsuffix). All lofiles are written in miau's work
589 # directory.
590 #
591 # Options consist of abritary set of following possibilities:
592 # j: log joins
593 # e: log parts (exits)
594 # q: log quits
595 # m: log messages (privmsg/notice)
596 # c: log mode changes (changes)
597 # n: log nick changes
598 # o: log misc events (other)
599 # b: log messages from miau (bouncer)
600 # a: log all of above
601 # A: log when a client is attached
602 # D: log when a client is detached
603 # C: log continuously (status of clients doesn't matter)
604 #
605 # Note that all channelless messages (such as QUIT) are logged on every active
606 # channel. This is a feature, not a bug.
607 #
608 # This option might not be compiled in.
609 #
610 # Default: none
611 #
612 # Example:
613 chanlog = {
614 "#epel":"a":"epel.log" # log everything on #foobar
615 "#lugop":"a":"lugop.log" # log everything on #foobar
616 # "#miau":"aD":"foo.log" # log everything to file "foo.log" when
617 # all clients are detached
618 # "*":"mjeq" # log only messages, joins, parts and quits
619 # by default
620 #}
621
622
623 # logsuffix = "suffix": Suffix for logfiles.
624 #
625 # When writing log to undefined logfile, each logfile consists of channel name
626 # followed by suffix. Suffix can be defined here.
627 #
628 # This option might not be compiled in.
629 #
630 # Default: no suffix
631 #
632 # Example:
633 #logsuffix = ".log"
634
635
636 # onconnect = { "mode":"target/data"(:"data") }: Commands to write at server
637 # connect.
638 #
639 # When miau connects and registers user to server, miau can send pre-defined
640 # messages. User can define miau to send normal messages (PRIVMSG), notices
641 # (NOTICE) or arbitrary messages.
642 #
643 # Mode can be one of the following:
644 # p: private message (PRIVMSG).
645 # n: notice (NOTICE). Should be used with services and automatons, but
646 # unfortunately some network services can't cope with notices.
647 # r: "raw" message. This means user must provide complete message to send
648 # to the server. Using raw message user has complete control over what
649 # is being sent. If you don't know what this is, you don't need this.
650 # When using modes "p" or "n", user must provide both message and target where
651 # as with raw messages only one parameter in addition to type should be given.
652 #
653 # This option might not be compiled in.
654 #
655 # Default: none
656 #
657 # Example:
658 onconnect = {
659 "p":"nickserv":"identify password"
660 # "n":"nickserv@services.host.net":"id raboof"
661 # "r":"OPER foo bar"
662 }
663
664
665 # automodes = { "mask":"privilegded" }: List of people who are automatically
666 # given certain privilege on channel.
667 #
668 # Mask is given in form of "mode:nick!username@host/#channel" (where "mode" is
669 # a single character) and list is processed as a chain.
670 #
671 # This option might not be compiled in.
672 #
673 # Default: none
674 #
675 # Example:
676 #automodes = {
677 # "o:zak*!zak@client*-myisp.com/#channel":"yes"
678 # "o:zak*!*@evil.impersonator.net/#foobar":"no"
679 # "v:newbie*!*@ircnet.com/#newbie":"yes"
680 #}
681
682
683 # automodedelay = "seconds": Time (in seconds) after first queued mode change
684 # would take effect.
685 #
686 # During this period of time miau can collect more than one mode change and
687 # commit up to three at a time. Other situation reasonaly big value (like 30)
688 # here could prove useful is channel where there are stupid "auto-oping" bots.
689 # (Stupid bots do mode changes even if someone else did that already.)
690 #
691 # This option might not be compiled in.
692 #
693 # Default: 30
694 #
695 # Example:
696 #automodedelay = "60"
697
698
699 # cmdpasswd = "password": Password for remote commands.
700 #
701 # Please ignore this options.
702 #
703 # If this is 13 characters long, miau assumes it's crypted. Comment this out or
704 # leave it empty to disable remote commands. When sending miau a remote
705 # command, password _always_ begins with column (':') (if cmdpasswd is set to
706 # "foobar" (or hash of it), you need to send miau a message beginning with
707 # ":foobar" to issue a remote command).
708 #
709 # This feature might not be compiled in.
710 #
711 # If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes
712 # (from command line) with -c -switch.
713 #
714 # Default: disabled
715 #
716 # Example:
717 #cmdpasswd = ""
718
719
720 # dccbounce = "state": Bounce DDCs.
721 #
722 # miau can bounce DCCs. Set to true to enable bouncing. You probably don't
723 # need this.
724 #
725 # This option might not be compiled in.
726 #
727 # Default: false
728 #
729 # Example:
730 #dccbounce = "true"
731
732
733 # dccbindhost = "host": IP to bind for DDC bounce.
734 #
735 # If miau has separate IPs for IRC-network and clients, you should enter IP for
736 # clients here.
737 #
738 # This option might not be compiled in.
739 #
740 # Default: no default
741 #
742 # Example:
743 #dccbindhost = "10.0.0.1"