####################################################### ## _____ ____`` ## ## | ____|__ _ __ _| _ \ _ __ ___ _ __ ## ## | _| / _` |/ _` | | | | '__/ _ \| '_ \ ## ## | |__| (_| | (_| | |_| | | | (_) | |_) | ## ## |_____\__, |\__, |____/|_| \___/| .__/ ## ## |___/ |___/ 1.9.1 |_| ## ## ## ## eggdrop.conf by DeviL ## ## irc.sisrv.net - support@sisrv.net ## ## ## ## Build on 03.06.2021 ## ####################################################### ##### BASIC SETTINGS ##### set username "lamest" set admin "Lamer " set network "I.didn't.edit.my.config.file.net" set timezone "CET" set offset "5" set env(TZ) "$timezone$offset" ############################################################################ ## Network settings overview ## With the addition of IPv6 and the associated config changes, here are some ## BASIC common networking scenarios, along with the appropriate settings ## needed: ############################################################################ set vhost4 "virtual.host.com" set vhost4 "99.99.0.0" #set vhost6 "my.ipv6.host.com" #set vhost6 "2001:db8::c001:b07" # Prefer IPv6 over IPv4 for connections and dns resolution? Set to 1 to try # IPv6 first, otherwise set to 0 for IPv4. set prefer-ipv6 0 addlang "english" ##### LOG FILES ##### # Eggdrop is capable of logging various things, from channel chatter to # commands people use on the bot and file transfers. Logfiles are normally # kept for 24 hours. Afterwards, they will be renamed to "(logfile).yesterday". # After 48 hours, they will be overwritten by the logfile of the next day. # set max-logs 20 set max-logsize 0 # This could be good if you have had problem with the logfile filling # your quota/hard disk or if you log +p and publish it to the web and # need more up-to-date info. Note that this setting might increase the # CPU usage of your bot (on the other hand it will decrease your mem usage). set quick-logs 0 set raw-log 0 logfile mco * "logs/eggdrop.log" logfile jpk #chan "logs/sisrv.log" # Use this feature to timestamp entries in the log file. set log-time 1 set timestamp-format {[%H:%M:%S]} set keep-all-logs 0 set logfile-suffix ".%d%b%Y" set switch-logfiles-at 300 set quiet-save 0 ##### CONSOLE ##### # This is the default console mode. It uses the same event flags as the log # files do. The console channel is automatically set to your "primary" channel, # which is set in the modules section of the config file. Masters can change # their console channel and modes with the '.console' command. set console "mkcoblxs" ##### FILES AND DIRECTORIES ##### # Specify here the filename your userfile should be saved as. set userfile "LamestBot.user" set pidfile "pid.LamestBot" set help-path "help/" set text-path "text/" set motd "text/motd" set telnet-banner "text/banner" set userfile-perm 0600 ##### BOTNET/DCC/TELNET ##### # Settings in this section should be unimportant for you until you deal # with botnets (multiple Eggdrops connected together to maximize efficiency). # You should read doc/BOTNET before modifying these settings. set botnet-nick "LlamaBot" listen 3333 all set remote-boots 2 set share-unlinks 1 set protect-telnet 0 set dcc-sanitycheck 0 set ident-timeout 5 set require-p 1 set open-telnets 0 set stealth-telnets 0 set stealth-prompt "\n\nNickname.\n" set use-telnet-banner 0 set connect-timeout 15 set dcc-flood-thr 3 set telnet-flood 5:60 set paranoid-telnet-flood 1 set resolve-timeout 5 ##### SSL SETTINGS ##### # Settings in this section take effect when eggdrop is compiled with TLS # support. # # IMPORTANT: The following two settings MUST be uncommented in order to # use SSL functionality! # File containing your private key, needed for the SSL certificate # (see below). You can create one issuing the following command: # # openssl genrsa -out eggdrop.key 4096 # set ssl-privatekey "eggdrop.key" # Specify the filename where your SSL certificate is located. If you # don't set this, eggdrop will not be able to act as a server in SSL # connections, as with most ciphers a certificate and a private key # are required on the server side. Must be in PEM format. # If you don't have one, you can create it using the following command: # # openssl req -new -key eggdrop.key -x509 -out eggdrop.crt -days 365 # set ssl-certificate "eggdrop.crt" set ssl-verify-depth 9 set ssl-capath "/etc/ssl/" # Specify the list of protocols allowed for use with ssl. The protocol list is # one or more protocol strings separated by spaces. Available protocols are # SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3. set ssl-protocols "TLSv1 TLSv1.1 TLSv1.2 TLSv1.3" set ssl-ciphers "ALL" # Specify the location of a dhparam file. This file is necessary if you are # using a Diffie-Hellman based key exchange. If you don't know what this is, # you are probably safe leaving it commented. # You can create a dhparam file using the following command: # openssl dhparam -out dhparam.pem 4096 #set ssl-dhparam "dhparam.pem" # Enable certificate authorization. Set to 1 to allow users and bots to # identify automatically by their certificate fingerprints. set ssl-cert-auth 1 set ssl-verify-dcc 0 set ssl-verify-bots 0 set ssl-verify-clients 0 ##### MORE ADVANCED SETTINGS ##### set nat-ip "127.0.0.1" #set reserved-portrange 2010:2020 # Set the time in minutes that temporary ignores should last. set ignore-time 15 set hourly-updates 15 set owner "MrLame, MrsLame" set notify-newusers "$owner" # Enter the flags that new users added via the 'hello' message command (see # 'learn-users' description further down) should get by default. See # '.help whois' on the partyline for a list of flags and their descriptions. set default-flags "mnoahp" #set whois-fields "url birthday" unbind dcc n tcl *dcc:tcl unbind dcc n set *dcc:set set must-be-owner 1 unbind dcc n simul *dcc:simul set max-socks 100 set allow-dk-cmds 1 set dupwait-timeout 5 set cidr-support 0 set show-uname 1 ##### MODULES ##### # Below are various settings for the modules included with Eggdrop. # PLEASE READ AND EDIT THEM CAREFULLY, even if you're an old hand at # Eggdrop, things change. set mod-path "modules/" #### PBKDF2 MODULE #### # IF YOU DON'T READ THIS YOU MAY RENDER YOUR USERFILE USELESS LATER # Eggdrop uses hashing in the userfile, so users can have secure passwords. # Eggdrop will not start without an encryption module. # loadmodule pbkdf2 # Cryptographic hash function used. openssl list -digest-algorithms set pbkdf2-method "SHA256" # Number of rounds. The higher the number, the longer hashing takes; but also # the higher the protection against brute force attacks. set pbkdf2-rounds 16000 # Remove old password hashes after updating to a pbkdf2 hash? # # WARNING: DO NOT CHANGE THIS UNLESS YOU KNOW WHAT YOU ARE DOING # Enabling this setting will break compatibility with older Eggdrops by ceasing # to write to the PASS field (where password hashes from modules like blowfish # are stored), as well as remove an existing PASS hash if found when writing a # new pbkdf2 hash. In some scenarios (for example, a hub sharing a userfile to # a leaf that does not have a pbkdf2 module loaded) enabling this setting may # result in a user having no password set at all. # # This setting is planned to be enabled by default in Eggdrop 2.0. #set remove-pass 0 loadmodule blowfish set blowfish-use-mode cbc #### DNS MODULE #### # This module provides asynchronous dns support. This will avoid long # periods where the bot just hangs there, waiting for a hostname to # resolve, which will often let it timeout on all other connections. # loadmodule dns #set dns-servers "8.8.8.8 1.1.1.1 185.222.222.222" set dns-cache 86400 set dns-negcache 600 set dns-maxsends 4 set dns-retrydelay 3 #### CHANNELS MODULE #### loadmodule channels set chanfile "LamestBot.chan" set force-expire 0 set share-greet 0 set use-info 1 set allow-ps 0 # The following settings are used as default values when you .+chan #chan or .tcl # channel add #chan. Look below for explanation of every option. set default-flood-chan 15:60 set default-flood-deop 3:10 set default-flood-kick 3:10 set default-flood-join 5:60 set default-flood-ctcp 3:60 set default-flood-nick 5:60 set default-aop-delay 5:30 set default-idle-kick 0 set default-chanmode "nt" set default-stopnethack-mode 0 set default-revenge-mode 0 set default-ban-type 3 set default-ban-time 120 set default-exempt-time 60 set default-invite-time 60 set default-chanset { -autoop -autovoice -bitch +cycle +dontkickops +dynamicbans +dynamicexempts +dynamicinvites -enforcebans +greet -inactive -nodesynch -protectfriends +protectops -revenge -revengebot -secret -seen +shared -statuslog +userbans +userexempts +userinvites -protecthalfops -autohalfop -static } channel add #SiSrv #### SERVER MODULE #### loadmodule server set ssl-verify-server 0 ## What is your network? set net-type "Other" set nick "Lamestbot" set altnick "Llamab?t" set username "SiSrv Bot" set realname "/msg SiSrvBot hello" bind evnt - init-server evnt:init_server proc evnt:init_server {type} { global botnick putquick "MODE $botnick +i-ws" putserv "PRIVMSG NickServ :identify " } set default-port 6667 server add you.need.to.change.this 6667 server add another.example.com 6669 password server add 2001:db8:618:5c0:263:: 6669 password server add ssl.example.net +7000 #### CAP Features #### set sasl 1 set sasl-mechanism 0 set sasl-username "llamabot" set sasl-password "password" # Specify the location of certificate to use for the SASL # ecdsa-nist256p-challenge. An ECDSA certificate can be generated with the # command: # openssl ecparam -genkey -name prime256v1 -out eggdrop-ecdsa.pem set sasl-ecdsa-key "eggdrop-ecdsa.pem" # Set SASL failure action # If SASL authentication fails, do you want to connect to the server anyway? # Set to this to 0 to disconnect and retry until success, or 1 to continue # connecting to the server without SASL authentication. set sasl-continue 1 # # Timeout (in seconds) before giving up SASL authentication set sasl-timeout 15 # To request the account-notify feature via CAP, set this to 1 set account-notify 0 # To request the invite-notify feature via CAP, set this to 1 set invite-notify 0 # To request the message-tags feature via CAP, set this to 1. NOTE: Enabling # this feature may interfere with RAW binds in scripts. set message-tags 0 #### End of CAP features #### # Number of seconds to wait between transmitting queued lines to the server. # Lower this value at your own risk. ircd is known to start flood control # at 512 bytes/2 seconds. set msg-rate 2 set keep-nick 1 set quiet-reject 1 set lowercase-ctcp 0 set answer-ctcp 3 set flood-msg 5:60 set flood-ctcp 3:60 set server-cycle-wait 60 set server-timeout 60 set check-stoned 1 set serverror-quit 1 set max-queue-msg 300 set trigger-on-ignore 0 set exclusive-binds 0 set double-mode 1 set double-server 1 set double-help 1 set optimize-kicks 1 set stack-limit 4 # Sets the default RPL_ISUPPORT (raw 005) information to use as a fallback. # These MUST be compatible to all IRCds you might want to connect to. # The actual server settings overwrite these, so you shouldn't need to modify. set isupport-default "CASEMAPPING=rfc1459 CHANNELLEN=80 NICKLEN=9 CHANTYPES=#& PREFIX=(ov)@+ CHANMODES=b,k,l,imnpst MODES=3 MAXCHANNELS=10 TOPICLEN=250 KICKLEN=250 STATUSMSG=@+" ### SERVER MODULE - OTHER NETWORKS (net-type "Other") ### set check-mode-r 0 set nick-len 32 #### CTCP MODULE #### loadmodule ctcp set ctcp-mode 0 #### IRC MODULE #### loadmodule irc set bounce-bans 0 set bounce-exempts 0 set bounce-invites 0 # Set this to 1 if you want to bounce all server modes. set bounce-modes 0 set use-exempts 1 set use-invites 0 set learn-users 0 set wait-split 600 set wait-info 180 set mode-buf-length 200 # Many IRCops find bots by seeing if they reply to 'hello' in a msg. # You can change this to another word by un-commenting the following # two lines and changing "myword" to the word wish to use instead of # 'hello'. It must be a single word. #unbind msg - hello *msg:hello #bind msg - myword *msg:hello unbind msg - ident *msg:ident unbind msg - addhost *msg:addhost # Some IRC servers are using some non-standard op-like channel prefixes/modes. # Define them here so the bot can recognize them. Just "@" should be fine for # most networks. Un-comment the second line for some UnrealIRCds. set opchars "@" #set opchars "@&~" set no-chanrec-info 0 ### IRC MODULE - OTHER NETWORKS (net-type "Other") ### # Attention: Use these settings *only* if you set net-type to "Other"! set kick-method 1 set include-lk 1 set rfc-compliant 1 #### TRANSFER MODULE #### loadmodule transfer set max-dloads 3 set dcc-block 0 set copy-to-tmp 1 set xfer-timeout 30 set sharefail-unlink 0 #### SHARE MODULE #### # This module provides userfile sharing support between two directly # linked bots. loadmodule share # Settings in this section must be un-commented before setting. set allow-resync 1 set resync-time 900 set private-global 0 #set private-globals "mnot" #set private-user 0 #set override-bots 0 #### COMPRESS MODULE #### loadmodule compress set share-compressed 1 set compress-level 9 #### CONSOLE MODULE #### # This module provides storage of console settings when you exit the # bot or type .store on the partyline. loadmodule console set console-autosave 1 set force-channel 0 set info-party 0 #### UPTIME MODULE #### loadmodule uptime #### IDENT MODULE #### loadmodule ident #set ident-method 0 # Set the ident port to use for ident-method 1. #set ident-port 113 ##### SCRIPTS ##### # This is a good place to load scripts to use with your bot. source scripts/alltools.tcl source scripts/action.fix.tcl source scripts/dccwhois.tcl source scripts/userinfo.tcl loadhelp userinfo.help # A few IRC networks (EFnet and Undernet) have added some simple checks to # prevent drones from connecting to the IRC network. While these checks are # fairly trivial, they will prevent your Eggdrop from automatically # connecting. if {[info exists net-type]} { switch -- ${net-type} { "EFnet" { # EFnet source scripts/quotepong.tcl } "0" { # EFnet source scripts/quotepong.tcl } } }