mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-27 01:36:37 +02:00
3771 lines
179 KiB
HTML
3771 lines
179 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<title>UnrealIRCd - 3.2 - Officiƫle Documentatie</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<style type="text/css">
|
|
.block_section { font-size: 24; font-weight: bold; }
|
|
.block_name { font-size: 24; font-weight: bold; }
|
|
.block_required { color: red; font-weight: bold; }
|
|
.block_recommended { color: green; font-weight: bold; }
|
|
.block_optional { color: blue; font-weight: bold; }
|
|
.block_old { font-size: 14; }
|
|
.set { font-weight: bold; }
|
|
.desc { margin-left: 15px; }
|
|
pre { font: "times new roman"; font-style: normal; background-color: #eeeeee;}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<a href="unreal32docs.html">English</a> |
|
|
<a href="unreal32docs.de.html">German</a> |
|
|
<a href="unreal32docs.es.html">Spanish</a> |
|
|
<a href="unreal32docs.hu.html">Hungarian</a> |
|
|
<a href="unreal32docs.fr.html">French</a> |
|
|
<a href="unreal32docs.gr.html">Greek</a> |
|
|
Dutch |
|
|
<a href="unreal32docs.ru.html">Russian</a> |
|
|
<a href="unreal32docs.tk.html">Turkish</a>
|
|
<br><br>
|
|
<div align="center"><b><font size="7">UnrealIRCd</font></b><br>
|
|
<font size="4"><a href="http://www.unrealircd.com">http://www.unrealircd.com</a></font><br>
|
|
<font size="4">Version: 3.2.5-rc3</font><br>
|
|
<b>Laatste documentatie wijziging:</b> 2006-06-08</div>
|
|
|
|
<br>
|
|
<b>Hoofd programmeurs:</b> Stskeeps / codemastr / Syzop / Luke<br>
|
|
<b>Medewerkers:</b> McSkaf / Zogg / NiQuiL / assyrian / chasm / DrBin / llthangel / Griever / nighthawk<br>
|
|
<b>Documentatie:</b> CKnight^ / Syzop<br>
|
|
<b>Nederlandse vertaling:</b> Mark (<a href="irc://irc.irc-chatters.net/dutch">#dutch op irc.irc-chatters.net</a>)<br>
|
|
<p>Om dit document te bekijken heb je een geschikte browser nodig, welke hier beneden staan. De meest
|
|
recente documentatie staat op <a href="http://www.vulnscan.org/UnrealIRCd/unreal32docs.html">
|
|
http://www.vulnscan.org/UnrealIRCd/unreal32docs.html</a> en een FAQ staat op
|
|
<a href="http://www.vulnscan.org/UnrealIRCd/faq/" TARGET="_blank">http://www.vulnscan.org/UnrealIRCd/faq/</a>.
|
|
</p>
|
|
|
|
<p><b>Geschikte browsers: </b><br>
|
|
<ul>
|
|
<li>Opera 6.02
|
|
<li>Microsoft Internet Explorer 6.X / 5.5
|
|
<li>Netscape Navigator 6.X
|
|
<li>Mozilla 1.2.X
|
|
<li>Lynx (gedeeltelijk)
|
|
</ul>
|
|
</p>
|
|
<p><font size="+2"><b>INDEX / INHOUD</b></font><br>
|
|
1. <a href="#IntroductionNotes">Introductie & Opmerkingen</a><br>
|
|
---1.1. <a href="#notesonolder">Opmerkingen voor upgraden/mengen 3.1.x -> 3.2</a><br>
|
|
---1.2. <a href="#notesonupgrade">Opmerkingen voor upgraden tussen 3.2 versies</a><br>
|
|
2. <a href="#installation">Installatie</a><br>
|
|
3. <a href="#features">Mogelijkheden</a><br>
|
|
-- 3.1. <a href="#feature_cloaking">Cloaking</a><br>
|
|
-- 3.2. <a href="#feature_modules">Modules</a><br>
|
|
-- 3.3. <a href="#feature_snomasks">Snomasks</a><br>
|
|
-- 3.4. <a href="#feature_aliases">Aliases</a><br>
|
|
-- 3.5. <a href="#feature_helpop">Helpop</a><br>
|
|
-- 3.6. <a href="#feature_operaccesslevels">Oper toegangsniveau's</a><br>
|
|
-- 3.7. <a href="#feature_opercmds">Oper commando's</a><br>
|
|
-- 3.8. <a href="#feature_ssl">SSL</a><br>
|
|
-- 3.9. <a href="#feature_ipv6">IPv6</a><br>
|
|
-- 3.10. <a href="#feature_ziplinks">Zip links</a><br>
|
|
-- 3.11. <a href="#feature_dyndns">Dynamische DNS/IP linking ondersteuning</a><br>
|
|
-- 3.12. <a href="#feature_antiflood">Anti-flood mogelijkheden</a><br>
|
|
-- 3.13. <a href="#feature_bantypes">Ban types</a><br>
|
|
-- 3.14. <a href="#feature_spamfilter">Spamfilter</a><br>
|
|
-- 3.15. <a href="#feature_cidr">CIDR</a><br>
|
|
-- 3.16. <a href="#feature_nickchars">Nick Character Sets</a><br>
|
|
-- 3.17. <a href="#feature_cgiirc">CGI:IRC ondersteuning</a><br>
|
|
-- 3.18. <a href="#feature_timesync">Tijd synchronisatie</a><br>
|
|
-- 3.19. <a href="#feature_other">Andere mogelijkheden</a><br>
|
|
4. <a href="#configuringyourunrealircdconf">Aanpassen van je unrealircd.conf</a><br>
|
|
---4.1. <a href="#configurationfileexplained">Configuratie bestand uitgelegd</a><br>
|
|
---4.2. <a href="#meblock"> Me Block -=- (M:Line)</a><br>
|
|
---4.3. <a href="#adminblock">Admin Block -=- (A:Line)</a><br>
|
|
---4.4. <a href="#classblock">Class Block -=- (Y:Line)</a><br>
|
|
---4.5. <a href="#allowblock">Allow Block -=- (I:Line)</a><br>
|
|
---4.6. <a href="#listenblock">Listen Block -=- (P:Line)</a><br>
|
|
---4.7. <a href="#operblock">Oper Block -=- (O:Line)</a><br>
|
|
---4.8. <a href="#drpassblock">DRpass Block -=-(X:Line)</a><br>
|
|
---4.9. <a href="#includedirective">Include Directive</a><br>
|
|
---4.10. <a href="#loadmoduledirective">Loadmodule Directive</a><br>
|
|
---4.11. <a href="#logblock">Log Block</a><br>
|
|
---4.12. <a href="#tldblock">TLD Block -=- (T:Line)</a><br>
|
|
---4.13. <a href="#bannickblock">Ban Nick Block -=- (Q:Line)</a><br>
|
|
---4.14. <a href="#banuserblock">Ban User Block -=- (K:Line)</a><br>
|
|
---4.15. <a href="#banipblock">Ban IP Block -=- (Z:Line)</a><br>
|
|
---4.16. <a href="#banserverblock">Ban Server Block -=-(q:Line)</a><br>
|
|
---4.17. <a href="#banrealnameblock">Ban Realname Block -=- (n:Line)</a><br>
|
|
---4.18. <a href="#banversionblock">Ban Version Block</a><br>
|
|
---4.19. <a href="#banexceptionblock">Ban Exception Block -=- (E:Line)</a><br>
|
|
---4.20. <a href="#tklexceptionblock">TKL Exception Block</a><br>
|
|
---4.21. <a href="#throttleexceptionblock">Throttle Exception Block</a><br>
|
|
---4.22. <a href="#denydccblock">Deny DCC Block -=- (dccdeny.conf)</a><br>
|
|
---4.23. <a href="#denyversionblock">Deny Version Block -=- (V:Line)</a><br>
|
|
---4.24. <a href="#denylinkblock">Deny Link Block -=- (D:Line / d:Line)</a><br>
|
|
---4.25. <a href="#denychannelblock">Deny Channel Block -=- (chrestrict.conf)</a><br>
|
|
---4.26. <a href="#allowchannelblock">Allow Channel Block</a><br>
|
|
---4.27. <a href="#allowdccblock">Allow DCC Block</a><br>
|
|
---4.28. <a href="#vhostblock">Vhost Block -=- (vhost.conf)</a><br>
|
|
---4.29. <a href="#badwordsblock">Badword Block -=- (badwords.conf)</a><br>
|
|
---4.30. <a href="#ulinesblock">Uline Block -=- (U:Line)</a><br>
|
|
---4.31. <a href="#linkblock">Link Block -=- (C/N/H:Lines)</a><br>
|
|
---4.32. <a href="#aliasblock">Alias Block</a><br>
|
|
---4.33. <a href="#helpblock">Help Block</a><br>
|
|
---4.34. <a href="#officialchannels">Official Channels Block</a><br>
|
|
---4.35. <a href="#spamfilter">Spamfilter Block</a><br>
|
|
---4.36. <a href="#cgiirc">Cgiirc Block</a><br>
|
|
---4.37. <a href="#setblock">Set Block -=- (networks/unrealircd.conf)</a><br>
|
|
5. <a href="#addtlfiles">Aanvullende bestanden</a><br>
|
|
6. <a href="#userchannelmodes">Gebruikers & Kanaal Modes</a><br>
|
|
7. <a href="#useropercommands">Gebruikers & Opers commando's</a><br>
|
|
8. <a href="#security">Veiligheids tips/checklist</a><br>
|
|
---8.1. <a href="#secpasswords">Wachtwoorden</a><br>
|
|
---8.2. <a href="#secnonircd">Niet-IRCd gerelateerde lekken</a><br>
|
|
---8.3. <a href="#secpermissions">Rechten en het configuratiebestand</a><br>
|
|
---8.4. <a href="#secuser">Gebruikers gerelateerde problemen</a><br>
|
|
---8.5. <a href="#secsnif">SSL/SSH & sniffing</a><br>
|
|
---8.6. <a href="#secDoS">Denial of Service attacks (DoS) [of: hoe bescherm ik mijn hub]</a><br>
|
|
---8.7. <a href="#secinformation">Extra informatie</a><br>
|
|
---8.8. <a href="#secantiexploit">Bescherming tegen exploits</a><br>
|
|
---8.9. <a href="#secsummary">Samenvatting</a><br>
|
|
9. <a href="http://www.vulnscan.org/UnrealIRCd/faq/" target="_blank">Veel gestelde vragen (FAQ)</a><br>
|
|
A. <a href="#regex">Regular Expressions</a><br>
|
|
---A.1. <a href="#regexlit">Letters</a><br>
|
|
---A.2. <a href="#regexdot">Dot Operator</a><br>
|
|
---A.3. <a href="#regexrep">Repetition Operators</a><br>
|
|
---A.4. <a href="#regexbracket">Bracket Expressions</a><br>
|
|
---A.5. <a href="#regexassert">Assertions</a><br>
|
|
---A.6. <a href="#regexalt">Alternation</a><br>
|
|
---A.7. <a href="#regexsub">Subexpressions</a><br>
|
|
---A.8. <a href="#regexbackref">Back References</a><br>
|
|
---A.9. <a href="#regexcase">Case Sensitivity</a><br>
|
|
</p>
|
|
<p><b><font size="+2">1.0 – Introductie & Opmerkingen <a name="IntroductionNotes"></a></font></b><br>
|
|
</p><div class="desc">
|
|
<p>Dit document is uitsluitend geschreven voor gebruik met UnrealIRCd. Gebruik van dit document
|
|
voor andere software, of verspreiding van dit document samen met andere software is strikt
|
|
verboden zonder geschreven toestemming van het UnrealIRCd Ontwikkelings Team. Dit document
|
|
mag zo vaak je wil gekopieƫrd/geprint/geherproduceerd/gepubliceerd worden, gegeven dat het
|
|
gebruikt wordt voor UnrealIRCd en er niets aangepast is in welke vorm dan ook.
|
|
– Copyright UnrealIRCd Development Team 2002-2006</p>
|
|
<p>Lees dit document voordat je om hulp vraagt. We raden je ook ten zeerste aan de
|
|
<a href="http://www.vulnscan.org/UnrealIRCd/faq/" target="_blank">FAQ</a> te lezen, omdat
|
|
meer dan 80% van je problemen/vragen hierin behandeld worden. Wanneer je nog steeds hulp
|
|
nodig hebt, kun je hulp vragen op irc.ircsystems.net (poort 6667), kanaal #unreal-support
|
|
(Opmerking: We achten het nodig dat je de documentatie en de FAQ leest en we helpen alleen
|
|
met UnrealIRCd, niet met Services!).
|
|
Wanneer je een echte bug (zoals een crash) hebt gevonden, meldt deze dan op
|
|
<a href="http://bugs.unrealircd.org" TARGET="_blank">http://bugs.unrealircd.org</a>.</p></div>
|
|
|
|
<p><font size="+2"><b>1.1 – Opmerkingen voor upgraden/mengen 3.1.x -> 3.2 </b></font><a name="notesonolder"></a><br>
|
|
</p>
|
|
<div class="desc">
|
|
<p>Wanneer je upgrade van Unreal3.1.x naar Unreal3.2 merk je dat het hele configuratiebestand
|
|
aangepast is. Wellicht vind je dit in het begin moeilijk, maar zodra je omgeschakeld bent,
|
|
snap je het veel makkelijker!</p>
|
|
<p>Vergeet ook niet sectie 3 over Mogelijkheden te lezen. Ondanks dat je sommige wellicht al
|
|
kent van 3.1.x zijn er ook nieuwe mogelijkheden!</p>
|
|
<p>Het is beter om 3.1.x niet te mengen/linken met 3.2, maar wanneer je dit echt wilt, heb je
|
|
minstens 3.1.4 nodig. Maar 3.1.5.1 wordt ten zeerste aangeraden!</p></div>
|
|
|
|
<p><font size="+2"><b>1.2 – Opmerkingen voor upgraden tussen 3.2 versies</b></font><a name="notesonupgrade"></a><br>
|
|
</p><div class="desc">
|
|
<p>De aangeraden manier om te upgraden is:<br>
|
|
Linux:<br>
|
|
<ul>
|
|
<li>Hernoem je oude UnrealIRCd map (anders schrijf je deze in de volgende stap over).
|
|
<li>Pak de nieuwe UnrealIRCd versie uit en voer ./Config en make uit.
|
|
<li>Kopieer je oude configuratiebestanden naar de nieuwe map (unrealircd.conf, motd, rules, server* [SSL certs], network file, etc).
|
|
</ul></p>
|
|
Windows:<br>
|
|
<ul>
|
|
<li>Kopieer al je configuratiebestanden naar een tijdelijke locatie.
|
|
<li>Voer de deinstallatie uit voor oudere versies van Unreal die je geinstalleerd hebt.
|
|
<li>Voer de installatie van de nieuwe versie uit.
|
|
<li>Kopieer je oude configuratiebestanden naar de nieuwe map.
|
|
</ul>
|
|
<p>Zie ook .RELEASE.NOTES voor de veranderingen.
|
|
Wanneer je veranderingen (of bugs) tussen verschillende versies merkt, LEES EERST DE RELEASE NOTES VOORDAT JE HET ALS EEN BUG MELDT!</p></div>
|
|
|
|
<p><font size="+2"><b>2.0 - Installatie</b></font><a name="installation" id="installation"></a><br><div class="desc">
|
|
<br>
|
|
<b>Getest & Ondersteunde Operating Systems:</b><br>
|
|
<ul>
|
|
<li><b>*NIX versions:</b>
|
|
<ul>
|
|
<li>Linux (2.2.*, 2.4.*, 2.6.*)
|
|
<li>FreeBSD (4.*, 5.*)
|
|
<li>NetBSD (2.*)
|
|
<li>OpenBSD (3.7, 3.8)
|
|
<li>Solaris (9, 10)
|
|
</ul>
|
|
<li><b>Windows versie:</b>
|
|
<ul>
|
|
<li>Windows 2000 (Pro, Server, Advanced Server)
|
|
<li>Windows XP (Home, Pro)
|
|
<li>Windows 2003
|
|
</ul>
|
|
<li><b>Architectures tested:</b>
|
|
<ul>
|
|
<li>ia32 (i386, i486, i586, i686)
|
|
<li>ia64
|
|
<li>amd64
|
|
<li>alpha
|
|
</ul>
|
|
</ul>
|
|
<br>
|
|
Wanneer je Unreal3.2 correct werkend hebt lopen op een ander systeem, meldt de
|
|
details dan alstublieft naar<a href="mailto:coders@lists.unrealircd.org">coders@lists.unrealircd.org</a>
|
|
</p>
|
|
<p><b>Installation Instructions</b><br>
|
|
Linux:<br>
|
|
<ol>
|
|
<li>gunzip -d Unreal3.2.X.tar.gz
|
|
<li>tar xvf Unreal3.2.X.tar
|
|
<li>cd Unreal3.2
|
|
<li>./Config
|
|
<li>Beantwoord deze vragen zo goed als mogelijk. Wanneer je het niet weet, kun je het beste
|
|
de standaardwaarde gebruiken.
|
|
<li>make
|
|
<li>Maak nu je unrealircd.conf en andere configuratiebstanden, zie sectie 4.
|
|
</ol>
|
|
<p>
|
|
Windows:<br>
|
|
<ol>
|
|
<li>Voer de Unreal installatie uit.
|
|
<li>Maak nu je unrealircd.conf en andere configuratiebstanden, zie sectie 4.
|
|
</ol>
|
|
</p>
|
|
<p> </p></div>
|
|
<p><font size="+2"><b>3.0 - Mogelijkheden</b></font>
|
|
<a name="features"></a></p><div class="desc">
|
|
<p>De voornaamste/leuke mogelijkheden worden uitgelegd in deze sectie. Het zorgt voor een
|
|
algemeen overzicht, en verwijst soms naar het configuratiebestand (iets waar je wellicht
|
|
nog niets over weet)</p>
|
|
<p>Je kan deze sectie overslaan, hoewel het aangeraden wordt om deze toch te lezen voor
|
|
of na installatie zodat je de begrippen 'cloaking', 'snomasks' etc kent.</p>
|
|
</div>
|
|
|
|
<p><font size="+2"><b>3.1 - Cloaking</b></font><a name="feature_cloaking"></a></p><div class="desc">
|
|
<p>Cloaking is een manier om de echte hostname van gebruikers te verbergen. Als de echte host
|
|
bijvoorbeeld <i>d5142341.cable.wanadoo.nl</i> is, zal <i>rox-2DCA3201.cable.wanadoo.nl</i>
|
|
worden gezien (bij joins, parts, whois, etc). Dit is een manier om de gebruikers tegen het flooden
|
|
door anderen te beschermen, omdat ze de echte host/IP niet kunnen zien.</p>
|
|
|
|
<p>Dit wordt te werk gesteld door gebruikersmode +x (zoals: /mode jenaam +x). Admins kunnen ook
|
|
instellen dat +x automatish gezet wordt, of dat gebruikers nooit -x kunnen zetten.</p>
|
|
|
|
<p>Een verborgen host wordt gemaakt door een "cloaking" module (je moet er een laden). Momenteel wordt
|
|
er 1 module geleverd:<br>
|
|
<b>cloak:</b> Dit is de officiƫle module sinds 3.2.1. Het is veel veiliger dan het oude algoritme, het
|
|
gebruikt md5 intern en het eist dat je 3 set::cloak-keys:: gebruikt, bestaande uit een mix van
|
|
kleine letters (a-z), grote letters (A-Z) en getallen (0-9) [bv: "AopAS6WQH2Os6hfosh4SFJHs"]. Zie
|
|
Voorbeeld.conf voor een voorbeeld.<br>
|
|
<p>Cloak keys MOETEN hetzelfde zijn op ALLE servers in een network. Ook moeten cloak keys geheim blijven,
|
|
omdat het mogelijk is om de echte hostname te achterhalen wanneer je de keys weet (wat gebruikersmode +x
|
|
onbruikabar maakt).</p>
|
|
</div>
|
|
|
|
<p><font size="+2"><b>3.2 - Modules</b></font><a name="feature_modules"></a></p><div class="desc">
|
|
<p>UnrealIRCd maakt gebruik van modules, wat handig is omdat:<br>
|
|
- Je kan ze laden/herladen/uitladen terwijl de ircd nog loopt (d.m.v. /rehash). Hiermee kun je bugs fixen of nieuwe mogelijkheden toevoegen
|
|
zonder dat er een herstart nodig is!<br>
|
|
- Andere mensen kunnen modules maken met nieuwe commandos, gebruikersmodi en zelfs kanaalmodi<br>
|
|
- UnrealIRCd wordt geleverd met maar een paar modules. Kijk eens op www.unrealircd.com -> modules
|
|
of gebruikt Google om aan modules te komen.<br>
|
|
<p>Je moet minstens 2 modules laden, anders start je ircd niet!:<br>
|
|
- De commando module: commands.so (commands.dll in Windows).<br>
|
|
- Een cloaking module: normaal cloak.so (cloak.dll in Windows).</p>
|
|
</div>
|
|
|
|
<p><font size="+2"><b>3.3 - Snomasks</b></font><a name="feature_snomasks"></a></p><div class="desc">
|
|
<p>Snomasks zijn server aankondigingen, het is een speciaal soort gebruikersmodes die bepaald
|
|
welke aankondigingen je krijgt (voornamelijk gebruikt door opers)</p>
|
|
<p>Je kan ze instellen door: /mode jenaam +s SNOMASK, bijvoorbeeld: /mode jenaam +s +cF<br>
|
|
Om bepaalde snomasks weg te halen, gebruik: /mode jenaam +s -c<br>
|
|
Om alle snomasks weg te halen, gebruik: /mode jenaam -s</p>
|
|
|
|
<p>De op dit moment bruikbare snomasks zijn:<br>
|
|
c - lokale connecties<br>
|
|
F - "verre" connecties (connecties naar andere servers, behalve U:lined servers)<br>
|
|
f - flood aankondigingen<br>
|
|
k - kill aankondigingen<br>
|
|
e - "eyes" aankondingen<br>
|
|
j - "junk" aankondigingen<br>
|
|
v - vhost aankondingingen<br>
|
|
G - gline/shun aankondingingen<br>
|
|
n - lokale verandering van naam aankondingingen<br>
|
|
N - "verre" verandering van naam aankondingingen<br>
|
|
q - verboden nick (Q:line) aankondingingen<br>
|
|
s - ontvang server aankondingingen [*]<br>
|
|
S - ontvang spamfilter aankondingingen<br>
|
|
o - ontvang oper-worden aankondingingen<br>
|
|
[*: deze snomask kan ook gebruikt worden door niet-opers]<br>
|
|
</p>
|
|
|
|
<p>Je kan instellen welke snomasks je automatisch krijgt (set::snomask-on-connect) en welke je krijgt
|
|
zodra je oper wordt (set::snomask-on-oper, oper::snomask)</p>
|
|
<p>Standaard wordt, zodra een gebruiker modes +s zet, bepaalde snomasks gezet. Voor niet-opers, snomasks +ks, en voor
|
|
opers snomasks +kscfvGqo.</p></div>
|
|
|
|
<p><font size="+2"><b>3.4 - Aliases</b></font><a name="feature_aliases"></a></p><div class="desc">
|
|
<p>Met aliases kun je alias commando's instellen voor de server.
|
|
Je kan bijvoorbeeld "/ns identify blah" doorsturen naar NickServ (het wordt dan: PRIVMSG NickServ identify blah).
|
|
Je kan het ook nog complexer maken, zodat bijvoorbeeld /register naar ChanServ doorgestuurd wordt wanneer het
|
|
eerste woord met een # begint, en doorgestuurd naar NickServ wanneer dit niet het geval is</p>
|
|
Aliassen worden ingesteld door een <a href="#aliasblock">alias-blok</a> in het configuratiebestand. Je kan ook een standaard
|
|
bestand laten laden, met de meest gebruikte aliassen bij vaak gebruikte Services</p></div>
|
|
|
|
|
|
<p><font size="+2"><b>3.5 - Helpop</b></font><a name="feature_helpop"></a></p><div class="desc">
|
|
|
|
<p>UnrealIRCd heeft een ingebouwd help-systeem, raadpleegbaar door /helpop. Het /helpop commando is volledig
|
|
in te stellen door het help-blok in het configuratiebestand. Bijkomend, een help.conf wordt geladen, waarin
|
|
wat basis hulp staat voro alle commando's.<br>
|
|
Bijvoorbeeld <i>/helpop chmodes</i> geeft je een overzicht van alle kanaalmodi die UnrealIRCd heeft.<br>
|
|
Vergeet niet dat wanneer je een ircop (helpop) bent, je een vraagteken ('?') moet gebruiken voor elk
|
|
commando. Dus <i>/helpop chmodes</i> wordt <i>/helpop ?chmodes</i></p></div>
|
|
|
|
|
|
<p><font size="+2"><b>3.6 - Oper access levels</b></font><a name="feature_operaccesslevels"></a></p><div class="desc">
|
|
|
|
<p>Er zijn verschillende oper niveaus in UnrealIRCd, en je kan extra rechten (zoals het gebruik van /gline) toevoegen
|
|
voor elk niveau. Op deze manier kun je een oper voorzien van alles wat hij/zij nodig heeft.</p>
|
|
<p>Dit wordt gedaan door de oper flags in het oper-blok. Zie het oper-blok voor meer informatie</p></div>
|
|
|
|
<p><font size="+2"><b>3.7 - Oper commands</b></font><a name="feature_opercmds"></a></p><div class="desc">
|
|
<p>UnrealIRCd heeft veel machtige oper commando's welke uitgelegd worden in <a href="#useropercommands">User & Oper Commands</a>.
|
|
Je zult deze waarschijnlijk willen doornemen na installatie</p></div>
|
|
|
|
<p><font size="+2"><b>3.8 - SSL</b></font><a name="feature_ssl"></a></p><div class="desc">
|
|
|
|
<p>SSL staat voor Secure Socket Layer. Met SSL kun je beveiligde verbinden opzetten.
|
|
Het kan gebruikt worden om server<->server verkeer te beveiligen, maar ook client<->server
|
|
kan beveiligd worden.
|
|
Je gebruikt SSL normaal gesproken om sniffen van wachtwoorden tegen te gaan.</p>
|
|
<p>Je moet je IRC server compilen (opbouwen) met SSL support. Om een SSL poort in te stellen, moet je set listen::options::ssl
|
|
gebruiken.</p>
|
|
<p>Je kan geen gewone verbinding maken op een SSL poort (dus maak poort 6667 geen SSL!), je hebt een programma nodig dat het
|
|
SSL protocol snapt.</p>
|
|
<p>Programma's die SSL ondersteunen: <A HREF="http://www.xchat.org/" TARGET="_blank">XChat</a>,
|
|
<A HREF="http://www.irssi.org/" TARGET="_blank">irssi</a>,
|
|
<A HREF="http://www.mirc.com/" TARGET="_blank">mIRC</a> (6.14 en hoger,
|
|
maar heeft wat <a href="http://www.mirc.co.uk/ssl.html" target="_blank">extra stappen</a> nodig)</p>
|
|
<p>Voor programma's die SSL niet ondersteunen, kun je een tunnel gebruiken zoals
|
|
<A HREF="http://www.stunnel.org/" TARGET="_blank">stunnel</A>. Hieronder vind je een stunnel.conf voorbeeld (voor stunnel 4.x):<br>
|
|
<pre>
|
|
client = yes
|
|
[irc]
|
|
accept = 127.0.0.1:6667
|
|
connect = irc.myserv.com:6697
|
|
</pre>
|
|
Wanneer je nu een connectie naar 127.0.0.1 poort 6667 maakt, zal al je verkeer ge-encrypt worden en doorgestuurd
|
|
naar irc.myserv.com poort 6697 (een SSL poort).</p>
|
|
|
|
<p>Je zult ook de certificaten moeten valideren, en ze niet zomaar moeten accepteren (zoals in het stunnel voorbeeld), anders
|
|
ben je nog steeds kwetsbaar voor "actief sniffen" (SSL omleidingen). Maar dit dwaalt te ver af om hier uit te leggen (leer
|
|
over SSL, vraag het ons niet). [mIRC and XChat laten een venster zien wanneer je een certificaat moet accepteren of
|
|
afwijzen, dus dat is goed].</p></div>
|
|
|
|
<p><font size="+2"><b>3.9 - IPv6</b></font><a name="feature_ipv6"></a></p><div class="desc">
|
|
<p>UnrealIRCd ondersteunt IPv6, en sinds beta15 is het stabiel.<br>
|
|
Je systeem moet ook IPv6 ondersteunen, en je moet IPv6 ondersteuning aanzetten tijdens ./Config.<br>
|
|
<p>Hoewel Microsoft een experimentele IPv6 toepassing heeft voor W2K/XP, wordt dit (nog) niet ondersteund
|
|
door UnrealIRCd</p></div>
|
|
|
|
|
|
<p><font size="+2"><b>3.10 - Zip links</b></font><a name="feature_ziplinks"></a></p><div class="desc">
|
|
<p>Zip links kunnen worden aangezet voor server<->server links. Het comprimeert data door gebruik te
|
|
maken van zlib. Het kan 60 tot 80% bandbreedte besparen.. Dus het is handig voor lage bandbreedte links
|
|
of links met veel gebruikers. Het kan veel helpen wanneer je linkt vanwege de vele data die verstuurd wordt
|
|
over elk(e) gebruiker/kanaal/etc.</p>
|
|
<p>Om Zip link ondersteuning aan te zetten, moet je "yes" antwoorden voor de zlib vraag in ./Config en link::options::zip
|
|
gebruiken van beide kanten.</p></div>
|
|
|
|
<p><font size="+2"><b>3.11 - Dynamische DNS/IP linking ondersteuning</b></font><a name="feature_dyndns"></a></p><div class="desc">
|
|
<p>UnrealIRCd heeft enkele (nieuwe) mogelijkheden, welke mensen met een dynamisch IP helpen (zoals blah.dyndns.org).
|
|
Wanneer je twee dynamische DNS hosts linkt, gebruik dan link::options::nodnscache en link::options::nohostcheck.
|
|
</p></div>
|
|
|
|
|
|
<p><font size="+2"><b>3.12 - Anti-Flood mogelijkheden</b></font><a name="feature_antiflood"></a></p><div class="desc">
|
|
<p>
|
|
<b>Throttling ("Onderdrukken")</b><br>
|
|
Door gebruik te maken van throttling kun je een limiet instellen op hoe vaak een gebruiker een connectie naar je
|
|
server mag maken en verbreken. Je kan dat er X connecties in YY seconden gemaakt mogen worden vanaf hetzelfde IP
|
|
door middel van het set::throttle blok.
|
|
|
|
<b>Kanaal modi</b><br>
|
|
Er zijn verschillende kanaal modi welke zeer effectief werken tegen flooden. Om een paar te noemen:<br>
|
|
<b>K</b> = /knock niet toegestaan, <b>N</b> = geen naamsveranderingen toegestaan, <b>C</b> = geen CTCPs toegestaan,
|
|
<b>M</b> = alleen geregistreerde gebruikers mogen praten, <b>j</b> = join throttling (per gebruiker)<br>
|
|
Sinds beta18 is er ook een geavanceerdere kanaalmodus +f...<br>
|
|
|
|
<b>Kanaal modus f</b><br>
|
|
In plaats van het gebruik van scripts of bots om je te beschermen tegen kanaal floods, zit het nu in de ircd ingebouwd.<br>
|
|
Bijvoorbeeld: <i>*** Blah sets mode: +f [10j]:15</i><br>
|
|
Dit betekent dat er 10 joins per 15 seconden zijn toegestaan in dit kanaal. Wanneer dit limiet wordt overschreden, wordt
|
|
het kanaal automatisch op +j gezet.<br>
|
|
De volgende floodtypes zijn beschikbaar:<br>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<tr><td>type:</td><td>naam:</td><td>standaard actie:</td><td>andere beschikbare opties:</td><td>opmerkingen</td></tr>
|
|
<tr><td>c</td><td>CTCPs</td><td>auto +C</td><td>m, M</td><td> </td></tr>
|
|
<tr><td>j</td><td>joins</td><td>auto +i</td><td>R</td><td> </td></tr>
|
|
<tr><td>k</td><td>knocks</td><td>auto +K</td><td> </td><td><font size=-1>(alleen voor lokale gebruikers)</font></td></tr>
|
|
<tr><td>m</td><td>messages/notices</td><td>auto +m</td><td>M</td><td> </td></tr>
|
|
<tr><td>n</td><td>nickchanges</td><td>auto +N</td><td> </td><td> </td></tr>
|
|
<tr><td>t</td><td>text</td><td>kick</td><td>b</td><td>per bericht/notice per user, zoals de oude +f. Zal de gebruiker kicken of bannen.</td></tr>
|
|
</table>
|
|
|
|
<p />
|
|
voorbeeld::
|
|
<pre>
|
|
<font color=green>*** ChanOp sets mode: +f [20j,50m,7n]:15</font>
|
|
<ChanOp> lalala
|
|
<font color=green>*** Evil1 (~fdsdsfddf@Clk-17B4D84B.blah.net) has joined #test
|
|
*** Evil2 (~jcvibhcih@Clk-3472A942.xx.someispcom) has joined #test
|
|
*** Evil3 (~toijhlihs@Clk-38D374A3.aol.com) has joined #test
|
|
*** Evil4 (~eihjifihi@Clk-5387B42F.dfdfd.blablalba.be) has joined #test</font>
|
|
-- XX regels weggehaald --
|
|
<font color=green>*** Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has joined #test</font>
|
|
<font color=brown>-server1.test.net:#test *** Channel joinflood detected (limit is 20 per 15 seconds), putting +i</font>
|
|
<font color=green>*** server1.test.net sets mode: +i</font>
|
|
<Evil2> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
|
|
<Evil12> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
|
|
<Evil15> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
|
|
<Evil10> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
|
|
<Evil8> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
|
|
-- snip XX lines --
|
|
<font color=brown>-server1.test.net:#test *** Channel msg/noticeflood detected (limit is 50 per 15 seconds), putting +m</font>
|
|
<font color=green>*** server1.test.net sets mode: +m</font>
|
|
<font color=green>*** Evil1 is now known as Hmmm1</font>
|
|
<font color=green>*** Evil2 is now known as Hmmm2</font>
|
|
<font color=green>*** Evil3 is now known as Hmmm3</font>
|
|
<font color=green>*** Evil4 is now known as Hmmm4</font>
|
|
<font color=green>*** Evil5 is now known as Hmmm5</font>
|
|
<font color=green>*** Evil6 is now known as Hmmm6</font>
|
|
<font color=green>*** Evil7 is now known as Hmmm7</font>
|
|
<font color=green>*** Evil8 is now known as Hmmm8</font>
|
|
<font color=brown>-server1.test.net:#test *** Channel nickflood detected (limit is 7 per 15 seconds), putting +N</font>
|
|
<font color=green>*** server1.test.net sets mode: +N</font>
|
|
</pre>
|
|
|
|
Het kan zelfs nog geavanceerder/complexer:<br>
|
|
In plaats van de standaard actie kun je voor sommige floodtypes nog een andere actie instellen, bijvoorbeeld: <i>+f [20j#R,50m#M]:15</i><br>
|
|
Dit zal het kanaal op +R zetten wanneer het joinlimiet is overschreden (>20 joins in 15 seconden),
|
|
en zal het kanaal op +M zetten wanneer het berichtlimiet is overschreven (>50 messages in 15 seconden).<br>
|
|
<br>
|
|
Er is ook een "verwijder modus na x minuten" mogelijkheid: <i>+f [20j#R5]:15</i> zal het kenaal +R zetten wanneer het
|
|
limiet bereikt is, en zal het weer -R zetten na 5 minuten.<br>
|
|
Een server kan een standaard unsettime hebben (set::modef-default-unsettime), dus wanneer je <i>+f [20j]:15</i> gebruikt
|
|
kan het veranderen in <i>+f [20j#i10]:15</i>, het is gewoon een standaard waarde. Je kan nog altijd [20j#i2]:15 of iets anders
|
|
gebruiken. Je kan zelfs de standaard waarde niet gebruiken, door +f [20j#i0]:15 (een expliciete 0) te gebruiken.
|
|
<br>
|
|
De oude +f modus (msgflood per gebruiker) is nog steeds beschikbaar als 't', +f 10:6 is nu +f [10t]:6 en
|
|
+f *20:10 is nu +f [20t#b]:10. Op dit moment zal de ircd automatisch de oude +f modi typen converteren naar
|
|
de nieuwe.
|
|
Let op dat er geen unsettime is voor 't' bans ([20t#b30]:15 werkt niet).<br>
|
|
<br>
|
|
Welke +f modus het beste te gebruiken is, hangt af van het kanaal... Hoeveel gebruikers zijn er? Heb je een spel dat
|
|
de gebruikers veel berichten laat zenden (bv Trivia)? Of gebruiken mensen vaak popups? Is het een standaard kanaal, of
|
|
joint iedereen automatisch? etc..<br>
|
|
Er is geen perfecte kanaalmodus +f dat goed is voor alle kanalen, maar het helpt wanneer je naar het volgende voorbeeld
|
|
kijkt en het aanpast naar je eigen smaak:<br>
|
|
+f [30j#i10,40m#m10,7c#C15,10n#N15,30k#K10]:15<br>
|
|
30 joins per 15 seconden, wanneer het limiet overschreden wordt, zet +i gedurende 10 minuten<br>
|
|
40 berichten per 15 seconden, wanneer het limiet overschreven wordt, zet +m gedurende 10 minuten<br>
|
|
7 ctcps per 15 seconden, wanneer het limiet overschreven wordt, zet +C gedurende 15 minuten<br>
|
|
10 naamsveranderingen per 15 secondsen, wanneer het limiet overschreden wordt, zet +N gedurende 15 minuten<br>
|
|
30 knocks per 15 seconden, wanneer het limiet overschreven wordt, zet +K gedurende 10 minuten<br>
|
|
Wanneer het een groter kanaal betrefd (> 75 gebruikers?), wil je wellicht het join limiet (bijv. naar 50) en het
|
|
berichtlimiet (bijv naar 60 of 75) verhogen.<br>
|
|
Met name de verwijder-modus tijd zijn een kwestie van eigen smaak.. Je moet je bedenken.. Wat als er geen op aanwezig
|
|
is om te handelen in de situatie, wil ik dan dat het kanaal voor 15 minuten op slot gaat (wat niet leuk is voor de
|
|
gebruikers), of voor 5 minuten (wellicht wachten de flooders dan gewoon 5 minuten en starten ze weer). Het ligt ook aan
|
|
het floodtype, gebruikers die niet kunnen joinen (+i) of niet kunnen spreken (+m) is erger dan dat ze hun naam niet kunnen
|
|
veranderen (+N) of dat ze geen CTCPs naar het kanaal kunnen zenden (+C). Dus wellicht wil je verschillende verwijder-tijden
|
|
gebruiken.<br>
|
|
<b>Kanaal modus j</b><br>
|
|
De modus +f gaat join floods tegen, maar deze mogelijkheid is "global". Bijvoorbeeld, wanneer het gezet is op 5:10
|
|
en 5 <u>verschillende</u> gebruikers joinen in 10 seconden, wordt de flood protectie geactiveerd. Kanaal modus +j
|
|
is anders. Deze werkt per gebruiker. In plaats van het beschermen tegen join floods, is het ontworpen om te
|
|
beschermen tegen join-part floods ("draaideur floods"). De modus accepteert een parameter in de vorm van X:Y, waar
|
|
X het aantal joins is, en Y het aantal seconden. Wanneer een gebruiker dit limiet overschrijdt, wordt hem/haar
|
|
het onmogelijk gemaakt het kanaal opnieuw te joinnen.
|
|
</p></div>
|
|
|
|
|
|
<p><font size="+2"><b>3.13 - Ban types</b></font><a name="feature_bantypes"></a></p><div class="desc">
|
|
<p>
|
|
<b>Basis bantypes en cloaked hosts</b><br>
|
|
UnrealIRCd ondersteunt de basis bantypes, zoals <i>+b nick!user@host</i>.<br>
|
|
Tevens, wanneer de host van iemand 'rox-ACB17294.isp.com' is, kun je een ban plaatsen op *!*@rox-ACB17294.isp.com.
|
|
Wanneer de gebruiker zichzelf -x zet (en zijn host bijvoorbeeld dial-123.isp.com wordt), dan is de gezette
|
|
ban nog steeds effectief. Bans worden altijd gecontroleerd op echte host EN cloaked host.<br>
|
|
Ook IP bans zijn mogelijk (bijv: *!*@128.*) en worden ook altijd gecontroleerd.<br>
|
|
<br>
|
|
Bans op cloaked IPs hebben wat uitleg nodig:<br>
|
|
Wanneer een gebruiker het IP 1.2.3.4 heeft, zijn cloaked host zou 341C6CEC.8FC6128B.303AEBC6.IP kunnen zijn.<br>
|
|
Wanneer je *!*@341C6CEC.8FC6128B.303AEBC6.IP banned, ban je in feite *!*@1.2.3.4 (vanzelfsprekend...)<br>
|
|
Wanneer je *!*@*.8FC6128B.303AEBC6.IP banned, ban je *!*@1.2.3.*<br>
|
|
Wanneer je *!*@*.303AEBC6.IP banned, ban je *!*@1.2.*<br>
|
|
Deze informatie is wellicht hulpzaam wanneer je wilt bepalen hoe ver een ban moet gaan.<br>
|
|
<br>
|
|
<b>Uitgebreide bantypes</b><br>
|
|
Uitgebreide bans zien eruit als ~[!]<type>:<stuff>. Op dit moment zijn de volgende mogelijkheden bescikbaar:<br>
|
|
<table border=1>
|
|
<tr><td>type:</td><td>naam</td><td>uitleg:</td></tr>
|
|
<tr><td>~q</td><td>stilte</td><td>Mensen die voldoen aan deze ban kunnen het kanaal joinen, maar kunnen niet spreken, tenzij ze +v of hoger hebben.
|
|
<i>Bijv: ~q:*!*@blah.blah.com</i></td></tr>
|
|
<tr><td>~n</td><td>naamsverandering</td><td>Mensen die voldoen aan deze ban kunnen hun naam niet veranderen, tenzij ze +v of hoger hebben.
|
|
<i>Bijv: ~n:*!*@*.aol.com</i></td></tr>
|
|
<tr><td>~c</td><td>[prefix]kanaal</td><td>Wanneer de gebruiker in het betreffende kanaal zit, kan hij/zij niet joinen.
|
|
Een voorvoegsel kan tevens gebruikt worden (+/%/@/&/~) wat erop neer komt dat wanneer de gebruiker bepaalde rechten (of hoger) in
|
|
het kanaal heeft, hij/zij niet kan joinen
|
|
<i>Bijv: +b ~c:#lamers, +e ~c:@#trusted </i></td></tr>
|
|
<tr><td>~r</td><td>echte naam</td><td>Wanneer de echte naam van de gebruiker hieraan voldoet, kan hij/zij niet joinen.<br>
|
|
<i>Bijv: ~r:*Stupid_bot_script*</i><br>
|
|
Opmerking: een underscore ('_') geldt voor een spatie (' ') en een underscore ('_'), dus deze ban werkt tevens als
|
|
'Stupid bot script v1.4'.</td></tr>
|
|
</table>
|
|
Deze bantypes worden ook ondersteund in de kanaal exceptie lijst (+e).<br>
|
|
Modules kunnen ook andere uitgebreide ban types toevoegen.<br>
|
|
</p></div>
|
|
|
|
<p><font size="+2"><b>3.14 - Spamfilter</b></font><a name="feature_spamfilter"></a></p><div class="desc">
|
|
<p>Spamfilter is een nieuw systeem om tegen spam, adverteren, worms en andere dingen te vechten. Het werkt
|
|
ongeveer zoals het "badword" systeem, maar met enkele voordelen.</p>
|
|
<p>Spamfilters worden toegevoegd door het /spamfilter commando, wat de volgende syntax gebruikt:<br>
|
|
<b>/spamfilter [add|del|remove|+|-] [type] [action] [tkltime] [reason] [regex]</b><br>
|
|
<table border=0>
|
|
<tr valign="top"><td><b>[type]</b></td><td>Specificeert het doel type:<br>
|
|
<table>
|
|
<tr><td><b>Teken:</b></td><td><b>Heeft nut op:</b></td><td><b>Beschrijving:</b></td></tr>
|
|
<tr><td>c</td><td>kanaal</td><td>Kanaal bericht</td></tr>
|
|
<tr><td>p</td><td>prive</td><td>Prive bericht (user->user)</td></tr>
|
|
<tr><td>n</td><td>prive-notice</td><td>Prive notice</td></tr>
|
|
<tr><td>N</td><td>kanaal-notice</td><td>Kanaal notice</td></tr>
|
|
<tr><td>P</td><td>part</td><td>Part reden</td></tr>
|
|
<tr><td>q</td><td>quit</td><td>Quit reden</td></tr>
|
|
<tr><td>d</td><td>dcc</td><td>DCC bestandsnaam</td></tr>
|
|
<tr><td>a</td><td>away</td><td>Away bericht</td></tr>
|
|
<tr><td>t</td><td>topic</td><td>Een topic instellen</td></tr>
|
|
<tr><td>u</td><td>gebruiker</td><td>gebruikersban ban, zal gecontroleerd worden tegen nick!user@host:realname</td></tr>
|
|
</table>
|
|
Je kan meerdere doelen opgeven, zoals: cpNn</td></tr>
|
|
<tr valign="top"><td><b>[action]</b></td><td>Specificeert de te ondernemen actie (slechts 1 action is mogelijk)<br>
|
|
<table>
|
|
<tr><td>kill</td><td>killt de gebruiker</td></tr>
|
|
<tr><td>tempshun</td><td>shuns de huidige sessie van de gebruiker (wanneer hij/zij opnieuw verbindt, is de shun weg)</td></tr>
|
|
<tr><td>shun</td><td>zet een shun op de host</td></tr>
|
|
<tr><td>kline</td><td>zet een kline op de host</td></tr>
|
|
<tr><td>gline</td><td>zet een gline op de host</td></tr>
|
|
<tr><td>zline</td><td>zet een zline op de host</td></tr>
|
|
<tr><td>gzline</td><td>zet een gzline (global zline) op de host</td></tr>
|
|
<tr><td>block</td><td>blokkeer het bericht enkel</td></tr>
|
|
<tr><td>dccblock</td><td>markeer de gebruiker zodat hij/zij geen DCCs kan verzenden</td></tr>
|
|
<tr valign="top"><td>viruschan</td><td>part alle kanalen, join set::spamfilter::virus-help-channel, maak alle commando's behalve
|
|
PONG, ADMIN en berichten/notices gericht aan set::spamfilter::virus-help-channel onbruikbaar</td></tr>
|
|
</table></tr></td>
|
|
<tr valign="top"><td><b>[tkltime]</b></td><td> De duur van een *line/shun toegevoegd door het filter, gebruik '-' om de standaardwaarde
|
|
te gebruiken (bijv: wanneer action = 'block')</td></tr>
|
|
<tr valign="top"><td><b>[reason]</b></td><td> Block/*line/shun reden.. Je kunt GEEN spaties hierin gebruiken, maar een underscore ('_') zal een spatie
|
|
worden zodra het uitgevoerd wordt. Een dubbele underscore ('__') zal een underscore ('_') worden. Weer, gebruik '-' voor de standaard reden.</td></tr>
|
|
<tr valign="top"><td><b>[regex]</b></td><td>Dit is de echte regex of "bad word" waarop we actie willen ondernemen</td></tr>
|
|
</table>
|
|
<br>
|
|
Hier is een voorbeeld: <i>/spamfilter add pc gline - - Come watch me on my webcam</i><br>
|
|
Wanneer de tekst<i>come watch me on my webcam</i> gevonden wordt in of een prive bericht, of een kanaal bericht,
|
|
wordt deze geblokkeerd en een gline zal meteen gezet worden.<br>
|
|
Nog een voorbeeld: <i>/spamfilter add pc block - - come to irc\..+\..+</i><br>
|
|
Dit is een regex dat voldoet aan <i>Hi, come to irc.blah.net</i> etc...<br>
|
|
Nu een voorbeeld met een gespecificeerde tijd/reden:<br>
|
|
<i>/spamfilter add p gline 3h Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam</i><br>
|
|
Wanner <i>come watch me on my webcam</i> gevonden wordt in een prive bericht, zal de gebruiker voor 3 uur een
|
|
gline krijgen met de reden <i>Please go to www.viruscan.xx/nicepage/virus=blah</i>.<br>
|
|
<br>
|
|
Spamfilters toegevoerd met behulp van /spamfilter gelden op het gehele netwerk. Ze werken altijd, of een
|
|
gebruiker of kanaal nu modus +G heeft of niet. Alleen opers en U:Lines (Services) vormen een uitzondering.
|
|
</p>
|
|
<p>Je kan ook spamfilters in het configuratiebestand toevoegen, maar deze werken alleen lokaal (niet over het
|
|
gehele netwerk, hoewel je hiervoor remote includes ("van afstand ingeladen") kunt gebruiken).
|
|
De syntax van deze spamfilter { } blokken worden <a href="#spamfilter">hier</a> uitgelegd<br>
|
|
Voorbeeld:
|
|
<pre>spamfilter {
|
|
regex "//write \$decode\(.+\|.+load -rs";
|
|
target { private; channel; };
|
|
reason "Generic $decode exploit";
|
|
action block;
|
|
};</pre></p>
|
|
|
|
<p><b>set::spamfilter::ban-time</b> geeft je de mogelijkheid om de standaardtijd voor *lines/shuns aan te passen (standaard: 1 day)<br>
|
|
<b>set::spamfilter::ban-reason</b> geeft je de mogelijkheid een standaardreden op te geven (standaard: 'Spam/advertising')<br>
|
|
<b>set::spamfilter::virus-help-channel</b> geeft je de mogelijkheid een kanaal te specificeren dat gejoined wordt door 'viruschan' (standaard: #help)<br>
|
|
<b>set::spamfilter::virus-help-channel-deny</b> geeft je de mogelijkheid om normale joins in virus-help-channel te blokkeren (standaard: no)<br>
|
|
</p></div>
|
|
|
|
<p><font size="+2"><b>3.15 - CIDR</b></font><a name="feature_cidr"></a></p><div class="desc">
|
|
<p>UnrealIRCD geeft je nu ook de mogelijkheid om IP reeksen te bannen, door middel van CIDR
|
|
(Classess Interdomain Routing). IPs worden door ISPs uitgedeeld door middel van CIRD. Dit geeft
|
|
je de mogelijkheid om heel makkelijk een ISP te bannen. CIDR wordt ondersteund voor zowel IPv4
|
|
als IPv6. CIDR masks zijn toegestaan in allow::ip, ban user::mask, ban ip::mask, except ban::mask
|
|
except throttle::mask, en except tkl::mask (for gzline, gline en shun). Tevens kan CIDR gebruikt
|
|
worden met /kline, /gline, /zline, /gzline en shun. UnrealIRCd gebruikt de standaard syntax van
|
|
IP/bits, zoals 127.0.0.0/8 (komt overeen met 127.0.0.0 - 127.255.255.255), en fe80:0:0:123::/64
|
|
(komt overeen met fe80:0:0:123:0:0:0:0 - fe80:0:0:123:ffff:ffff:ffff:ffff).</p></div>
|
|
|
|
<p><font size="+2"><b>3.16 - Nick Character Sets</b></font><a name="feature_nickchars"></a></p><div class="desc">
|
|
<p>UnrealIRCd geeft je nu ook de mogelijkheid om te specificeren welke charsets/talen gebruikt morgen
|
|
worden in namen. Dit doe je door middel van <b>set::allowed-nickchars</b>.<br>
|
|
|
|
Een tabel met alle mogelijke keuzes:<br>
|
|
<table border="1">
|
|
<tr><td><b>Naam:</b></td><td><b>Beschrijving:</b></td><td><b>Character set/encoding:</b></td></tr>
|
|
<tr><td>catalan</td><td>Catalaanse letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>danish</td><td>Deense letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>dutch</td><td>Nederlandse letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>french</td><td>Franse letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>german</td><td>Duitse letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>swiss-german</td><td>Zweeds-Duitse letters (geen es-zett)</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>icelandic</td><td>IJslandse letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>italian</td><td>Italiaanse letters/td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>spanish</td><td>Spaanse letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>swedish</td><td>Zweedse letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td><b>latin1</b></td><td>Catalaanse, Deense, Nederlandse, Franse, Duitse, Zweeds-Duitse, Spaanse, IJslandse, Italiaanse en Zweedse letters</td><td>iso8859-1 (latin1)</td></tr>
|
|
<tr><td>hungarian</td><td>Hongaarse letters</td><td>iso8859-2 (latin2), windows-1250</td></tr>
|
|
<tr><td>polish</td><td>Poolse letters</td><td>iso8859-2 (latin2)</td></tr>
|
|
<tr><td>romanian</td><td>Roemeense letters</td><td>iso8859-2 (latin2), windows-1250, iso8859-16</td></tr>
|
|
<tr><td><b>latin2</b></td><td>Hongaarse, Poolse en Roemeense</td><td>iso8859-2 (latin2)</td></tr>
|
|
<tr><td>polish-w1250</td><td>Poolse letters, Windows variant (helaas meer voorkomend dan iso)</td><td>windows-1250</td></tr>
|
|
<tr><td>slovak-w1250</td><td>Slowaakse letters, Windows variant</td><td>windows-1250</td></tr>
|
|
<tr><td>czech-w1250</td><td>Tsjechisch characters, Windows variant</td><td>windows-1250</td></tr>
|
|
<tr><td><b>windows-1250</b></td><td>polish-w1250, slovak-w1250, czech-w1250, Hongaars, Roemeens</td><td>windows-1250</td></tr>
|
|
<tr><td>greek</td><td>Griekse letters</td><td>iso8859-7</td></tr>
|
|
<tr><td>turkish</td><td>Turkse letters</td><td>iso8859-9</td></tr>
|
|
<tr><td>russian-w1251</td><td>Russische letters</td><td>windows-1251</td></tr>
|
|
<tr><td>belarussian-w1251</td><td>Wit-Russische letters</td><td>windows-1251</td></tr>
|
|
<tr><td>ukrainian-w1251</td><td>Oekrainse letters</td><td>windows-1251</td></tr>
|
|
<tr><td><b>windows-1251</b></td><td>russian-w1251, belarussian-w1251, ukrainian-w1251</td><td>windows-1251</td></tr>
|
|
<tr><td>hebrew</td><td>Hebreeuwse letters</td><td>iso8859-8-I/windows-1255</td></tr>
|
|
<tr><td>chinese-simp</td><td>Vereenvoudigd Chinees</td><td>Multibyte: GBK/GB2312</td></tr>
|
|
<tr><td>chinese-trad</td><td>Traditioneel Chinees</td><td>Multibyte: GBK</td></tr>
|
|
<tr><td>chinese-ja</td><td>Japans Hiragana/Pinyin</td><td>Multibyte: GBK</td></tr>
|
|
<tr><td><b>chinese</b></td><td>Chinese-*</td><td>Multibyte: GBK</td></tr>
|
|
<tr><td><b>gbk</b></td><td>Chinese-*</td><td>Multibyte: GBK</td></tr>
|
|
</table>
|
|
<p>Opmerking 1: Let op dat het combineren voor problemen kan zorgen. Bijvoorbeeld het mengen van
|
|
latin* en chinese-* kan niet goed afgehandeld worden door de IRCd en Unreal zal dan ook een error geven.
|
|
Het door elkaar gebruiken van andere charsets kan voor problemen worden. UnrealIRCd zal hierom een
|
|
waarschuwing weergeven wanneer je latin1/latin2/greek/en andere tegenstelde charsets wilt gebruiken.</p>
|
|
<p>Opmerking 2: Het herkennen van kleine en grote letters wordt gedaan volgens het US-ASCII systeem. Dit
|
|
Betekent dat o" en O" niet als dezelfde letter herkend wordt. Daarom kan iemand de naam B"ar hebben, en
|
|
iemand anders de naam BA"r. Dit is een limitatie van het huidige systeem, en kan op dit moment niet
|
|
opgelost worden. Let hier goed op.
|
|
Merk op dat deze limitatie altijd al geeft gegolden voor de namen van kanalen, waarin bijna alle letters
|
|
zijn toegestaan en US-ASCII altijd is uitgevoerd.</p>
|
|
<p>Opmerking 3: De basis letters (a-z A-Z 0-9 [ \ ] ^ _ - { | }) zijn altijd toegestaan.</p>
|
|
Voorbeeld 1, voor mensen uit West-Europa:<br>
|
|
<pre>set { allowed-nickchars { latin1; }; };</pre>
|
|
Voorbeeld 2, voor wanneer je voornamelijk Chinese gebruikers hebt, en de "normale" chinese letters wil toestaan:<br>
|
|
<pre>set { allowed-nickchars { chinese-simp; chinese-trad; }; };</pre>
|
|
</p></div>
|
|
|
|
<p><font size="+2"><b>3.17 - CGI:IRC ondersteuning</b></font><a name="feature_cgiirc"></a></p><div class="desc">
|
|
<p>UnrealIRCd ondersteunt voor CGI:IRC host spoofing, wat inhoudt dat je bepaalde CGI:IRC
|
|
gateways als "trusted" kan bestempelen, zodat de IRCd overal de echte host/ip van de gebruiker
|
|
laat zien, in plaats van de CGI:IRC gateway.</p>
|
|
<p>Zie het <a href="#cgiirc">cgiirc block</a> voor informatie over het configureren</p>
|
|
</div>
|
|
|
|
<p><font size="+2"><b>3.18 - Tijd Synchronisatie</b></font><a name="feature_timesync"></a></p><div class="desc">
|
|
<p>Heb hebben van de juiste tijd is enorm belangrijk voor IRC servers. Zonder de correcte tijd kunnen channels desynchen,
|
|
ongeschuldige gebruikers gekilled worden, channels komen niet goed in /LIST, samengevat: grote problemen ontstaan.</p>
|
|
<p>UnrealIRCd heeft een ingebouwde tijd synchronisatie ondersteuning.
|
|
Hoewel deze niet optimaal is (kan nog enkele seconden speling zijn), lost het de meeste tijd-gerelateerde problemen op.
|
|
Als het mogelijk is, wordt je nog steeds aangeraden een tijdsynchronisatie programma te gebruiken zoals ntpd op *UNIX of
|
|
de tijdsynchronisatie service van Windows (in dat geval kun je Unreals tijdsynchronisatie uitzetten, meer volgt later).</p>
|
|
<p>Wat UnrealIRCd probeert (standaard) is het eenmaling instellen van de tijd wanneer ze gestart wordt. Ze stuurt (standaard)
|
|
een verzoek naar verschillende tijdservers en wanneer ze het eerste (snelste) antwoord ontvangt, past ze de interne IRCd clock
|
|
aan (NIET de systeem clock). Als, voor welke reden dan ook, Unreal geen antwoord krijgt van de tijdserver binnen 3 seconden, start
|
|
ze gewoon op zonder tijdsaanpassing (zal vrijwel nooit gebeuren).</p>
|
|
<p>Tijd synchronisatie wordt ingesteld (en kan uitgezet worden) door het <b>set::timesynch</b> block, zie de
|
|
<a href="#setblock">set documentatie</a> voor meer informatie.</p>
|
|
</div>
|
|
|
|
<p><font size="+2"><b>3.19 - Andere mogelijkheden</b></font><a name="feature_other"></a></p><div class="desc">
|
|
<p>UnrealIRCd heeft heel veel mogelijkheden, dus niet alles staat beschreven hier... Je vindt het vanzelf wel.</p></div>
|
|
|
|
<p> </p>
|
|
<p><font size="+2"><b>4.0 - Aanpassen van je unrealircd.conf</b></font>
|
|
<a name="configuringyourunrealircdconf"></a></p><div class="desc">
|
|
<p>
|
|
Ten eerste, het maken van je eerste unrealircd.conf kost tijd (zeg 15 tot 60 minuten). Het
|
|
maken van een <u>goede</u> kost nog meer tijd. Haast je niet om je IRCd online te krijgen,
|
|
maar doe alles stap voor stap. Wanneer je tegen problemen aanloopt, controleer je syntax,
|
|
controleer deze handleiding en de <a href="http://www.vulnscan.org/UnrealIRCd/faq/">FAQ</a>
|
|
voordat je hulp zoekt of een bug meldt.</p></div>
|
|
|
|
<p><b><font size="+2">4.1 Configuratie bestand uitgelegd</font></b><a name="configurationfileexplained"></a><br><div class="desc">
|
|
</p>
|
|
<p>Het nieuwe systeem gebruikt een indeling op basis van blokken. Elke invoer, of blok, heeft een nieuw
|
|
en specifiek format. Hieronder een voorbeeld:</p>
|
|
<pre>
|
|
<block-name> <block-value> {
|
|
<block-directive> <directive-value>;
|
|
};
|
|
</pre></p>
|
|
|
|
|
|
<p><block-name> staat voor het type blok, zoals me of admin. <block-value> heeft soms een waarde,
|
|
zoals bij een /oper login. Andere keren is het een onderverdeling, zoals in ban user</p>
|
|
|
|
<p><block-directive> is een individuele, specifieke variabele voor het blok, en
|
|
<directive-value> is de bijhorende waarde. Wanneer <directive-value>
|
|
spaties, of tekens die een opmerking voorstellen, bevat, moet het tussen aanhalingstekens
|
|
(" en ") geplaatst worden. Wanneer je een (") wil gebruiken binnen de string, gebruik dan
|
|
(\").</p>
|
|
|
|
|
|
<p> Een <block-directive> kan verschillende waardes in zich hebben. Wanneer dat zo is,
|
|
zullen deze waardes tussen accolades geplaatst worden. Sommige blokken hebben geen waardes,
|
|
en worden alleen gevolgd door <block-value>, bijvoorbeeld een include.
|
|
Merk ook op dat er geen vaste indeling is, een blok kan op 1 regel of over verschillende
|
|
regels verdeeld worden. De indeling hierboven is het meest gebruikelijk (en overzichtelijk).</p>
|
|
|
|
<p>Opmerking: het configuratiebestand is op dit moment hoofdlettergevoelig, dus <i>BLOCK-NAME</i>
|
|
is niet hetzelfde als <i>block-name</i>. Er is een speciale manier om aan te duiden hoe iets
|
|
gebruikt moet worden in het configuratiebestand. In het bovenstaande voorbeeld zeg je
|
|
bijvoorbeeld <block-name>::<block-directive>. Wanneer er nog een waarde bij
|
|
hoort, voeg je gewoon nog een :: en de naam van de waarde toe.</p>
|
|
|
|
|
|
<p>Wanneer je spreekt over een waarde zonder naam, doe je <block-name>::. Dit betekent
|
|
in dit geval <block-value>, of het is een waarde die geen naam heeft.</p>
|
|
<p>Drie soorten commentaren worden ondersteund:</p>
|
|
<p> # Een-lijns commentaar<br>
|
|
// Een-lijnscommentaar<br>
|
|
/* Meerdere lijnen<br>
|
|
commentaar */<br>
|
|
</p>
|
|
<p>Nu je weet hoe het werkt, kopieer <i>doc/example.conf</i> naar je UnrealIRCd map (bv:
|
|
/home/user/Unreal3.2) en hernoem het naar <i>unrealircd.conf</i> (OF je maakt een compleet
|
|
nieuwe <i>unrealircd.conf</i>).
|
|
Het wordt ten zeerste aangeraden om stap voor stap alle blocken door te werken en de
|
|
instellingen in je conf. Gebruik deze handleiding als leidraad.</p>
|
|
<p></p></div>
|
|
|
|
<p><font class="block_section">4.2 - </font><font class="block_name">Me Block</font>
|
|
<font class="block_required">BENODIGD</font> <font class="block_old">(Dit was de M:Line)</font><a name="meblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
me {
|
|
name <name-of-server>;
|
|
info <server-description>;
|
|
numeric <server-numeric>;
|
|
};
|
|
</pre></p>
|
|
<p>De waardes zijn nogal duidelijk. De <b>naam</b> staat voor de naam van de server,
|
|
<b>info</b> staat voor de informatie lijn van de server, <b>numeric</b> staat voor
|
|
de numerieke representatie van de server. Dit moet een waarde tussen 0 en 254 zijn,
|
|
die UNIEK is. Dit betekent dat geen enkele server in je netwerk dezelfde numeric mag hebben.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
me {
|
|
name "irc.foonet.com";
|
|
info "FooNet Server";
|
|
numeric 1;
|
|
};
|
|
</pre></p></div>
|
|
<p></p>
|
|
<p><font class="block_section">4.3 - </font><font class="block_name">Admin Block</font>
|
|
<font class="block_required">BENODIGD</font> <font class="block_old">(Dit was de A:Line)</font><a name="adminblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
admin {
|
|
<text-line>;
|
|
<text-line>;
|
|
};
|
|
</pre></p>
|
|
<p> </p>
|
|
<p>Het admin blok vormt de tekst afgebeeld in een /admin commando. Je kan zoveel
|
|
regels opgeven als je wilt, en ze kunnen bevatten wat je wilt. Het is echter
|
|
standaard om de naam en het email adres van de admin als minimun te gebruiken.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
admin {
|
|
"Bob Smith";
|
|
"bob";
|
|
"widely@used.name";
|
|
};
|
|
</pre></p></div>
|
|
<p></p>
|
|
<p><font class="block_section">4.4 - </font><font class="block_name">Class Block</font>
|
|
<font class="block_required">BENODIGD</font> <font class="block_old">(Dit was de Y:Line)</font><a name="classblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
class <name> {
|
|
pingfreq <ping-frequency>;
|
|
connfreq <connect-frequency>;
|
|
maxclients <maximum-clients>;
|
|
sendq <send-queue>;
|
|
recvq <recv-queue>;
|
|
};
|
|
</pre></p>
|
|
<p> </p>
|
|
<p>Class blokken zijn klassen waarin connections geplaatst worden (bijvoorbeeld vanuit allow blocks, of servers
|
|
vanuit link blocks). Normaal gesproken heb je meerdere class blocks (bijv: voor servers, gebruikers en opers).</p>
|
|
<p><b>name</b> is de naam van de class, bijvoorbeeld "clients" of "servers". Deze naam wordt gebruikt om deze class aan te duiden
|
|
in allow/link/oper/etc blocks.</p>
|
|
|
|
<p><b>pingfreq</b> is het aantal seconden tussen PINGs van de server (een waarde tussen 90 en 180 wordt aangeraden).</p>
|
|
<p><b>connfreq</b> wordt alleen gebruikt voor servers en is het aantal seconden tussen het proberen te verbinden, wanneer autoconnect aan staat.</p>
|
|
<p><b>maxclients</b> stelt het maximale (totale) aantal van clients/servers in deze class in.</p>
|
|
<p><b>sendq</b> stelt de grootte van data dat in de send queue mag zijn (zeer hoog voor servers met lage bandwidth, gemiddeld voor gebruikers).</p>
|
|
<p><b>recvq</b> stelt de grootte van data dat in de receive queue mag zijn en wordt gebruikt voor flood-controle
|
|
(alleen van toepassing op gewone gebruikers, probeer waardes tussen 3000 en 8000. 8000 is de standaardwaarde).</p>
|
|
|
|
<p>Voorbeelden:<br>
|
|
<pre>
|
|
class clients {
|
|
pingfreq 90;
|
|
maxclients 500;
|
|
sendq 100000;
|
|
recvq 8000;
|
|
};
|
|
|
|
class servers{
|
|
pingfreq 90;
|
|
maxclients 10; /* Maximaal aantal servers dat we tegelijk gelinkt kunnnen hebben */
|
|
sendq 1000000;
|
|
connfreq 100; /* Hoeveel seconden tussen elke poging om een verbinding te maken */
|
|
};
|
|
</pre></p>
|
|
<p> </p></div>
|
|
<p><font class="block_section">4.5 - </font><font class="block_name">Allow Block</font>
|
|
<font class="block_required">BENODIGD</font> <font class="block_old">(Dit was de I:Line)</font><a name="allowblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
allow {
|
|
ip <user@ip-connection-mask>;
|
|
hostname <user@host-connection-mask>;
|
|
class <connection-class>;
|
|
password <connection-password> { <auth-type>; };
|
|
maxperip <max-connections-per-ip>;
|
|
redirect-server <server-to-forward-to>;
|
|
redirect-port <port-to-forward-to>;
|
|
options {
|
|
<option>;
|
|
<option>;
|
|
...
|
|
};
|
|
};
|
|
</pre></p>
|
|
<p>Door middel van een allow class geef je aan wie er allemaal een connectie mag maken met je server. Je mag meerdere allow blocks hebben.</p>
|
|
<p><b>Matches</b><br>
|
|
De toegangscontrole werkt als volgt: ip komt OF host komt overeen, dus "hostname *@*"; en "ip *@1.2.3.4" betekent
|
|
dat er altijd een overeenkomst is. Tevens worden de allow blocks van boven naar beneden gelezen, dus je moet de
|
|
specifieke host/IP allow blocks NA je algemene *@* allow block plaatsen. Wanneer je een allow block wilt dat alleen
|
|
werkt met een overeenkomstig IP, stel hostname dan in als iets ongeldigs zoals "hostname NOBODY;".</p>
|
|
<p><b>ip</b><br>
|
|
De vorm van de IP mask is user@ip. User is de ident, meestal wordt * gebruikt. IP is de IPmask.
|
|
Enkele voorbeelden: *@* (iedereen), *@192.168.* (alleen vanaf IPs startende met 192.168), etc.</p>
|
|
|
|
<p><b>host</b><br>
|
|
Ook weer een user@host mask. Voor user wordt meestal * gebruikt. Enkele voorbeelden:
|
|
*@* (iedereen), *@*.planet.nl (alleen vanaf planet.nl).</p>
|
|
|
|
<p><b>password</b> (optioneel)<br>
|
|
Er is een wachtwoord nodig om een verbinding te maken. Je kan ook een wachtwoord
|
|
met encryptie gebruiken.
|
|
</p>
|
|
<p><b>class</b><br>
|
|
De naam van de class waarin de connectie thuis hoort.
|
|
</p>
|
|
<p><b>maxperip</b> (optioneel, maar wordt aangeraden)<br>
|
|
Je kunt een maximaal aantal connecties per IP instellen (bijv. maxperip 4;)
|
|
</p>
|
|
<p><b>redirect-server</b> (optioneel)<br>
|
|
Wanneer de class vol is, worden de gebruikers naar deze server gestuurd (wanneer het programma het ondersteunt [mIRC 6+ does]).</p>
|
|
<p><b>redirect-port</b> (optioneel)<br>
|
|
Wanneer je een redirect-server hebt opgegeven, kun je ook een aparte poort opgeven. Wanneer je dit veld leeg laat, wordt poort 6667 genomen.</p>
|
|
<p><b>options block</b> (optional)<br>
|
|
geldige opties zijn::<br>
|
|
<b>useip</b> laat altijd het IP zien in plaats van de hostnaam<br>
|
|
<b>noident</b> gebruik geen ident maar gebruik de gebruikersnaam van de client<br>
|
|
<b>ssl</b> alleen geldig wanneer de gebruiker een connectie via SSL gebruikt<br>
|
|
<b>nopasscont</b> ga door met controle wanneer geen wachtwoord opgegeven is (zodat je gebruikers in speciale classes kan stoppen
|
|
wanneer ze wel een wachtwoord geven).
|
|
|
|
<p>Voorbeelden:<br>
|
|
<pre>
|
|
allow {
|
|
ip *;
|
|
hostname *;
|
|
class clients;
|
|
maxperip 5;
|
|
};
|
|
|
|
allow {
|
|
ip *@*;
|
|
hostname *@*.passworded.ugly.people;
|
|
class clients;
|
|
password "f00Ness";
|
|
maxperip 1;
|
|
};
|
|
</pre></p></div>
|
|
<p> </p>
|
|
<p><font class="block_section">4.6 - </font><font class="block_name">Listen Block</font>
|
|
<font class="block_required">BENODIGD</font> <font class="block_old">(Dit was de P:Line)</font><a name="listenblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
listen <ip:port> {
|
|
options {
|
|
<option>;
|
|
<option>;
|
|
...
|
|
};
|
|
};
|
|
</pre></p>
|
|
<p> </p>
|
|
<p>Dit blok geeft je de mogelijkheid in te stellen op welke poorten de IRCd moet luisteren.
|
|
Wanneer geen opties nodig zijn, hoef je geen andere waardes te gebruiken. Je kan dan gewoon
|
|
"listen <ip:port>;" gebruiken.</p>
|
|
<p><b>ip and port</b><br>
|
|
Je kan het IP instellen als *, zodat er op beschikbare IPs geluisterd wordt. Of je geeft 1 IP op (meestal nodig bij shell providers).
|
|
De poort is de poort waarop geluisterd moet worden. Je kan ook een poortreeks opgeven. Bijvoorbeeld 6660-6669 zal luisteren
|
|
op de poorten 6660 tot en met 6669. IPv6 gebruikers, zie lager.</p>
|
|
|
|
<p><b>Info for IPv6 users</b><br>
|
|
Wanneer je een server met IPv6 ondersteuning hebt, moet je het IP insluiten in haken.
|
|
zoals [::1]:66667 (luister op localhost op poort 6667). Wanneer je IPv6 gebruikt en
|
|
je wilt luisteren op een bepaald IPv4 address, moet je ::ffff:IPv4IP gebruiken.
|
|
Bijvoorbeeld: [::ffff:203.123.67.1]:6667. Dit zorgt ervoor dat je IRCd luistert op
|
|
203.123.67.1 op poort 6667. Natuurlijk kun je ook gewoon * gebruiken.</p>
|
|
|
|
<p><b>options block</b> (optional)<br>
|
|
Je kan ook speciale opties opgeven met betrekking tot de poort. Geldige opties zijn:<br>
|
|
<table border="0">
|
|
<TR><TD><center><b>clientsonly</b></center></TD><TD> poort kan alleen gebruikt worden door gebruikers</TD></TR>
|
|
<TR><TD><center><b>serversonly</b></center></TD><TD> poort kan alleen gebruikt worden door servers</TD></TR>
|
|
<TR><TD><center><b>java</b></center></TD><TD> CR javachat ondersteuning</TD></TR>
|
|
<TR><TD><center><b>ssl</b></center></TD><TD> SSL encrypted poort</TD></TR>
|
|
</table>
|
|
</p>
|
|
|
|
<p>Voorbeelden:</p>
|
|
<pre>
|
|
listen *:6601 {
|
|
options {
|
|
ssl;
|
|
clientsonly;
|
|
};
|
|
};
|
|
|
|
</pre></p>
|
|
<p>Of wanneer er geen opties zijn:</p>
|
|
<p>listen *:8067;<br>
|
|
listen 213.12.31.126:6667;<br>
|
|
listen *:6660-6669;</p></div>
|
|
|
|
<p><font class="block_section">4.7 - </font><font class="block_name">Oper Block</font>
|
|
<font class="block_recommended">AANBEVOLEN</font> <font class="block_old">(Dit was de O:Line)</font><a name="operblock"></a><div class="desc">
|
|
</p>
|
|
<p>
|
|
<pre>oper <name> {
|
|
from {
|
|
userhost <hostmask>;
|
|
userhost <hostmask>;
|
|
};
|
|
password <password> { <auth-type>; };
|
|
class <class-name>;
|
|
flags <flags>;
|
|
flags {
|
|
<flag>;
|
|
<flag>;
|
|
...
|
|
};
|
|
swhois <whois info>;
|
|
snomask <snomask>;
|
|
modes <modes>;
|
|
maxlogins <num>;
|
|
};
|
|
</pre></p>
|
|
<p>Het oper block geeft je de mogelijkheid om IRC Operators aan te duiden voor je server.
|
|
De <b>oper::</b> geeft de inlog naam voor /oper. De <b>oper::from::userhost</b> is een
|
|
user@host mask welke de gebruiker moet matchen. Je kan meerdere hostmasks opgeven door
|
|
meerdere opers::from::userhost toe te voegen. De <b>oper::password></b> is het wachtwoord
|
|
van de gebruiker. oper::password:: geeft je de mogelijkheid om een authenticatie-methode
|
|
op te geven voor het betreffende wachtwoord. Wanneer je een tekst-wachtwoord wilt
|
|
gebruiken, laat je oper::password:: weg.</p>
|
|
<p>Merk op dat zowel de loginnaam als het wachtwoord hoofdlettergevoelig zijn.</p>
|
|
<p><b>oper::class</b> zegt in welke class een oper zich bevindt. Deze class moet boven
|
|
het oper block zelf staan.</p>
|
|
<p><b>oper::flags</b> heeft 2 verschillende indelingen. Wanneer je de oude manier wilt
|
|
gebruiken, bijvoorbeeld OAa, gebruik je de flags <flags> methode. Wanneer je
|
|
de nieuwe manier wilt gebruiken, bijvoorbeeld services-admin, dan moet je de flags
|
|
{ <flag>; } methode gebruiken. Hieronder volgt een lijst met alle mogelijke
|
|
flags, in beide methodes, en wat ze doen.</p>
|
|
|
|
<table width="75%" border="1">
|
|
<tr>
|
|
<td width="10%"><div align="center"><b>Oude Flag</b></div></td>
|
|
<td width="16%"><div align="center"><b>Nieuwe Flag</b></div></td>
|
|
<td width="74%"><b>Beschrijving</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td height="24"><div align="center">o</div></td>
|
|
<td><div align="center">local</div></td>
|
|
<td>Maakt je een lokale Operator</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">O</div></td>
|
|
<td><div align="center">global</div></td>
|
|
<td>Maakt je een globale Operator</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">C</div></td>
|
|
<td><div align="center">coadmin</div></td>
|
|
<td>Maakt je een Co-Admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">A</div></td>
|
|
<td><div align="center">admin</div></td>
|
|
<td>Maakt je een Admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">a</div></td>
|
|
<td><div align="center">services-admin</div></td>
|
|
<td>Maakt je een Services Admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">N</div></td>
|
|
<td><div align="center">netadmin</div></td>
|
|
<td>Maakt je een Netwerk Admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">r</div></td>
|
|
<td><div align="center">can_rehash</div></td>
|
|
<td>Je mag /rehash gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">D</div></td>
|
|
<td><div align="center">can_die</div></td>
|
|
<td>Je mag /die gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">R</div></td>
|
|
<td><div align="center">can_restart</div></td>
|
|
<td>Je mag /restart gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">h</div></td>
|
|
<td><div align="center">helpop</div></td>
|
|
<td>Je krijgt de gebruikersmodus +h (Helpop)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">w</div></td>
|
|
<td><div align="center">can_wallops</div></td>
|
|
<td>Je kan een /wallops zenden</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">g</div></td>
|
|
<td><div align="center">can_globops</div></td>
|
|
<td>Je kan een /globops zenden</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">c</div></td>
|
|
<td><div align="center">can_localroute</div></td>
|
|
<td>Je kan lokale servers laten verbinden</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">L</div></td>
|
|
<td><div align="center">can_globalroute</div></td>
|
|
<td>Je kan globale servers laten verbinden</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">k</div></td>
|
|
<td><div align="center">can_localkill</div></td>
|
|
<td>Je kan een /kill uitoefenen op lokale gebruikers</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">K</div></td>
|
|
<td><div align="center">can_globalkill</div></td>
|
|
<td>Je kan een /kill uitoefenen op globale gebruikers</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">b</div></td>
|
|
<td><div align="center">can_kline</div></td>
|
|
<td>Je kan /kline gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">B</div></td>
|
|
<td><div align="center">can_unkline</div></td>
|
|
<td>Je kan /kline -user@host gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">n</div></td>
|
|
<td><div align="center">can_localnotice</div></td>
|
|
<td>Je kan lokale server berichten zenden</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">G</div></td>
|
|
<td><div align="center">can_globalnotice</div></td>
|
|
<td>Je kan globale server berichten zenden</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">z</div></td>
|
|
<td><div align="center">can_zline</div></td>
|
|
<td>Je kan /zline gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">t</div></td>
|
|
<td><div align="center">can_gkline</div></td>
|
|
<td>Je kan /gline, /shun en /spamfilter gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">Z</div></td>
|
|
<td><div align="center">can_gzline</div></td>
|
|
<td>Je kan /gzline gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">W</div></td>
|
|
<td><div align="center">get_umodew</div></td>
|
|
<td>Je krijgt gebruikersmodus +W wanneer je /oper doet</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">H</div></td>
|
|
<td><div align="center">get_host</div></td>
|
|
<td>Je krijgt de speciale oper host</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">v</div></td>
|
|
<td><div align="center">can_override</div></td>
|
|
<td>Je kan <a href="#operoverride">OperOverride</a> gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">q</div></td>
|
|
<td><div align="center">can_setq</div></td>
|
|
<td>Je kan gebruikersmodus +q gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">X</div></td>
|
|
<td><div align="center">can_addline</div></td>
|
|
<td>Je kan /addline gebruiken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">d</div></td>
|
|
<td><div align="center">can_dccdeny</div></td>
|
|
<td>Je kan /dccdeny en /undccdeny gebruiken</td>
|
|
</tr>
|
|
</table>
|
|
<p>Bepaalde flags geven je standaard ook andere flags:</p>
|
|
<table width="59%" border="1">
|
|
<tr>
|
|
<td width="19%"><b>local</b></td>
|
|
<td width="17%"><b>global</b></td>
|
|
<td width="19%"><b>admin/coadmin</b></td>
|
|
<td width="22%"><b>services-admin</b></td>
|
|
<td width="23%"><b>netadmin</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_rehash</td>
|
|
<td>can_rehash</td>
|
|
<td>can_rehash</td>
|
|
<td>can_rehash</td>
|
|
<td>can_rehash</td>
|
|
</tr>
|
|
<tr>
|
|
<td>helpop</td>
|
|
<td>helpop</td>
|
|
<td>helpop</td>
|
|
<td>helpop</td>
|
|
<td>helpop</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_globops</td>
|
|
<td>can_globops</td>
|
|
<td>can_globops</td>
|
|
<td>can_globops</td>
|
|
<td>can_globops</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_wallops</td>
|
|
<td>can_wallops</td>
|
|
<td>can_wallops</td>
|
|
<td>can_wallops</td>
|
|
<td>can_wallops</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_localroute</td>
|
|
<td>can_localroute</td>
|
|
<td>can_localroute</td>
|
|
<td>can_localroute</td>
|
|
<td>can_localroute</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_localkill</td>
|
|
<td>can_localkill</td>
|
|
<td>can_localkill</td>
|
|
<td>can_localkill</td>
|
|
<td>can_localkill</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_kline</td>
|
|
<td>can_kline</td>
|
|
<td>can_kline</td>
|
|
<td>can_kline</td>
|
|
<td>can_kline</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_unkline</td>
|
|
<td>can_unkline</td>
|
|
<td>can_unkline</td>
|
|
<td>can_unkline</td>
|
|
<td>can_unkline</td>
|
|
</tr>
|
|
<tr>
|
|
<td>can_localnotice</td>
|
|
<td>can_localnotice</td>
|
|
<td>can_localnotice</td>
|
|
<td>can_localnotice</td>
|
|
<td>can_localnotice</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td>can_globalroute</td>
|
|
<td>can_globalroute</td>
|
|
<td>can_globalroute</td>
|
|
<td>can_globalroute</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td>can_globalkill</td>
|
|
<td>can_globalkill</td>
|
|
<td>can_globalkill</td>
|
|
<td>can_globalkill</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td>can_globalnotice</td>
|
|
<td>can_globalnotice</td>
|
|
<td>can_globalnotice</td>
|
|
<td>can_globalnotice</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>global</td>
|
|
<td>global</td>
|
|
<td>global</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>can_dccdeny</td>
|
|
<td>can_dccdeny</td>
|
|
<td>can_dccdeny</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>can_setq</td>
|
|
<td>can_setq</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td>services-admin</td>
|
|
</tr>
|
|
</table>
|
|
<p><b>oper::swhois</b> geeft je de mogelijkheid een extra regel to the voegen aan de whois
|
|
van de betreefende oper <font color=blue>[optioneel]</font></p>
|
|
<p><b>oper::snomask</b> geeft je de mogelijkheid in te stellen welke server berichten een oper
|
|
automatisch ontvangt wanneer hij /oper doet. Voor een lijst van de snomasks, zie
|
|
<a href="#feature_snomasks">Sectie 3.3</a> <font color=blue>[optioneel]</font></p>
|
|
<p><b>oper::modes</b> geeft je de mogelijkheid een oper verschillende modi te geven wanneer hij
|
|
/oper doet. <color=blue>[optioneel]</font></p>
|
|
<p><b>oper::maxlogins</b> limiteert het aantal logins van de betreffende oper. Wanneer je dit
|
|
bijvoorbeeld op 1 zet, kan maar 1 persoon oper zijn via dit blok. <font color=blue>[optioneel]</font></p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
oper bobsmith {
|
|
class clients;
|
|
from {
|
|
userhost bob@smithco.com;
|
|
userhost boblaptop@somedialupisp.com;
|
|
};
|
|
password "f00";
|
|
flags {
|
|
netadmin;
|
|
can_gkline;
|
|
can_gzline;
|
|
can_zline;
|
|
can_restart;
|
|
can_die;
|
|
global;
|
|
};
|
|
swhois "Voorbeeld van een whois mask";
|
|
snomask frebWqFv;
|
|
};
|
|
</pre></p>
|
|
<a name="operoverride"><b>Wat informatie over OperOverride:</b><br>
|
|
OperOverride geeft je de mogelijkheid om bijvoorbeeld een +ikl kanaal te joinen,
|
|
om bans te omzeilen (je moet jezelf wel eerst /invite'n), jezelf oppen in een kanaal, etc.<br>
|
|
De can_override flag is toegevoegd om te proberen het oper-misbruik te stoppen.
|
|
Geen enkele oper kan standaard overriden, je moet ze dus expliciet de can_override flag geven.
|
|
|
|
<p> </p></div>
|
|
<p><font class="block_section">4.8 - </font><font class="block_name">DRpass Block</font>
|
|
<font class="block_recommended">AANBEVOLEN</font> <font class="block_old">(Dit was de X:Line)</font><a name="drpassblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
drpass {
|
|
restart <restart-password> { <auth-type>; };
|
|
die <die-password> { <auth-type>; };
|
|
};</pre></p>
|
|
<p>Dit blok zet de benodigde wachtwoorden voor /restart en /die. drpass::restart:: en
|
|
::drpass:die:: geven je de mogelijkheid om een authenticatie methode op te geven.
|
|
crypt, md5, sha1 en ripemd-160 worden ondersteund.</p>
|
|
|
|
<p>Voorbeeld:</p>
|
|
<pre>
|
|
drpass {
|
|
restart "I-love-to-restart";
|
|
die "die-you-stupid";
|
|
};
|
|
</pre></p>
|
|
<p> </p></div>
|
|
<p><font class="block_section">4.9 - </font><font class="block_name">Include Directive</font><a name="includedirective"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
include <file-name>;</p>
|
|
<p>Hiermee kun je externe configuratiebestanden laden. Het bestand mag elk type
|
|
blok bevatten, en mag ook andere bestanden laden. Wildcards zijn ook toegestaan,
|
|
zodat je meerdere bestanden tegelijk kan laden.</p>
|
|
<p><b>Voorbeeld 1: een netwerk bestand</b></p>
|
|
<pre>include mynetwork.network;</pre></p>
|
|
<p>Dit heb je nodig wanneer je een apart netwerk bestand wilt gebruiken. Deze
|
|
is echter niet meer nodig, je kan alle informatie nu gewoon in unrealircd.conf
|
|
plaatsen.</p>
|
|
<p><b>Voorbeeld 2: aliases</b><br>
|
|
<pre>include aliases/ircservices.conf</pre></p>
|
|
<p>Nog een voorbeeld is deze manier om alias blocks te laden. UnrealIRCd wordt
|
|
geleverd met enkele bestanden welke de juiste aliases voor de meeste
|
|
services bezitten:<br>
|
|
<ul>
|
|
<li>aliases/ircservices.conf (IRCServices, Daylight)
|
|
<li>aliases/epona.conf (Epona)
|
|
<li>aliases/anope.conf (Anope)
|
|
<li>aliases/auspice.conf (Auspice)
|
|
<li>aliases/generic.conf (Magick, Sirius, Wrecked)
|
|
<li>aliases/cygnus.conf (Cygnus)
|
|
<li>aliases/operstats.conf (OperStats)
|
|
<li>aliases/genericstats.conf (GeoStats, NeoStats)
|
|
</ul>
|
|
</p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.10 - </font><font class="block_name">LoadModule Directive</font>
|
|
<font class="block_required">BENODIGD</font><a name="loadmoduledirective"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
loadmodule <file-name>;</p>
|
|
<p>Kijk <a href="#feature_modules">hier</a> waarom modules handig zijn.</p>
|
|
<p>Modules die standaard bij Unreal3.2 geleverd worden:</p>
|
|
<p>commands.so / commands.dll - Alle / commando's (nou, nog niet alle, maar binnenkort wel) <font color="red">BENODIGD</font><br>
|
|
cloak.so / cloak.dll - Cloaking module <font color="red">BENODIGD</font> (of een andere cloaking module)</p>
|
|
<p>Je moet deze modules laden:</p>
|
|
<pre>
|
|
loadmodule "src/modules/commands.so";
|
|
loadmodule "src/modules/cloak.so";
|
|
</pre>
|
|
<p>of voor Windows:</p>
|
|
<pre>
|
|
loadmodule "modules/commands.dll";
|
|
loadmodule "modules/cloak.dll";
|
|
</pre>
|
|
</div>
|
|
<p><font class="block_section">4.11 - </font><font class="block_name">Log Block</font>
|
|
<font class="block_recommended">AANBEVOLEN</font><a name="logblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
log <file-name> {
|
|
maxsize <max-file-size>;
|
|
flags {
|
|
<flag>;
|
|
<flag>;
|
|
...
|
|
};
|
|
};
|
|
</pre></p>
|
|
<p>Het log blok geeft je de mogelijkheid om verschillende dingen naar verschillende logbestanden
|
|
weg te schrijven. <b>log::</b> bevat de naam van het bestand. <b>log::maxsize</b> is optioneel.
|
|
Het geeft je de mogelijkheid aan te geven hoe groot een logbestand maximaal mag worden. Je kan
|
|
hier een afkorting gebruiken, MB voor megabytes, KB voor kilobytes, GB voor gigabytes. De
|
|
<b>log::flags</b> geven aan welke gebeurtenissen gelogd moeten worden. Zie de lijst hier beneden</p>
|
|
|
|
<p>Je mag ook verschillende log blokken hebben, om verschillende dingen op te slaan
|
|
in verschillende logbestanden.</p>
|
|
<p><b>Beschikbare flags:</b><br>
|
|
<table border=0>
|
|
<tr><td>errors</td><td>logt errors</td></tr>
|
|
<tr><td>kills</td><td>logt /kill berichten</td></tr>
|
|
<tr><td>tkl</td><td>logt informatie over *lines, shuns en spamfilters (toevoegen/verwijderen/verlopen)</td></tr>
|
|
<tr><td>connects</td><td>logt gebruikers die verbinding maken/verbreken</td></tr>
|
|
<tr><td>server-connects</td><td>logt server verbindingen/verbrekingen</td></tr>
|
|
<tr><td>kline</td><td>logt het gebruik van /kline</td></tr>
|
|
<tr><td>oper</td><td>logt /oper pogingen (succesvolle en mislukte)</td></tr>
|
|
<tr><td>sadmin-commands</td><td>logt het gebruik van /sa* (samode, sajoin, sapart, etc.)</td></tr>
|
|
<tr><td>chg-commands</td><td>logt het gebruik van /chg* (chghost, chgname, chgident, etc.)</td></tr>
|
|
<tr><td>oper-override</td><td>logt het gebruik van operoverride</td></tr>
|
|
<tr><td>spamfilter</td><td>logt spamfilter matches</td></tr>
|
|
</table>
|
|
</p>
|
|
|
|
<p>Voorbeeld:</p>
|
|
<pre>
|
|
log ircd.log {
|
|
maxsize 5MB;
|
|
flags {
|
|
errors;
|
|
kills;
|
|
oper;
|
|
kline;
|
|
tkl;
|
|
};
|
|
};
|
|
</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.12 - </font><font class="block_name">TLD Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de T:Line)</font><a name="tldblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
tld {
|
|
mask <hostmask>;
|
|
motd <motd-file>;
|
|
rules <rules-file>;
|
|
shortmotd <shortmotd-file>;
|
|
opermotd <opermotd-file>;
|
|
botmotd <botmotd-file>;
|
|
channel <channel-name>;
|
|
options {
|
|
ssl;
|
|
}
|
|
};</pre></p>
|
|
<p>Het TLD blok geeft je de mogelijkheid om een MOTD, rules en kanaal op te geven
|
|
voor een gebruiker op basis van zijn/haar host. Dit is handig wanneer je MOTDs
|
|
in verschillende talen wilt gebruiken. De <b>tld::mask</b> is een user@host mask
|
|
welke de gebruiker moet matchen. De <b>tld::motd</b>, <b>tld::shortmotd</b>,
|
|
<b>tld::opermotd</b>, <b>tld::botmotd</b> en <b>tld::rules</b> specificeren
|
|
de motd, shortmotd, opermotd, botmotd en rules bestand welke gebruikt moeten
|
|
worden voor een bepaalde host. De tld::shortmotd, tld::opermotd en tld::botmotd
|
|
zijn optioneel. <b>tld::channel</b> is tevens optioneel. Het geeft je de
|
|
mogelijkheid een gebruiker een kanaal te laten joinen wanneer hij/zij verbinding
|
|
maakt met je server. Wanneer deze bestaat, zal het standaard auto-join kanaal
|
|
overschreven worden. Het <b>tld::options</b> blok geeft je de mogelijkheid
|
|
om extra benodigdheden op te stellen. Op dit moment kun je tld::options::ssl,
|
|
voor die gebruik maken van een SSL connectie, en tld::options::remote, voor
|
|
mensen die van een andere server de MOTD vragen, gebruiken.</p>
|
|
<p>TLD blokken worden van onder naar boven gelezen.</p>
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
tld {
|
|
mask *@*.fr;
|
|
motd "ircd.motd.fr";
|
|
rules "ircd.rules.fr";
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.13 - </font><font class="block_name">Ban Nick Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de Q:Line)</font><a name="bannickblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
ban nick {<br>
|
|
mask <nickname>;
|
|
reason <reason-for-ban>;
|
|
};</pre></p>
|
|
<p>Het ban nick blok zorgt ervoor dat een bepaalde naam niet gebruikt mag worden op
|
|
de server. Wildcards zijn toegestaan in de ban::mask, om meerdere namen in te stellen.
|
|
ban::reason geeft je de mogelijkheid om een reden te gebruiken. Meestal wordt dit
|
|
block gebruikt om de namen van meest gebruikte Services te beschermen.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
ban nick {
|
|
mask "*C*h*a*n*S*e*r*v*";
|
|
reason "Gereserveerd voor Services";
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.14 - </font><font class="block_name">Ban User Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de K:Line)</font><a name="banuserblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
ban user {
|
|
mask <hostmask>;
|
|
reason <reason-for-ban>;
|
|
};</pre></p>
|
|
<p>Dit blok zorgt ervoor dat je een user@host kan beletten tot het verbinden met
|
|
de server. Wildcards zijn toegestaan in ban::mask, en ban::reason is de reden
|
|
tot de ban. Let op; dit is alleen lokaal, dus de gebruiker kan nog wel verbinden
|
|
met een server elders in het netwerk.</p>
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
ban user {
|
|
mask *tirc@*.saturn.bbn.com;
|
|
reason "Idiot";
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.15 - </font><font class="block_name">Ban IP Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de Z:Line)</font><a name="banipblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
ban ip {
|
|
mask <ipmask>;
|
|
reason <reason-for-ban>;
|
|
};</pre></p>
|
|
<p>Dit blok zorgt ervoor dat je een bepaald IP kan beletten tot het verbinden met
|
|
de server. Gebruikers en servers zijn hierbij inbegrepen. ban::mask bevat het IP
|
|
dat je wil bannen, wildcards zijn toegestaan. ban::reason is de reden.
|
|
Omdat deze ban ook betrekking heeft op servers, moet je voorzichtig zijn met
|
|
het gebruik ervan.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
ban ip {
|
|
mask 192.168.1.*;
|
|
reason "Get a real ip u lamer!";
|
|
};</pre></p>
|
|
<p> </p></div>
|
|
<p><font class="block_section">4.16 - </font><font class="block_name">Ban Server Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de q:Line)</font><a name="banserverblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
ban server {
|
|
mask <server-name>;
|
|
reason <reason-for-ban>;
|
|
};</pre></p>
|
|
<p>Dit blok zorgt ervoor dat een server niet meer kan verbinden met het netwerk. Wanneer
|
|
de server naar jouw server linkt, zal de connectie geweigerd worden. Wanneer de server
|
|
naar een andere server in het netwerk linkt, zal de lokale server de verbinding met het
|
|
netwerk verbreken. ban::server is de naam van de server die je wil bannen, wildcards
|
|
zijn toegestaan. ban::reason is de reden van plaatsing.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
ban server {
|
|
mask broken.server.my.network.com;
|
|
reason "Its broken!";
|
|
};</pre></p>
|
|
<p> </p></div>
|
|
<p><font class="block_section">4.17 - </font><font class="block_name">Ban RealName Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de n:Line)</font><a name="banrealnameblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
ban realname {
|
|
mask <realname-mask>;
|
|
reason <reason-for-ban>;
|
|
};</pre></p>
|
|
<p>Het ban realname blok geeft je de mogelijkheid om een gebruiker te bannen op basis
|
|
van zijn/haar GECOS (realname, echte naam). Dit is bruikbaar om clone floods te stoppen,
|
|
omdat clones meestal dezelfde realname gebruiken. ban::mask is de realname die je wil bannen,
|
|
wildcards zijn toegestaan. ban::reason is de reden.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
ban realname {
|
|
mask "Bob*";
|
|
reason "Bob sucks!";
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.18 - </font><font class="block_name">Ban Version Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <a name="banversionblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
ban version {
|
|
mask <version-mask>;
|
|
reason <reason-for-ban>;
|
|
action [kill|tempshun|shun|kline|zline|gline|gzline];
|
|
};</pre></p>
|
|
<p>Dit blok zorgt ervoor dat je een gebruiker op basis van het IRC programma kan bannen. Het
|
|
vraagt de CTCP version van de gebruiker, en controleert dan of deze is toegestaan. Wanneer
|
|
een gebruiker geen CTCP version antwoord heeft, zal de ban niet werken. Dit blok geeft je
|
|
alleen de mogelijkheid om boosaardige scripts te bannen. ban::mask is de versie die je wil
|
|
bannen, wildcards zijn toegestaan. ban::Reason is de reden. Je kan ook een actie die
|
|
ondernomen moet worden instellen, door middel van ban::action. Een <i>kill</i> is de standaardwaarde.
|
|
<i>tempshun</i> zal de gebruiker alleen deze verbinding /shun'n, wat zeer effectief is
|
|
zombies/bots met dynamische IPs omdat het geen onschuldige gebruikers zal schaden.
|
|
<i>shun/kline/zline/gline/gzline</i> zal een ban plaatsen van het opgegeven type op het
|
|
IP (*@IP). De duur van deze bans kan ingesteld worden door set::ban-version-tkl-time. De
|
|
standaardwaarde is 1 day.</p>
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
ban version {
|
|
mask "*SomeLameScript*";
|
|
reason "SomeLameScript contains backdoors";
|
|
};</pre>
|
|
<pre>
|
|
ban version {
|
|
mask "*w00tZombie*";
|
|
reason "I hate those hundreds of zombies";
|
|
action zline;
|
|
};</pre>
|
|
</p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.19 - </font><font class="block_name">Ban Exceptions Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de E:Line)</font><a name="banexceptionblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
except ban {
|
|
mask <hostmask>;
|
|
};</pre></p>
|
|
<p>Door middel van dit blok kun je een user@host opgeven, welke een ban zal
|
|
overslaan. Dit is handig wanneer je een ISP wilt bannen, maar enkele gebruikers
|
|
nog steeds op je netwerk wil toestaan. except::mask bevat de user@host van de
|
|
gebruiker die je niet wil bannen.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
except ban {
|
|
mask myident@my.isp.com;
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.20 - </font><font class="block_name">TKL Exceptions Block</font>
|
|
<font class="block_optional">OPTIONEEL</font><a name="tklexceptionblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
except tkl {
|
|
mask <hostmask>;
|
|
type <type>;
|
|
type {
|
|
<type>;
|
|
<type>;
|
|
...
|
|
};
|
|
};</pre></p>
|
|
<p>Dit blok zorgt ervoor dat de user@host een tkl ban op een bredere host zal overslaan.
|
|
Dit is handig wanneer je een ISP wil bannen, maar enkele gebruikers nog steeds op je
|
|
netwerk wil toestaan. except::mask is de user@host die je wil toestaan. except::type
|
|
is het type ban dat je wil overslaan. Geldige types zijn gline, gzline, qline, gqline
|
|
en shun (Glines, Global Zlines, Qlines, Global Qlines, shuns). Wanneer je het formaat
|
|
{ } gebruikt, zijn meerdere types toegestaan.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
except tkl {
|
|
mask myident@my.isp.com;
|
|
type gline;
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.21 - </font><font class="block_name">Throttle Exceptions Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <a name="throttleexceptionblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
except throttle {
|
|
mask <ipmask>;
|
|
};</pre></p>
|
|
|
|
<p>Met dit blok kun je een IP mask instellen dat het throttling systeem zal overslaan.
|
|
Het werkt alleen wanneer je throttling ingeschakeld hebt. except::mask bevat het IP
|
|
dat niet gebanned moet worden.</p>
|
|
<p>Voorbeeld<br>
|
|
<pre>
|
|
except throttle {
|
|
mask 192.168.1.*;
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.22 - </font><font class="block_name">Deny DCC Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was dccdeny.conf)</font><a name="denydccblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
deny dcc {
|
|
filename <file-to-block>;
|
|
reason <reason-for-ban>;
|
|
soft [yes|no];
|
|
};</pre></p>
|
|
<p>Door middel van dit blok kun je instellen welke bestandsnamen niet verzonden mogen
|
|
worden via DCC over de server. Dit is zeer effectief om de verspreiding van
|
|
trojans en virii te stoppen.</p>
|
|
<p><b>deny::filename</b> geeft aan welke bestandsnaam niet is toegestaan. Wildcards hierin
|
|
zijn toegestaan. <b>deny::reason</b> is de reden tot het blokkeren.</p>
|
|
<p>Er is ook een <b>deny::soft</b> optie; wanneer deze op ýes' staat, wordt de DCC
|
|
geblokkeerd, tenzij de gebruiker het expliciet toelaat door middel van
|
|
/DCCALLOW +naam-van-degene-die-zendt. Zie dccallow.conf voor een goede
|
|
voorbeeld configuratie.</p>
|
|
|
|
<p>Voorbeeld<br>
|
|
<pre>
|
|
deny dcc {
|
|
filename virus.exe;
|
|
reason "This is a GD Virus";
|
|
};
|
|
|
|
deny dcc {
|
|
filename "*.exe";
|
|
reason "Executable content";
|
|
soft yes;
|
|
};</pre>
|
|
</p></div>
|
|
<p></p>
|
|
<p><font class="block_section">4.23 - </font><font class="block_name">Deny Version Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de V:Line)</font><a name="denyversionblock"></a><div class="desc">
|
|
</p>
|
|
<p> Syntax:<br>
|
|
<pre>
|
|
deny version {
|
|
mask <server-name>;
|
|
version <version-number>;
|
|
flags <compile-flags>;
|
|
};</pre></p>
|
|
<p>Dit blok geeft je de mogelijkheid om een server te blokkeren, op basis van de
|
|
versie die de server draait of welke compile opties gebruikt zijn. Het formaat
|
|
is misschien een beetje moeilijk, maar makkelijk te snappen. deny::mask is een
|
|
wildcard op de naam van de server die niet mag linken. deny::version is de
|
|
protocol-versie die geweigerd moet worden.</p>
|
|
Als voorbeeld, 3.0 is 2302, 3.1.1/3.1.2 is 2302 en 3.2 is 2303. Het eerste teken
|
|
van deze parameter mag >, <, =, of ! zijn. Dit eerste teken zegt
|
|
UnrealIRCd hoe ze moet omgaan met de versie. Als het eerste teken een > is,
|
|
worden alle versies groter dan de opgegeven versie geweigerd. Wanneer het een
|
|
< is, worden alle versies lager geweigerd. Wanneer het een = is, wordt alleen
|
|
die versie geweigerd. Wanneer je een ! opgeeft, worden alle versies behalve deze
|
|
geweigerd. deny::flags geeft je de mogelijkheid om aan te geven welke flags
|
|
wel of niet gebruikt mogen zijn ten tijde van het compilen. De flags moeten achter
|
|
elkaar geplaatst worden, zonder tussenkomst van andere tekens. Wanneer je een !
|
|
als voorvoegsel gebruikt, mag de flag niet gebruikt worden. Wanneer je geen !
|
|
gebruikt, moet de server deze flag wel bezitten.</p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.24 - </font><font class="block_name">Deny Link Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de D/d:Line)</font><a name="denylinkblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
deny link {
|
|
mask <server-name>;
|
|
rule <crule-expression>;
|
|
type <type-of-denial>;
|
|
};</pre></p>
|
|
<p>Dit blok geeft je de mogelijkheid om een server te weigeren aan de hand van
|
|
enkele voorwaardes. deny::mask is een wildcard op de servernaam waarop de regels
|
|
betrekking moeten hebben. deny::rule is zeer complex. Je krijgt de mogelijkheid
|
|
om in groot detail op te geven wat je wil. connected(<servermask>) geeft
|
|
true wanneer een server verbonden is met een server die servermask matcht.
|
|
directcon(<servermask>) geeft true wanneer de server, die met servermask
|
|
matcht, direct verbonden is met deze server. via(<viamask>,<servermask>)
|
|
geeft true wanneer een server, die met servermask matcht, verbonden is met een
|
|
server die matcht met viamask. Tenslotte, directop() geeft true wanneer een
|
|
oper die de /connect heeft gegeven daadwerkelijk op deze server zit. Je kan deze
|
|
4 vormen door elkaar gebruiken met behulp van && (and/en) en || (or/of). Je kan
|
|
ze ook tussen haakjes ( '( )' ) zetten, om groepen te vormen. Wanneer een van de
|
|
vormen vooraf gegaan wordt door een !, wordt er gecontroleerd of de vorm false
|
|
is. Wanneer de vorm true geeft, wordt de server geweigerd. deny::type bestaat
|
|
uit 2 vormen, auto (van toepassing op autoconnects, /connect werkt nog steeds),
|
|
en all (van toepassing op alle verbindingspogingen).</p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.25 - </font><font class="block_name">Deny Channel Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Previously known as chrestrict.conf)</font><a name="denychannelblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
deny channel {
|
|
channel "<channel-mask>";
|
|
reason <reason-for-ban>;
|
|
redirect "<channel-name>";
|
|
warn [on|off];
|
|
};</pre></p>
|
|
<p> </p>
|
|
<p>Je kan met dit blok instellen dat gebruikers sommige kanalen niet mogen gebruiken.
|
|
<b>deny::channel</b> is de naam van het kanaal dat geweigerd moet worden, en mag
|
|
wildcards bevatten. <b>deny::reason</b> is de reden tot het weigeren. Optioneel
|
|
kun je ook <b>deny::redirect</b> instellen. De gebruiker wordt dan naar dit kanaal
|
|
gestuurd in plaats van naar deny::channel. <b>deny::warn</b> zal, mits het aangezet
|
|
is, een bericht zenden naar alle opers (door middel van EYES snomask) wanneer een
|
|
gebruiker het verboden kanaal wil joinen.</p>
|
|
|
|
</p>
|
|
<p>Voorbeeld</p>
|
|
<pre>
|
|
deny channel {
|
|
channel "#unrealsucks";
|
|
reason "No it don't!";
|
|
};
|
|
|
|
deny channel {
|
|
channel "#*teen*sex*";
|
|
reason "You == dead";
|
|
warn on;
|
|
};
|
|
|
|
deny channel {
|
|
channel "#operhelp";
|
|
reason "Our network help channel is #help, not #operhelp";
|
|
redirect "#help";
|
|
};</pre></p>
|
|
|
|
<p></p></div>
|
|
<p><font class="block_section">4.26 - </font><font class="block_name">Allow Channel Block</font>
|
|
<font class="block_optional">OPTIONEEL</font><a name="allowchannelblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
allow channel {
|
|
channel "<channel-mask>";
|
|
};</pre></p>
|
|
<p>Door dit blok geef je gebruikers de mogelijkheid om bepaalde kanalen wel toe
|
|
te staan. allow::channel is het kanaal dat wel gejoined mag worden, wildcards
|
|
zijn toegestaan</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
allow channel {
|
|
channel "#something";
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.27 - </font><font class="block_name">Allow DCC Block</font>
|
|
<font class="block_optional">OPTIONEEL</font><a name="allowdccblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
allow dcc {
|
|
filename "<filename-mask>";
|
|
soft [yes|no];
|
|
};</pre></p>
|
|
<p>Hiermee kun je uitzonderingen voor het denydcc block instellen. Wildcards zijn
|
|
toegestaan. Wanneer <b>allow dcc:soft</b> op 'yes' staat, valt het onder
|
|
'soft dcc bans'. Wanneer het op 'no' staat, valt het onder de normale ('hard') dcc bans.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
allow dcc {
|
|
filename "*.jpg"; /* Images are usually safe */
|
|
soft yes;
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.28 - </font><font class="block_name">Vhost Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was vhosts.conf)</font><a name="vhostblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
vhost {
|
|
vhost <vhost>;
|
|
from {
|
|
userhost <hostmask>;
|
|
userhost <hostmask>;
|
|
...
|
|
};
|
|
login <login-name>;
|
|
password <password> { <auth-type>; };
|
|
swhois "<swhois info>";
|
|
};</pre></p>
|
|
<p>Je kan een inlognaam en wachtwoord opgeven, zodat iemand het /vhost commando
|
|
kan gebruiken. vhost::vhost kan een user@host zijn, of gewoon een host die de
|
|
gebruiker zal krijgen wanneer hij met succes /vhost uitvoert. vhost::from::userhost
|
|
bevat een user@host welke de gebruiker moet matchen om in aanmerking te komen
|
|
voor deze vhost. Je mag meerdere userhosts invoeren. vhost::login is de inlognaam
|
|
die gebruikt moet worden, en vhost::password is het wachtwoord. Door middel van
|
|
vhost::password:: kun je een authenticatie type opgeven. Op dit moment kan dat zijn;
|
|
crypt, md5, sha1 en ripemd-160. Als laatste kun je met vhost::swhois een extra regel
|
|
toevoegen aan een whois, net zoals de oper::swhois.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
vhost {
|
|
vhost my.own.personal.vhost.com;
|
|
from {
|
|
userhost my@isp.com;
|
|
userhost myother@isp.com;
|
|
};
|
|
login mynick;
|
|
password mypassword;
|
|
swhois "Im Special";
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.29 - </font><font class="block_name">Badword Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was badwords.*.conf)</font><a name="badwordsblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
badword <type> {
|
|
word <text-to-match>;
|
|
replace <replace-with>;
|
|
action <replace|block>;
|
|
};</pre></p>
|
|
<p>Met dit blok kun je een lijst opstellen van woorden die vervangen moeten worden wanneer
|
|
gebruikers +G hebben of een kanaal +G heeft. badword:: geeft het type aan; geldige types
|
|
zijn channel, message, quit en all. channel is voor kanalen met +G, message voor gebruikers
|
|
met +G, quit om quit berichten te censureren en all voor alle drie deze dingen.
|
|
badword::word kan gewoon een woord zijn, of een reguliere expressie waarnaar we zoeken.
|
|
badword::replace is het woord waarmee we badword::word moeten vervangen. Wanneer
|
|
badword::replace leeg is, zal het woord vervangen worden door <censored>.
|
|
Met badword::action kun je een actie instellen die ondernomen moet worden wanneer een
|
|
woord gevonden wordt. Wanneer je hier replace invult, wordt het woord vervangen. Wanneer
|
|
je block invult, wordt het hele bericht geblokkeerd. Wanneer je badword::action leeg laat,
|
|
wordt er uitgegaan van replace.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
badword channel {
|
|
word shit;
|
|
replace shoot;
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.30 - </font><font class="block_name">ULines Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Dit was de U:Line)</font><a name="ulinesblock"></a><div class="desc">
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
ulines {
|
|
<server-name>;
|
|
<server-name>;
|
|
...
|
|
};</pre></p>
|
|
<p>U:lines geven bepaalde servers extra mogelijkheden. Dit moet gebruikt worden
|
|
voor Services en Stats, dus niet voor normale servers. Elke regel is de naam
|
|
van de server die extra mogelijkheden ontvangen moet.</p>
|
|
<p>Voorbeeld<br>
|
|
<pre>
|
|
ulines {
|
|
services.mynetwork.com;
|
|
stats.mynetwork.com;
|
|
};</pre></p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.31 - </font><font class="block_name">Link Block</font>
|
|
<font class="block_optional">OPTIONEEL</font> <font class="block_old">(Previously known as C/N/H:Lines)</font><a name="linkblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
link <server-name> {
|
|
username <usermask>;
|
|
hostname <ipmask>;
|
|
bind-ip <ip-to-bind-to>;
|
|
port <port-to-connect-on>;
|
|
password-connect <password-to-connect-with>;
|
|
password-receive <password-to-receive> { <auth-type>; };
|
|
hub <hub-mask>;
|
|
leaf <leaf-mask>;
|
|
leafdepth <depth>;
|
|
class <class-name>;
|
|
ciphers <ssl-ciphers>;
|
|
options {
|
|
<option>;
|
|
<option>;
|
|
...
|
|
};
|
|
};</pre></p>
|
|
<p>Dit blok is nodig voor het linken van servers. Neem de tijd om dit door te nemen,
|
|
dit is een van de moeilijkste dingen en gebruikers maken hier vaak fouten.</p>
|
|
<p><b>server-name</b> is de naam van de andere server, de naam die de server in zijn
|
|
me { } block heeft, zoals hub.blah.com (niet het IP en kan verschillen van de hostnaam).</p>
|
|
<p><b>username</b><br>
|
|
Je kan een ident opgeven voor authenticatie, normaal zet je dit op "*".
|
|
</p>
|
|
<p><b>hostname</b><br>
|
|
De hostnaam of het IP van de andere server. Dit wordt gebruikt voor het verbinden EN
|
|
de authenticatie van de inkomende connectie. Enkele voorbeelden:<br>
|
|
<table border="0">
|
|
<tr><td><i>1.2.3.4</i></td><td> gewone IP</td></tr>
|
|
<tr><td><i>hub.blah.com</i></td><td> host: alleen voor uitgaand, kan geen _inkomende_ connecties accepteren tenzij
|
|
link::options::nohostcheck is ingesteld</td></tr>
|
|
<tr><td><i>*</i></td><td> kan niet verbinden NAAR maar zal alle server connecties (met het juiste wachtwoord) accepteren</td></tr>
|
|
<tr><td><i>::ffff:1.2.3.4</i></td><td> voor het linken van IPv6 naar IPv4</td></tr>
|
|
</table>
|
|
</p>
|
|
<p><b>bind-ip</b> (optional)<br>
|
|
Kan gebruikt worden om een specifiek IP te binden (bijv. 192.168.0.1) van waaruit
|
|
we moeten verbinden. Wordt zelden gebruikt.
|
|
</p>
|
|
<p><b>port</b><br>
|
|
Poort waar naartoe we moeten verbinden (op welke de andere server luistert).
|
|
</p>
|
|
<p><b>password-connect</b><br>
|
|
Het wachtwoord voor het verbinden met de andere server, moet gewone tekst zijn.
|
|
</p>
|
|
<p><b>password-receive</b><br>
|
|
Het wachtwoord dat we ontvangen van de andere server. Kan encrypted zijn (crypt,
|
|
md5, sha1 of ripemd-160). Je kan de authenticatie parameter weglaten wanneer je
|
|
gewone tekst wilt gebruiken. Dit wachtwoord is meestal hetzelfde als password-connect.
|
|
</p>
|
|
<p><b>hub vs leaf</b><br>
|
|
Een hub heeft meerdere servers aan zich gelinkt, een leaf heeft maar 1 server.. naar jou.
|
|
Een server is of een hub, of een leaf, je kan ze niet mengen.
|
|
</p>
|
|
<p><b>hub</b> (optioneel)<br>
|
|
De waarde is de mask van de servers waarmee deze hub mag verbinden (bijv. *.my.net)
|
|
</p>
|
|
<p><b>leaf</b> (optioneel)<br>
|
|
De waarde is de mask van waartegen deze server zich als een leaf zal gedragen.
|
|
</p>
|
|
<p><b>leaf-depth</b> (optioneel)<br>
|
|
Wanneer leaf ingesteld is, moet dit ook worden ingesteld. De waarde is het aantal
|
|
hops (aantal servers) welke deze server onder zich mag hebben.
|
|
</p>
|
|
<p><b>class</b><br>
|
|
De class waarin de server geplaatst wordt. Meestal is er een aparte server-class.
|
|
</p>
|
|
<p><b>compression-level</b> (optioneel)<br>
|
|
De waarde is het compressie-level (1-9). Wordt alleen gebruikt wanneer link::options::zip
|
|
ook wordt gebruikt.
|
|
</p>
|
|
<p><b>ciphers</b> (optioneel)<br>
|
|
Zegt welke SSL sleutels gebruikt moeten worden voor deze link. Om een lijst te krijgen van
|
|
de beschikbare sleutels, gebruik "openssl ciphers". Sleutels moeten gescheiden worden door
|
|
een :.
|
|
</p>
|
|
<p><b>options block</b><br>
|
|
Je kan een of meerdere opties gebruiken. Soms is dit niet nodig.<br>
|
|
<table border="0">
|
|
<tr><td><b>ssl</b></td><td> wanneer je op een SSL poort verbindt.</td></tr>
|
|
<tr><td><b>autoconnect</b></td><td> de server zal automatisch proberen te verbinden, tijd staat in je class::connfreq
|
|
(het werkt het beste wanneer dit van 1 kant wordt ingesteld, zoals leaf->hub).</td></tr>
|
|
<tr><td><b>zip</b></td><td> wanneer je gecomprimeerde links wil gebruiken, moet je hiermee compilen + gezet worden op beide servers.</td></tr>
|
|
<tr><td><b>nodnscache</b></td><td> sla het IP voor de uitgaande server connectie niet op.
|
|
Gebruik dit wanneer de host vaak verandert (zoals dyndns.org).</td></tr>
|
|
<tr><td><b>nohostcheck</b></td><td> valideer de andere host (link::hostname) niet.
|
|
Gebruik dit wanneer de host vaak verandert (zoals dyndns.org)</td></tr>
|
|
<tr><td><b>quarantine</b></td><td> opers op deze server kunnen geen globale rechten krijgen
|
|
(alleen lokale), anders worden ze gekilled. Handig voor test servers e.d.</td></tr>
|
|
</table>
|
|
</p>
|
|
<p>Voorbeeld:</p>
|
|
<pre>
|
|
link hub.mynet.com {
|
|
username *;
|
|
hostname 1.2.3.4;
|
|
bind-ip *;
|
|
port 7029;
|
|
hub *;
|
|
password-connect "LiNk";
|
|
password-receive "LiNk";
|
|
class servers;
|
|
options {
|
|
autoconnect;
|
|
ssl;
|
|
zip;
|
|
};
|
|
};</pre></p>
|
|
<p> </p></div>
|
|
<p><font class="block_section">4.32 - </font><font class="block_name">Alias Block</font>
|
|
<font class="block_optional">OPTIONEEL</font><a name="aliasblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax [standard alias]:<br>
|
|
<pre>
|
|
alias <name> {
|
|
target <nick-to-forward-to>;
|
|
type <type-of-alias>;
|
|
spamfilter <yes|no>;
|
|
};</pre></p>
|
|
<p>(Opmerking: kijk ook <a href="#includedirective">hier</a> voor informatie over de standaard alias files van UnrealIRCd)</p>
|
|
<p>Met alias blok [standaard alias] kun je een commando van een gebruiker doorsturen naar iemand
|
|
anders. Bijvoorbeeld /chanserv zendt een bericht naar ChanServ. alias:: is de naam van het
|
|
commando dat je wil doorsturen (bv chanserv), alias::target is het doel waarnaar het commando
|
|
gestuurd moet worden. Dit kan een gebruiker of een kanaal zijn. Wanneer alias:: hetzelfde is
|
|
als het doel, kun je alias::target ook weglaten. alias::type is het type. Geldige types zijn
|
|
services (doel zit op de services-server), stats (doel zit op de stats-server), normal
|
|
(doel zit op een willekeurige server) of channel (doel is een kanaal). Wanneer alias::spamfilter
|
|
(optioneel) op 'yes' staat, worden spamfilters gecontroleerd. Standaard staat dit uit ('no').<br>
|
|
Het alias blok heeft nog een doel, wat hieronder wordt uitgelegd.</p>
|
|
|
|
<p>Syntax [command alias]:<br>
|
|
<pre>
|
|
alias <name> {
|
|
/* Voor aliases die gezonden moeten worden naar gebruikers/channels */
|
|
format <regex-expression> {
|
|
target <nick-to-forward-to>;
|
|
type <type-of-alias>;
|
|
parameters <parameter-string>;
|
|
};
|
|
|
|
/* Voor 'echte aliases' */
|
|
format <regex-expression> {
|
|
command <command>;
|
|
type real;
|
|
parameters <parameter-string>;
|
|
};
|
|
/* Etc... Je kan zoveel blokken als je wilt instellen.. */
|
|
|
|
|
|
format <regex-expression> {
|
|
...
|
|
};
|
|
type command;
|
|
spamfilter <yes|no>;
|
|
};</pre></p>
|
|
<p>Wanneer het alias block gebruikt wordt in dit formaat, heeft het een veel bredere
|
|
functie. Je kan bijvoorbeeld /identify maken. alias:: is hetzelfde als hierboven,
|
|
de naam van het alias commando. <b>alias::format</b> is de reguliere expressie die de tekst,
|
|
meegegeven door het commando, controleert. Wanneer dit matcht, worden de regels eronder
|
|
uitgevoerd. Je kan meerdere formats opgeven, zodat hetzelfde commando meerdere functies
|
|
krijgt, afhangend van de tekst die gezonden wordt. <b>alias::format::target</b> is het doel
|
|
waarnaar het bericht gezonden moet worden. Als een 'echte alias' gebruikt wordt, zal het bericht
|
|
echter naar <b>alias::format::command</b> gezonden worden. <b>alias::format::type</b> is het type.
|
|
Behalve de types die we in "Syntax [standard alias" behandeld hebben, is ook het type "real" toegestaan
|
|
voor "echte aliases". <b>alias::format::parameters</b> is de tekst die gezonden moet worden. Dit is een
|
|
% gevolgd door een nummer. Wanneer je alles na een bepaald nummer wil zenden, doe het nummer dat
|
|
je wilt (bijv 2), met een - erachter, dus %2-. Dit stuurt alle tekst vanaf het tweede
|
|
tot het laatste woord. Je kan ook %n gebruiken om de naam van degene die het commando
|
|
mee te sturen.<br><br>
|
|
Voor voorbeelden betreffende het gebruik van het alias block, zie doc/example.nl.conf.</p>
|
|
<p></p></div>
|
|
<p><font class="block_section">4.33 - </font><font class="block_name">Help Block</font>
|
|
<font class="block_optional">OPTIONEEL</font><a name="helpblock"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
help <name> {
|
|
<text-line>;
|
|
<text-line>;
|
|
...
|
|
};</pre></p>
|
|
<p>(Note: normally you just include help.conf)</p>
|
|
<p>Met het help blok kun je dingen toevoegen aan /helpop. help:: is de waarde die
|
|
moet worden meegegeven aan /helpop, als parameter. Wanneer help:: leeg wordt gelaten,
|
|
hoeft geen parameter aan /helpop te worden meegegeven. De waardes voor het help blok
|
|
zijn de teksten die moeten worden weergegeven.</p>
|
|
<p></p></div>
|
|
|
|
<p><font class="block_section">4.34 - </font><font class="block_name">Official Channels Block</font>
|
|
<font class="block_optional">OPTIONEEL</font><a name="officialchannels"></a>
|
|
</p><div class="desc">
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
official-channels {
|
|
"#channel" { topic "The default topic"; };
|
|
};</pre></p>
|
|
<p>Officiƫle kanalen worden weergegeven in /list, ook als er geen gebruikers in het kanaal
|
|
zitten. <b>topic</b> is optioneel, en wordt alleen weergegeven in /list wanneer er 0
|
|
gebruikers zijn.</p>
|
|
|
|
<p>Voorbeeld:<br>
|
|
<pre>
|
|
official-channels {
|
|
"#Help" { topic "The official help channel, if nobody is present type /helpop helpme"; };
|
|
"#Home";
|
|
"#Main" { topic "The main channel"; };
|
|
};</pre></p>
|
|
</div>
|
|
|
|
<p><font class="block_section">4.35 - </font><font class="block_name">Spamfilter Block</font>
|
|
<font class="block_optional">OPTIONEEL</font><a name="spamfilter"></a>
|
|
</p><div class="desc">
|
|
<p>
|
|
Het spamfilter blok laat je lokale spamfilters toevoegen (dus niet over het gehele netwerk).<br>
|
|
Zie <a href="#feature_spamfilter">Features - Spamfilter</a> voor meer informatie over spamfilters.<br>
|
|
</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
spamfilter {
|
|
regex <word>;
|
|
target { <target(s)> };
|
|
action <action>;
|
|
reason <reason>;
|
|
ban-time <time>;
|
|
};</pre></p>
|
|
<p><b>regex</b> is de regex waaraan voldaan moet worden<br>
|
|
<b>target</b> is het doel, zie <a href="#feature_spamfilter">hier</a> voor een lijst (bijv: 'channel').<br>
|
|
<b>action</b> sis de actie die ondernomen moet worden, zie <a href="#feature_spamfilter">hier</a> voor een lijst (bijv: 'gline').<br>
|
|
<b>reason</b> optioneel: geeft een reden, anders wordt de standaardwaarde gebruikt.<br>
|
|
<b>ban-time</b> optioneel: geeft de duur aan, standaard 1 dag.<br>
|
|
</p>
|
|
|
|
<p>Voorbeelden:<br>
|
|
<pre>
|
|
spamfilter {
|
|
regex "Come watch me on my webcam";
|
|
target { private; channel; };
|
|
action gline;
|
|
reason "You are infected, please go to www.antivirus.xx/blah/virus=GrrTrojan";
|
|
ban-time 6h;
|
|
};
|
|
|
|
spamfilter {
|
|
regex "come to irc\..+\..+";
|
|
target { private; channel; };
|
|
action gline;
|
|
action gline;
|
|
reason "No spamming allowed";
|
|
};
|
|
</pre></p>
|
|
</div>
|
|
|
|
|
|
<p><font class="block_section">4.36 - </font><font class="block_name">Cgiirc Block</font>
|
|
<font class="block_optional">OPTIONEEL</font><a name="cgiirc"></a>
|
|
</p><div class="desc">
|
|
<p>
|
|
The cgiirc block allows you to configure host spoofing for CGI:IRC gateways you trust
|
|
(<a href="#feature_cgiirc">more info</a>).</p>
|
|
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
cgiirc {
|
|
type <webirc|old>;
|
|
username <mask>; /* optioneel */
|
|
hostname <mask>;
|
|
password <password>; /* alleen voor het type webirc */
|
|
};</pre></p>
|
|
<p><b>type</b> is ofwel 'webirc' ofwel 'old'.<br>
|
|
<b>username</b> wordt gecontroleerd op de ident (als deze er is. Zo niet, dan wordt "*" aangenomen.<br>
|
|
<b>hostname</b> wordt de hostnaam op gematched.<br>
|
|
<b>password</b> is het webirc wachtwoord, alleen gebruiken bij type 'webirc'.<br>
|
|
</p>
|
|
|
|
<p><b>Hoe te configureren met 'webirc' (aangeraden methode)</b><br>
|
|
In je CGI:IRC configuratiebestand (cgiirc.conf) stel je webirc_password in op een goed wachtwoord.<br>
|
|
Daarna voeg je aan unrealircd.conf een cgiirc block toe, om de host en het wachtwoord toe te staan, en
|
|
stel je cgiirc::type in op 'webirc'.<br>
|
|
<br>
|
|
Voorbeeld:<br>
|
|
In je CGI:IRC configuratiebstand (cgiirc.conf) voeg je toe:
|
|
<pre>webirc_password = LpT4xqPI5</pre>
|
|
Daarna voeg je dit cgiirc block toe aan je unrealircd.conf:
|
|
<pre>cgiirc {
|
|
type webirc;
|
|
hostname "1.2.3.4";
|
|
password "LpT4xqPI5";
|
|
};</pre></p>
|
|
|
|
<p><b>Hoe te configureren met de methode 'old'</b><br>
|
|
Opmerking: Deze methode wordt niet aangeraden omdat ze 2 nadelen heeft:
|
|
Deze methode zendt de IP/host om te spoofen als server wachtwoord, wat inhoudt
|
|
dat je geen server wachtwoord als CGI:IRC gebruiker kan opgegeven. Bijkomend is
|
|
dat de toegang alleen per IP te bepalen is, en niet met een wachtwoord zoals met
|
|
de 'webirc' methode. Je moet deze methode dus niet gebruiken, alleen als je er
|
|
een goede reden voor hebt.<br>
|
|
<br>
|
|
In je CGI:IRC configuratiebestand (cgiirc.conf) zet je realhost_as_password op 1.<br>
|
|
Daarna voeg je een cgiirc block toe aan je unrealircd.conf om deze host toe te staan.<br>
|
|
<br>
|
|
Voorbeeld:<br>
|
|
In je CGI:IRC configuratiebstand (cgiirc.conf) voeg je toe:
|
|
<pre>realhost_as_password = 1</pre>
|
|
Daarna voeg je dit cgiirc block toe aan je unrealircd.conf:
|
|
<pre>cgiirc {
|
|
type old;
|
|
hostname "1.2.3.4";
|
|
};</pre></p>
|
|
</div>
|
|
|
|
|
|
<p><font class="block_section">4.37 - </font><font class="block_name">Set Block</font>
|
|
<font class="block_required">BENODIGD</font> <font class="block_old">(Dit was unrealircd.conf/networks file)</font><a name="setblock"></a>
|
|
</p><div class="desc">
|
|
<p>Dit blok was eerder ons networks/unrealircd.conf en ons netwerk bestand. Op een netwerk
|
|
met maar 1 server is het makkelijker om deze 3 bestanden te combineren in 1 bestand door
|
|
middel van de set:: in unrealircd.conf. Op netwerken met meerdere servers kun je het beste
|
|
aparte netwerk bestanden gebruiken.<p>
|
|
<p>Wanneer je server deel uitmaakt van een netwerk, zullen de meeste instellingen hetzelfde
|
|
zijn. Daarom is het handig om 1 netwerk bestand te kunnen laden. Zie
|
|
<a href="#includedirective">include</a> voor meer informatie. Nu volgt een lijst
|
|
met beschikbare opties voor set::.</p>
|
|
<p>Syntax:<br>
|
|
<pre>
|
|
set {
|
|
<entry> <value>;
|
|
<entry> <value>;
|
|
...
|
|
};</pre></p>
|
|
<p>Met het set blok kun je individuele opties instellen voor je server. Elk ding doet
|
|
iets anders, en zal om deze reden hieronder beschreven worden. Sommige dingen hebben
|
|
nog dingen onder zich, welke ook beschreven zullen worden. Er zijn veel set opties
|
|
om te beschreven, alles hieronder kan geschreven worden in EEN set block.</p>
|
|
|
|
Voorbeeld:<br>
|
|
<pre>
|
|
set {
|
|
kline-address my@emailaddress.com;
|
|
auto-join #welcome;
|
|
options {
|
|
hide-ulines;
|
|
};
|
|
hosts {
|
|
local LocalOp.MyNet.com;
|
|
global globalop.mynet.com;
|
|
};
|
|
};</pre></p>
|
|
<p>Je kan een set block ook op 1 regel zetten. Dit maakt het wel onoverzichtelijk.<br>
|
|
Voorbeeld:<br>
|
|
set { options { hide-ulines; no-stealth; }; };<br>
|
|
</p>
|
|
<p><font class="set">set::kline-address <email-address>;</font><br>
|
|
Het email adres naar waar K:Line vragen gezonden kunnen worden. Deze waarde
|
|
moet ingevuld worden.</p>
|
|
<p><font class="set">set::gline-address <email-address>;</font><br>
|
|
Het email adres naar waar G:Line vragen gezonden kunnen worden.</p>
|
|
<p><font class="set">set::modes-on-connect <+modes>;</font><br>
|
|
De modi die de gebruiker ontvangt zodra hij verbindt.</p>
|
|
<p><font class="set">set::snomask-on-connect <+modes></font><br>
|
|
De snomask die een gebruiker ontvangt zodra hij verbindt.<p>
|
|
<p><font class="set">set::modes-on-oper <+modes>;</font><br>
|
|
De modi die een gebruiker ontvangt wanneer hij /oper't.</p>
|
|
<p><font class="set">set::snomask-on-oper <+modes>;</font><br>
|
|
De snomask die een gebruiker ontvangt wanneer hij /oper't.</p>
|
|
<p><font class="set">set::modes-on-join <+modes>;</font><br>
|
|
De modi die op een kanaal worden gezet zodra deze wordt gemaakt. Niet alle modi kunnen gebruikt worden.
|
|
+qaohvbeOAzlLk kunnen NIET gezet worden door dit commando.</p>
|
|
<p><font class="set">set::restrict-usermodes <modes></font><br>
|
|
Weerhoudt gebruikers ervan om deze modi te zetten/verwijderen (gebuik geen + of -).<br>
|
|
Voorbeeld: je kan +G in modes-on-connect zetten en G in retrict-usermodes. Op deze manier
|
|
behouden gebruikers altijd +G.</p>
|
|
<p><font class="set">set::restrict-channelmodes <modes></font><br>
|
|
Weerhoudt gebruikers ervan deze modi te zetten/verwijderen op een kanaal (gebruik geen + of -).<br>
|
|
voorbeeld: je kan +G in modes-on-join zetten en G in restrict-channelmodes. Op deze manier
|
|
zal een kanaal altijd +G houden.<br>
|
|
Opmerking: Je kan deze modi wel nog aanpassen via MLOCK in Services. Helaas kunnen
|
|
wij hier niets aan doen.</p>
|
|
<p><font class="set">set::restrict-extendedbans <types|*></font><br>
|
|
Weerhoudt gebruikers ervan om uitgebreide bans ("*") te zetten, of sta bepaalde bans (bijv. "gc") niet toe.</p>
|
|
<p><font class="set">set::auto-join <channels>;</font><br>
|
|
Het/De kanaal/kanalen welke gebruikers automatisch joinen wanneer ze verbinden.
|
|
Wanneer je meerdere kanelen wilt gebruiken, scheidt ze door een komma.<br>
|
|
[Opmerking: vergeet de aanhalingstekens niet, dus: autojoin "#chan";]</p>
|
|
<p><font class="set">set::oper-auto-join <channels>;</font><br>
|
|
Het/De kanaal/kanalen welke een oper automatisch joint wanneer hij /oper't. Om
|
|
meerdere kanelen in stellen, scheidt ze door een komma.<br>
|
|
[Opmerking: vergeet de aanhalingstekens niet, dus: autojoin "#chan";]</p>
|
|
<p><font class="set">set::anti-spam-quit-message-time <timevalue>;</font><br>
|
|
Een tijdswaarde die zegt hoelang een gebruiker verbonden moet zijn voordat een
|
|
/quit bericht wordt afgebeeld. Gebruikt om spam tegen te gaan. De waarde is een
|
|
numerieke string waarin d voor dag staan, h voor uur, m voor minute en s voor
|
|
seconde. Voorbeeld: 1d2h3m betekent 1 dag, 2 uur en 3 minuten.</p>
|
|
<p><font class="set">set::prefix-quit <text-to-prefix-quit>;</font><br>
|
|
Stelt een voorvoegsel in voor quit berichten. Wanneer deze ingesteld wordt op 0,
|
|
zal er "Quit: " gebruikt worden.</p>
|
|
<p><font class="set">set::static-quit <quit message>;</font><br>
|
|
Zet een standaard quit bericht, dat altijd gezonden wordt wanneer een gebruiker
|
|
de verbinding verbreekt. anit-spam-quit-message-time is niet meer nodig, evenals
|
|
set::prefix-quit, wanneer je dit gebruikt. Het vervangt GEEN problemen met
|
|
static-quit berichten.</p>
|
|
<p><font class="set">set::static-part <no|yes|part message>;</font><br>
|
|
Wanneer dit op 'yes' staat, worden alle part berichten weggehaald. Wanneer het op
|
|
'no' staat, werkt het zoals gewoon. Al het andere kan ook gebruikt worden,
|
|
bijvoorbeeld static-part "Bye!". Dit kan irritant worden, dus gebruik het wijs.</p>
|
|
<p><font class="set">set::who-limit <limit>;</font><br>
|
|
Zet een limiet op het maximaal aantal resultaten dat een /who geeft. Wanneer je dit
|
|
weglaat, is er geen limiet.</p>
|
|
<p><font class="set">set::silence-limit <limit>;</font><br>
|
|
Zet een limiet op de maximale grootte van de SILENCE lijst. Wanneer je dit weglaat,
|
|
staat het limiet op 15.</p>
|
|
<p><font class="set">set::maxbans <limit>;</font><br>
|
|
Stelt het maximum toegestane aantal bans per kanaal in. Standaard staat dit op 60.
|
|
Indien je dit wijzigt, vergeet dan niet ook naar de maxbanlength instelling te kijken
|
|
(zie volgende)!</p>
|
|
<p><font class="set">set::maxbanlength <limit>;</font><br>
|
|
Lijkt op voorgaande, maar dit stelt het maximum aantal tekens van alle bans tezamen in,
|
|
kortgezegd zet je d.m.v. deze instelling dus een (semi-)maximum op de hoeveelheid
|
|
geheugen die gebruikt kan worden voor alle bans per kanaal. Standaard staat dit op
|
|
2048 (bytes). Tezamen met de set::maxbans standaard instelling van 60 laat dit dus
|
|
gemiddeld 2048:60=34 tekens per ban toe.</p>
|
|
<p><font class="set">set::oper-only-stats <stats-list>;</font><br>
|
|
Stelt de modi in die alleen door opers gebruikt mogen worden. De flags worden door
|
|
niets gescheiden. Je kan dit leeg laten als je wilt dat iedereen alle flags mag
|
|
gebruiken, of een * wanneer je wilt dat gebruikers geen enkele modus mogen
|
|
gebruiken. Alleen korte flags mogen gebruikt worden hier.</p>
|
|
<p><font class="set">set::oper-only-stats {<stats-flag>; <stats-flag>;};</font><br>
|
|
Stelt de stats flags in die alleen gebruikt mogen worden door opers. Dit werkt alleen met
|
|
lange stats flags.</p>
|
|
<p><font class="set">set::maxchannelsperuser <amount-of-channels>;</font><br>
|
|
Stelt het aantal kanalen in waarin een gebruiker zich tegelijk mag bevinden.</p>
|
|
<p><font class="set">set::maxdccallow <amount-of-entries>;</font><br>
|
|
Stelt het maximaal aantal invoeringen in dat een gebruiker mag hebben in zijn/haar DCCALLOW lijst.</p>
|
|
<p><font class="set">set::channel-command-prefix <command-prefixes>;</font><br>
|
|
Stelt het voorvoegsel dat nodig is voor Services "in kanaal commando's". Berichten die starten
|
|
met het ingestelde teken worden nog steeds gezonden zelfs als de gebruiker +d heeft. De
|
|
standaardwaarde is "`!.".</p>
|
|
<p><font class="set">set::allowed-nickchars { <list> };</font><br>
|
|
Character sets / talen die toegestaan zijn in namen, zie <a href="#feature_nickchars">Nick Character Sets</a>.</p>
|
|
<p><font class="set">set::allow-userhost-change [never|always|not-on-channels|force-rejoin]</font><br>
|
|
Geeft aan wanneer een user@host mag veranderen (+x/-x/chghost/chgident/setident/vhost/etc).<br>
|
|
<i>never</i> blokkeert alle commando's, <i>always</i> betekent altijd zelfs in kanalen (kan
|
|
een desync veroorzaken) [default], <i>not-on-channels</i> betekent dat het toegestaan is
|
|
wanneer een gebruiker zich niet op een kanaal bevindt, <i>force-rejoin</i> zal een rejoin voor
|
|
alle kanalen doen, en de status (voice/op etc) teruggeven.</p>
|
|
<p><font class="set">set::options::hide-ulines;</font><br>
|
|
Wanneer dit aanstaat, zullen U:Lined servers niet zichtbaar zijn in /links voor non-opers.</p>
|
|
<p><font class="set">set::options::flat-map;</font><br>
|
|
Wanneer dit aanstaat, zullen alle servers als direct gelinkt staat in /map en /links,
|
|
dus je kan niet zien welke server aan welke gelinkt is. Dit helpt een beetje tegen
|
|
(D)DoS aanvallen, omdat de gemene mensen geen zwakke punten kunnen zien.</p>
|
|
<p><font class="set">set::options::show-opermotd;</font><br>
|
|
Wanneer dit aanstaat, zal de opermotd getoond worden na een successvolle /oper.</p>
|
|
<p><font class="set">set::options::identd-check;</font><br>
|
|
Wanneer dit aanstaat, zal de aanwezigheid van een ident server gecontroleerd worden,
|
|
en de gegeven waarde zal als gebruikersnaam gebruikt worden. Wanneer er niets terug
|
|
gegeven wordt, zal de door de gebruiker gespecificeerde naam gebruikt worden, met
|
|
het voorvoegsel ~. Wanneer dit uitstaat, zal er niet gecontroleerd worden op een ident server.</p>
|
|
<p><font class="set">set::options::show-connect-info;</font><br>
|
|
Als dit aanstaat, zullen de berichten "ident request", "hostname lookup" etc
|
|
weergegeven worden zodra een gebruiker een verbinding maakt.</p>
|
|
<p><font class="set">set::options::dont-resolve;</font><br>
|
|
Wanneer dit aanstaat zal de host van gebruikers niet geresolved worden. Dit kan handig zijn
|
|
als vele gebruikers een host hebben die niet snel verbindt.<p/>
|
|
Let op dat je geen op host gebaseerde blokken kan hebben, omdat de host niet geresolved wordt.</p>
|
|
<p><font class="set">set::options::mkpasswd-for-everyone;</font><br>
|
|
Stelt in dat /mkpasswd door iedereen gebruikt kan worden, in plaats van door opers alleen. Het
|
|
gebruik van dit commando door normale gebruikers zal door middel van een EYES snomask kenbaar
|
|
worden gemaakt.</p>
|
|
<p><font class="set">set::options::allow-part-if-shunned;</font><br>
|
|
Staat een shunned gebruiker toe /part te gebruiken.</p>
|
|
<p><font class="set">set::options::fail-oper-warn;</font><br>
|
|
Als dit aanstaat, zal een gebruiker erop geattendeerd worden dat de mislukte /oper
|
|
wordt gelogd.</p>
|
|
<p><font class="set">set::dns::timeout <timevalue>;</font><br>
|
|
Een tijdsduur die specificeert hoelang een DNS server erover mag doen voordat
|
|
er een timeout volgt. De tijd is een numerieke waarde, waarin de d voor dag staat,
|
|
de h voor uur, m voor minute en s voor seconde. Voorbeeld: 1d2h3m betekent
|
|
1 dag, 2 uur en 3 minuten.</p>
|
|
<p><font class="set">set::dns::retries <number-of-retries>;</font><br>
|
|
Een numerieke waarde die instelt hoeveel keer er opnieuw geprobeerd moet worden
|
|
een DNS lookup te voltooien.</p>
|
|
<p><font class="set">set::dns::nameserver <name-of-dns-server>;</font><br>
|
|
De hostnaam die gebruikt moet worden voor een DNS lookup.</p>
|
|
<p><font class="set">set::dns::bind-ip <ip>;</font><br>
|
|
Het IP waaraan gebonden moet worden voor het resolven. Bijna nooit nodig.</p>
|
|
<p><font class="set">set::network-name <name-of-network>;</font><br>
|
|
De naam van het netwerk waar deze server deel van uitmaakt. Deze waarde moet
|
|
precies gelijk zijn op alle servers.</p>
|
|
<p><font class="set">set::default-server <server-name>;</font><br>
|
|
De standaardserver waarnaar verbonden moet worden wanneer deze server vol is.</p>
|
|
<p><font class="set">set::services-server <server-name>;</font><br>
|
|
De naam van de server waar de Services op lopen. Benodigd, maak er services.yournet.com
|
|
van wanneer je geen Services hebt.</p>
|
|
<p><font class="set">set::stats-server <server-name>;</font><br>
|
|
De naam van de server waar de Stats bot op loopt. Als er geen Stats bot is, kan
|
|
deze waarde worden weggelaten.</p>
|
|
<p><font class="set">set::help-channel <network-help-channel>;</font><br>
|
|
De naam van het help kanaal op dit netwerk.</p>
|
|
<p><font class="set">set::cloak-keys { "key1"; "key2"; "key3"; };</font><br>
|
|
De sleutels die gebruikt worden om een +x host te generen. De sleutels moeten op alle
|
|
servers binnen het netwerk hezelfde zijn, anders linken de servers niet. Elk van de
|
|
3 sleutels moet een string van 5 tot 100 tekens zijn (10 tot 20 is goed genoeg), bestaande
|
|
uit een mix van kleine letters (a-z), grote letters (A-Z) en getallen (0-9). Merk op dat
|
|
het ligt aan de cloaking module die je hebt geladen hoe je deze sleutels moet instellen.</p>
|
|
<p><font class="set">set::hiddenhost-prefix <prefix-value>;</font><br>
|
|
Het voorvoegsel voor een verborgen host (+x). Dit zijn meestal 3 tot 4 letters
|
|
die de netwerk naam voorstellen.</p>
|
|
<p><font class="set">set::hosts::local <locop-host-name>;</font><br>
|
|
De hostnaam die lokale opers krijgen wanneer ze +x zetten. Je kan ook user@host
|
|
hier gebruiken.</p>
|
|
<p><font class="set">set::hosts::global <globop-host-name>;</font><br>
|
|
De hostnaam die globale opers krijgen wanneer ze +x zetten. Je kan ook user@host
|
|
hier gebruiken.</p>
|
|
<p><font class="set">set::hosts::coadmin <coadmin-host-name>;</font><br>
|
|
De hostnaam die co-admins krijgen wanneer ze +x zetten. Je kan ook user@host
|
|
hier gebruiken.</p>
|
|
<p><font class="set">set::hosts::admin <admin-host-name>;</font><br>
|
|
De hostnaam die admins krijgen wanneer ze +x zetten. Je kan ook user@host
|
|
hier gebruiken.</p>
|
|
<p><font class="set">set::hosts::servicesadmin <servicesadmin-host-name>;</font><br>
|
|
De hostnaam die service-admins krijgen wanneer ze +x zetten. Je kan ook user@host
|
|
hier gebruiken.</p>
|
|
<p><font class="set">set::hosts::netadmin <netadmin-host-name>;</font><br>
|
|
De hostnaam die netadmins krijgen wanneer ze +x zetten. Je kan ook user@host
|
|
hier gebruiken.</p>
|
|
<p><font class="set">set::hosts::host-on-oper-up <yes/no>;</font><br>
|
|
Wanneer dit op 'yes' staat, zal de oper automatisch +x krijgen en de bovenstaande
|
|
host krijgen. Wanneer dit op 'no' staat, moet de gebruiker handmatig +x zetten
|
|
om bovenstaande host te krijgen.</p>
|
|
<p><font class="set">set::ssl::egd <filename>;</font><br>
|
|
Stelt in of EGD (Entropy Gathering Daemon) ondersteuning gebruikt moet worden. Wanneer je
|
|
OpenSSL 0.9.7 of hoger draait, zullen /var/run/egd-pool, /dev/egd-pool, /etc/egd-pool en
|
|
/etc/entropy automatisch doorzocht worden, dus er is geen bestandsnaam nodig. Wanneer je
|
|
een eerdere versie van OpenSSL gebruikt, of wanneer je een EGD socket wil gebruiken die
|
|
ergens anders staat, moet je de bestandsnaam van de UNIX Domain socket opgeven waarop
|
|
EGD luistert.</p>
|
|
<p><font class="set">set::ssl::certificate <filename>;</font><br>
|
|
Stelt in waar het SSL certificaat van de server staat.</p>
|
|
<p><font class="set">set::ssl::key <filename>;</font><br>
|
|
Stelt in waar de SSL sleutel van de server staat.</p>
|
|
<p><font class="set">set::ssl::trusted-ca-file <filename>;</font><br>
|
|
Stelt in waar de certificaten van de vertrouwde CAs staan.</p>
|
|
<p><font class="set">set::ssl::options::fail-if-no-clientcert;</font><br>
|
|
Gebruikers zonder certificaat worden geweigerd.</p>
|
|
<p><font class="set">set::ssl::options::no-self-signed;</font><br>
|
|
Verbindingen met zelf getekende certificaten worden geweigerd.</p>
|
|
<p><font class="set">set::ssl::options::verify-certificate;</font><br>
|
|
Stelt in dat UnrealIRCd bepaalt of een SSL certificaat geldig is alvorens de connectie
|
|
te accepteren.</p>
|
|
<p><font class="set">set::throttle::period <timevalue></font><br>
|
|
Stelt in hoelang een gebruiker moet wachten voordat hij/zij opnieuw kan verbinden na
|
|
set::throttle::connections pogingen.</p>
|
|
<p><font class="set">set::throttle::connections <amount>;</font><br>
|
|
Stelt in hoeveel keer een gebruiker met dezelfde host moet verbinden alvorens
|
|
tegengehouden te worden.</p>
|
|
<p><font class="set">set::ident::connect-timeout <amount>;</font><br>
|
|
Aantal seconden waarna het verbinden met een ident server opgegeven moet worden (standaard: 10s).</p>
|
|
<p><font class="set">set::ident::read-timeout <amount>;</font><br>
|
|
Stelt in hoeveel seconden er gewacht moet worden op een antwoord (standaard: 30s).</p>
|
|
<p><font class="set">set::anti-flood::unknown-flood-bantime <timevalue>;</font><br>
|
|
Stelt in hoelang de ban van een onbekende verbindings flooder duurt.</p>
|
|
<p><font class="set">set::anti-flood::unknown-flood-amount <amount>;</font><br>
|
|
Stelt in hoeveel data (in KiloBytes) een onbekende verbinding moet zenden alvorens
|
|
deze gekilled wordt.</p>
|
|
<p><font class="set">set::anti-flood::away-flood <count>:<period></font><br>
|
|
Away flood bescherming: Stelt een limiet aan /away. 'count' keer per 'period' secondes.
|
|
NO_FLOOD_AWAY moet aanstaan in config. Voorbeeld: <i>away-flood 5:60s;</i> betekent dat
|
|
er maximaal 5 keer per 60 seconden van status veranderd mag worden.</p>
|
|
<p><font class="set">set::anti-flood::nick-flood <count>:<period></font><br>
|
|
Nickname flood bescherming: Stelt een limiet aan het aantal naamsveranderen. Voorbeeld:
|
|
<i>nick-flood 4:90</i> Er zijn 4 naamsveranderingen in 90 seconden toegestaan. De
|
|
standaardwaarde is 3 per 60.</p>
|
|
<p><font class="set">set::default-bantime <time></font><br>
|
|
Standaard duur van een /kline, /gline, /zline, /shun etc zonder tijdsindicatie. (zoals
|
|
/gline *@some.nasty.isp). De standaardwaarde is permanent (0). Voorbeeld:
|
|
<i>default-bantime 90d;</i>.</p>
|
|
<p><font class="set">set::modef-default-unsettime <value></font><br>
|
|
Voor kanaalmodus +f kun je een standaard unsettime instellen. Wanneer je bijvoorbeeld
|
|
10 instelt, zal +f [5j]:15 veranderen in [5j#i10]:15. Er is geen standaardwaarde.</p>
|
|
<p><font class="set">set::modef-max-unsettime <value></font><br>
|
|
De maximale waarde van een modus +f unsettime (in +f [5j#i<TIME>]:15). Dit is een
|
|
waarde tussen 0 en 255. Standaard is het 60 (= 1 uur).</p>
|
|
<p><font class="set">set::ban-version-tkl-time <value></font><br>
|
|
Wanneer je /zline/gline/etc uitvoert in het ban version block, kun je hier instellen
|
|
hoelang het IP gebanned moet worden. Standaard is dit 86400 (1 day).</p>
|
|
<p><font class="set">set::spamfilter::ban-time <value></font><br>
|
|
Hetzelfde als bovenstaande, maar voor *lines/shuns toegevoegd door spamfilter.</p>
|
|
<p><font class="set">set::spamfilter::ban-reason <reason></font><br>
|
|
De reden die gebruikt moet worden door spamfilter.</p>
|
|
<p><font class="set">set::spamfilter::virus-help-channel <channel></font><br>
|
|
Het kanaal dat gebruikt moet worden voor de'viruschan' actie in spamfilter.</p>
|
|
<p><font class="set">set::spamfilter::virus-help-channel-deny <yes|no></font><br>
|
|
Wanneer dit op 'yes' (of '1') staat, wordt er "invite only" tegen gebruikers gezegd die
|
|
het virus-help-channel proberen te joinen. Alleen opers, mensen die een spamfilter matchen,
|
|
of mensen die ge-/invite zijn, kunnen joinen.</p>
|
|
<p><font class="set">set::spamfilter::except <target(s)></font><br>
|
|
Deze kanalen worden niet gecontroleerd door spamfilters. Dit kan 1 kanaal zijn, of
|
|
een reeks kanalen gescheiden door een komma (bijv: except "#help,#spamreport";).</p>
|
|
<p><font class="set">set::check-target-nick-bans <yes|no></font><br>
|
|
Wanneer de gebruiker zijn naam verandert, controleer of de NIEUWE nick gebanned zou
|
|
worden. Zo ja, sta de naamsverandering niet toe. Standaard is dit 'yes'.</p>
|
|
<p><font class="set">set::timesynch::enabled <yes|no></font><br>
|
|
Activeer of deactiveer de tijd synchronisatie bij het opstarten. Standaard is yes.</p>
|
|
<p><font class="set">set::timesynch::server <IP></font><br>
|
|
Server waarmee gesynchroniseerd moet worden. Dit kunnen maximaal 4 IPs zijn, gescheiden door
|
|
commas. De servers moeten NTP protocol versie 4 ondersteunen. Standaard worden 3 servers
|
|
gebruikt (US,EU,AU). De verzoeken worden parallel verzonden, het snelste antwoord wint.</p>
|
|
<p><font class="set">set::timesynch::timeout <time></font><br>
|
|
Maximale wachttijd voor een antwoord. Dit is een waarde tussen 1 en 5, hoger kan niet vanwege
|
|
een te hoge incorrectheid. Standaard is dit 3, en er is waarschijnlijk geen goede reden
|
|
om dit aan te passen.</p>
|
|
<p></p> </div>
|
|
|
|
<p><b><font size="+2">5 – Aanvullende bestanden<a name="addtlfiles"></a>
|
|
</font></b></p><div class="desc">
|
|
Als aanvulling op het configuariebestand heeft Unreal nog een aantal andere bestanden, zoals
|
|
MOTD, OperMOTD, BotMOTD en Rules. Hieronder staan de bestanden en hun functie.<br>
|
|
Merk op dat MOTDs (alle) en Rules bestanden apart kunnen worden ingestel door het tld block.
|
|
Dit zijn slechts de standaard bestanden (en voor MOTD/Rules vanaf andere servers).<p />
|
|
<table width="83%" border="1">
|
|
<tr>
|
|
<td>ircd.motd</td><td>Wordt afgebeeld wanneer een /motd wordt uitgevoerd (en wanneer ircd.smotd niet bestaat) wanneer een gebruiker verbindt.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ircd.smotd</td><td>Wordt alleen afgebeeld wanneer een gebruiker verbindt (short MOTD/korte MOTD)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>ircd.rules</td><td>Wordt afgebeeld wanneer een /rules wordt uitgevoerd</td>
|
|
</tr>
|
|
<tr>
|
|
<td>oper.motd</td><td>wordt afgebeeld wanneer je /opermotd uitvoert of wanneer je /oper'd</td>
|
|
</tr>
|
|
<tr>
|
|
<td>bot.motd</td><td>Wordt afgebeeld wanneer je /botmotd uitvoert of wanneer je gebruikersmode +B doet</td>
|
|
</tr>
|
|
</table>
|
|
<p></p></div>
|
|
<p><b><font size="+2">6 – Gebruiker & Kanaal modus<a name="userchannelmodes"></a>
|
|
</font></b></p><div class="desc">
|
|
<table width="83%" border="1">
|
|
<tr>
|
|
<td><div align="center"><b>Mode</b></div></td>
|
|
<td><div align="center"><b>Beschrijving</b></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><div align="center"><b>Kanaal Modes</b></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">A</div></td>
|
|
<td>Alleen Administrators mogen joinen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">a <nick></div></td>
|
|
<td>Maakt nick een kanaal admin</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">b <nick!user@host><br>
|
|
</div></td>
|
|
<td>Bant de gegeven gebruiker van het kanaal</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">c</div></td>
|
|
<td>ANSI kleuren kunnen niet naar het kanaal gezonden worden</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">C</div></td>
|
|
<td>CTCPs zijn niet toegestaan in het kanaal</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">e <nick!user@host></div></td>
|
|
<td>Uitzonderingsban – Wanneer iemand dit matcht, kunnen ze het kanaal wel joinen, zelfs als ze gebanned zijn</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">f [<number><type>]:<seconds></div></td>
|
|
<td>Kanaal flood bescherming. Zie <a href="#feature_antiflood">section 3.12</a> voor een uitgebreide beschrijving</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">G</div></td>
|
|
<td>Woorden in het kanaal worden gecontroleerd door de badword blocks, en zo nodig vervangen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">h <nick></div></td>
|
|
<td>Geeft half-op status aan de nick</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">i</div></td>
|
|
<td>Een uitnodiging is nodig</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">I <nick!user@host><br></div></td>
|
|
<td>Uitnodigings uitzonderingen ("invex") - Wanneer iemand dit matcht, gaan ze om een +i op het kanaal heen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">j <joins:seconds></div></td>
|
|
<td><i>joins</i> per <i>seconds</i> seconden zijn toegestaan per gebruiker</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">K</div></td>
|
|
<td>/knock is niet toegestaan</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">k <key></div></td>
|
|
<td>Een wachtwoord is nodig om het kanaal te joinen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">l <##></div></td>
|
|
<td>Zet een limiet op het aantal mensen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">L <Chan></div></td>
|
|
<td>Wanneer het limiet van +l bereikt is, worden mensen naar dit kanaal gestuurd</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">M</div></td>
|
|
<td>Je hebt een geregistreerde naam (+r) nodig om te praten</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">m</div></td>
|
|
<td>Gemodereerd kanaal. Alleen mensen met +v of hoger mogen praten</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">N</div></td>
|
|
<td>Naamsveranderingen zijn niet toegestaan</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">n</div></td>
|
|
<td>Berichten van buiten het kanaal zijn niet toegestaan</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">O</div></td>
|
|
<td>Alleen IRCOps mogen joinen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">o <nick></div></td>
|
|
<td>Geeft nick kanaal operator status</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">p</div></td>
|
|
<td>Maakt een kanaal prive</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">q <nick></div></td>
|
|
<td>Maakt nick de kanaal eigenaar</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">Q</div></td>
|
|
<td>Alleen U:Lined servers kunnen mensen kicken</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">R</div></td>
|
|
<td>Je hebt een geregistreerde naam nodig om te joinen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">S</div></td>
|
|
<td>Haalt alle kleuren weg</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">s</div></td>
|
|
<td>Maakt een kanaal geheim</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">t</div></td>
|
|
<td>Alleen kanaal operators kunnen de topic veranderen</td>
|
|
</tr>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">T</div></td>
|
|
<td>NOTICE's gericht aan het kanaal zijn niet toegestaan</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">u</div></td>
|
|
<td>Auditorium – /names en /who #kanaal worden alleen getoond aan ops</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">V</div></td>
|
|
<td>/invite is niet toegestaan</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">v <nick></div></td>
|
|
<td>Geeft nick voice (kan spreken in +m kanalen)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">z</div></td>
|
|
<td>Alleen mensen met een SSL verbinding mogen joinen</td>
|
|
</tr>
|
|
</table>
|
|
<p> </p>
|
|
<table width="75%" border="1">
|
|
<tr>
|
|
<td><div align="center"><b>Mode</b></div></td>
|
|
<td><div align="center"><b>Beschrijving</b></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><div align="center"><b>Gebruiker Modes</b></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">A</div></td>
|
|
<td>Server Admin (te zetten in het Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">a</div></td>
|
|
<td>Services Admin (te zetten in het Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">B</div></td>
|
|
<td>Markeert je als een Bot</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">C</div></td>
|
|
<td>Co-Admin (te zetten in het Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">d</div></td>
|
|
<td>Je ontvangt geen kanaal PRIVMSGs (uitgezonderd berichten die vooraf gaan met bepaalde tekens,
|
|
zie set::channel-command-prefix)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">G</div></td>
|
|
<td>Filtert alle badwords die ingesteld zijn</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">g</div></td>
|
|
<td>Kan globops en locops verzenden & lezen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">H</div></td>
|
|
<td>Verbergt IRCOp status (alleen voor IRCops)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">h</div></td>
|
|
<td>Beschikbaar voor hulp (Helpop) (te zetten in het Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">i</div></td>
|
|
<td>Onzichtbaar (niet te zien in /who)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">N</div></td>
|
|
<td>Network Administrator (te zetten in het Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">O</div></td>
|
|
<td>Lokale IRC Operator (te zetten in het Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">o</div></td>
|
|
<td>Globale IRC Operator (te zetten in het Oper Block)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">p</div></td>
|
|
<td>Verbergt de kanalen waarin je je bevindt in een /whois</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">q</div></td>
|
|
<td>Alleen U:Lined servers kunnen je kicken (alleen voor Services Admins)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">R</div></td>
|
|
<td>Je kunt alleen PRIVMSGS/NOTICES van geregistreerde (+r) gebruikers ontvangen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">r</div></td>
|
|
<td>Identificeert je naam als geregistreerd</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">S</div></td>
|
|
<td>Wordt gebruikt om Services Daemons te beschermen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">s</div></td>
|
|
<td>Kan server notices zien (zie <a href="#feature_snomasks">sectie 3.3</a> voor meer informatie)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">T</div></td>
|
|
<td>Je kan geen CTCPs ontvangen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">t</div></td>
|
|
<td>Zegt dat je een /vhost gebruikt</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">V</div></td>
|
|
<td>Zegt dat je een WebTV gebruiker bent</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">v</div></td>
|
|
<td>Ontvang geinfecteerde DCC Zend afwijzingen</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">W</div></td>
|
|
<td>Laat je zien dat mensen een /whois op je doen (Alleen voor IRCOps)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">w</div></td>
|
|
<td>Je kan wallop berichten zien</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">x</div></td>
|
|
<td>Geeft je een verborgen hostnaam</td>
|
|
</tr>
|
|
<tr>
|
|
<td><div align="center">z</div></td>
|
|
<td>Geeft aan dat je een SSL verbinding gebruikt</td>
|
|
</tr>
|
|
</table>
|
|
<p></p></div>
|
|
<p><font size="+2"><b>7 – Gebruikers & Opers commando's<a name="useropercommands" id="useropercommands"></a></b></font></p><div class="desc">
|
|
<p>Opmerking: de /helpop documentatie is recenter. Gebruik <i>/helpop commando</i> (of <i>/helpop?commando</i> wanneer je een oper bent) om meer
|
|
informatie over het commando te krijgen.</p>
|
|
|
|
<table width="90%" border="1">
|
|
<tr>
|
|
<td width="33%"><div align="center"><b>Commando</b></div></td>
|
|
<td width="57%"><div align="center"><b>Beschrijving</b></div></td>
|
|
<td width="10%"><div align="center"><b>Wie kan het gebruiken</b></div></td>
|
|
</tr>
|
|
<tr>
|
|
<td>nick <newnickname></td>
|
|
<td>Verandert je naam naar newnickname. Andere mensen zien je naamsverandering<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td>whois <nick></td>
|
|
<td>Laat informatie over nick zien. Dit houdt in de volleidge naam, de host, de kanalen waarin de persoon
|
|
zich bevindt, en of hij Oper is<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">who <mask></td>
|
|
<td>Met who kun je gebruikers zoeken. Masks zijn: naam; #kanaal, hostmask (*.attbi.com)<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">whowas <nick> <maxreplies></td>
|
|
<td>Geeft je informatie over een persoon die niet meer online is. <max replies>
|
|
is optioneel, en geeft aan hoeveel resultaten weergegeven moeten worden<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">ison <nick1 nick2 nick3 ...></td>
|
|
<td>Controleert of een gebruiker of een lijst van gebruikers online is/zijn. Zeer
|
|
handig voor scripts.<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">join <channel1,channel2, ...></td>
|
|
<td>Hiermee kun je een kanaal binnengaan. Door /join #chan1,#chan2,#chan3 ga je
|
|
meerdere kanalen tegelijk binnen. /join 0 zorgt ervoor dat je alle kanalen
|
|
verlaat (PART)<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">cycle <channel1, channel2, ...></td>
|
|
<td>Door een /cycle PART je het kanaal, om daarna weer te JOINen<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">motd <server></td>
|
|
<td>Laat de servers MOTD zien. Wanneer je een servernaam toevoegd, krijg je
|
|
de MOTD van de betreffende server<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">rules <server></td>
|
|
<td>Geeft de ircd.rules van de server weer. Wanneer je een servernaam
|
|
tovoegd, krijg je de regels van de betreffende server<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">lusers <server> </td>
|
|
<td>Laat het huidige en maximale aantal gebruikers zien, zowel lokaal als globaal.
|
|
Als je een servernaam toevoegd, krijg je de informatie van de betreffende server<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">map</td>
|
|
<td>Laat de netwerkmap zien</td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">quit <reason></td>
|
|
<td>Verbreek de verbinding met de server. Wanneer je een reden opgeeft,
|
|
wordt deze getoond op alle kanalen waarin je je bevond<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">ping <user></td>
|
|
<td>Zendt een PING aanvraag naar een gebruiker. Wordt gebruikt om te kijken of
|
|
de verbinding er nog is of om te kijken of er lag is. Servers zenden elke
|
|
XX seconden een ping om te kijken of de gebruiker nog steeds verbonden is<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">version <nick></td>
|
|
<td>Zendt een CTCP VERSION aanvraag naar een gebruiker. Wanneer ingesteld staat
|
|
dat er een antwoord gegeven moet worden, zul je dit krijgen<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">links</td>
|
|
<td>Geeft een lijst van alle servers gelinkt in het netwerk<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">Admin <server></td>
|
|
<td>Laat de admin informatie zien van de server. Wanneer de servernaam is toegevoegd,
|
|
krijg je informatie over de betreffende server<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">userhost <nick></td>
|
|
<td>Laat de userhost van de nick zien. Meestal gebruikt door scripts<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">topic <channel> <topic></td>
|
|
<td>/topic <channel> laat het huidige topic zien van het kanaal. /topic
|
|
<channel> <topic> zal het topic veranderen.<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">invite <nick> <channel></td>
|
|
<td>Nodigt de gebruiker uit naar het kanaal.<br></td>
|
|
<td>Kanaal Operator</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">kick <channel, channel> <user, user> <reason></td>
|
|
<td>Kickt de persoon of pesonen van het kanaal of kanalen. Een reden kan gegeven worden<br></td>
|
|
<td>Kanaal Operator</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">away <reason></td>
|
|
<td>Markeert je als zijnde weg. Een reden kan ook gegeven worden<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">Watch +-<nick> +-<nick><br></td>
|
|
<td>Watch is een nieuw systeem in UnrealIRCd wat sneller is en minder resources gebruikt.
|
|
De server zendt je een bericht wanneer een naam op je watch-lijst inlogt of uitlogt.
|
|
De watch-lijst wordt NIET onthouden. Jij, of je script, moet de namen steeds opnieuw
|
|
toevoegen wanneer je opnieuw verbindt met een server<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">helpop ?<topic> or !<topic><br></td>
|
|
<td>HelpOp is een nieuw systeem om hulp te krijgen over de IRC Server. Je typt of /HELPOP ?
|
|
<help system topic> or /HELPOP ! <vraag>. De ? betekent dat je het helpsysteem
|
|
wil raadplegen. Wanneer je geen antwoord krijgt, kun je de ! gebruiken, je vraag wordt dan
|
|
gezonden naar alle Help Operators die online zijn. Wanneer je geen ? of ! gebruikt, zal eerst
|
|
het helpsysteem geraadpleegd worden. Wanneer er niets gevonden wordt, wordt het bericht gestuurd
|
|
naar de Help Operators<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">list <search string></td>
|
|
<td>Wanneer je geen search string opgeeft, krijg je een lijst met alle kanalen. Hieronder
|
|
staan de opties die je gebruiken kunt.<br>
|
|
>nummer - geeft een lijst met meer dan <nummer> mensen<br>
|
|
<nummer - geeft een lijst met minder dan <nummer> mensen<br>
|
|
C>nummer - geeft een lijst met kanalen die tussen nu en <nummer> minuten geleden gemaakt zijn<br>
|
|
C<nummer - geeft een lijst met kanalen die ouder dan <nummer> minuten zijn<br>
|
|
T>nummer - geeft een lijst met kanalen waarvan de topic ouder is dan <nummer> minuten<br>
|
|
T<nummer - geeft een lijst met kanalen waarvan de topic jonger is dan <nummer>minuten<br>
|
|
*mask* - geeft een lijst met kanalen die *mask* matchen<br>
|
|
!*mask* - geeft een lijst met kanalen die *mask* niet matchen<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">Knock <channel> <message><br></td>
|
|
<td>Hiermee kun je 'kloppen' op een invite-only kanaal, en vragen om binnen te
|
|
komen. Werkt niet wanneer het kanaal op +K of +V staat. Werkt ook niet wanneer
|
|
je gebanned bent<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">setname</td>
|
|
<td>Hiermee kun je je Real Name (echte naam) veranderen, zonder opnieuw te verbinden<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">vhost <login> <password></td>
|
|
<td>Verbergt je hostnaam door een vhost van de server te gebruiken<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">mode <chan/nick> <mode><br></td>
|
|
<td>Hiermee kun je kanaal en gebruiker modi zien. Zie
|
|
<a href="#userchannelmodes">Gebruikers & Kanaal Modi</a> voor een lijst<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">credits</td>
|
|
<td>Laat een lijst zien van wie allemaal heeft meegeholpen aan het maken van UnrealIRCd<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">license</td>
|
|
<td>Laat de GNU License zien</td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">time <server></td>
|
|
<td>Laat de datum en tijd van de server zien. Wanneer je een servernaam opgeeft,
|
|
krijg je de datum en tijd van de betreffende server<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">botmotd <server><br></td>
|
|
<td>Laat je de BOTMOTD van de server zien. Wanneer je een servernaam opgeeft,
|
|
krijg je de BOTMOTD van de betreffende server<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">identify <password></td>
|
|
<td>Zendt je wachtwoord naar de Services om je nick te identificeren<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">identify <channel> <password></td>
|
|
<td>Zendt je wachtwoord naar de Services om je als kanaal eigenaar te
|
|
identificeren<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">dns <option></td>
|
|
<td>Geeft informatie over de servers DNS cache.
|
|
Opmerking: omdat bijna alle programmas een ingebouwd DNS commando hebben,
|
|
is het mogelijk dat je /raw DNS moet gebruiken. Opers kunnen een l opgeven
|
|
als eerste parameter wanneer ze een lijst willen ontvangen van alle ingevingen.<br</td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">userip <nick><br></td>
|
|
<td>Geeft het IP adres van nick<br></td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">oper <userid> <password><br></td>
|
|
<td>Geeft je IRC Operator status wanneer userid en password goed zijn volgens een Oper block<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">wallops <message></td>
|
|
<td>Zendt een bericht naar iedereen met gebruikersmodus +w<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">globops <message></td>
|
|
<td>Zendt een bericht naar alle IRCOps<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">chatops <message></td>
|
|
<td>Zendt een bericht naar alle IRCOps met gebruikersmodus +c<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">locops <message></td>
|
|
<td>Zendt een bericht naar alle lokale IRCOps<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">adchat <message></td>
|
|
<td>Zendt een bericht naar alle Admins<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">nachat <message></td>
|
|
<td>Zendt een bericht naar alle Net Admins<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">kill <nick> <reason></td>
|
|
<td>Killt een gebruiker op het netwerk<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">kline [+|-]<user@host | nick> [<time to ban> <reason>]</td>
|
|
<td>Bant de hostmask van de server waarop het wordt uitgevoerd. Een kline is geen globale ban<br>
|
|
<b>time to ban</b> is: a) een waarde in secondes, b) een tijdswaarde, zoals '1d' voor 1 dag of
|
|
c) 0 voor permanent. Tijd en reden zijn optioneel. Wanneer ze niet opgegeven worden, worden
|
|
set::default-bantime en 'no reason' gebruikt.<br>
|
|
Om een kline weg te halen, gebruik /kline -user@host<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">zline [+|-]<*@ip> [<time to ban> <reason>]</td>
|
|
<td>Bant een IP adres op de server waarop het wordt uitgevoerd. Dit is geen globale ban. Zie
|
|
kline voor de syntax. Gebruik /zline -*@IP om een zline te verwijderen<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">gline [+|-]<user@host | nick> [<time to ban> <reason>]<br></td>
|
|
<td>Voegt een globale ban toe voor iedereen die matcht. Zie kline voor de syntax. Gebruik /gline
|
|
-user@host om een gline te verwijderen<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">shun [+|-]<user@host | nick> [<time to shun> <reason>]<br></td>
|
|
<td>Belet een gebruik om commando's te gebruiken en om te spreken. Shuns zijn globaal (zoals glines).
|
|
Zie kline voor de syntax. Gebruik /shun -user@host om een shun weg te halen<br></td>
|
|
<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">gzline [+|-]<ip> <time to ban> :<reason><br></td>
|
|
<td>Voegt een globale zline toe. Zie kline voor de syntax. Gebruik /gzline
|
|
-*@IP om een gzline weg te halen<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">rehash <server> –<flags></td>
|
|
<td>Herlaadt het configuratiebestand. Wanneer je een servernaam opgeeft,
|
|
herlaad je het bestand van de betreffende server. Je kan ook verschillende
|
|
flags opgeven.<br>
|
|
-motd - Herlaad alleen de MOTD en RULES bestanden<br>
|
|
-opermotd - Herlaad alleen de OPERMOTD<br>
|
|
-botmotd - Herlaad alleen de BOTMOTD<br>
|
|
-garbage - Forceer een garbage collection<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">restart <password> <reason><br></td>
|
|
<td>Herstart het IRCd proces. Wachtwoord is benodigd wanneer drpass { }
|
|
gezet is. Je kan ook een reden opgeven<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">die <password><br></td>
|
|
<td>Beeindigt het IRCd proces. Een wachtwoord is benodigd wanneer drpass { }
|
|
gezet is<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">lag <server> <br></td>
|
|
<td>Dit commando is zoals Sonar of Traceroute, maar dan voor IRC. Je typt
|
|
/LAG <server> en krijgt een overzicht van alle servers die je langs moet
|
|
plus de tijden. Handig wanneer je lag wil onderzoeken.<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">sethost <newhost></td>
|
|
<td>Verandert je vhost naar wat je zelf wil<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">setident <newident><br></td>
|
|
<td>Verandert je ident naar wat je zelf wil<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">chghost <nick> <newhost><br></td>
|
|
<td>Verandert de hostnaam van een gebruiker die verbonden is<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">chgident <nick> <newident><br></td>
|
|
<td>Verandert de ident van een gebruiker die verbonden is<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">chgname <nick> <newname><br></td>
|
|
<td>Verandert de realname van een gebruiker die verbonden is<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">squit <server><br></td>
|
|
<td>Verbreekt de verbinding van een server in het netwerk<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">connect <server> <port> <server></td>
|
|
<td>Wanneer een server gegeven is, zal geprobeerd worden een verbinding te
|
|
maken met deze server. Wanneer twee servers gegeven zijn, zal er
|
|
geprobeerd worden een verbinding te maken tussen beide servers. Zet de
|
|
leaf op de eerste plaats, de hub op de tweede<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">dccdeny <filemask> <reason><br></td>
|
|
<td>Voegt een DCCDENY toe zodat het bestand niet verzonden kan worden<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">undccdeny <filemask><br></td>
|
|
<td>Verwijdert een DCCDENYY</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">sajoin <nick> <channel>, <channel><br></td>
|
|
<td>Dwingt een gebruiker ertoe een kanaal te joinen. Alleen beschikbaar voor
|
|
Services en Network Admins<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">sapart <nick> <channel>, <channel><br></td>
|
|
<td>Dwingt een gebruiker een kanaal te verlaten. Alleen beschikbaar voor
|
|
Services en Network Admins<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">samode <channel> <mode><br></td>
|
|
<td>Network en Services Admins kunnen een modus in een kanaal veranderen
|
|
zonder kanaal operator te zijn<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">rping <servermask><br></td>
|
|
<td>Berekent de lag in miliseconden tussen servers<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">trace <servermask|nickname><br></td>
|
|
<td>Wanneer gebruikt op een gebruiker, kun je de class en lag zien.
|
|
Wanneer je het gebruikt op een server, krijg je de class/versie/link
|
|
informatie te zien<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">opermotd <br></td>
|
|
<td>Laat de OPERMOTD zien<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="39">addmotd :<text><br></td>
|
|
<td>Voegt de gegeven tekst toe aan het einde van de MOTD<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">addomotd :<text><br></td>
|
|
<td>Voegt de gegeven tekst toe aan het einde van de OPERMOTD<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">sdesc <newdescription><br></td>
|
|
<td>Server Admins kunnen de beschrijving van hun server aanpassen zonder
|
|
de server te herstarten<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">addline <text><br></td>
|
|
<td>Voegt regels aan unrealircd.conf toe<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">mkpasswd <password><br></td>
|
|
<td>Zal een tekst wachtwoord encrypten welke toegevoegd kan worden aan unrealircd.conf<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">tsctl offset +/- <time><br></td>
|
|
<td>Past de interne IRCd klok aan (NIET gebruiken wanneer je niet weet
|
|
wat het precies doet!)<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">tsctl time<br></td>
|
|
<td>Geeft je een TS rapport</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">tsctl alltime</td>
|
|
<td>Geeft je een TS rapport van ALLE servers</td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">tsctl svstime <timestamp><br></td>
|
|
<td>Zet de TS tijd op alle servers (NIET gebruiken wanneer je niet weet wat
|
|
dit doet)<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">htm <option><br></td>
|
|
<td>Instellingen met betrekking tot "high traffic mode" (HTM). HTM zal sommige
|
|
commando's, zoals list, whois, who etc uitzetten wanneer er sprake is van
|
|
veel verkeer op de server. De Opties zijn: <br>
|
|
-ON Dwingt de server HTM aan te zetten<br>
|
|
-OFF Dwingt de server HTM uit te zetten<br>
|
|
-NOISY Server zendt een bericht wanneer HTM aan/uit gaat<br>
|
|
-QUIET Server zendt GEEN bericht wanneer HTM aan/uit gaat<br>
|
|
-TO <value> Zeg HTM wanneer hij geactiveerd moet worden<br></td>
|
|
<td>IRCop</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">stats <option><br></td>
|
|
<td>
|
|
B - banversion - Zend de banversion lijst<br>
|
|
b - badword - Zend de badword lijst<br>
|
|
C - link - Zend de link block lijst<br>
|
|
d - denylinkauto - Zend de deny link (auto) block lijst<br>
|
|
D - denylinkall - Zend de deny link (all) block lijst<br>
|
|
e - exceptthrottle - Zend De except throttle block lijst<br>
|
|
E - exceptban - Zend de except ban en except tkl block lijst<br>
|
|
f - spamfilter - Zend de spamfilter lijst<br>
|
|
F - denydcc - Zend de deny dcc block lijst<br>
|
|
G - gline - Zend de gline and gzline lijst<br>
|
|
Extended flags: [+/-mrs] [mask] [reason] [setby]<br>
|
|
m Geeft glines die matchen/niet matchen met de mask<br>
|
|
r Geeft glines met een reden die matcht/niet matcht met de gegeven reden<br>
|
|
s Geeft glines (niet) gezet door gebruikers met de gegeven naam<br>
|
|
I - allow - Zend de allow block lijst<br>
|
|
j - officialchans - Zend de offical channels lijst<br>
|
|
K - kline - Zend de ban user/ban ip/except ban block lijst<br>
|
|
l - linkinfo - Zend link informatie<br>
|
|
L - linkinfoall - Zend alle link informatie<br>
|
|
M - command - Zend een lijst met hoe vaak elk commando gebruikt is<br>
|
|
n - banrealname - Zend de ban realname block lijst<br>
|
|
O - oper - Zend de oper block lijst<br>
|
|
P - port - Zend informatie over poorten<br>
|
|
q - sqline - Zend de SQLINE lijst<br>
|
|
Q - bannick - Zend de ban nick block lijst<br>
|
|
r - chanrestrict - Zend de channel deny/allow block lijst<br>
|
|
R - usage - Zend gebruiksinformatie<br>
|
|
S - set - Zend de set block lijst<br>
|
|
s - shun - Zend de shun lijst<br>
|
|
Extended flags: [+/-mrs] [mask] [reason] [setby]<br>
|
|
m Geeft shuns die matchen/niet matchen met de maskk<br>
|
|
r Geeft shuns met een reden die matcht/niet matcht met de gegeven reden<br>
|
|
s Geeft shuns (niet) gezet door gebruikers met de gegeven naam<br>
|
|
t - tld - Zend de tld block lijst<br>
|
|
T - traffic - Zend traffic informatie<br>
|
|
u - uptime - Zend de server uptime en aantal verbindingen<br>
|
|
U - uline - Zend de ulines block lijst<br>
|
|
v - denyver - Zend de deny version block lijst<br>
|
|
V - vhost - Zend de vhost block lijst<br>
|
|
X - notlink - Zend de lijst van servers die op dit moment niet verbonden zijn<br>
|
|
Y - class - Zend de class block lijst<br>
|
|
z - zip - Zend compressie informatie over ziplinked servers (wanneer ziplink ondersteuning gecompiled is)<br>
|
|
Z - mem - Zend geheugen gebruik informatie<br>
|
|
</td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">module<br></td>
|
|
<td>
|
|
Geeft een lijst van alle geladen modules
|
|
</td>
|
|
<td>Iedereen</td>
|
|
</tr>
|
|
<tr>
|
|
<td height="36">close<br></td>
|
|
<td>Dit commando verbreekt alle onbekende verbindingen van de IRC server
|
|
</td>
|
|
<td>IRCOp</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p></p></div>
|
|
|
|
<p><font size="+2"><b>8 – Veiligheids tips/checklist<a name="security"></a></b></font></p>
|
|
<div class="desc">
|
|
<p>Wanneer je bezorgd bent om veiligheid (wat je zou moeten zijn!) geeft deze sectie je een overzicht
|
|
van de risico's die er zijn. Je kunt dit ook als een "checklist" gebruiken om je netwerk veilig
|
|
te maken.</p>
|
|
<p>De volgorde van de lijst is populariteit/risico niveau/meest-gebruikte-aanval</p>
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.1 Wachtwoorden</font></b><a name="secpasswords"></a><br><div class="desc">
|
|
-Kies goede oper, link etc wachtwoorden:<br>
|
|
- Gebruik kleine en grote letters, en getallen ("whbv1wf5") en/of iets langs ("blaheeteenvis", "AlphaBeta666").<br>
|
|
- Gebruik oper/link wachtwoorden niet voor iets anders, bijvoorbeeld je email account, bot wachtwoord, forums, etc...<br>
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.2 Niet-IRCd gerelateerde lekken</font></b><a name="secnonircd"></a><br><div class="desc">
|
|
Er is een veel grotere kans dat je systeem gehackt wordt door iets wat niet met IRC te maken heeft dan door een bug in
|
|
UnrealIRCd. Als je bijvoorbeeld http, dns, smtp en ftp servers hebt lopen, loop je een veel grotere kans.
|
|
Wanneer je een multi-user systeem (bijv. een shell) gebruikt, is er een risico dat lokale exploits en verkeerde rechten
|
|
(zie het volgende punt) gebruikt worden. Het is een vrij groot risico, dus pas goed op bij het kiezen van een shell provider.
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.3 Rechten en het configuratiebestand</font></b><a name="secpermissions"></a><br><div class="desc">
|
|
Let erop dat je home en UnrealIRCd directory de juiste rechten hebben. (group/)anderen mogen geen lees-rechten hebben. Anders
|
|
kan een lokale gebruiker je configuratiebestand zo uitlezen en op zoek gaan naar wachtwoorden. doe <i>chmod -R go-rwx
|
|
/path/naar/Unreal3.2</i> wanneer je hier onzeker over bent.<br>
|
|
Andere gerelateerde dingen: plaats UnrealIRCd nooit in je webroot map of een andere shared map. Met betrekking tot backups,
|
|
let erop dat deze ook de juiste rechten hebben! Het gebeurt vaker dat alles veilig is, maar er ergens een backup.tar.gz
|
|
slingert, leesbaar voor iedereen.<br>
|
|
<br>
|
|
Je doet er ook goed aan encrypted wachtwoorden te gebruiken, wanneer mogelijk. Waneer je met OpenSSL ondersteuning compiled
|
|
(wat je doet, want je bent bezorgt om veiligheid, toch?) dan raad ik je aan om <i>sha1</i> of <i>ripemd160</i> wachtwoorden
|
|
te gebruiken. Anders gebruik je <i>md5</i>. Wanneer je oper blocks van Unreal3.2.1 of eerder gebruikt, raad ik je aan om
|
|
de wachtwoorden opnieuw te encrypten, omdat 3.2.1 een nieuw anti-crack beveiliging heeft (het vertraagt het kraken 14x).<br>
|
|
Dit is niet "nog een extra beveiliging", want wanneer je slechte wachtwoorden gebruikt, kan alles nog vrij makkelijk gekraakt
|
|
worden. Wanneer iemand je configuratiebestand te pakken krijgt, zal het de aanvaller vast helpen, bijvoorbeeld
|
|
link::password-connect.
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.4 Gebruikers gerelateerde problemen</font></b><a name="secuser"></a><br><div class="desc">
|
|
Net zoals de meeste dingen ligt dit niet niet aan UnrealIRCd, maar...<br>
|
|
Wees wijs met het toevoegen van opers en admins, en onthoudt het concept van de zwakste link.
|
|
Hoewel je alles goed hebt gedaan, en dit document hebt uitgevoerd, kan je vriend, die oper is,
|
|
iets stoms doen. Zoals z'n harde schijf delen via netbios/kazaa/morpheus/..., ontvangt een trojan,
|
|
gebruikt een makkelijk wachtwoord, etc etc.. Helaas heb jij het niet altijd voor het zeggen.<br>
|
|
Let altijd op met het geven van rechten aan opers (oper::flags).
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.5 SSL/SSH & sniffing</font></b><a name="secsnif"></a><br><div class="desc">
|
|
Gebruik een SSL connectie tussen servers en als een oper. Dit beschermt je tegen "sniffen".
|
|
Sniffen is mogelijk wanneer iemand een gehacked systeem tussen jou en je IRCd server heeft. Hij kan
|
|
dan ALLE traffic zien dat langskomt. Hij kan gesprekken bekijken, alle wachtwoorden lezen (oper, logins,
|
|
nickserv, etc).. Gebruik daarom altijd ssh in plaats van telnet.
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.6 Denial of Service attacks (DoS) [of: hoe bescherm ik mijn hub]</font></b><a name="secDoS"></a><br><div class="desc">
|
|
Veel netwerken hebben ervaren hoe "leuk" een flood of (D)DoS aanval is. Je kan de gevolgen
|
|
echter beperken. De meeste netwerken hebben een hub server. Wat veel mensen vergeten, is dat
|
|
het vrij makkelijk is om een hub server te beschermen tegen aanvallen.<br>
|
|
Ik zal het hier uitleggen:<br>
|
|
1. Stel de naam van de hub in op een naam die niet bestaat, bijv "hub.yournet.com", maar<br>
|
|
voeg geen dns record toe. Op deze manier kan de aanvaller de host niet resolven en<br>
|
|
kan hij de hub ook niet flooden. Dan link je servers naar de hub door<br>
|
|
het IP of een andere niet-publieke hostnaam<br>
|
|
Voorbeeld 1: <i>link visibiblename.yournet.com { hostname 194.15.123.16; [etc] };</i>.<br>
|
|
Voorbeeld 2: <i>link visibiblename.yournet.com { hostname thehostnamethatworks.yournet.com; [etc] };</i>.<br>
|
|
Let op; bij het laatste voorbeeld moet je er zeker van zijn dat je nameservers geen zone transfers toestaan,
|
|
maar dat is veel te off-topic voor deze documentatie.<br>
|
|
2. Een andere belangrijke stap is het verbergen van 'stats C', en andere stats informatie, anders<br>
|
|
kunnen aanvallers gewoon je link block zien. Wanneer je zo paranoide bent (zoals<br>
|
|
Syzop ;)) kun je dat zo oplossen: set { oper-only-stats "*"; }; to restrict all /stats usage.<br>
|
|
Als je dat niet wil doen, verberg dan tenminste "CdDlLXz". Meer hierover in de volgende sectie.<br>
|
|
<br>
|
|
Natuurlijk zijn deze stappen niet bepaald effectief na een aanval omdat de aanvallers<br>
|
|
de IPs toch al weten... Maar het wel raadzaam om ze te volgen.<br>
|
|
Aanvallers kunnen alle non-hub servers nog steeds flooden, maar dan moeten ze meer moeite<br>
|
|
doen dan het aanvallen van 1 of 2 zwakke punten (hubs). Op deze manier blijven je hub en<br>
|
|
Services wel nog online.<br>
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.7 Extra informatie</font></b><a name="secinformation"></a><br><div class="desc">
|
|
<b>STATS</b><br>
|
|
Het /stats commando geeft veel informatie, het is aan te raden het gebruik ervan zoveel
|
|
mogelijk te beschermen. Je moet jezelf de vraag stellen "Wat wil ik dat m'n gebruikers
|
|
kunnen zien?". De meeste grote netwerken kiezen voor niets, daar waar anderen kiezen voor
|
|
'/stats g' en '/stats k'.<br>
|
|
Ik raad je aan om <i>set { open-only-stats "*"; };</i> te zetten zodat non-opers het /stats commando
|
|
niet kunnen gebruiken. Wanneer je dit niet wil, kijk dan in de /stats lijst wat non-opers wel
|
|
mogen zien. Als je twijfelt, stel dan in dat non-opers het niet mogen zien (wat moeten ze
|
|
met de informatie?).<br>
|
|
|
|
Om een aantal voorbeelden te geven:<br>
|
|
- /stats o: geeft je de namen van opers en hostmasks.<br>
|
|
- /stats c: geeft je een idee van serverlinks, en welke als 'backup' te gebruiken<br>
|
|
- /stats g, /stats k: meestal gebruikt voor het bannen van proxies.. dit geeft aanvallers gewoon een lijst
|
|
van proxies die ze kunnen gebruiken.<br>
|
|
- /stats E, /stats e: gevoelige informatie, zeker wanneer een aanvaller deze adressen kan gebruiken<br>
|
|
- /stats i, /stats y: kan een aanvaller helpen voor het vinden van hosts<br>
|
|
- /stats P: helpt hem om serveronly poorten te vinden<br>
|
|
etc etc...<br>
|
|
<br>
|
|
<b>MAP / LINKS</b><br>
|
|
Verschillende mensen hebben gevraagd of er een manier was om /map of /links onbruikbaar te maken.
|
|
Wij denken dat het onzinnig is en een vals gevoel van veiligheid geeft. Hieronder de uitleg...
|
|
Het verbergen van servers die gebruikt worden door mensen is dom, omdat ze de servers toch al weten!
|
|
Voor servers die niet gezien morgen worden, zie sectie 8.6.<br>
|
|
Wat kun je WEL doen? Sinds 3.2.1 is er een optie genaamd 'flat map' (set::options::flat-map). Dit zal
|
|
de servers als 'direct gelinkt' laten zien in /map en /links. Gewone gebruikers kunnen dus niet meer
|
|
zien welke server aan welke gelinkt is. Dit kan een extra niveau van veiligheid zijn, zodat een kiddie
|
|
geen zwakke punten meer kan zien. Het gebruik hiervan wordt dan ook aangeraden. Let op dat dit niet
|
|
alles verbergt. Wanneer er een netsplit plaatsvindt, kan men nog steeds zien welke server aan welke
|
|
gelinkt was.<br>
|
|
<br>
|
|
<b>GEWONE GEBRUIKERS & SNOMASKS</b><br>
|
|
Een mogelijkheid die niet bekend is, is dat gewone gebruikers ook een aantal snomasks kunnen gebruiken,
|
|
namelijk +s +sk. Op deze manier zien ze rehashes, killes en verschillende andere berichten.<br>
|
|
Om het gebruik te stoppen, moet je set::restrict-usermodes gebruiken, <i>set { restrict-usermodes "s"; };</i>.<br>
|
|
<br><br>
|
|
Het verbergen van deze informatie is geen "echte" beveiliging.
|
|
Het maakt het echter wel moeilijker om aanvallen te plegen op je servers.<br>
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.8 Bescherming tegen exploits</font></b><a name="secantiexploit"></a><br><div class="desc">
|
|
Er zijn kernel patches die het moeilijker maken om stack- en heap-based exploits te laten
|
|
werken. Dit is aardig, maar moet niet je hoofdpunt zijn, er zijn veel grotere risicos..<br>
|
|
<br>
|
|
Een ding dat je altijd moet doen, is DE LAATSTE NIEUWE VERSIE GEBRUIKEN.
|
|
Je kan je aanmelden op de <a href="http://mail1.sourceforge.net/mailman/listinfo/unreal-notify" target="_blank">unreal-notify mailinglist</a>.
|
|
Op deze manier blijf je op de hoogte van nieuwe versies. Je ontvangt eens in de x maanden een e-mail.
|
|
In deze e-mail wordt ook vermeld of updaten ten zeerste wordt aangeraden in verband met veiligheid.
|
|
</div></p>
|
|
|
|
<p><b><font size="+2">8.9 Samenvatting</font></b><a name="secsummary"></a><br><div class="desc">
|
|
Zoals je nu hopelijk begrijpt, kun je nooit 100% beveiligd zijn. Jij (en wij) moeten elk gat
|
|
vinden en oplossen, terwijl een aanvaller slechts 1 server met 1 gat hoeft te vinden.
|
|
Alles wat hier uitgelegd is, HELPT wel enorm bij het verkleinen van risico's
|
|
Neem dus je tijd voor het beveiligen van je netwerk, en leer het je opers ook. Veel mensen geven niet
|
|
om veiligheid, totdat ze een keer gehackt worden. Probeer dit te vermijden.
|
|
</div></p>
|
|
|
|
|
|
<p><font size="+2"><b>9 – Veel gestelde vragen (FAQ)<a name="faq"></a></b></font></p>
|
|
<div class="desc"><p>De FAQ staat <a href="http://www.vulnscan.org/UnrealIRCd/faq/" TARGET="_blank">hier</a> online
|
|
(nog niet vertaald naar het Nederlands!).</p></div>
|
|
<p></p>
|
|
|
|
<p><font size="+2"><b>A Regular Expressions<a name="regex"></a></b></font></p>
|
|
<div class="desc"><p>
|
|
Reguliere expressions worden op veel plaatsen gebruikt in Unreal (badwords, spamfilter, aliases). Reguliere expressies zijn een zeer
|
|
complex instrument voor het vinden van patronen. Ze worden ook wel "regexp" of "regex." genoemd. Unreal gebruikt de TRE regexp library
|
|
voor haar regex. Deze library ondersteunt enkele zeer complexe en geavanceerde expressies die wellicht verwarrend zijn. Hieronder staat
|
|
informatie over het gebruik van regexps. Wanneer je geinteresseerd bent in meer technische details over de regex syntax in Unreal, ga dan
|
|
naar de <a href="http://www.laurikari.net/tre/syntax.html" target="_new">TRE homepage</a>.
|
|
</p></div>
|
|
|
|
<p><font size="+2"><b>A.1 Letters<a name="regexlit"></a></b></font></p>
|
|
<div class="desc"><p>
|
|
Literals zijn de basis componenten van een regexp. Het zijn letters die behandeld worden als gewone tekst. Het patroon "test" bestaat
|
|
uit vier letters, "t", "e", "s" en "t". In Unreal worden letters niet behandeld als hoofdlettergevoelig, dus "test" zou net zo goed
|
|
"TEST" kunnen zijn. Elk teken dat geen "meta teken" (wordt verderop uitgelegd) is, wordt behandeld als een letter. Je kan een teken
|
|
ook expliciet een letter maken, door een backslash (\) te gebruiken. Bijvoorbeeld, de punt (.) is een metateken. Wanneer je de letter
|
|
. wil gebruiken, moet je \. gebruiken. Unreal zal dit dan zien als een echte punt. Het is ook mogelijk dat je een teken wil gebruiken
|
|
dat niet makkelijk te typen is, bijvoorbeeld ASCII teken 3 (kleur). In plaats van het gebruiken van een IRC client om dit teken te maken,
|
|
kun je ook een speciale tekenvolgorde gebruiken, de \x. Wanneer je \x3 typt, zal dit worden opgevat als ASCII teken 3. Het nummer achter
|
|
\3 is een hexidecimaal getal tussen \x0 en \xFF.</p></div>
|
|
|
|
|
|
<p><font size="+2"><b>A.2 Dot Operator<a name="regexdot"></a></b></font></p>
|
|
<div class="desc"><p>
|
|
De punt (.) operator wordt gebruikt om "welk teken dan ook" aan te geven. Het geeft 1 teken aan. Bijvoorbeeld, als je "a.c" gebruikt,
|
|
zal dit "abc", "adc" enz zijn. Het zal echter niet voor "adb" staan, omdat de "a" en "c" erin moeten zitten.</p></div>
|
|
|
|
|
|
<p><font size="+2"><b>A.3 Repetition Operators<a name="regexrep"></a></b></font></p>
|
|
<div class="desc"><p>
|
|
Een veel voorkomende fout die gemaakt wordt met regex, is dat mensen aannemen dat ze met wildcards werken.
|
|
Dat houdt in, de * en ? tekens stellen een wildcard voor. Hoewel deze tekens dezelfde functie hebben in een regex,
|
|
zijn ze niet precies hetzelfde. Daarbijkomend, regex ondersteunt veel ingewikkeldere methoden van herhaling.
|
|
<p>
|
|
De basis van een herhalings-operator is de ? operator. Deze operator matcht 0 of 1 van de vorige tekens. Dit
|
|
,"van de vorige tekens", is waar de ? in regex verschilt met een wildcard. In een wildcard, "a?c" zou "a" gevolgd
|
|
door elk teken (of geen teken) matchen, gevolgd door een "c". In regex heeft het een andere betekenis. Het matcht 0
|
|
of 1 letter "a", gevolgd door de letter "c". Het komt erop neer dat de ? de a aanpast, zodanig dat het instelt hoeveel
|
|
a's gebruikt mogen worden. Om een ? na te bootsen in een wildcard, wordt de . operator gebruikt. De regex "a.?c" is
|
|
hetzelfde als de eerder genoemde wildcard. Het matcht de letter "a", gevolgd door 0 of 1 willekeurige letter (de ? heeft
|
|
de . aangepast), gevolgd door een "c".
|
|
<p>
|
|
De volgende herhalende operator is de *. Eveneens, deze operator is gelijk aan een wildcard. Het matcht 0 of meer van de vorige
|
|
tekens. Let op dat "van de vorige tekens" iets is dat kenmerkend is voor herhalende operators.
|
|
De regex "a*c" matcht 9 of meer a's, gevolgd door een "c". "aaaaac" zal dus matchen. Eveneens werkt dit als een wildcard, je moet
|
|
dus "a.*c" gebruiken. Dit zal de . laten veranderen door de *.
|
|
|
|
<p>
|
|
De + operator lijkt heel veel op de *. Maar in plaats van 0 of meer, matcht deze 1 of meer.
|
|
"a*c" matcht "c" (0 a's gevolgd door een c), waar "a+c" niet zou matchen.
|
|
De "a+" geeft aan dat er minstens 1 a moet zijn. Dus "c" matcht niet, maar "ac" en "aaaaaaaac" wel.
|
|
<p>
|
|
De meest ingewikkelde herharlings operator is de "boundary" (grens). Een boundary geeft je de mogelijkheid
|
|
om precies aan te geven hoeveel van het vorige teken er moeten zijn. Bijvoorbeeld anneer je precies 8 a's wil hebben, of
|
|
minstens 8 a's, of tussen de 3 en 5 a's. Een boundary laat je dit alles instellen.
|
|
De basis syntax is {M,N}, waar M de linkergrens en N de rechtergrens zijn. Een match tussen 3 en 5 a's zou dus zijn
|
|
"a{3,5}". Je hoeft niet beide waardes op te geven. Wanneer je "a{8}" opgeeft, moeten er precies 8 a's zijn.
|
|
Daarom is "a{8}" gelijk aan "aaaaaaaa". Wanneer je enkel het minimale aantal wil opgeven, kun je "a{8,}" gebruiken.
|
|
Er moeten dan minimaal 8 a's aanwezig zijn.
|
|
|
|
<p>
|
|
Standaard zijn alle herhalingsoperatoren "greedy" (gretig). Dit is een beetje een ingewikkeld idee.
|
|
Het komt erop neer dat een operator zoveel mogelijk tekens zal matchen als mogelijk.
|
|
Dit kan het beste uitgelegd worden aan de hand van een voorbeeld.
|
|
<p>Stel, we hebben de volgende tekst:<br>
|
|
|
|
HELLO<br>
|
|
En de volgende regex:<br>
|
|
.+L<p>
|
|
|
|
Je zou misschien denken dat .+ matcht met "HE.". Maar, dit is fout. Omdat de + greedy is, matcht het "HEL.". De achterliggende
|
|
reden is dat het de grootste deel van de ingevoerde tekst die gematched kan worden pakt, terwijl de hele regex nog geldt. In dit
|
|
voorbeeld koos het voor "HEL" omdat de enige andere vereiste achter een bepaalde tekst gematched door .+ een "L" moest zijn.
|
|
Omdat de tekst "HELLO" is, wordt "HEL" gevolgd door een "L", en daarom matcht het. Soms is het handig om een operator niet-greedy
|
|
te maken. Dit doe je door een ? te plaatsen achter de herhalingsoperator. ".+?L" matcht nu "HE" in plaats van "HEL" omdat het op
|
|
niet-greedy gezet is. De ? kan achter elke herhalingsoperator geplaatst worden: ??, *?, +?, {M,N}?.</p></div>
|
|
|
|
<p><font size="+2"><b>A.4 Bracket Expressions<a name="regexbracket"></a></b></font></p>
|
|
<div class="desc">
|
|
Haken-expressies zijn een handige manier om een "of" operator te maken. Bijvoorbeeld anneer je
|
|
"matcht een a of een b" wil maken. De naam komt omdat het tussen haken staat ([]). De basis syntax is
|
|
dat er in de expressie een serie tekens staan. Deze tekens worden dan behandeld alsof er een "of" tussenstaat.
|
|
Als voorbeeld; "[abc]" matcht een "a", "b" of "c". Om deze reden matcht de regexp "a[bd]c" wel "abc" en "adc",
|
|
maar niet "acc".
|
|
|
|
<p>
|
|
Een veel voorkomend geval is het controleren op een letter of een getal. In plaats van "[0123456789]" kun je
|
|
ook ranges gebruiken. Ranges werken met een begin- en eindpunt, met een - ertussen. Een makkelijkere manier
|
|
om te controleren op een getal is dan ook "[0-9]". Je kan hetzelfde doen met letters, zelfs met elke ASCII waarde.
|
|
Wanneer je elke letter wil matchen, gebruik je "[a-z]". Je kan ook meerdere ranges gebruiken in dezelfde expressie.
|
|
Om bijvoorbeeld een getal of letter te matchen, gebruik je "[0-9a-z]". Een probleem dat dit kan veroorzaken is
|
|
dat de - een speciaal teken is. Om zo'n streepje te matchen, plaats je deze gewoon als eerste of laatste teken
|
|
van een expressie. Bijvoorbeeld "[0-9-]" zal een getal of een streepje matchen.
|
|
<p>
|
|
Om het nog makkelijker te maken zijn er verschillende "character classes", die gebruikt mogen worden in bracket expressies.
|
|
|
|
|
|
These character classes eliminate the need to define certain ranges. Character classes are written by enclosing their name in :'s.
|
|
For Voorbeeld, "[0-9]" could also be written as "[:isdigit:]". The list below shows all of the available character classes and what they do:
|
|
<ul>
|
|
<li><tt>alnum</tt> - alphanumerieke tekens</li>
|
|
<li><tt>alpha</tt> - alphabetische tekens</li>
|
|
<li><tt>blank</tt> - lege tekens</li>
|
|
<li><tt>cntrl</tt> - control tekens</li>
|
|
<li><tt>digit</tt> - decimale getallen (0 tot 9)</li>
|
|
<li><tt>graph</tt> - alle afbeeldbare tekens, zonder spatie</li>
|
|
<li><tt>lower</tt> - kleine letters</li>
|
|
<li><tt>print</tt> - alle afbeeldbare tekens, met spatie</li>
|
|
<li><tt>punct</tt> - alle afbeeldbare tekens, zonder spatie of alphanumeriek</li>
|
|
<li><tt>space</tt> - witruimte tekens</li>
|
|
<li><tt>upper</tt> - hoofdletters</li>
|
|
<li><tt>xdigit</tt> - hexadecimale nummers</li>
|
|
</ul>
|
|
Een belangrijke opmerking over teken classes is dat ze het enige element in een expressie MOETEN zijn
|
|
[:isgetal:-] is NIET toegestaan. Je moet dit doen door de expressies in te nestelen. Om "[0-9-]" te
|
|
bereiken, kun je "[[:isgetal:]-]" gebruiken.
|
|
|
|
<p>
|
|
De laatste mogelijkheid van een bracket expressie is de ontkenning. Soms handig om te zeggen "alles behalve deze tekens".
|
|
Wanneer je bijvoorbeeld wil controleren of een teken "geen letter is", is het makkelijker om a-z te controleren en te
|
|
zeggen "deze niet". Om een ontkenning te maken gebruik je een "^" als eerste teken. Bijvoorbeeld "[^a-z]" matcht elke
|
|
niet-letter. Net als met een streepje, moet je dit teken niet op de eerste plaats zetten, maar achteraan wanneer je
|
|
letterlijk een ^ wil matchen ("[a-z^]". Tevens, om een character less te ontkennen, moet je ook deze weer nestelen.
|
|
"[^[:isdigit:]]" zou elk niet-getal matchen.</p></div>
|
|
|
|
|
|
<p><font size="+2"><b>A.5 Assertions<a name="regexassert"></a></b></font></p>
|
|
<div class="desc">
|
|
Assertions geven je de mogelijkheid om bepaalde voorwaardes die niet uit te drukken zijn in teken strings,
|
|
en bieden shortcuts voor enkele veel gebruikte bracket expressies.
|
|
<p>
|
|
Het ^-teken wordt gezien als het "linker anker" (left anchor). Dit teken slaat terug op het begin van een string.
|
|
Wanneer je een regexp als "test" geeft, matcht het bijvoorbeeld "dit is een test", omdat er "test" in de string zit.
|
|
Soms is het bruikbaar om aan te geven dat een string met een patroon begint.
|
|
Dit kan gedaan worden door ^. "^test" betekent bijvoorbeeld dat de tekst moet beginnen met "test".
|
|
Bijkomend, het $-teken is het "rechter anker". Dit teken slaat terug op het einde van een string.
|
|
Dus wanneer je "^test$" gebruikt, moet de string exact gelijk zijn aan "test".
|
|
<p>
|
|
Overeenkomstige testen bestaan ook voor woorden. Alle andere assertions worden aangegeven door een \ gevolgd door een
|
|
bepaald teken. Bijvoorbeeld, om het begin en einde van een woord te controleren, kun je \< en \> gebruiken.
|
|
<p>
|
|
The remaining assertions all come with two forms, a positive and a negative. These assertions are listed below:
|
|
<ul>
|
|
<li><tt>\b</tt> - Woord grens
|
|
<li><tt>\B</tt> - Niet-woord grens
|
|
<li><tt>\d</tt> - Getal teken (gelijk aan <tt>[[:digit:]]</tt>)</li>
|
|
<li><tt>\D</tt> - Niet-getal teken (gelijk aan <tt>[^[:digit:]]</tt>)</li>
|
|
<li><tt>\s</tt> - Spatie teken (gelijk aan <tt>[[:space:]]</tt>)</li>
|
|
<li><tt>\S</tt> - Niet-spatie teken (gelijk aan <tt>[^[:space:]]</tt>)</li>
|
|
<li><tt>\w</tt> - Woord teken (gelijk aan <tt>[[:alnum:]_]</tt>)</li>
|
|
<li><tt>\W</tt> - Niet-woord teken (gelijk aan <tt>[^[:alnum:]_]</tt>)</li>
|
|
</ul>
|
|
</div>
|
|
<p><font size="+2"><b>A.6 Alternation<a name="regexalt"></a></b></font></p>
|
|
<div class="desc">
|
|
Alternatie is een methode om "of" te zeggen. De alternatie operator is een verticale streep (|). Wanneer je bijvoorbeeld
|
|
"a of b" wil zeggen, kun je "a|b" gebruiken. Voor normale letters kan dit vervangen worden door bracket expressies, maar
|
|
alternatie kan ook gebruikt worden in subexpressies (zie volgende sectie).
|
|
</div>
|
|
|
|
<p><font size="+2"><b>A.7 Subexpressions<a name="regexsub"></a></b></font></p>
|
|
<div class="desc">
|
|
|
|
Subexpressies zijn onderdeel van een regex die behandeld wordt als een aparte gedaante. Er zijn twee manieren
|
|
om een subexpressie te maken. De twee methodes verschillen in "back references", wat later uitgelegd wordt.
|
|
Om een subexpressie die een back reference aangeeft aan te geven, sluit je het in met (). Om een subexpressie
|
|
die geen back reference gebruikt, vervang je de open haken door "(?:". Zoals "([a-z])" en "(?:[a-z])".
|
|
De reden waarom subexpressies handig zijn is dat je operators kan toevoegen aan een expressie. Alle herhalingsoperators,
|
|
bijvoorbeeld, die aangaven "X of meer van de vorige tekens" kunnen ook gebruikt worden om "X of meer van de vorige
|
|
subexpressie" aan te geven. Als je bijvoorbeeld de regex "[0-9][a-z][0-9]" hebt om een getal, gevolgd door een letter,
|
|
gevolgd door een getal aan te geven en dan besluit om deze regex twee keer te laten matchen. Normaal zou je
|
|
"[0-9][a-z][0-9][0-9][a-z][0-9]" gebruiken. Maar met behulp van subexpressies kun je simpelweg ([0-9][a-z][0-9]){2}"
|
|
gebruiken.</div>
|
|
|
|
|
|
<p><font size="+2"><b>A.8 Back References<a name="regexbackref"></a></b></font></p>
|
|
<div class="desc">
|
|
|
|
Back references geven je de mogelijkheid om terug te grijpen op een string die gematched was door een van
|
|
de subexpressies van een regex. Je gebruikt een back reference door een backslash (\) gevolgd door een
|
|
nummer, 0-9, te gebruiken. Bijvoorbeeld \1. \0 is een speciale reference die terugslaat op de hele regex,
|
|
in plaats van een subexpressie. Back references zijn handig wanneer je iets dezelfde string twee keer wil
|
|
matchen. Je hebt bijvoorbeeld een nick!user@host. Je weet dat er een trojan is die de nick en username gebruikt
|
|
die "[0-9][a-z]{5}" matcht, en zowel de nickname als de username zijn hetzelfde. Het gebruik van
|
|
"[0-9][a-z]{5}![0-9][a-z]{5}@.+" zal niet werken, omdat het toestaat dat verschillende nicknames en usernames
|
|
mogelijk zijn. De nick zou bijvoorbeeld 1abcde kunnen zijn, en de username 2fghij. Met behulp van back references
|
|
kun je dit omzeilen. Het gebruik van "([0-9][a-z]{5})!\1@.+" werkt precies zoals verwachten.
|
|
Dit zoekt naar de nickname die overeenkomt met de gegeven subexpressie, en gebruikt dan een back reference die zegt
|
|
dat de username precies hetzelfde moet zijn als de nickname.
|
|
|
|
<p>
|
|
Omdat je maar 9 back references, is de (?:) notatie handig.
|
|
Je kan een subexpressie maken, zonder een back reference te verspillen. Bijkomend,
|
|
omdat back reference informatie niet opgeslagen hoeft te worden, is het ook sneller.
|
|
Om deze redenen zouden niet-back reference expressies gebruikt moet worden wanneer back references
|
|
niet nodig zijn.</div>
|
|
|
|
<p><font size="+2"><b>A.9 Case Sensitivity<a name="regexcase"></a></b></font></p>
|
|
<div class="desc">
|
|
Zoals al eerder aangegeven was, maakt Unreal alle regexps niet hoofdlettergevoelig.
|
|
De hoofdreden voor dit gedrag is dat er meer redenen zijn dat je niet hoofdlettergevoelig gebruikt
|
|
in plaats van wel. Bijvoorbeeld, wanneer je de tekst "www.test.com" wil blokkeren, wil je "WWW.TEST.COM"
|
|
ook blokkeren. Er zijn ook gevallen waar je juist wel hoofdlettergevoeligheid wil toepassen, bijvoorbeeld
|
|
voor het vinden van bepaalde trojans.
|
|
Om deze reden is er een manier om hoofdlettergevoeligheid dynamisch aan en uit te zetten.
|
|
Om het uit te zetten, gebruik je "(?-i)", en om het aan te zetten "(?i"). Bijvoorbeeld,
|
|
"(?-i)[a-z](?i)[a-z]" zal een kleine letter matchen (hoofdlettergevoeligheid staat uit), gevolgd door of
|
|
een hoofdletter of een kleine letter (hoofdlettergevoeligheid staat aan).
|
|
In plaats van het steeds onthouden om de hoofdlettergevoeligheid weer aan te zetten wanneer je klaar bent,
|
|
kun je ook aangeven dat de gevoeligheid alleen in subexpressies gebruikt moet worden. "(?-i:[a-z])[a-z]"
|
|
is bijvoorbeeld gelijk aan de vorige regexp, omdat de -i alleen van toepassing is op de gegeven
|
|
subexpressie.</div>
|
|
</body>
|
|
</html> |