Configuration d'un eggdrop 1.8.x

From Base de connaissances eggdrops & TCL
(Redirected from Configuration d'un eggdrop)
Jump to: navigation, search
Attention.png Pour les eggdrops 1.6.x, voir Configuration d'un eggdrop 1.6.x

Eggdrop 1.8.x est fourni avec deux fichiers de configuration, la plupart des personnes se suffiront de la version basique. Pour l'utiliser, copiez le fichier eggdrop-basic.conf (qui est à la racine du répertoire eggdrop/) et éditez-le avec un logiciel adapté (tel que Notepad++ sous windows). N'utilisez en aucun cas un traitement de texte !

Astuce.png N'utilisez pas de nom de fichier générique pour votre fichier de configuration, utilisez plutôt le nom de votre eggdrop. De même, ne mettez pas les noms des fichiers (users, channel, pid, ...) en dur dans votre configuration, utilisez la variable $username, vous pourrez ainsi très facilement dupliquer votre configuration.

Configuration basique

Chemin d'accès

#! /path/to/executable/eggdrop
# ^- This should contain a fully qualified path to your Eggdrop executable.

Ceci est le chemin complet vers l'exécutable eggdrop. Vous pouvez l'obtenir en vous mettant dans le répertoire et en tapant pwd et en y ajoutant /eggdrop. Ceci n'est pas utilisé par un Windrop.

Préambule

## This is the basic version of Eggdrop's config file and contains only the
## most commonly used settings for a standard Eggdrop setup.
## PLEASE see eggdrop.conf that ships with Eggdrop for the full documentation
## and list settings you can use here. Or, you can just use eggdrop.conf
## instead!
##
## The pound signs (#) that you see at the beginning of some lines mean that
## the remainder of that line is a comment, or just for your information. By
## adding or deleting pound signs, you can comment or uncomment a setting,
## respectively.
##
## Arguments for a command or setting may be inclosed in <>'s or []'s in the
## example/description. Arguments in <>'s are required, while [] means optional.
##
## More detailed descriptions of all these settings can be found in
## doc/settings/.
  • Le signe dièse (#) en début de ligne indique que ce qui suit est un simple commentaire. Vous pouvez (dé)commenter des lignes pour enlever ou ajouter des réglages.
  • Les paramètres d'une commande ou d'un réglage peuvent être encadrés par des <> ou des [] dans l'exemple ou la description.
    • les paramètres encadrés par des <> sont requis
    • les paramètres encadrés par des [] sont optionnels

Modules

## These are the common modules loaded by eggdrop for an IRC-connected bot.
## For a complete description of each module, please consult eggdrop.conf
loadmodule blowfish  ; # Userfile encryption
loadmodule dns       ; # Asynchronous DNS support
loadmodule channels  ; # Channel support
loadmodule server    ; # Core server support
loadmodule ctcp      ; # CTCP functionality
loadmodule irc       ; # Basic IRC functionality
#loadmodule transfer ; # DCC SEND/GET and Userfile transfer
#loadmodule share    ; # Userfile sharing
#loadmodule compress ; # Compress userfiles for transfer
#loadmodule filesys  ; # File server support
loadmodule notes     ; # Note storing for users
loadmodule console   ; # Console setting storage
#loadmodule seen     ; # Basic seen functionality
#loadmodule assoc    ; # Party line channel naming
loadmodule uptime    ; # Centralized uptime stat collection (http://uptime.eggheads.org)

Cette liste contient tous les modules natifs d'eggdrop, seuls ceux réellement nécessaire au fonctionnement d'eggdrop sont chargés.

Réglages basiques

Pseudonyme

## Set the nick the bot uses on IRC, and on the botnet unless you specify a
## separate botnet-nick, here.
set nick "Lamestbot"

Ce réglage est le pseudonyme qu'aura votre eggdrop sur IRC

Pseudonyme alternatif

## Set the alternative nick which the bot uses on IRC if the nick specified
## by 'set nick' is unavailable. All '?' characters will be replaced by random
## numbers.
set altnick "Llamab?t"

Ce pseudonyme sera utilisé si le pseudonyme principal (réglé précédemment) est déjà utilisé sur IRC. Les caractères ? seront remplacés par des chiffres aléatoires

Nom réel

## Set what should be displayed in the real-name field for the bot on IRC.
## This can not be blank, it has to contain something.
set realname "/msg LamestBot hello"

Ceci sera affiché comme le nom réel de l'eggdrop lors d'un /whois.

Username

## This setting defines the username the bot uses on IRC. This setting has
## no effect if an ident daemon is running on your bot's machine.
set username "lamest"

Ceci est le username (la partie entre le ! et le @ dans un /whois) de votre eggdrop. Il ne sera pas pris en compte si un daemon ident est actif sur la machine où tourne votre eggdrop.

Il est conseillé de ne pas mettre plus de 8 caractères.

Fichier pid

# Specify here the filename Eggdrop will save its pid to. If no pidfile is
# specified, pid.(botnet-nick) will be used.
#set pidfile "pid.LamestBot"

Il s'agit du fichier qui contient l'identifiant de processus de votre eggdrop. Si ce réglage est commenté, le fichier sera pid.botnet-nick .

Astuce.png Pour ne pas reconfigurer ceci lorsque je clone un eggdrop, j'utilise toujours pid.$username.

Admin

## This setting defines which contact person should be shown in .status,
## /msg help, and other places. You really should include this information.
set admin "Lamer <email: lamer@lamest.lame.org>"

Ce réglage définit les informations de contact qui seront affichées lorsqu'on tape la commande .status, ou /msg help.

Réseau

## This setting is used only for info to share with others on your botnet.
## Set this to the IRC network your bot is connected to.
set network "I.didn't.edit.my.config.file.net"

Ce réglage est purement informatif et utilisé lorsque l'eggdrop partage des information par botnet.

Propriétaire

# Un-comment the next line and set the list of owners of the bot.
# You NEED to change this setting.
# This is a list of handles -- usernames in the bot.
#set owner "MrLame, MrsLame"

Décommentez cette ligne et indiquez la liste des propriétaires du robot. Il s'agit d'une liste d'identifiants (handle) tels que l'eggdrop les connait dans sa liste d'utilisateurs.

Serveurs

## This is the bot's server list. The bot will start at the first server listed,
## and cycle through them whenever it gets disconnected. You need to change these
## servers to YOUR network's servers.
##
## The format is:
##   server[:port[:password]]
## Prefix the port with a plus sign to attempt a SSL connection:
##   server:+port[:password]
## If you need to specify a numeric server IPv6 address, enclose it in square
## brackets.
##
## Both the port and password fields are optional; however, if you want to set a
## password or use SSL you must also set a port. If a port isn't specified it
## will default to your default-port setting.
set servers {
  you.need.to.change.this:6667
  another.example.com:7000:password
  [2001:db8:618:5c0:263::]:6669:password
  ssl.example.net:+6697
}

Il s'agit de la liste des serveurs sur lesquels le robot se connectera. Il commencera au premier de la liste et parcourera la liste s'il ne peut pas s'y connecter ou s'il est déconnecté.

  • Le format est: serveur[:port[:motdepasse]]
  • Préfixez le port avec un plus (+) si la connexion est en SSL (serveur[:+port[:motdepasse]])
  • Si vous mettez l'adresse IPv6 d'un serveur, encadrez la avec des [] ([ip:du:serveur][:+port[:motdepasse]])

Le port et le mot de passe sont optionnels. Si vous voulez utiliser un mot de passe serveur ou un port SSL, il faut obligatoirement renseigner le port.

Si le port n'est pas spécifié, l'eggdrop utilisera le réglage default-port.

Réglages réseau

Il s'agit ici des réglages de la machine sur laquelle s'exécute l'eggdrop.

###########################################################################
## 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:
##
## SHELL PROVIDER (MULTIPLE IPs/VHOSTS)
## * set vhost4 or vhost6 to the IP/vhost you want to use
## * set listen-addr to the same IP/vhost as above
##
## HOME COMPUTER/VPS, DIRECT INTERNET CONNECTION (SINGLE IP, NO NAT)
## * do not set vhost4/vhost6
## * do not set listen-addr
##
## HOME COMPUTER, BEHIND A NAT
## * do not set vhost4/vhost6
## * do not set listen-addr
## * set nat-ip to your external IP
##
## Below is a detailed description of each setting, please read them to
## learn more about their function.
############################################################################

Suite à l'ajout du support IPv6 et de ses paramètres de configuration, voici quelques scénarios basiques:

  • Hébergeur de shell (plusieurs IPs/Vhosts)
    • réglez vhost4 ou vhost6 sur l'IP/le vhost que vous désirez utiliser
    • réglez listen-addr avec la même valeur
  • Ordinateur personnel, connexion directe (une seule IP, pas de translation d'adresse)
    • ne réglez pas vhost4/vhost6
    • ne réglez pas listen-addr
  • Ordinateur personnel derrière un NAT
    • ne réglez pas vhost4/vhost6
    • ne réglez pas listen-addr
    • réglez nat-ip avec votre IP publique

Adresse (IP/vhost)

IPv4

## If your host has multiple IPv4 addresses, uncomment and set this variable
## to the IP you wish to use for connecting to IRC.
#set vhost4 "virtual.host.com"
#set vhost4 "99.99.0.0"

Si votre hébergement comporte plusieurs adresses __IPv4__, décommentez et réglez cette valeur sur l'IP que vous désirez utiliser.

IPv6

# If your host has multiple IPv6 addresses, uncomment and set this variable
# to the IP you wish to use for connecting to IRC.
#set vhost6 "my.ipv6.host.com"
#set vhost6 "2001:db8::c001:b07"

Si votre hébergement comporte plusieurs adresses __IPv6__, décommentez et réglez cette valeur sur l'IP que vous désirez utiliser.

Interface d'écoute

## IPv4/IPv6 address (or hostname) to bind for listening. If you don't set
## this variable, eggdrop will listen on all available IPv4 or IPv6 interfaces,
## depending on the 'prefer-ipv6' variable (see below).
## Note that eggdrop will accept IPv4 connections with IPv6 sockets too.
#set listen-addr "99.99.0.0"
#set listen-addr "2001:db8:618:5c0:263::"
#set listen-addr "virtual.host.com"

Adresse IP sur laquelle l'eggdrop va écouter. Si cette valeur n'est pas réglée, l'eggdrop écoutera sur toutes les interfaces disponible en IPv4 ou IPv6, en fonction du réglage de prefer-ipv6?

Firewall

IP publique

## If you have a NAT firewall, enter your outside IP here. This IP
## is used for transfers and CTCP replies only, and is different than the
## vhost4/6 and listen-addr settings. You likely still need to set them.
#set nat-ip "127.0.0.1"

Si vous avez un firewall qui fait de la translation d'adresse, indiquez ici l'IP publique de votre connexion. Cette adresse sera utilisée pour les transferts et les réponses aux CTCP, elle est différente des réglages d'IP précédents.

Ports réservés

## If you want all dcc file transfers to use a particular portrange either
## because you're behind a firewall, or for other security reasons, set it
## here.
#set reserved-portrange 2010:2020

Si vous désirez que les transferts DCC utilisent une plage de ports particuliers parce que vous êtes derrière un firewall ou pour d'autres raisons de sécurité, indiquez ici la plage de ports.

Préférence IP

## Prefer IPv6 over IPv4 for connections and dns resolution?
## If the preferred protocol family is not supported, the other one
## will be tried.
set prefer-ipv6 0

Si vous préférez utiliser l'IPv6 pour les connexions et les résolutions DNS, passez cette variable à 1. Si le protocole préféré ne fonctionne pas, l'autre sera essayé.

Langue

## If you want to have your Eggdrop messages displayed in a language other
## than English, change this setting to match your preference. An alternative
## would be to set the environment variable EGG_LANG to that value.
##
## Languages included with Eggdrop: Danish, English, French, Finnish, German.
#addlang "english"

Si vous voulez que votre eggdrop affiche des message dans une autre langue que l'anglais, modifiez ce réglage pour qu'il corresponde à votre préférence. addlang "french"

Fichiers

Fichiers de log

##### LOG FILES #####

## See eggdrop.conf for documentation on the logfile flags and settings.

La documentation complète sur les attributs et réglages du fichier de log sont dans eggdrop.conf

# This creates a logfile named eggdrop.log that captures items logged at the
# m, c, and o log levels (private msgs/ctcps, commands/errors, and misc 
# info) from any channel.
logfile mco * "logs/eggdrop.log"

Ceci crée un fichier logs/eggdrop.log qui enregistrera les messages privés, ctcp, commandes, erreurs et informations diverses de tous les canaux.

Astuce.png Afin de différencier les fichiers des différents eggdrop, je nomme le fichier logs/$username.log


# This creates a logfile named lamest.log that captures items logged at the
# j, p, and k log levels (joins/parts/quits/netsplits, public chat,
# kicks/bans/mode changes) on the channel #lamest.
#logfile jpk #lamest "logs/lamest.log"

## This should be 0 for disk space restricted shells, and 1 if you want to
## generate channel statistics with tools such as pisg.
## If it is 0, eggdrop will delete logfiles older than 2 days.
## If it is 1, eggdrop will keep logging into the specified logfiles forever.
## See eggdrop.conf for more detailed settings.
set log-forever 0

## Code to set settings based on the above setting, do not edit this.
if {${log-forever}} {
	set switch-logfiles-at 2500
	set keep-all-logs 0
}

## "Writing user file..." and "Writing channel file..." messages won't be logged
## anymore if this option is enabled. If you set it to 2, the "Backing up user
## file..." and "Backing up channel file..." messages will also not be logged.
## In addition to this, you can disable the "Switching logfiles..." and the new
## date message at midnight, by setting this to 3.
set quiet-save 0

##### FILES AND DIRECTORIES #####

# Specify here the filename your userfile should be saved as.
set userfile "LamestBot.user"

# Specify here where Eggdrop should look for help files. Don't modify this
# setting unless you know what you're doing!
set help-path "help/"

##### BOTNET/DCC/TELNET #####

## If you want to use a different nickname on the botnet than you use on
## IRC (i.e. if you're on an un-trusted botnet), un-comment the next line
## and set it to the nick you would like to use.
#set botnet-nick "LlamaBot"

## This opens a telnet port by which you and other bots can interact with the
## Eggdrop by telneting in.
##
## There are more options for the listen command in doc/tcl-commands.doc. Note
## that if you are running more than one bot on the same machine, you will want
## to space the telnet ports at LEAST 5 apart, although 10 is even better.
##
## Valid ports are typically anything between 1025 and 65535 assuming the
## port is not already in use.
##
## If you would like the bot to listen for users and bots in separate ports,
## use the following format:
##
##   listen 3333 bots
##   listen 4444 users
##
## If you wish to use only one port, use this format:
##
##   listen 3333 all
##
## You can setup a SSL port by prepending a plus sign to it:
##
##   listen +5555 all
##
## You need to un-comment this line and change the port number in order to open
## the listen port. You should not keep this set to 3333.
#listen 3333 all

##### SSL SETTINGS #####

## Settings in this section take effect when eggdrop is compiled with TLS
## support. If you didn't generate SSL keys already, you can type 
## 'make sslcert' in your eggdrop source directory.
##
## IMPORTANT: The following two settings MUST be uncommented in order to
## use SSL functionality!
#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. Must be in PEM format.
#set ssl-certificate "eggdrop.crt"

## Specify the location at which CA certificates for verification purposes
## are located. These certificates are trusted. If you don't set this,
## certificate verification will not work.
set ssl-capath "/etc/ssl/"

## Enable certificate authorization. Set to 1 to allow users and bots to
## identify automatically by their certificate fingerprints. Setting it
## to 2 to will force fingerprint logins. With a value of 2, users without
## a fingerprint set or with a certificate UID not matching their handle
## won't be allowed to login on SSL enabled telnet ports. Fingerprints
## must be set in advance with the .fprint and .chfinger commands.
## NOTE: this setting has no effect on plain-text ports.
#set ssl-cert-auth 0

## You can control SSL certificate verification using the following variables.
## All of them are flag-based. You can set them by adding together the numbers
## for all exceptions you want to enable. By default certificate verification
## is disabled and all certificates are assumed to be valid. The numbers are
## the following:
##
## Enable certificate verification - 1
## Allow self-signed certificates - 2
## Don't check peer common or alt names - 4
## Allow expired certificates - 8
## Allow certificates which are not valid yet - 16
## Allow revoked certificates - 32
## A value of 0 disables verification.

## Control certificate verification for IRC servers
#set ssl-verify-server 0

## Control certificate verification for DCC chats (only /dcc chat botnick)
#set ssl-verify-dcc 0

## Control certificate verification for linking to hubs
#set ssl-verify-bots 0

## Control cerfificate verification for SSL listening ports. This includes
## leaf bots connecting, users telneting in and /ctcp bot chat.
#set ssl-verify-clients 0


##### COMMON MODULES SETTINGS #####

## 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.

## This path specifies the path were Eggdrop should look for its modules.
## If you run the bot from the compilation directory, you will want to set
## this to "". If you use 'make install' (like all good kiddies do ;), this
## is a fine default. Otherwise, use your head :)
set mod-path "modules/"

#### DNS MODULE ####

## In case your bot has trouble finding dns servers or you want to use
## specific ones, you can set them here. The value is a list of dns servers.
## The order doesn't matter. You can also specify a non-standard port.
## The default is to use the system specified dns servers. 
#set dns-servers "8.8.8.8 8.8.4.4"

#### CHANNELS MODULE ####

## Enter here the filename where dynamic channel settings are stored.
set chanfile "LamestBot.chan"

#### SERVER MODULE ####

## What is your network?
##   0 = EFnet
##   1 = IRCnet
##   2 = Undernet
##   3 = DALnet
##   4 = +e/+I/max-modes 20 Hybrid
##   5 = Others. See eggdrop.conf for settings related to this.
set net-type 0

## This is a Tcl script to be run immediately after connecting to a server.
bind evnt - init-server evnt:init_server

proc evnt:init_server {type} {
  global botnick
  putquick "MODE $botnick +i-ws"
}

## Set the default port which should be used if none is specified with
## '.jump' or in 'set servers'.
set default-port 6667

## This setting allows you to specify the maximum nick-length supported by your
## network. The default setting is 9. The maximum supported length by Eggdrop
## is 32.
#set nick-len 9

#### CTCP MODULE ####

## Set here how the ctcp module should answer ctcps. There are 3 possible
## operating modes:
##   0: Normal behavior is used.
##   1: The bot ignores all ctcps, except for CHAT and PING requests
##      by users with the +o flag.
##   2: Normal behavior is used, however the bot will not answer more
##      than X ctcps in Y seconds (defined by 'set flood-ctcp').
set ctcp-mode 0

#### IRC MODULE ####

## Many takeover attempts occur due to lame users blindly /msg ident'ing to
## the bot and attempting to guess passwords. We now unbind this command by
## default to discourage them. You can enable these commands by commenting the
## following two lines.
unbind msg - ident *msg:ident
unbind msg - addhost *msg:addhost

#### NOTES MODULE ####

## Set here the filename where private notes between users are stored.
set notefile "LamestBot.notes"

##### SCRIPTS #####

## This is a good place to load scripts to use with your bot.

## This line loads script.tcl from the scripts directory inside your Eggdrop's
## directory. All scripts should be put there, although you can place them where
## you like as long as you can supply a fully qualified path to them.
##
## source scripts/script.tcl
## The 3 scripts below are default and shouldn't be removed.

source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/dccwhois.tcl

## This script provides many useful informational functions, like setting
## users' URLs, e-mail address, ICQ numbers, etc. You can modify it to add
## extra entries.
source scripts/userinfo.tcl
loadhelp userinfo.help

## Use this script for Tcl and Eggdrop backwards compatibility.
## NOTE: This can also cause problems with some newer scripts.
#source scripts/compat.tcl

## This next line checks if eggdrop is being executed from the source directory, do not remove it
if {[file exists aclocal.m4]} { die {You are attempting to run Eggdrop from the source directory. Please finish installing Eggdrop by running "make install" and run it from the install location.} }

## 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. In an effort to work-around these, we have developed a couple of
## TCL scripts to automate the process.

if {[info exists net-type]} {
  switch -- ${net-type} {
    "0" {
      # EFnet
      source scripts/quotepong.tcl
    }
    "2" {
      # Undernet
      source scripts/quotepass.tcl
    }
  }
}