# # miau 0.6.2 configuration file example # (C) 2003-2006 Tommi Saviranta # # About structure of this configuration file: # # - All parameters are written inside quotes (for example, "foobar") # # - Options are defined like: option = "parameter1"[:"parameter2"] ... # # - When entering multiparameter options, certain parameters have default # values and can be left out. # # - When entering multiparameter options and, for example, user doesn't want # to set parameter2 at all but he needs to set parameter3, parameter2 can # be skipped with column (':') like: "parameter1"::"parameter3". # # - Empty lines and characters after '#' (hash) are ignored. # # - When setting permissions, switched etc. (switches (booleans) are described # as "state"), everything beginning with "t", "r" and "1" are concidered as # "true" or "yes" (positive). Everything else is "false" or "no" (negative). # Required settings ################################################################################ # nicknames = { "nick" }: Your nickname (and secondary nicknames) on IRC. # # If the primary nick (first nick on the list) is already on use, miau will try # the others on the list. # # Default: no default # # Example: #nicknames = { # "zak" # "zakh" #} nicknames = { "miau_bnc_on_ipfire" "miau_bnc_on_ipfire_" "miau_bnc_on_ipfire__" } # realname = "realname": Your "real" name on IRC. # # Default: no default # # Example: #realname = "Prokhor Zakharov" realname = "miau_bnc_on_ipfire" # username = "username": Your username. # # Your ident, matters only if you don't have identd running. # # Default: no default # # Example: #username = "zak" username = "miau_bnc_on_ipfire" # password = "password": The password miau will expect to receive from client # when it's registering with nick. # # If this is 13 characters long, miau assumed it's crypted. # # If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes # (from command line) with -c -switch. # # Default: no default # # Example: #password = "foobar" password = "" # listenport = "port": The port miau will wait for incoming connections. # # Default: no default # # Example: listenport = "4096" # servers = { "server":"port":"password":"timeout" }: miau's IRC-server-list. # # Each line represents one server, where timeout is delay in seconds before # connectiong attempt times out. Only "server" parameter is required. # # Default: no default # # Example: #servers = { # "irc.net" # "irc.foo.bar":"6662" # "localhost"::"foobar" # "127.0.0.1":"6670"::"5" #} servers = { "irc.freenode.net" } # connhosts = { "host":"permitted" }: List of hosts that are allowed (or denied) # to connect to miau. # # When boolean-value is left unset, it is assumed to be "true". This list will # be processed as a chain which means latter rules can override previous ones. # # Default: no default # # Example: #connhosts = { # "*":"yes" # "client*.evil.net":"no" #} connhosts = { # "192.168.1.*":"yes" "*":"yes" } # Optional settings ################################################################################ # statelog = "state": Should miau write state log. # # When true, log will be written to "$MIAUDIR/log". If set to false, the same # stuff is printed on stdout (on terminal). # # Default: true # # Example: #statelog = "false" # listenhost = "host": Host miau uses to listen on. # # If you are compiled with IPV6 and need this to listen on an IPV4 port, you # must use an IP in the form ::FFFF:127.0.0.1 # # Default: no default # # Example: listenhost = "0.0.0.0" # floodtimer = "number": Time it takes to send one message. # # When configuring flood-protection, this variable defined how fast you can # send messages; how many seconds sending one message takes. See also burstsize. # # Default: 2 # # Example #floodtimer = "1" # burstsize = "number": How manu messages can be sent at once. # # When onfiguring flood-protection, this variable defined how many messages # can be sent at once (in a burst). See also floodtimer. # # Default: 5 # # Example: #burstsize = "5" # jointries = "number": Number of tries to join channel after dropping from # server etc. miau tries to join channels once a minute. # # Default: 30 # # Example: #jointries = "1440" # bind = "host": Host/IP miau uses for outgoing connections. # # Default: none # # Example: #bind = "172.16.1.1" # maxclients = "number": Maximum number of clients connected to miau # concurrently. # # Set to zero for unlimited clients. # # Default: 3 # #Example: #maxclients = "1" # stonedtimeout = "seconds": Time (in seconds) with no data from the server # before it is declared stoned and being disconnected. # # Although minimum value is 30, this value has no upper limit. Watch out, # though, if this value is set too high, death of servers may stay undetected # for a very long time if you are idle. # # Default: 90 # # Example: #stonedtimeout = "150" # connecttimeout = "seconds": Time (in seconds) before connection attampt will # time out. # # Note that while connecting to the server miau will not respond to clients. # Minimum value is 5, and many systems define maximum value. # # Default: 30 # # Example: #connecttimeout = "60" # channels = { "channel":"keyword" }: List of channels to join. # # Default: none # # Example: #channels = { # "#lugop" #} channels = { } # rejoin = "state": Rejoin channels after disconnecting from the server. # # If rejoin is set to true, channels defined in "channels" are also joined when # client first time connects to miau. # # Default: true # # Example: #rejoin = "false" # leave = "state": Leave channels when all clients have detached from miau. # # If "leave" is set to "false" and "rejoin" is set to "true", channels defined # at "channels" will be joined at miau startup. If both "leave" and "rejoin" # is set to "true", channels that are left at client detach, are rejoined when # client attached back to miau. # # Default: false # # Example: #leave = "false" # leavemsg = "message": Message miau will either use as PART-message or as an # ACTION when all clients have detached from miau. # # If unset or set to empty, no message will be shown. Note that many people # dislike event-based messages (which happens when "leave" is set to "false" # and "leavemsg" is set). Also see usequitmsg. # # Note: Note that commenting this option out and rehashing after leavemsg was # set, this option is _not_ reverted. To disable leavemsg afterwards you # need to write an empty string here and rehash. # # Default: none # # Example: #leavemsg = "doh" # awaymsg = "message": Text that will be set to miau's away-reason when all # clients have detached from miau. # # If unset or set to empty, AWAY-status will be left untouched. When any client # attaches back to miau, AWAY-status will be reset. Also see usequitmsg. # # Note: If user sets him/herself away, miau will not touch away-status nor # message neither when connecting to or disconnecting from miau. # # Note: Note that commenting this option out and rehashing after awaymsg was # set, this option is _not_ reverted. To disable awaymsg afterwards you # need to write an empty string here and rehash. # # Default: none # # Example: #awaymsg = "bouncing around - all private messages will be logged" # usequitmsg = "state": Use last quit-reason as away-reason and/or leave-message # (if respective options are enabled) when all clients have # disconnected from miau. # # If quit-reason is empty, default values of awaymsg and leavemsg will be used, # otherwise most recent quit-message overrides values in miaurc. # # Default: true # # Example: # usequitmsg = "false" # autoaway = "selection": miau can set user away automatically. # # This option allows to define when to do that. This option may be one of the # following: "never", "detach", "noclients". # # never: never set user away # detach: set user away when any of the clients disconnects # noclients: set user away when the last client disconnects # # Default: detach # # Example: #autoaway = "noclients" # chandiscon = "selection": When miau is disconnected from the server e.g. # because of network problem, miau can notify user about this in # a couple of ways. # # nothing: only print server notice # notice: send notice to each channel # part: part each channel. mIRC users probably don't want to use this. # privmsg: send a private message to the user # # Default: part # # Example: #chandiscon = "notice" # getnick = "selection": miau can try to reclaim your primary nick when it is # lost. # # This option may be one of the following: "never", "detached", "attached", or # "always". # # never miau will not try to get your nick back # detached miau will try to get your nick when no clients are attached # attached miau will try to get your nick when there are one or more # clients attached # always miau will try to get your nick # # Note: Do _not_ use options "attached" and "always" with clients (like # irc-II EPIC) that automatically change your nick when they receive # NICKINUSE from the server - you might end up chaning your nick until # server drops your connection due excess flood. # # Note: If you issue "/nick not-primary-nick", miau will start trying to get # your primary nick back. # # Default: detached # # Example: getnick = "always" # getnickinterval = "seconds": Time between tries (in seconds) to obtain # currently (possibly) lost primary nick. # # Don't set it too low or you might get kicked out the server due to excess # flood. # # Default: 60 # # Example: #getnickinterval = "30" # antiidle = "minutes": Time between idle-timer resets in minutes. Set to 0 to # disable. # # Default: 0 # # Example: #antiidle = "300" # qloglength = "minutes": Age of oldest line in quicklog in minutes. Set to zero # to disable quicklog. # # This option might not be compiled in. # # Default: 30 # # Example: qloglength = "60" # timestamp = "option": Location of timestamp in quicklog events. # # This option may be one of the following "beginning", "end", or "none". # # This option might not be compiled in. # # Default: none # # Example: #timestamp = "beginning" # flushqlog = "state": Erase quicklog when quicklog is replayed. # # If set to true, quicklog will be written only when no clients are connected # and quicklog will be erased when client connects to miau. If you are running # a single client, you probably want to leave this to "false. # # This option might not be compiled in. # # Default: true # # Example: #flushqlog = "true" # autoqlog = "minutes": Automatically replay number of minutes of quiclog on # attach. # # This option might not be compiled in. # # Default: 30 # # Example: #autoqlog = "30" # inbox = "state": Enables logging private messages when no clients are # connected to miau. # # This option might not be compiled in. # # Default: true # # Example: #inbox = "true" # nevergiveup = "state": Don't die when miau runs out of working servers. # # If set to true, miau will reset "working"-status of servers to working when # all are set to dysfunctional. Respectively, if set to false, miau will quit # when all servers on the list have been set to dysfunctional. # # Default: true # # Example: #nevergiveup = "false" # norestricted = "state": Don't join servers where you get "+r". # # If set to true, miau will not stay on server that forces user to have # restricted-status (+r). # # Default: true # # Example: #norestricted = "false" # reconnectdelay = "seconds": Time (in seconds) between connection attempts. # # Minumun value is set to 1. # # Default: 10 # # Example: #reconnectdelay = "30" # nickfillchar = "fill character": Fill nick with this character when unique # nick is required. # # Character used to modify your primary nick when all defined nicks are already # occupied. Note character is a single octet (byte) and if longer string is # fed, only the first character is used. # # Example: When nickfillchar is set to '_', primary nick is "zak" and all # defined nicks are occupied, next nicks tried are "zak_", "zak__", # "zak___" and so on. When nick has grown too long, it will be shifted # one characted to right (where shift is cyclic) - this means # "zak______" will become "_zak_____", which, again, will become # "__zak____". # # Default: _ # # Example: #nickfillchar = "^" # maxnicklen = "length": Maximum nick length, used with nickfillchar. # # Default: 9 # # Example: #maxnicklen = "11" # usermode = "usermode(s)": Usermode. # # Usermode that miau will request (if no clients are attached at the moment) # from the server when connection to the server is established. Leave unset or # set to empty to disable this feature. # # Default: none # # Example: #usermode = "+i" # forwardmsg = "command": Commands to pipe private messages to. # # miau can collect the (private) messages within specified time (see # forwardtime) and pipe them into the program specified. Leave this unset or # set to empty to disable this feature. # # Default: none # # Example: #forwardmsg = "mail user@host" # forwardtime = "seconds": Time between sending stuff in forwardmsg queue. # # Time in seconds after first inserted line into forwardmsg queue before # piping the stuff out. # # Default: 180 # # Example: #forwardtime = "3600" # ignore = { "mask":"ignored" }: Ignored users. # # List of users whose private messages (PRIVMSG) and noticies (NOTICE) are # ignored when no clients are attached to miau. When "ignored" is left # undefined, it is assumed to be "true". Setting "ignored" to "false" means # that this user will _not_ be ignored. This list is processed as a chain. # # Default: none # # Example: #ignore = { # "*@localhost":"yes" # "zak*":"no" #} # privlog = "mode": Log private messages. # # Whatever private messages should be logged in nick-specific files. Can be one # of "never", "detached", "attached", and "always". # # This option might not be compiled in. # # Default: never # # Example: privlog = "always" # chanlog = { "channel(s)":"options":"logfile" }: List of channel logfiles. # # When channel is set to "*", line represents global log. When logging, # if channel doesn't have entry of it's own in this list, it will use settings # of global log and write log to it's own file. When defining global log, # "logfile" is ignored. Each line can have multiple channels # (like "#foobar,#miau"). # # If logfile is left undefined, logfile will be named after the channel with # possible suffix (see logsuffix). All lofiles are written in miau's work # directory. # # Options consist of abritary set of following possibilities: # j: log joins # e: log parts (exits) # q: log quits # m: log messages (privmsg/notice) # c: log mode changes (changes) # n: log nick changes # o: log misc events (other) # b: log messages from miau (bouncer) # a: log all of above # A: log when a client is attached # D: log when a client is detached # C: log continuously (status of clients doesn't matter) # # Note that all channelless messages (such as QUIT) are logged on every active # channel. This is a feature, not a bug. # # This option might not be compiled in. # # Default: none # # Example: chanlog = { "#epel":"a":"epel.log" # log everything on #foobar "#lugop":"a":"lugop.log" # log everything on #foobar # "#miau":"aD":"foo.log" # log everything to file "foo.log" when # all clients are detached # "*":"mjeq" # log only messages, joins, parts and quits # by default #} # logsuffix = "suffix": Suffix for logfiles. # # When writing log to undefined logfile, each logfile consists of channel name # followed by suffix. Suffix can be defined here. # # This option might not be compiled in. # # Default: no suffix # # Example: #logsuffix = ".log" # onconnect = { "mode":"target/data"(:"data") }: Commands to write at server # connect. # # When miau connects and registers user to server, miau can send pre-defined # messages. User can define miau to send normal messages (PRIVMSG), notices # (NOTICE) or arbitrary messages. # # Mode can be one of the following: # p: private message (PRIVMSG). # n: notice (NOTICE). Should be used with services and automatons, but # unfortunately some network services can't cope with notices. # r: "raw" message. This means user must provide complete message to send # to the server. Using raw message user has complete control over what # is being sent. If you don't know what this is, you don't need this. # When using modes "p" or "n", user must provide both message and target where # as with raw messages only one parameter in addition to type should be given. # # This option might not be compiled in. # # Default: none # # Example: onconnect = { "p":"nickserv":"identify password" # "n":"nickserv@services.host.net":"id raboof" # "r":"OPER foo bar" } # automodes = { "mask":"privilegded" }: List of people who are automatically # given certain privilege on channel. # # Mask is given in form of "mode:nick!username@host/#channel" (where "mode" is # a single character) and list is processed as a chain. # # This option might not be compiled in. # # Default: none # # Example: #automodes = { # "o:zak*!zak@client*-myisp.com/#channel":"yes" # "o:zak*!*@evil.impersonator.net/#foobar":"no" # "v:newbie*!*@ircnet.com/#newbie":"yes" #} # automodedelay = "seconds": Time (in seconds) after first queued mode change # would take effect. # # During this period of time miau can collect more than one mode change and # commit up to three at a time. Other situation reasonaly big value (like 30) # here could prove useful is channel where there are stupid "auto-oping" bots. # (Stupid bots do mode changes even if someone else did that already.) # # This option might not be compiled in. # # Default: 30 # # Example: #automodedelay = "60" # cmdpasswd = "password": Password for remote commands. # # Please ignore this options. # # If this is 13 characters long, miau assumes it's crypted. Comment this out or # leave it empty to disable remote commands. When sending miau a remote # command, password _always_ begins with column (':') (if cmdpasswd is set to # "foobar" (or hash of it), you need to send miau a message beginning with # ":foobar" to issue a remote command). # # This feature might not be compiled in. # # If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes # (from command line) with -c -switch. # # Default: disabled # # Example: #cmdpasswd = "" # dccbounce = "state": Bounce DDCs. # # miau can bounce DCCs. Set to true to enable bouncing. You probably don't # need this. # # This option might not be compiled in. # # Default: false # # Example: #dccbounce = "true" # dccbindhost = "host": IP to bind for DDC bounce. # # If miau has separate IPs for IRC-network and clients, you should enter IP for # clients here. # # This option might not be compiled in. # # Default: no default # # Example: #dccbindhost = "10.0.0.1"