/* * example.conf door Daniel Hawton AKA Osiris (osiris@unrealircd.org). * $Id$ * Vertaald door Mark * * Werkt voor Unreal3.2 en hoger * * Dit is de nieuwe example.conf. Het lijkt veel op C++. * Het begin is wellicht moeilijk, maar met wat ervaring en lezen * zul je het wel begrijpen. * * Kopieer dit bestand naar je hoofd UnrealIRCd dir en noem het 'unrealircd.conf'. * * OPMERKING: Alle regels, behalve de openings { regel, eindingen met een ;, dus * ook de sluitende } regel. Commentaar regels worden door de IRCd niet verwerkt. * * LEES doc/unreal32docs.html! De online versie is tevens te bereiken op: * www.vulnscan.org/UnrealIRCd/unreal32docs.html * Er staat heel veel informatie in over het configbestand: informatie over * elk block, variabele, etc.. * Wanneer je dit bestand aanpast zonder de documentatie grondig te lezen, * zul je gegarandeerd falen! */ /* Type van commentaar */ #Commentaar type 1 (Shell type) // Commentaar type 2(C++ style) /* Commentaar type 3 (C Style) */ #Deze regels worden niet verwerkt door de IRCd. /* * UnrealIRCd ondersteunt modules, het laden van sommige is benodigd. * Je hebt tenminste een commands module en een cloacking module nodig. */ /* VOOR *NIX, haal de commentaartekens weg bij de volgende 2 regels: */ //loadmodule "src/modules/commands.so"; //loadmodule "src/modules/cloak.so"; /* VOOR Windows, haal de commentaartekens weg bij de volgende 2 regels: */ //loadmodule "modules/commands.dll"; //loadmodule "modules/cloak.dll"; /* * Je kan tevens andere configuratiebestanden toevoegen. * help.conf bevat alle /helpop tekst. De badwords.*.conf * bestanden bevatten alle badword instellingen voor mode +G.. * spamfilter.conf bevat enkele goede regels voor huidige trojans. * Je wilt deze waarschijnlijk laden: */ include "help.conf"; include "badwords.channel.conf"; include "badwords.message.conf"; include "badwords.quit.conf"; include "spamfilter.conf"; /* * NIEUW: me {} * OUD: M:Line * me {} definieert de naam, beschrijving en unreal numeriek voor deze server. * De syntax is als volgt: * me { * name "server.naam"; * info "Server Beschrijving"; * numeric (server numeric*); * }; * Waneer je servers linkt, mag de numeric niet door een andere server in gebruik zijn. */ me { name "irc.foonet.com"; info "FooNet Server"; numeric 1; }; /* * NIEUW: admin {} * OUD: A:Line * Admin geeft informatie over de server admin. Je mag hier * zo veel regels opgeven als je wilt. * De syntax is als volgt: * admin { * "eerste regel"; * "tweede regel"; * [etc] * }; */ admin { "Bob Smith"; "bob"; "widely@used.name"; }; /* * NIEUW: class {} * OUD: Y:line (de oude was verwarrend) * Hiermee stel je de classes in. Een class is een groepsinstelling voor * connections. Server connecties stuur je naar een andere class dan * gebruikers. * De syntax is als volgt: * class (class naam) * { * pingfreq (hoe vaak er gepingt moet worden naar een gebruiker/server in seconden); * maxclients (hoeveel connecties er maximaal in deze class mogen zijn); * sendq (maximale send queue voor 1 connectie); * recvq (maximale receive queue voor 1 connectie [flood control]); * }; */ class clients { pingfreq 90; maxclients 500; sendq 100000; recvq 8000; }; class servers { pingfreq 90; maxclients 10; /* Hoeveel servers we maximaal tegelijk gelinkt kunnen hebben */ sendq 1000000; connfreq 100; /* Hoeveel seconden tussen een poging to verbinden */ }; /* * NIEUW: allow {} * OUD: I:Line * Hiermee stel je het toestaan van connecties in. * Gebruikers kunnen verbinden, en jij hebt wat controle en kan eventueel * een wachtwoord instellen. * De syntax is als volgt: * allow { * ip (ip mask dat toegestaan moet worden); * hostname (host mask); * class (class waarnaar ze gestuurd moeten worden [see class {}]); * password "(wachtwoord)"; (optioneel) * maxperip (hoeveel connecties per IP); (optioneel) * }; */ allow { ip *@*; hostname *@*; class clients; maxperip 5; }; /* Allow met wachtwoord */ allow { ip *@255.255.255.255; hostname *@*.passworded.ugly.people; class clients; password "f00Ness"; maxperip 1; }; /* * NIEUW: allow channel {} * OUD: chrestrict * Geeft de mogelijkheid een kanaal te joinen, * als uitzondering voor een deny channel {} * De syntax is als volgt: * allow channel { * channel "kanaal naam"; * }; */ allow channel { channel "#WarezSucks"; }; /* * NIEUW: oper {} * OUD: O:Line * Stelt een IRC Operator in * IRC Operators zorgen voor orde op de server en zorgen er * tevens voor dat de server verbonden blijft met het netwerk. * De syntax is als volgt: * oper (login) { * class (class waarin ze geplaatst moeten worden.); * from { * userhost (ident@host); * userhost (ident@host); * }; * flags * { * (flags hier*); * }; * OF * flags "oud type flags, zoals OAaRD"; * }; */ /* Voor een lange lijst van oper flags, zie doc/unreal32docs.html#operblock * [wordt ten zeerste aangeraden te lezen!] */ oper bobsmith { class clients; from { userhost bob@smithco.com; }; password "f00"; flags { netadmin; can_zline; can_gzline; can_gkline; global; }; }; /* * NIEUW: listen {} * OUD: P:Line * Hiermee stel je een poort in voor de IRCd, zodat * gebruikers/servers kunnen verbinden met je server. * De syntax is als volgt: * listen (ip nummer):(port nummer) * { * options { * (opties hier); * }; * }; * of een gewone: * listen: listen (ip):(port); * * OPMERKING: voor IPv6 IPs (3ffe:b80:2:51d::2 etc), gebruik listen [ip]:port; * * Dat werkt ook. */ /* Opties voor listen: OUD | NIEUW S serversonly C clientsonly J java s ssl * standard */ /* Opmerking voor SSL poorten: SSL poorten zijn niet echt * standaard. Mensen zeggen dat je SSL op poort 994 moet laten * lopen, omdat dit de standaard SSL poort is.. Maar meestal worden * hogere poorten gebruikt. Om poort 994 te gebruiken, moet je root * zijn! Tevens is poort 194 de officiele IRC poort. Maar heb je daar * ooit een IRCd op zien lopen? * Wij raden je aan om poort 6697 voor SSL te gebruiken. Dit wordt op * vrijwel alle netwerken gebruikt en wordt herkend door bijvoorbeeld * StunTour. Je mag zoveel SSL poorten openen als je wil, maar als je * (tevens) 6697 gebruikt, help je mee de wereld meer uniform te maken ;). */ listen *:6697 { options { ssl; clientsonly; }; }; listen *:8067; listen *:6667; /* Opmerking: Als je een IRCd shell gebruikt met meerdere IPs, krijg * je wellicht een "Address already in use" error in je log * en de IRCd zal niet starten. Dit betekent dat je MOET binden * naar een specifiek IP in plaats van '*', bijvoorbeeld: * listen 1.2.3.4:6667l * Natuurlijk moet je het IP vervangen door het IP dat je toewezen is. */ /* * NIEUW: link {} * OUD: C/N:Lines * Geeft een server toegang om te verbinden. * OPMERKING: Beiden servers hebben een link { } nodig om goed te kunnen verbinden! * De syntax is als volgt: * link (server naam) * { * username (username, * werkt ook); * hostname (ip number/hostmask); * bind-ip (welk IP te binden wanneer je connect, of *); * port (poort om naar te verbinden); * hub (Als dit een hub is, werkt '*'); * [of leaf *;] * password-connect "(wachtwoord te zenden)"; * password-receive "(wachtwoord te ontvangen)"; * class (class waarin de server geplaatst moet worden); * options { * (opties hier*); * }; * // Als we SSL gebruiken, kunnen we kiezen welke cipher we willen gebruiken in SSL mode * // Verkrijg een lijst door "openssl ciphers", onderscheid ciphers met :'s * ciphers "DES-CBC3-MD5"; * * }; */ /* opties: OUD | NIEUW S ssl Z zip N/A autoconnect N/A quarantine N/A nodnscache */ link hub.mynet.com { username *; hostname 1.2.3.4; bind-ip *; port 7029; hub *; password-connect "LiNk"; password-receive "LiNk"; class servers; options { /* Opmerking: Gebruik geen autoconnect naar Services */ autoconnect; ssl; zip; }; }; /* * * NIEUW: ulines {} * OUD: U:Line * U:Lines geven servers meer macht/commando's. Gebruik het alleen voor * services en stats, en NOOIT voor normale UnrealIRCd servers! * De syntax is als volgt: * ulines { * (server to uline); * (server to uline); * [etc] * }; */ ulines { services.roxnet.org; stats.roxnet.org; }; /* * NIEUW: drpass {} * OUD: X:Line * Stelt de wachtwoorden voor /die en /restart in. * De syntax is als volgt: * drpass { * restart "(wachtwoord voor herstart)"; * die "(wachtwoord voor beeindigen)"; * }; */ drpass { restart "I-love-to-restart"; die "die-you-stupid"; }; /* * NIEUW: log {} * OUD: N/A * Laat de IRCd weten wat en waar te loggen. Je kan er * zoveel instellen als je wilt. * * FLAGS: errors, kills, tkl, connects, server-connects, kline, oper * * De syntax is als volgt: * * log "log file" * { * flags * { * flag; * flag; * etc.. * }; * }; */ log "ircd.log" { /* Verwijder het logbestand en begint een nieuwe wanneer de oude 2MB groot is. Laat dit leeg om altijd hetzelfde bestand te gebruiken */ maxsize 2097152; flags { oper; kline; connects; server-connects; kills; errors; sadmin-commands; chg-commands; oper-override; spamfilter; }; }; /* * NIEUW: alias {} * OUD: N/A * Hiermee stel je commando's zoals /nickserv, /chanserv etc in. * FLAGS: services, stats, normal * * De syntax is als volgt: * alias "naam" { * target "wijst naar"; * type aliastype; * }; * * [Opmerking: Je kan ook een standaard alias bestand gebruiken, zie doc/unreal32docs.nl.html sectie 2.9] */ // Dit wijst het commando /nickserv naar de gebruiker NickServ welke verbonden is met set::services-server /*alias NickServ { target "NickServ"; type services; };*/ // Als je het commando naar dezelfde nick als het commando wil sturen, kun je "target" weglaten. //alias ChanServ { type services; }; // Wijst het /statserv commando naar de gebruiker Statserv verbonden met set::stats-server //alias StatServ { type stats; }; // Wijst het /superbot commando naar de gebruiker SuperBot //alias SuperBot { type normal; }; /* Standaard aliases */ alias NickServ { type services; }; alias ChanServ { type services; }; alias OperServ { type services; }; alias HelpServ { type services; }; alias StatServ { type stats; }; /* * NIEUW: alias {} * OUD: N/A * Hiermee stel je commando's zoals /identify, /services in. * * De syntax is als volgt: * alias "naam" { * format "format string" { * target "wijst naar"; * type aliastype; * parameters "parameters te verzenden"; * }; * type command; * }; */ /* Hier wordt apart notitie van gemaakt, hoewel het dezelfde naam heeft als het vorige block. Het verschilt veel * in syntax, maar het maakt gebruik van dezelfde functies. */ /* alias "identify" { format "^#" { target "chanserv"; type services; parameters "IDENTIFY %1-"; }; format "^[^#]" { target "nickserv"; type services; parameters "IDENTIFY %1-"; }; type command; }; */ /* De alias::format is een reguliere expressie. Het eerste formaat matcht het /identify commando wanneer * het eerste teken een # is. Daarna wordt het doorgezonden naar de chanserv alias met de parameters * IDENTIFY %1-. Het tweede formaat matcht het /identify commando wanneer het eerste teken geen # is. Daarna * wordt het commando doorgestuurd naar de nickserv alias met de parameters IDENTIFY %1-. */ /* Het alias::format::parameters is gelijk aan script-talen. %N (N is een nummer) staat voor de parameter die * gezonden is naar het commando (in dit geval /identify). Wanneer je %N- opgeeft, betekent dat alle parameters * vanaf N tot de laatste paramater in de string. Je kan ook %n gebruiken, waar %n vervangen wordt door de nick. */ /* Standaard aliases */ alias "services" { format "^#" { target "chanserv"; type services; parameters "%1-"; }; format "^[^#]" { target "nickserv"; type services; parameters "%1-"; }; type command; }; alias "identify" { format "^#" { target "chanserv"; type services; parameters "IDENTIFY %1-"; }; format "^[^#]" { target "nickserv"; type services; parameters "IDENTIFY %1-"; }; type command; }; /* Dit is een voorbeeld van een echt commando alias */ /* Dit verwijst /GLINEBOT naar /GLINE 2d etc... */ alias "glinebot" { format ".+" { command "gline"; type real; parameters "%1 2d Bots are not allowed on this server, please read the faq at http://www.example.com/faq/123"; }; type command; }; /* * NIEUW: tld {} * OUD: T:Line * Hiermee stel je verschillende MOTD en RULES bestanden in, * afhangend van de gebruikers hostmask. * De syntax is als volgt: * tld { * mask (ident@host); * motd "(motd bestand)"; * rules "(rules bestand)"; * }; */ tld { mask *@*.fr; motd "ircd.motd.fr"; rules "ircd.rules.fr"; }; /* Opmerking: je kan het bovenstaande voorbeeld verwijderen. * In dat geval worden de standaard motd/rules bestanden (ircd.motd, ircd.rules). * gebruikt voor iedereen. */ /* * NIEUW: ban nick {} * OUD: Q:Line * Bant een nickname zodat deze niet gebruikt kan worden. * De syntax is als volgt: * ban nick { * mask "(nick om te bannen)"; * reason "(reden)"; * }; */ ban nick { mask "*C*h*a*n*S*e*r*v*"; reason "Reserved for Services"; }; /* * NIEUW: ban ip {} * OUD: Z:Line * Bant een IP van de server * De syntax is als volgt: * ban ip { * mask (ip number/hostmask); * reason "(reden)"; * }; */ ban ip { mask 195.86.232.81; reason "Delinked server"; }; /* * NIEUW: ban server {} * OUD: Server Q:Line * Zorgt ervoor dat een server niet kan verbinden met het netwerk. * Als de server naar een andere server linkt, zal de lokale server * de verbinding met het netwerk verbreken. * De syntax is als volgt: * ban server { * mask "(server naam)"; * reason "(reden)"; * }; */ ban server { mask eris.berkeley.edu; reason "Get out of here."; }; /* * NIEUW: ban user {} * OUD: K:Line * Zorgt ervoor dat een gebruiker met een bepaalde mask niet * kan verbinden met je server. * De syntax is als volgt: * ban user { * mask (hostmask/ip number); * reason "(reden)"; * }; */ ban user { mask *tirc@*.saturn.bbn.com; reason "Idiot"; }; /* * NIEUW: ban realname {} * OUD: n:Line * Belet het gebruik van een bepaalde realname. * De syntax is als volgt: * ban realname { * mask "(real name)"; * reason "(reden)"; * }; */ ban realname { mask "Swat Team"; reason "mIRKFORCE"; }; ban realname { mask "sub7server"; reason "sub7"; }; /* * OPMERKING VOOR ALLE BANS: Ze mogen herhaald worden voor extra toevoegingen! * * NIEUW: except ban {} * OUD: E:Line * Zorgt ervoor dat jij niet gebanned kan worden. * De syntax is als volgt: * except ban { mask (ident@host); }; * Herhaal de except ban {} zo vaak als je wilt * voor andere hosts. */ except ban { /* don't ban stskeeps */ mask *stskeeps@212.*; }; /* * NIEUW: deny dcc {} * OUD: dccdeny.conf * Wordt gebruikt om DCC sends te blokkeren.. * Stopt virii beter. * De syntax is als volgt: * deny dcc * { * filename "bestand te blokkeren (bv, *exe)"; * reason "reden"; * }; */ deny dcc { filename "*sub7*"; reason "Possible Sub7 Virus"; }; /* * NIEUW: deny channel {} * OUD: N/A (NIEUW) * Belet het gebruik van een kanaal. * De syntax is als volgt: * deny channel { * channel "(kanaal)"; * reason "reden"; * }; */ deny channel { channel "*warez*"; reason "Warez is illegal"; }; /* * NIEUW: vhost {} * OUD: Vhost.conf file * Dit zet een nep ip voor niet-opers, of voor opers * die te lui zijn /sethost te gebruiken ;) * De syntax is als volgt: * vhost { * vhost (vhost.com); * from { * userhost (ident@host toegestaan de vhost te gebruiken); * }; * login (login name); * password (password); * }; * Om je vhost te gebruiken, typ /vhost (login) (password) op IRC */ vhost { vhost i.hate.microsefrs.com; from { userhost *@*.image.dk; }; login stskeeps; password moocowsrulemyworld; }; /* Je kan ook andere configuratiebestanden laden */ /* include "klines.conf"; */ /* Netwerk configuratie */ set { network-name "ROXnet"; default-server "irc.roxnet.org"; services-server "services.roxnet.org"; stats-server "stats.roxnet.org"; help-channel "#ROXnet"; hiddenhost-prefix "rox"; /* prefix-quit "no"; */ /* Cloak keys moeten op alle servers in het netwerk hetzelfde zijn. * Ze worden gebruikt voor het maken van gemaskte hosts en moeten geheim blijven. * De keys moeten 3 willekeurige strings zijn, bestaande uit 5-100 tekens * (10-20 tekens is genoeg) en moeten bestaan uit kleine letters (a-z), * hoofdletters (A-Z) en getallen (0-9) [zie de eerste key als voorbeeld]. * Tip: Wanneer je met een *NIX systeem werkt, kun je './unreal gencloak' gebruiken in * je shell. Dit genereert 3 willekeurige strings die je kunt gebruiken. */ cloak-keys { "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; "en nog eentje"; "en nog eentje"; }; /* on-oper host */ hosts { local "locop.roxnet.org"; global "ircop.roxnet.org"; coadmin "coadmin.roxnet.org"; admin "admin.roxnet.org"; servicesadmin "csops.roxnet.org"; netadmin "netadmin.roxnet.org"; host-on-oper-up "no"; }; }; /* Server gerelateerde configuratie */ set { kline-address "stel.dit.adres.in"; modes-on-connect "+ixw"; modes-on-oper "+xwgs"; oper-auto-join "#opers"; options { hide-ulines; /* Je kan hier ident checking aanzetten als je wilt */ /* identd-check; */ show-connect-info; }; maxchannelsperuser 10; /* Hoelang een gebruiker minimaal verbonden moet zijn voordat hij toegestaan wordt het * QUIT bericht te gebruiken. Dit stopt spam hopelijk. */ anti-spam-quit-message-time 10s; /* Stelt een tekst in die standaard wordt gebruikt voor een quit. * Houdt in dat er geen eigen quits gebruikt mogen worden op deze server. */ /* static-quit "Client quit"; */ /* Je kan ook alle part-redenen blokkeren door hieronder het commentaar weg te halen * en er 'yes' neer te zetten. Je kan ook een standaard tekst gebruiken (bijvoorbeeld * "Bye bye!") om deze tekst altijd te gebruiken.. */ /* static-part yes; */ /* Stelt in dat stats alleen door opers gebruikt mogen worden. Gebruik * voor alle stats, * en laat het weg zodat gebruikers alle stats kunnen zien. Typ '/stats' voor een lijst * van alle stats. * Sommige admins willen 'kGs' wellicht verwijderen zodat gewone gebruikers een lijst van * klines, glines en shunts kunnen zien. */ oper-only-stats "okfGsMRUEelLCXzdD"; /* Throttle: dit voorbeeld zet een limie van 3 conneties per 60s (per host). */ throttle { connections 3; period 60s; }; /* Anti flood protectie */ anti-flood { nick-flood 3:60; /* 3 naamsveranderingen per 60 seconden (standaard) */ }; /* Spam filter */ spamfilter { ban-time 1d; /* standaard duur van een *line gezet door spamfilter */ ban-reason "Spam/Advertising"; /* standaard reden */ virus-help-channel "#help"; /* kanaal te gebruiken voor 'viruschan' actie */ /* except "#help"; kanaal waar niet gefilterd wordt */ }; }; /* * Problemen of meer hulp nodig? * 1) www.vulnscan.org/UnrealIRCd/unreal32docs.html * 2) www.vulnscan.org/UnrealIRCd/faq/ <- hier staat 80% van je vragen! * 3) Als je nog steeds problemen hebt, kun je naar irc.unrealircd.org #unreal-support, maar je moet wel eerst de documentatie en FAQ gelezen hebben! */