mirror of
https://github.com/pissnet/pissircd.git
synced 2024-06-05 07:48:44 +01:00
460 lines
14 KiB
Text
460 lines
14 KiB
Text
/* 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";
|
|
|
|
/* 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' avec le mot de
|
|
* passe 'test'.
|
|
* Vous DEVEZ le modifier !!
|
|
*/
|
|
oper bobsmith {
|
|
class opers;
|
|
mask *@*;
|
|
password "test";
|
|
/* 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 "ircd.log" {
|
|
flags {
|
|
oper;
|
|
connects;
|
|
server-connects;
|
|
kills;
|
|
errors;
|
|
sadmin-commands;
|
|
chg-commands;
|
|
oper-override;
|
|
tkl;
|
|
spamfilter;
|
|
}
|
|
}
|
|
|
|
/* 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 vous protège des KLINE et ZLINE */
|
|
except ban {
|
|
mask *@192.0.2.1;
|
|
// vous pouvez ajouter d'autres lignes mask à la suite
|
|
}
|
|
|
|
/* except ban avec le type 'all' vous protège des GLINE, GZLINE, QLINE, SHUN */
|
|
except ban {
|
|
mask *@192.0.2.1;
|
|
type all;
|
|
}
|
|
|
|
/* 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";
|
|
}
|
|
|
|
/* 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 './unreal gencloak' sur votre
|
|
* serveur pour que Unreal génère 3 clés aléatoires pour vous.
|
|
*/
|
|
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 */
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Un problème ou besoin d'aide supplémentaire ?
|
|
* 1) https://www.unrealircd.org/docs/UnrealIRCd_4_documentation/fr
|
|
* 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 !
|
|
*/
|