/* Fichier de configuration pour UnrealIRCd 5 * * 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 5 (très complète !) : * https://www.unrealircd.org/docs/UnrealIRCd_5_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"; /* 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 ; * port ; * 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"; hiddenhost-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 5 à 100 caractères aléatoires (entre 10 et 20 suffisent) * 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 { "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; "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 ! */