mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-26 17:36:38 +02:00
a09320886b
In addition to regular logging, also add a JSON log file. This includes lots of information about every event so is great for auditing purposes and is machine readable. It is, however less readable for humans.
662 lines
22 KiB
Plaintext
662 lines
22 KiB
Plaintext
/* Fichier de configuration pour UnrealIRCd 6
|
|
*
|
|
* Copiez ce fichier dans le répertoire conf/, renommez le
|
|
* 'unrealircd.conf' et parcourez-le ligne par ligne (modifiez le !)
|
|
*
|
|
* Important : Toutes les lignes, sauf celles ne comportant qu'un {
|
|
* ouvrant, doivent finir par un ; y compris };. C'est très important,
|
|
* car si vous oubliez un ; quelque part, alors le parser du fichier de
|
|
* configuration se plaindra et votre fichier ne sera pas lu correctement !
|
|
* S'il s'agit de votre première expérience avec le fichier de configuration
|
|
* d'UnrealIRCd, nous vous recommandons de vous documenter un peu à propos
|
|
* de la syntaxe. Ça ne vous prendra que quelques minutes et vous aidera
|
|
* beaucoup :
|
|
* https://www.unrealircd.org/docs/Configuration#Configuration_file_syntax
|
|
*
|
|
* Documentation pour UnrealIRCd 6 (très complète !) :
|
|
* https://www.unrealircd.org/docs/UnrealIRCd_6_documentation/fr
|
|
*
|
|
* Foire Aux Questions :
|
|
* https://www.unrealircd.org/docs/FAQ
|
|
*
|
|
*/
|
|
|
|
/* Ceci est un commentaire, ici, tout le texte est ignoré (type #1) */
|
|
// Ceci est aussi un commentaire, cette ligne est ignorée (type #2)
|
|
# Ceci est aussi un commentaire, cette ligne est ignorée (type #3)
|
|
|
|
/* UnrealIRCd utilise beaucoup les modules. Ceux-ci vous permettent
|
|
* de personnaliser complètement les fonctionnalités que vous voulez
|
|
* activer sur UnrealIRCd.
|
|
* Voir : https://www.unrealircd.org/docs/Modules
|
|
*
|
|
* En utilisant la ligne include ci-dessous, nous indiquons à l'IRCd de
|
|
* lire le fichier 'modules.default.conf' ce qui activera plus de 150
|
|
* modules fournis avec UnrealIRCd. En d'autres termes, ceci activera
|
|
* toutes les fonctionnalités disponibles d'UnrealIRCd.
|
|
* Si vous configurez UnrealIRCd pour la première fois, nous vous
|
|
* conseillons d'utiliser cette ligne. Après, lorsque tout fonctionnera
|
|
* vous pourrez revenir personnaliser la liste (si vous le souhaitez).
|
|
*/
|
|
include "modules.default.conf";
|
|
|
|
/* Incluons aussi d'autres fichiers :
|
|
* - help/help.conf pour le système d'aide sur IRC via /HELPOP
|
|
* - badwords.conf pour le mode utilisateur et de salon +G
|
|
* - spamfilter.conf comme exemple d'utilisation de spamfilter
|
|
* - operclass.default.conf qui contient les classes d'opérateurs
|
|
* par défaut à utiliser dans vos blocs oper.
|
|
*/
|
|
include "help/help.conf";
|
|
include "badwords.conf";
|
|
//include "spamfilter.conf";
|
|
include "operclass.default.conf";
|
|
include "snomasks.default.conf";
|
|
|
|
/* Load the default cloaking module (2021 onwards): */
|
|
loadmodule "cloak_sha256";
|
|
/* Or load the old module from UnrealIRCd 3.2/4/5 instead: */
|
|
//loadmodule "cloak_md5";
|
|
|
|
/* Le bloc me { } indique qui est le serveur.
|
|
* Il définit le nom du serveur, une ligne d'informations et un identifiant
|
|
* "sid" unique. L'id du serveur (sid) doit commencer par un chiffre suivit
|
|
* de deux chiffres ou lettres. Le sid doit être unique sur votre réseau IRC
|
|
* (chaque serveur doit avoir un sid différent).
|
|
*/
|
|
me {
|
|
name "irc.example.org";
|
|
info "Serveur ExampleNET";
|
|
sid "001";
|
|
}
|
|
|
|
/* Le bloc admin { } définit ce que les utilisateurs verront en faisant
|
|
* /ADMIN. C'est généralement des infos de contact de l'administrateur.
|
|
*/
|
|
admin {
|
|
"Bob Smith";
|
|
"bob";
|
|
"adresse.email@example.org";
|
|
}
|
|
|
|
/* Les clients et serveurs sont placés dans des classes, que nous
|
|
* définissons dans ces blocs class { }.
|
|
* Les blocs de classe comportent les éléments suivants :
|
|
* - pingfreq: à quelle fréquence envoyer un ping à l'utilisateur ou au
|
|
* serveur (en secondes)
|
|
* - connfreq: à quelle fréquence on essaye de se connecter à ce serveur
|
|
* (en secondes)
|
|
* - sendq: la taille maximale de la queue d'émission pour une connexion
|
|
* - recvq: la taille maximale de la queue de réception pour une connexion
|
|
* (contrôle du flood)
|
|
*/
|
|
|
|
/* Classe pour des clients */
|
|
class clients
|
|
{
|
|
pingfreq 90;
|
|
maxclients 1000;
|
|
sendq 200k;
|
|
recvq 8000;
|
|
}
|
|
|
|
/* Classe spéciale pour des IRCOps avec des limites plus hautes */
|
|
class opers
|
|
{
|
|
pingfreq 90;
|
|
maxclients 50;
|
|
sendq 1M;
|
|
recvq 8000;
|
|
}
|
|
|
|
/* Classe pour des serveurs */
|
|
class servers
|
|
{
|
|
pingfreq 60;
|
|
connfreq 15; /* essayer de se connecter toutes les 15 sec */
|
|
maxclients 10; /* nombre max de serveurs */
|
|
sendq 5M;
|
|
}
|
|
|
|
/* Les blocs allow définissent quels clients peuvent se connecter au
|
|
* serveur. Ils vous permettent d'ajouter un mot de passe ou de restreindre
|
|
* le serveur à certaines IP seulement. C'est aussi là que vous configurez
|
|
* le nombre maximum de connexions par IP.
|
|
* Voir : https://www.unrealircd.org/docs/Allow_block
|
|
*/
|
|
|
|
/* Accepter tout le monde, mais seulement 5 connexions par IP */
|
|
allow {
|
|
mask *;
|
|
class clients;
|
|
maxperip 5;
|
|
}
|
|
|
|
/* Exemple de bloc allow spécial pour une IP donnée :
|
|
* Les utilisateurs sur cette IP doivent se connecter avec un mot de passe.
|
|
* S'il est correct, alors autoriser 20 connexions sur cette IP.
|
|
*/
|
|
allow {
|
|
mask 192.0.2.1;
|
|
class clients;
|
|
password "unmotdepassesecret";
|
|
maxperip 20;
|
|
}
|
|
|
|
/* Les blocs oper définissent vos Opérateurs IRC.
|
|
* Les Opérateurs IRC sont des utilisateurs avec des "droits en plus"
|
|
* par rapport aux autres, par exemple, ils peuvent /KILL (déconnecter)
|
|
* d'autres utilisateurs, faire se connecter des serveurs entre eux,
|
|
* /JOIN des salons même s'ils sont bannis, etc ...
|
|
* Voir aussi : https://www.unrealircd.org/docs/Oper_block
|
|
*/
|
|
|
|
/* Voici un exemple de bloc oper pour 'bobsmith'.
|
|
* Vous DEVEZ le modifier !!
|
|
*/
|
|
oper bobsmith {
|
|
class opers;
|
|
mask *@*;
|
|
|
|
/* Technically you can put oper passwords in plaintext in the conf but
|
|
* this is HIGHLY DISCOURAGED. Instead you should generate a password hash:
|
|
* On *NIX, run: ./unrealircd mkpasswd
|
|
* On Windows, run: "C:\Program Files\UnrealIRCd 6\bin\unrealircdctl" mkpasswd
|
|
* .. and then paste the result below:
|
|
*/
|
|
password "$argon2id..etc..";
|
|
/* See https://www.unrealircd.org/docs/Authentication_types for
|
|
* more information, including even better authentication types
|
|
* such as 'certfp', and how to generate hashes on Windows.
|
|
*/
|
|
|
|
/* Les permissions Oper sont définies dans un bloc 'operclass'.
|
|
* Voir https://www.unrealircd.org/docs/Operclass_block
|
|
* UnrealIRCd est fourni avec des classes par défaut, voir la doc
|
|
* pour une liste complète. Nous avons choisi 'netadmin' ici.
|
|
*/
|
|
operclass netadmin;
|
|
swhois "est un Administrateur du Réseau";
|
|
vhost netadmin.example.org;
|
|
}
|
|
|
|
/* Les blocs listen définissent les ports sur lesquels le serveur écoute.
|
|
* C'est-à-dire les ports que les clients et les serveurs utilisent pour
|
|
* se connecter à ce serveur.
|
|
*
|
|
* Syntaxe :
|
|
* listen {
|
|
* ip <adresse ip>;
|
|
* port <numéro de port>;
|
|
* options {
|
|
* <options....>;
|
|
* }
|
|
* }
|
|
*/
|
|
|
|
/* Port standard pour IRC 6667 */
|
|
listen {
|
|
ip *;
|
|
port 6667;
|
|
}
|
|
|
|
/* Port standard pour IRC sur SSL/TLS 6697 */
|
|
listen {
|
|
ip *;
|
|
port 6697;
|
|
options { tls; }
|
|
}
|
|
|
|
/* Port SSL/TLS spécial pour la connexion entre serveurs */
|
|
listen {
|
|
ip *;
|
|
port 6900;
|
|
options { tls; serversonly; }
|
|
}
|
|
|
|
/* NOTE : Si vous utilisez un serveur IRC avec plusieurs IP et que vous
|
|
* utilisez les blocs listen ci-dessus, vous aurez peut-être une
|
|
* erreur 'Address already in use' et l'IRCd ne démarrera pas.
|
|
* Celle-ci indique que vous devez préciser une IP spécifique
|
|
* au lieu de '*'. Exemple :
|
|
* listen 1.2.3.4:6667;
|
|
* Bien sûr, remplacez 1.2.3.4 par l'IP qui vous est assignée.
|
|
*/
|
|
|
|
/*
|
|
* Les blocs link vous permettent de connecter plusieurs serveurs ensemble
|
|
* pour former un réseau IRC.
|
|
* Voir https://www.unrealircd.org/docs/Tutorial:_Linking_servers
|
|
*/
|
|
link hub.example.org
|
|
{
|
|
incoming {
|
|
mask *@something;
|
|
}
|
|
|
|
outgoing {
|
|
bind-ip *; /* ou une IP précise */
|
|
hostname hub.example.org;
|
|
port 6900;
|
|
options { tls; }
|
|
}
|
|
|
|
password "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"; /* Empreinte SSL de l'autre serveur */
|
|
|
|
class servers;
|
|
}
|
|
|
|
/* Les U-lines donnent encore plus de pouvoir à certains serveurs.
|
|
* Si vous utilisez des Services, vous devez les indiquer ici.
|
|
* NE JAMAIS indiquer le nom d'un serveur UnrealIRCd normal ici !!!
|
|
* (Si vous ne savez pas ce que sont les Services, voir :
|
|
* https://www.unrealircd.org/docs/Services )
|
|
*/
|
|
ulines {
|
|
services.example.org;
|
|
}
|
|
|
|
/* Ici vous pouvez indiquer un mot de passe pour les commandes /DIE et
|
|
* /RESTART, qui sont restreintes aux IRCops.
|
|
* Il s'agit surtout d'une petite protection contre les redémarrages et
|
|
* les coupures de serveur accidentels.
|
|
*/
|
|
drpass {
|
|
restart "restart";
|
|
die "die";
|
|
}
|
|
|
|
/* Le bloc log indique ce qui doit être journalisé et dans quel fichier.
|
|
* Voir aussi https://www.unrealircd.org/docs/Log_block
|
|
*/
|
|
|
|
/* Ceci est une bonne valeur par défaut, elle journalise presque tout */
|
|
log {
|
|
source {
|
|
all;
|
|
!debug;
|
|
!join.LOCAL_CLIENT_JOIN;
|
|
!join.REMOTE_CLIENT_JOIN;
|
|
!part.LOCAL_CLIENT_PART;
|
|
!part.REMOTE_CLIENT_PART;
|
|
!kick.LOCAL_CLIENT_KICK;
|
|
!kick.REMOTE_CLIENT_KICK;
|
|
}
|
|
destination {
|
|
file "ircd.log" { maxsize 100M; }
|
|
}
|
|
}
|
|
|
|
/* In addition to regular logging, also add a JSON log file.
|
|
* This includes lots of information about every event so is great
|
|
* for auditing purposes and is machine readable. It is, however
|
|
* less readable for humans.
|
|
*/
|
|
log {
|
|
source {
|
|
all;
|
|
!debug;
|
|
!join.LOCAL_CLIENT_JOIN;
|
|
!join.REMOTE_CLIENT_JOIN;
|
|
!part.LOCAL_CLIENT_PART;
|
|
!part.REMOTE_CLIENT_PART;
|
|
!kick.LOCAL_CLIENT_KICK;
|
|
!kick.REMOTE_CLIENT_KICK;
|
|
}
|
|
destination {
|
|
file "ircd.json.log" { maxsize 250M; type json; }
|
|
}
|
|
}
|
|
|
|
/* Avec des "alias", vous pouvez créer un alias comme /UNTRUC pour envoyer
|
|
* un message à un utilisateur ou à un bot. Ils sont souvent utilisés pour
|
|
* les services.
|
|
*
|
|
* Nous fournissons un certain nombre d'alias par défaut, voir les fichiers
|
|
* du répertoire aliases/.
|
|
* Pour exemple, ici nous ajoutons les alias pour les Services Anope.
|
|
*/
|
|
include "aliases/anope.conf";
|
|
|
|
/* Bannir des nicks pour qu'ils ne soient pas utilisables par des
|
|
* utilisateurs normaux
|
|
*/
|
|
ban nick {
|
|
mask "*C*h*a*n*S*e*r*v*";
|
|
reason "Réservé aux Services";
|
|
}
|
|
|
|
/* Bannir une IP.
|
|
* NB : vous pouvez aussi utiliser /KLINE, /GLINE et /ZLINE pour ça.
|
|
*/
|
|
ban ip {
|
|
mask 195.86.232.81;
|
|
reason "Je vous hais !";
|
|
}
|
|
|
|
/* Bannir un serveur - si ce serveur est connecté au réseau, nous nous
|
|
* déconnecterons
|
|
*/
|
|
ban server {
|
|
mask eris.berkeley.edu;
|
|
reason "Va-t-en d'ici.";
|
|
}
|
|
|
|
/* Bannir un utilisateur - juste pour l'exemple, on utilise normalement
|
|
* /KLINE or /GLINE pour ça
|
|
*/
|
|
ban user {
|
|
mask *tirc@*.saturn.bbn.com;
|
|
reason "Idiot";
|
|
}
|
|
|
|
/* Bannir un realname (ou 'gecos') */
|
|
ban realname {
|
|
mask "Swat Team";
|
|
reason "mIRKFORCE";
|
|
}
|
|
|
|
ban realname {
|
|
mask "sub7server";
|
|
reason "sub7";
|
|
}
|
|
|
|
/* Exceptions de ban et TKL. Vous permet d'exempter des utilisateurs des
|
|
* KLINE, GLINE, etc ...
|
|
* Si vous êtes un IRCOp avec une IP statique (et qu'il n'y a que des
|
|
* personnes de confiance sur cette IP), alors vous pouvez vous ajouter ici.
|
|
* Ainsi, vous pourrez toujours vous connecter même si vous vous bannissez
|
|
* accidentellement.
|
|
*/
|
|
|
|
/* except ban avec le type 'all' vous protège des GLINE, GZLINE, QLINE, SHUN */
|
|
except ban {
|
|
mask *@192.0.2.1;
|
|
type all;
|
|
}
|
|
|
|
/* This allows IRCCloud connections in without maxperip restrictions
|
|
* and also exempt them from connect-flood throttling.
|
|
*/
|
|
except ban {
|
|
mask *.irccloud.com;
|
|
type { maxperip; connect-flood; }
|
|
}
|
|
|
|
/* Avec un bloc deny dcc vous pouvez interdire des noms de fichiers dans
|
|
* les échanges DCC
|
|
*/
|
|
deny dcc {
|
|
filename "*sub7*";
|
|
reason "Possible virus Sub7";
|
|
}
|
|
|
|
/* deny channel vous permet d'interdire des masques de noms de salons */
|
|
deny channel {
|
|
channel "*warez*";
|
|
reason "Le warez est illegal";
|
|
class "clients";
|
|
}
|
|
|
|
/* Les VHosts (Virtual Hosts - Hôtes Virtuels) permettent aux utilisateurs
|
|
* d'avoir un nom d'hôte différent.
|
|
* Voir https://www.unrealircd.org/docs/Vhost_block
|
|
*/
|
|
|
|
/* Vhost d'exemple. Sur IRC, entrez /VHOST test test
|
|
* NOTE : seuls les utilisateurs avec un nom d'hôte 'unrealircd.com'
|
|
* peuvent l'utiliser, donc modifiez vhost::mask avant de tester.
|
|
*/
|
|
vhost {
|
|
vhost i.hate.microsefrs.com;
|
|
mask *@unrealircd.com;
|
|
login "test";
|
|
password "test";
|
|
}
|
|
|
|
/* Les blocs de liste noire interrogeront un service de liste noire DNS externe
|
|
* chaque fois qu'un utilisateur se connecte, pour voir si l'adresse IP est connue
|
|
* pour provoquer des attaques de drones, est une machine piratée connue, etc..
|
|
* Documentation: https://www.unrealircd.org/docs/Blacklist_block
|
|
* Ou regardez simplement les blocs ci-dessous.
|
|
*/
|
|
|
|
/* DroneBL, probablement la liste noire la plus populaire utilisée par les serveurs IRC.
|
|
* Voir https://dronebl.org/ pour leur documentation et les
|
|
* significations des types de réponse. AAu moment de la rédaction, nous utilisons des types:
|
|
* 3: IRC Drone, 5: Bottler, 6: Unknown spambot or drone,
|
|
* 7: DDoS Drone, 8: SOCKS Proxy, 9: HTTP Proxy, 10: ProxyChain,
|
|
* 11: Web Page Proxy, 12: Open DNS Resolver, 13: Brute force attackers,
|
|
* 14: Open Wingate Proxy, 15: Compromised router / gateway,
|
|
* 16: Autorooting worms.
|
|
*/
|
|
blacklist dronebl {
|
|
dns {
|
|
name dnsbl.dronebl.org;
|
|
type record;
|
|
reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; }
|
|
}
|
|
action gline;
|
|
ban-time 24h;
|
|
reason "Proxy/Drone detected. Check https://dronebl.org/lookup?ip=$ip for details.";
|
|
}
|
|
|
|
/* EFnetRBL, voir https://rbl.efnetrbl.org/ pour la documentation
|
|
* et la signification des types de réponse.
|
|
* Au moment de la rédaction: 1 is open proxy, 4 is TOR, 5 is drones/flooding.
|
|
*
|
|
* REMARQUE: Si vous souhaitez autoriser les proxys TOR sur votre serveur, alors
|
|
* vous devez supprimer le '4;' ci-dessous dans la section de réponse.
|
|
*/
|
|
blacklist efnetrbl {
|
|
dns {
|
|
name rbl.efnetrbl.org;
|
|
type record;
|
|
reply { 1; 4; 5; }
|
|
}
|
|
action gline;
|
|
ban-time 24h;
|
|
reason "Proxy/Drone/TOR detected. Check https://rbl.efnetrbl.org/?i=$ip for details.";
|
|
}
|
|
|
|
/* Vous pouvez inclure d'autres fichiers de configuration */
|
|
/* include "klines.conf"; */
|
|
|
|
/* Configuration du réseau */
|
|
set {
|
|
network-name "ExampleNET";
|
|
default-server "irc.example.org";
|
|
services-server "services.example.org";
|
|
stats-server "stats.example.org";
|
|
help-channel "#Help";
|
|
cloak-prefix "Clk";
|
|
prefix-quit "Quit";
|
|
|
|
/* Les clés de cloaking doivent être identiques sur tous les serveurs
|
|
* d'un réseau. Elles sont utilisées pour générer les noms d'hôtes
|
|
* masqués et doivent être gardées secrètes. Les clés doivent être
|
|
* 3 chaînes de 80 caractères aléatoires et ne comporter que des
|
|
* minuscules (a-z), des majuscules (A-Z) et des chiffres (0-9).
|
|
* (voir l'exemple)
|
|
* NB : sur *NIX, vous pouvez exécuter './unrealircd gencloak' sur votre
|
|
* serveur pour que Unrealircd génère 3 clés aléatoires pour vous.
|
|
* On Windows, use "C:\Program Files\UnrealIRCd 6\bin\unrealircdctl" gencloak
|
|
*/
|
|
cloak-keys {
|
|
"Oozahho1raezoh0iMee4ohvegaifahv5xaepeitaich9tahdiquaid0geecipahdauVaij3zieph4ahi";
|
|
"et une autre";
|
|
"et une troisième";
|
|
}
|
|
}
|
|
|
|
/* Configuration spécifique au serveur */
|
|
|
|
set {
|
|
kline-address 'indiquez.une.adresse.email'; /* e-mail ou URL indiquée lorsqu'un utilisateur est banni */
|
|
modes-on-connect "+ixw"; /* modes utilisateur ajoutés lorsqu'un utilisateur se connecte */
|
|
modes-on-oper "+xws"; /* modes utilisateur ajoutés lorsqu'un utilisateur devient IRCOp */
|
|
oper-auto-join "#opers"; /* salon que les IRCOps joignent automatiquement */
|
|
options {
|
|
hide-ulines; /* cacher les U-lines de /MAP et /LINKS */
|
|
show-connect-info; /* afficher les messages "looking up your hostname" à la connexion */
|
|
}
|
|
|
|
maxchannelsperuser 10; /* nombre max de salons par utilisateur */
|
|
|
|
/* Temps minimum qu'un utilisateur doit rester connecter avant de pouvoir
|
|
* utiliser un message de QUIT. Le but est pour réduire le spam.
|
|
*/
|
|
anti-spam-quit-message-time 10s;
|
|
|
|
/* Ou indiquez un message de QUIT constant, ce qui fait que les raisons
|
|
* de /QUIT sont ignorées.
|
|
*/
|
|
/* static-quit "Le client a quitté"; */
|
|
|
|
/* static-part fait la même chose pour /PART */
|
|
/* static-part yes; */
|
|
|
|
/* Protections anti-flood.
|
|
* Voir: https://www.unrealircd.org/docs/Set_block#set::anti-flood
|
|
*/
|
|
anti-flood {
|
|
}
|
|
|
|
/* Paramètres de Spamfilter */
|
|
spamfilter {
|
|
ban-time 1d; /* durée par défaut des bans *LINE ajoutés par spamfilter */
|
|
ban-reason "Spam/Publicité"; /* raison par defaut */
|
|
virus-help-channel "#help"; /* salon par défaut pour l'action 'viruschan' */
|
|
/* except "#help"; salon à exempter de Spamfilter */
|
|
}
|
|
|
|
/* Restreindre certaines commandes.
|
|
* Voir https://www.unrealircd.org/docs/Set_block#set::restrict-commands
|
|
*/
|
|
restrict-commands {
|
|
list {
|
|
except {
|
|
connect-time 60; /* après 60 secondes, vous pouvez utiliser LIST */
|
|
identified yes; /* ou immédiatement, si vous êtes identifié aux services */
|
|
reputation-score 24; /* ou si vous avez un score de réputation de 24 ou plus */
|
|
}
|
|
}
|
|
invite {
|
|
except {
|
|
connect-time 120;
|
|
identified yes;
|
|
reputation-score 24;
|
|
}
|
|
}
|
|
/* En plus de la possibilité de restreindre toute commande,
|
|
* tel qu'illustré ci-dessus. Il existe également 4 types spéciaux
|
|
* que vous pouvez restreindre. Ceux-ci sont "private-message",
|
|
* "private-notice", "channel-message" and "channel-notice".
|
|
* Ils sont commentés (désactivés) dans cet exemple :
|
|
*/
|
|
//private-message {
|
|
// except { connect-time 10; }
|
|
//}
|
|
//private-notice {
|
|
// except { connect-time 10; }
|
|
//}
|
|
}
|
|
|
|
}
|
|
|
|
/*
|
|
* Ce qui suit configurera la limitation de connexion de "unknown users".
|
|
*
|
|
* Quand UnrealIRCd détecte un nombre élevé d'utilisateurs se connectant à partir d'adresses IP
|
|
* qui n'ont pas été vus auparavant, les connexions des nouvelles IP sont rejetées
|
|
* au-dessus du taux fixé. Par exemple à 10:60 seuls 10 utilisateurs par minute peuvent se connecter
|
|
* qui n'ont pas été vus auparavant. Les adresses IP connues peuvent toujours entrer,
|
|
* quel que soit le tarif fixé. Idem pour les utilisateurs qui se connectent avec SASL.
|
|
*
|
|
* Voir également https://www.unrealircd.org/docs/Connthrottle pour les détails.
|
|
* Ou continuez simplement à lire les paramètres de configuration par défaut ci-dessous:
|
|
*/
|
|
|
|
set {
|
|
connthrottle {
|
|
/* Nous configurons d'abord quels utilisateurs sont exemptés de la
|
|
* restrictions. Ces utilisateurs sont toujours autorisés!
|
|
* Par défaut, ce sont des utilisateurs sur des adresses IP qui ont
|
|
* un score de 24 ou plus. Un score de 24 signifie que l'IP
|
|
* était connecté à ce réseauk pendant au moins 2 heures
|
|
* au cours du mois passé (ou minimum 1h si inscrit).
|
|
* Nous permettons également aux utilisateurs qui sont identifiés aux services via
|
|
* SASL contourner les restrictions.
|
|
*/
|
|
except {
|
|
reputation-score 24;
|
|
identified yes;
|
|
/* pour plus d'options, voir restrictions
|
|
* https://www.unrealircd.org/docs/Mask_item
|
|
*/
|
|
}
|
|
|
|
/* Les nouveaux utilisateurs sont tous les utilisateurs qui n'appartiennent pas au
|
|
* groupe d'utilisateurs connus. Ils sont considérés comme "nouveaux" et dans
|
|
* le cas d'un nombre élevé de ces nouveaux utilisateurs se connectant
|
|
* ils sont soumis à une limitation du débit de connexion.
|
|
* Par défaut, le taux est de 20 nouveaux utilisateurs locaux par minute
|
|
* et 30 nouveaux utilisateurs global par minute.
|
|
*/
|
|
new-users {
|
|
local-throttle 20:60;
|
|
global-throttle 30:60;
|
|
}
|
|
|
|
/* Ceci configure quand ce module ne sera PAS actif.
|
|
* Les paramètres par défaut désactiveront le module lors que:
|
|
* - Le module de réputation fonctionne depuis moins d'une
|
|
* semaine. Si vous courez moins d'une semaine, il y a
|
|
* données insuffisantes pour déterminer qui est un "utilisateur connu".
|
|
* - Le serveur vient d'être démarré (3 premières minutes).
|
|
*/
|
|
disabled-when {
|
|
reputation-gathering 1w;
|
|
start-delay 3m;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* HISTORIQUE DES CANAUX:
|
|
* UnrealIRCd a le mode canal +H qui peut être utilisé par les utilisateurs pour relire
|
|
* historique de la chaîne, comme avant leur adhésion. Pour des informations générales
|
|
* sur cette fonctionnalité, voir https://www.unrealircd.org/docs/Channel_history
|
|
*
|
|
* Les limites de l'historique peuvent être configurées via set::history.
|
|
* Les valeurs par défaut sont probablement déjà bien pour toi, mais si vous êtes sur un
|
|
* système à faible mémoire ou ayant des milliers de canaux, vous voudrez peut-être re vérifier.
|
|
* Voir https://www.unrealircd.org/docs/Set_block#set::history pour les options.
|
|
*
|
|
* En plus de cela, vous pouvez avoir "persistent channel history", qui
|
|
* signifie que l'historique des chaînes est stocké crypté sur le disque
|
|
* afin qu'il soit préservé entre les redémarrages du serveur IRC, voir
|
|
* https://www.unrealircd.org/docs/Set_block#Persistent_channel_history
|
|
* La fonction d'historique persistant n'est PAS activée par défaut car vous
|
|
* devez de configurer un bloque de secret { }. Ce qui suit est un simple
|
|
* exemple avec des mots de passe stockés directement dans le fichier de configuration.
|
|
* Pour une meilleure sécurité, voir https://www.unrealircd.org/docs/Secret_block
|
|
* sur des moyens alternatifs pour ne pas stocker les mots de passe directement dans la configuration.
|
|
*/
|
|
//secret historydb { password "somepassword"; }
|
|
//set { history { channel { persist yes; db-secret "historydb"; } } }
|
|
|
|
/* Enfin, vous souhaiterez peut-être avoir un MOTD (Le message du jour), cela peut être
|
|
* fait en créant un archive de text 'ircd.motd' dans votre répertoire conf/.
|
|
* Ce fichier sera montré à vos utilisateurs lors de la connexion.
|
|
* Pour plus d'informations, voir https://www.unrealircd.org/docs/MOTD_and_Rules
|
|
*/
|
|
|
|
/*
|
|
* Un problème ou besoin d'aide supplémentaire ?
|
|
* 1) https://www.unrealircd.org/docs/
|
|
* 2) https://www.unrealircd.org/docs/FAQ <- répond à 80% des questions !
|
|
* 3) Si vous avez toujours des problèmes, vous pouvez aller sur
|
|
* irc.unrealircd.org #unreal-support,
|
|
* mais nous exigeons que vous lisiez LA DOCUMENTATION et la FAQ d'abord !
|
|
*/
|