##############################################################################
##                       iroffer 1.4.b03 config file                        ##
##            lines starting with "#" or are blank are ignored              ##
##############################################################################

# Version of this file:
#
# @(#) sample.config 1.126@(#)
# pmg@wellington.i202.centerclick.org|sample.config|20051213024432|50861
#

##############################################################################
##                           - Lamm add-ons -                               ##
##                                                                          ##
## dccserverport <port> - mIRC-style dccserver port number (def:0 = off)    ##
## llistreply           - long "!list"-reply - only works if                ##
##                        "respondtochannellist" is set as well (see below) ##
## autorelist <seconds> - set the interval the "filedir" is relisted        ##
## noxdccinfo           - if set it skips the "/msg x xdcc info..." line    ##
## privacy              - only allows PING, VERSION and ADMIN queries from  ##
##                        users not sharing a channel with the bot          ##
## privacymsg <msg>     - if not set, queries are ignored silently          ##

#dccserverport 8090
#llistreply
#autorelist 60
#noxdccinfo
#privacy
#privacymsg You are not in a known channel.

##############################################################################
##                                  FILES                                   ##
##############################################################################


##############################################################################
###                             - pid file -                               ###
### Writes the process id to this file on startup                          ###
pidfile mybot.pid

##############################################################################
###                             - log file -                               ###
### Writes logging information to this file logstats will log statistical  ###
### information logstats will also send stats to a dcc chat if one is      ###
### active. logrotate can be none, daily, weekly, or monthly               ###
logfile mybot.log
logstats yes
logrotate weekly

##############################################################################
###                             - state file -                             ###
### temporary storage for iroffer state information across restarts        ###
statefile mybot.state

##############################################################################
###                         - xdcc listing file -                          ###
### if you want to export your xdcc list via a webserver, or other means   ###
### define 'xdcclistfile' and iroffer will write the xdcc list to it when  ###
### needed.                                                                ###
### If xdcclistfileraw is set the file will be written with the IRC        ###
### control characters included (color, formatting, etc..).                ###
#xdcclistfile mybot.txt
#xdcclistfileraw

##############################################################################
###                     - xdcc listing group only  -                       ###
### Export your xdcc list with group and main information only.            ###
### Default ouput is all packs and no group ionformation.                  ###
#xdcclist_grouponly

##############################################################################
###                          - admin job file -                            ###
### when defined, read this file for commands and execute them.            ###
### ouput will be written in <filename>.done                               ###
#admin_job_file mybot.job


##############################################################################
##                                   IRC                                    ##
##############################################################################

##############################################################################
###                          - connection method -                         ###
### How should iroffer connect to the irc server.  Choices are:            ###
###  direct                      - connect directly to the irc server      ###
###  bnc <ip> <port> <password> <vhost>                                    ###
###                              - connect to the irc server through a bnc ###
###                                relay at <ip>:<port> using <password>   ###
###                                <vhost> is optional                     ###
###  wingate <ip> <port>         - connect to the irc server through a     ###
###                                wingate relay at <ip>:<port>            ###
###  custom <ip> <port>          - connect to the irc server through a     ###
###                                custom set of commands, see proxyinfo   ###
###                                below for more information              ###
### most people will want to use the direct                                ###
connectionmethod direct


##############################################################################
###                       - custom connection info -                       ###
### if you use connectionmethod of custom you can place any number of      ###
### custom lines for use with your proxy/gateway/redirector. Place "$s"    ###
### and "$p" where the server and port should be placed in your text       ###
#proxyinfo connect $s:$p
#proxyinfo blah blah


##############################################################################
###                         - onjoin information -                         ###
### you can use server_join_raw to send raw IRC commands to the server     ###
### when connected (sent after NICK, USER, before MODE )                   ###
###                                                                        ###
### you can use server_connected_raw to send raw IRC commands to the       ###
### server when connected (sent after MODE, before JOIN )                  ###
###                                                                        ###
### you can use channel_join_raw to send raw IRC commands to the           ###
### server when you join a channel (multiple instances can be configured   ###
### if needed)                                                             ###
###                                                                        ###
### multiple instances of all 3 can be configured if needed                ###
#server_join_raw
#server_connected_raw
#channel_join_raw


##############################################################################
###                             - nickserv -                               ###
### if you would like to register with nickserv add settings here          ###
#nickserv_pass mypass


##############################################################################
###                         - server information -                         ###
### List server/ports in the form "server irc.domain.com 6667". Port is    ###
### optional (default 6667).  Server password should be listed 3rd if      ###
### needed (port must be specified if using a password).                   ###
### Multiple servers can be specified                                      ###
server irc.efnet.net
#server irc.efnet.net 6667
#server irc.efnet.net 6667 server-password

##############################################################################
###                         - channels (upto 50) -                         ###
### channel format:                                                        ###
### "channel <channel> [-plist <time>] [-plistoffset <time>]               ###
###    [-pformat <full|minimal|summary>] [-key <key>] "                    ###
### plist: time is number of minutes between plists.                       ###
### plistoffset: time is number of minutes to offset list                  ###
### pformat: full is normal and default if pformat is not used             ###
###          minimal is similar to full but removes some lines             ###
###          summary displays only a 2 line summary                        ###
### key:     for +k channels, the key specified is used when joining       ###
### using same or multiples of the same number plist time is recomended    ###
### headline text from this keyword to the end of the line is used as a    ###
###          channel specific headline.                                    ###
#channel #chan01
#channel #chan02 -plist 14
#channel #chan03 -plist 28 -pformat minimal
#channel #chan04 -plist 14 -pformat summary -key thekey
#channel #chan04 -plist 14 -pformat summary -headline moving soon


##############################################################################
###                          - user information -                          ###
user_nick mybotDCC
user_realname My Bot
user_modes +i

##############################################################################
###                             - owner nick -                             ###
### Nick to notify if bot has trouble.                                     ###
#owner_nick master

##############################################################################
###                           - watch this user -                          ###
### No new "xdcc send" are accepted, when this user is not online.         ###
### Old queue entries are still send.                                      ###
#enable_nick master

##############################################################################
###                            - virtual hosts -                           ###
### If the computer you want to run iroffer on has multiple local IP       ###
### addresses, you can run iroffer on any of those ip addresses.           ###
### To automatically choose a local IP address leave undefined.            ###
### NOTE:  You must use the IP address in x.x.x.x format not a DNS name.   ###
#local_vhost 123.456.789.123

##############################################################################
###                      - incoming TCP connections -                      ###
### If you are behind a firewall that you control and want to have iroffer ###
### use a specified range for TCP ports for incoming connections set       ###
### tcpstartrange to the first port used (ports will be used from that     ###
### number upwards as needed (usually 1 per transfer attempt).             ###
### If undefined, incoming TCP ports are automatically chosen by the OS.   ###
#tcprangestart 4000

##############################################################################
###                       - override unix loginname -                      ###
### Override your unix loginname. Will only work if identd isn't running.  ###
#loginname fakelogin


##############################################################################
###                      - manual dcc ip translation -                     ###
### if you are behind a NAT (Network Address Translation) device which     ###
### _does_ _not_ intercept and translate dcc commands but _does_ do port   ###
### forwarding place the ip address of the NAT below if unsure, leave      ###
### commented                                                              ###
### NOTE:  You must use the IP address in x.x.x.x format not a DNS name.   ###
#usenatip 123.456.789.123

##############################################################################
###                      - automatic dcc ip translation -                  ###
### Get my own IP from the ircserver, and uses this as value for usenatip. ###
### Set usenatip to a default value when using this option.                ###
#getipfromserver

##############################################################################
###                      - excluded from auto-ignore -                     ###
### These hostmasks (one per line) will never be ignored.                  ###
#autoignore_exclude nickserv!nickserv@services.domain.com
#autoignore_exclude chanserv!chanserv@services.domain.com

##############################################################################
###                        - auto-ignore threshold -                       ###
### How strict should the auto-ignore be? autoignore_threshold is the      ###
### average number of seconds between requests that will trigger an        ###
### auto-ignore.  The default is 10 seconds/request.                       ###
#autoignore_threshold 10

##############################################################################
##                                   xdcc                                   ##
##############################################################################

##############################################################################
###                         - maximum xdcc slots -                         ###
slotsmax 20

##############################################################################
###                         - Queue Information -                          ###
### Main Queue Size, set to 0 for no queue                                 ###
queuesize 10

##############################################################################
###                      - max transfers per person -                      ###
### maximum transfers per person at a time                                 ###
maxtransfersperperson 1

##############################################################################
###                        - ignore duplicate ip -                         ###
### detect faked hostmasks and abort mutiple transfers to the same host    ###
#ignoreduplicateip

##############################################################################
###                     - max queued items per person -                    ###
### maximum number of times a user can be in a queue simultaneously        ###
maxqueueditemsperperson 2

##############################################################################
###                            - holdqueue -                               ###
### don't send from queue, let current transfers run out, so the bot       ###
### can shutdown cleanly without stopping transfers                        ###
#holdqueue

##############################################################################
###                 - add/chfile command helper directory -                ###
### optional directory where iroffer will look after trying normal         ###
### relative/absolute paths when using the add or chfile admin command.    ###
### Add/chfile will first try to open the file using just the argument you ###
### provide to the command, and if that fails it will try again with       ###
### filedir added to the front of the argument.                            ###
#filedir /home/me/files

##############################################################################
###                 - no duplicate files -                                 ###
### When configured, add, adddir and addnew refuses to add a files that    ###
### already have been added.                                               ###
#noduplicatefiles

##############################################################################
###                     - remove lost files -                              ###
### if a files is no longer accessible on the server, remove the pack.     ###
### use with care, if started in wrong dir it may delete all packs.        ###
#removelostfiles

##############################################################################
###                           - groups in caps -                           ###
### if set, all groups names changed will be folded to  uppercase.         ###
#groupsincaps

##############################################################################
###                        - auto default group -                          ###
### When adding a new file, search for matching enries and assing the      ###
### new file to the same group.                                            ###
#auto_default_group

##############################################################################
###                 - adddir exlcude pattern -                             ###
### When configured, addir and adnew will skip all files that match this   ###
### patterns.                                                              ###
#adddir_exclude *.txt
#adddir_exclude *.md5

##############################################################################
###                    - auto add announce -                               ###
### When configured, each add will be announced on all channels with <msg> ###
### patterns.                                                              ###
#autoaddann added

##############################################################################
###                  - restrict xdcc list and xdcc send -                  ###
### if set, xdcc list and/or xdcc send|info will be restricted to users    ###
### who are on a known channel. If a user is not on one of the known       ###
### channels they will not be able to list and/or get packs                ###
### restrictprivlist disables all private xdcc list requests completely.   ###
### use restrictprivlistmsg to change the message that restrictprivlist    ###
### sends                                                                  ###
#restrictlist
#restrictprivlist
#restrictprivlistmsg Wait for public list in the channel.
#restrictsend

##############################################################################
###                      - restrictprivlistmain -                          ###
### if set, "xdcc list" without an option will be rejected.                ###
### this allows to list a single group only.                               ###
#restrictprivlistmain

##############################################################################
###                      - restrictprivlistfull -                          ###
### if set, "xdcc list all" will be rejected.                              ###
#restrictprivlistfull

##############################################################################
###                      - channel xdcc commands -                         ###
### if set, iroffer will respond to xdcc requests sent to a channel in     ###
### addition to xdcc requests sent to iroffer directly.                    ###
#respondtochannelxdcc

##############################################################################
###                      - channel !list command -                         ###
### if set, iroffer will respond to !list requests sent to a channel       ###
#respondtochannellist

##############################################################################
###                      - channel !@find command -                        ###
### iroffer will respond to "@find pattern" requests sent a channel        ###
### with a pattern that contains at least <n> non wildcards chars          ###
### wild cards are:                                                        ###
###  * = 0 or more characters,  ? = 1 character,  # = any positive integer ###
### default: 0 = no response at all                                        ###
#atfind 3

##############################################################################
###                   - bypass queue for small files -                     ###
### If someone requests a small file, bypass queue and max sends.  If the  ###
### offered file is under this size (in KB), send immediately.             ###
#smallfilebypass 0

##############################################################################
###                      - authorized download hosts -                     ###
### Specify who can download from this bot.  Use *!*@* to allow anyone.    ###
### Multiple hostmasks can be specified                                    ###
### wild cards are:                                                        ###
###  * = 0 or more characters,  ? = 1 character,  # = any positive integer ###
downloadhost *!*@*
#downloadhost *!~me@*.domain.com
#downloadhost *!me@192.168.10.#


##############################################################################
##                               Network Usage                              ##
##############################################################################

##############################################################################
###                      - Allow with low bandwidth -                      ###
### If packs are queued, and the bandwidth usage is below this amount, a   ###
### queue'd person will be sent their pack. (K/sec)                        ###
### WARNING! do not set this amount to an unreasonably high number!        ###
#lowbdwth 15

##############################################################################
###                         - transfer min speed -                         ###
### Per-transfer min speed in KB/sec used unless 'chmins' set per pack.    ###
#transferminspeed 10

##############################################################################
###                         - transfer max speed -                         ###
### Per-transfer max speed in KB/sec used unless 'chmaxs' set per pack.    ###
#transfermaxspeed 50

##############################################################################
###                        - bandwidth limiting -                          ###
### Is your sysadmin complaining about you using up too much bandwidth?    ###
### You can set a maximum KB/sec that will be sent to the network.         ###
### You can define two different limits depending on time of day,          ###
### overallmaxspeed is the general limit, overallmaxspeeddayspeed is the   ###
### limit during the hours defined by overallmaxspeeddaytime (0 ... 23)    ###
### (no looping) and durring days of week ( MTWRFSU )                      ###
#overallmaxspeed 300
#overallmaxspeeddayspeed 100
#overallmaxspeeddaytime 9 17
#overallmaxspeeddaydays MTWRF

##############################################################################
###                    - daily/weekly/monthly limits -                     ###
### If you want to limit total sent during a day/week/month, define        ###
### transferlimits and set one or more of the limits.  Setting to 0        ###
### disables that limit, non-zero limits total transfered in that period   ###
### to that number of MB.  If you define more than one value, then all     ###
### limits apply.  Days begin at midnight, Weeks begin Sunday morning.     ###
###                                                                        ###
### transferlimits <daily MB> <weekly MB> <monthly MB>                     ###
###                                                                        ###
### EXAMPLE: 'transferlimits 200' would limit to 200MB per day.            ###
###                                                                        ###
### EXAMPLE: 'transferlimits 0 0 5000' would limit to 5000MB per month.    ###
###                                                                        ###
### EXAMPLE: 'transferlimits 200 1200 5000' would limit to:                ###
###           5000MB per month, and 1200MB per week, and 200MB per day.    ###
#transferlimits 200 1200 5000

##############################################################################
###                           - start of month -                           ###
### day of month when to reset the monthly traffic limit, default 1        ###
### this value is only checked when the old month ins over.                ###
#start_of_month 1

##############################################################################
###                       - ignore upload bandwidth-                       ###
### don't count uploads traffic into transferlimits.                       ###
### Fast uploads will stop any downloads without this option.              ###
#ignoreuploadbandwidth


##############################################################################
##                                   Other                                  ##
##############################################################################

##############################################################################
###                          - autosend feature -                          ###
### Set if you want iroffer to automatically send a pack when someone says ###
### a certain word pubically in a channel.                                 ###
### Only the first matching trigger will start a send.                     ###
### autosendpack <pack#> <trigger> <message ...>                           ###
###               == MOST USERS WILL NOT NEED THIS FEATURE ==              ###
###             == GET PERMISSION FROM YOUR CHANNEL OPS FIRST ==           ###
#autosendpack 1 !rules Sending you the rules.
#autosendpack 2 !faq Sending you the FAQ.

##############################################################################
###                             - headline -                               ###
### Put a headline at the top of all xdcc lists                            ###
#headline New Stuff Just Added!!

##############################################################################
###                            - disablexdccinfo -                         ###
### disable all XDCC INFO requests                                         ###
#disablexdccinfo

##############################################################################
###                            - hidelockedpacks -                         ###
### Don't show locked packs to users with XDCC INFO and XDCC SEND          ###
#hidelockedpacks

##############################################################################
###                           - credit line -                              ###
### Put a credit at the end of your xdcc list                              ###
#creditline Brought to you by me

##############################################################################
###                         - index bot notify -                           ###
### if you want iroffer to periodically msg some nick for indexing or some ###
### other purpose use periodicmsg in the form:                             ###
### "periodicmsg <nick> <num minutes> <message ...>                        ###
#periodicmsg nick 10 index me

##############################################################################
###                        - remote admin info -                           ###
### Remote commands can only be issued by a nick with a matching hostmask  ###
### and knows the adminpass Remote commands are issued by dcc chat or by   ###
### /msg nickDCC admin 'adminpass' 'command' adminhost's are full          ###
### hostmasks: nick!user@host don't forget a "~" if you don't use identd   ###
### wild cards are:                                                        ###
###  * = 0 or more characters,  ? = 1 character,  # = any positive integer ###
### For security, your adminpass must be stored in the config file         ###
### encrypted.  To generate an encrypted password run iroffer with the     ###
### "-c" flag and follow the instructions.                                 ###
adminpass add_your_encrypted_password_here
adminhost *!~me@*.domain.com
adminhost *!me@192.168.10.#

##############################################################################
###                          - upload directory -                          ###
### If you want iroffer to accept DCC transfers (upload) define one or     ###
### more uploadhosts and define an uploaddir where files should be saved.  ###
### uploadmaxsize if the maximum size in MB of any individual transfer,    ###
### files over that size will be rejected (0 for no limit).                ###
### wild cards are:                                                        ###
###  * = 0 or more characters,  ? = 1 character,  # = any positive integer ###
### WARNING!!  specify a directory used exclusively for uploads. This will ###
### WARNING!!  prevent users from creating/appending important files       ###
#uploadhost *!~me@*.domain.com
#uploadhost *!me@192.168.10.#
#uploaddir /home/me/upload
#uploadmaxsize 10

##############################################################################
###                          - hide OS information-                        ###
### If you do not want iroffer to show OS information in version and quit  ###
### messages enable this option                                            ###
#hideos

##############################################################################
###                              - log notices -                           ###
### If defined, iroffer will log notice messages to the msglog             ###
#lognotices

##############################################################################
###                           - timestamp console -                        ###
### If defined, iroffer will place timestamps on all console output        ###
#timestampconsole

##############################################################################
###                             - quiet mode -                             ###
### If defined, iroffer will suppress most informational messages to users ###
#quietmode

##############################################################################
###                       - periodic notify time -                         ###
### How often should iroffer notify users of queue/bandwidth status        ###
### (in minutes).  If not defined default is 5 minutes. Setting to 0       ###
### disables notification entirely.                                        ###
#notifytime 5

##############################################################################
###                         - punish slow users -                          ###
### If a user is disconnected due to failing to meet a minspeed            ###
### requirement, punish them by disconnecting all transfers/queues and     ###
### ignoring them for n minutes                                            ###
#punishslowusers 10

##############################################################################
###                      - disable md5sum of files -                       ###
### By default, iroffer will calculate md5sums all offered files.  If you  ###
### want to disable this feature define 'nomd5sum' below.                  ###
#nomd5sum

##############################################################################
##                                    End                                   ##
##############################################################################