1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-25 07:36:37 +02:00
Files
unrealircd/doc/unreal32docs.ru.html
T

5312 lines
228 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>UnrealIRCd - 3.2 - Îôèöèàëüíàÿ äîêóìåíòàöèÿ</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<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; }
.inline_pre { font-family: monospace; font-style: normal; background-color: #eeeeee;}
pre { font-family: monospace; font-style: normal; background-color: #eeeeee;}
</style>
<!-- $Id$ -->
</head>
<body>
<A href="unreal32docs.html">English</A> |
<A href="unreal32docs.de.html">German</A> |
<A href="unreal32docs.hu.html">Hungarian</A> |
<A href="unreal32docs.fr.html">French</A> |
Russian |
<A href="unreal32docs.tr.html">Turkish</A> |
<A href="unreal32docs.es.html">Spanish</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">Âåðñèÿ: 3.2.10</font><br>
<b>Ïîñëåäíåå îáíîâëåíèå:</b> 2012-10-18</div>
<br>
<b>Ãëàâíûå ïðîãðàììèñòû</b> Syzop<br>
<b>Ïðîãðàììèñòû:</b> binki<br>
<b>Ïðåäûäóùèå ïðîãðàììèñòû è âêëàä÷èêè:</b> Stskeeps, codemastr, Luke, aquanight, WolfSage, McSkaf, Zogg,
NiQuiL, assyrian, chasm, DrBin, llthangel, Griever, nighthawk<br>
<b>Äîêóìåíòàöèÿ:</b> CKnight^ (íà÷àëüíàÿ äîêóìåíòàöèÿ), Syzop (ïåðåïèñàíà áîëüøàÿ ÷àñòü), codemastr è ìíîæåñòâî âêëàä÷èêîâ<br>
<b>Ïåðåâîä:</b> <A href="mailto:Bock@bynets.org">Bock</A> / Slyder / DeathBaba
/ Kirya<br>
<p>Äëÿ ïðîñìîòðà äàííîé äîêóìåíòàöèè, âû äîëæíû èìåòü ñîâìåñòèìûé áðàóçåð èç
ñïèñêà, ïðèâåä¸ííîãî íèæå. Äîêóìåíòàöèÿ ñ ïîñëåäíèìè îáíîâëåíèÿìè äîñòóïíà ïî
àäðåñó <a href="http://www.vulnscan.org/UnrealIRCd/unreal32docs.ru.html">http://www.vulnscan.org/UnrealIRCd/unreal32docs.ru.html</a>
è ×ÀÂÎ (×Àñòî çàäàâàåìûå ÂÎïðîñû): <a href="http://www.vulnscan.org/UnrealIRCd/faq/" target="_blank">
http://www.vulnscan.org/UnrealIRCd/faq/</a>.
</p>
<p><font size="+2"><b>INDEX / Ñîäåðæàíèå</b></font><br>
1. <A href="#IntroductionNotes">Ââåäåíèå</A><br>
---1.1. <A href="#notesonolder">Çàìå÷àíèÿ ïî îáíîâëåíèþ/ñîâìåñòíîìó èñïîëüçîâàíèþ
âåðñèé 3.1.x -&gt; 3.2</A><br>
---1.2. <A href="#notesonupgrade">Çàìå÷àíèÿ ïî îáíîâëåíèþ ìåæäó âåðñèÿìè âåòêè 3.2</A><br>
2. <A href="#installation">Óñòàíîâêà</A><br>
3. <A href="#features">Ôóíêöèîíàëüíûå âîçìîæíîñòè</A><br>
-- 3.1. <A href="#feature_cloaking">Cloaking[ñîêðûòèå õîñòà]</A><br>
-- 3.2. <A href="#feature_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">Óðîâíè äîñòóïà îïåðàòîðîâ</A><br>
-- 3.7. <A href="#feature_opercmds">Êîìàíäû îïåðàòîðîâ</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">Ñæàòûå ñîåäèíåíèÿ</A><br>
-- 3.11. <A href="#feature_dyndns">Ïîääåðæêà ñîåäèíåíèÿ ñ äèíàìè÷åñêèì DNS/IP</A><br>
-- 3.12. <A href="#feature_antiflood">Âîçìîæíîñòè çàùèòû îò flood'à</A><br>
-- 3.13. <A href="#feature_bantypes">Ðàçíîâèäíîñòè áàíîâ</A><br>
-- 3.14. <A href="#feature_spamfilter">Ñïàìôèëüòð</A><br>
-- 3.15. <A href="#feature_cidr">CIDR</A><br>
-- 3.16. <A href="#feature_nickchars">Èñïîëüçîâàíèå íàöèîíàëüíûõ íàáîðîâ ñèìâîëîâ â
íèêàõ</A><br>
-- 3.17. <A href="#feature_cgiirc">Ïîääåðæêà CGI:IRC</A><br>
-- 3.18. <a href="#feature_timesync">Ñèíõðîíèçàöèÿ âðåìåíè</a><br>
-- 3.19. <a href="#feature_authtypes">Ñïîñîáû àóòåíòèôèêàöèè</a><br>
-- 3.20. <A href="#feature_other">Äðóãèå âîçìîæíîñòè</A><br>
4. <A href="#configuringyourunrealircdconf">Êîíôèãóðèðîâàíèå âàøåãî unrealircd.conf</A><br>
---4.1. <A href="#configurationfileexplained">Îáçîð ñòðóêòóðû êîíôèãóðàöèîííîãî
ôàéëà</A><br>
---4.2. <A href="#meblock">Áëîê Me -=- (M:Line)</A><br>
---4.3. <A href="#adminblock">Áëîê Admin -=- (A:Line)</A><br>
---4.4. <A href="#classblock">Áëîê Class -=- (Y:Line)</A><br>
---4.5. <A href="#allowblock">Áëîê Allow -=- (I:Line)</A><br>
---4.6. <A href="#listenblock">Áëîê Listen -=- (P:Line)</A><br>
---4.7. <A href="#operblock">Áëîê Oper -=- (O:Line)</A><br>
---4.8. <A href="#drpassblock">Áëîê DRpass -=-(X:Line)</A><br>
---4.9. <A href="#includedirective">Äèðåêòèâà Include</A><br>
---4.10. <A href="#loadmoduledirective">Äèðåêòèâà Loadmodule</A><br>
---4.11. <A href="#logblock">Áëîê Log</A><br>
---4.12. <A href="#tldblock">Áëîê TLD -=- (T:Line)</A><br>
---4.13. <A href="#bannickblock">Áëîê Ban Nick -=- (Q:Line)</A><br>
---4.14. <A href="#banuserblock">Áëîê Ban User -=- (K:Line)</A><br>
---4.15. <A href="#banipblock">Áëîê Ban IP -=- (Z:Line)</A><br>
---4.16. <A href="#banserverblock">Áëîê Ban Server -=-(q:Line)</A><br>
---4.17. <A href="#banrealnameblock">Áëîê Ban Realname -=- (n:Line)</A><br>
---4.18. <A href="#banversionblock">Áëîê Ban Version</A><br>
---4.19. <A href="#banexceptionblock">Áëîê Ban Exception -=- (E:Line)</A><br>
---4.20. <A href="#tklexceptionblock">Áëîê TKL Exception</A><br>
---4.21. <A href="#throttleexceptionblock">Áëîê Throttle Exception</A><br>
---4.22. <A href="#denydccblock">Áëîê Deny DCC -=- (dccdeny.conf)</A><br>
---4.23. <A href="#denyversionblock">Áëîê Deny Version -=- (V:Line)</A><br>
---4.24. <A href="#denylinkblock">Áëîê Deny Link -=- (D:Line / d:Line)</A><br>
---4.25. <A href="#denychannelblock">Áëîê Deny Channel -=- (chrestrict.conf)</A><br>
---4.26. <A href="#allowchannelblock">Áëîê Allow Channel</A><br>
---4.27. <A href="#allowdccblock">Áëîê Allow DCC</A><br>
---4.28. <A href="#vhostblock">Áëîê Vhost -=- (vhost.conf)</A><br>
---4.29. <A href="#badwordsblock">Áëîê Badword -=- (badwords.conf)</A><br>
---4.30. <A href="#ulinesblock">Áëîê Uline -=- (U:Line)</A><br>
---4.31. <A href="#linkblock">Áëîê Link -=- (C/N/H:Lines)</A><br>
---4.32. <A href="#aliasblock">Áëîê Alias</A><br>
---4.33. <A href="#helpblock">Áëîê Help</A><br>
---4.34. <A href="#officialchannels">Áëîê Official Channels</A><br>
---4.35. <A href="#spamfilter">Áëîê Spamfilter</A><br>
---4.36. <A href="#cgiirc">Áëîê Cgiirc</A><br>
---4.37. <A href="#setblock">Áëîê Set</A><br>
---4.38. <a href="#filesblock">Áëîê Files</a><br />
5. <A href="#addtlfiles">Äîïîëíèòåëüíûå ôàéëû</A><br>
6. <A href="#userchannelmodes">Ðåæèìû ïîëüçîâàòåëÿ è êàíàëà</A><br>
7. <A href="#useropercommands">Êîìàíäû ïîëüçîâàòåëÿ è îïåðàòîðà</A><br>
8. <A href="#security">Ñïèñîê ñîâåòîâ ïî áåçîïàñíîñòè</A><br>
---8.1. <A href="#secpasswords">Ïàðîëè</A><br>
---8.2. <A href="#secnonircd">Óÿçâèìîñòè, íå îòíîñÿùèåñÿ ê IRCD</A><br>
---8.3. <A href="#secpermissions">Ïðàâà äîñòóïà íà êîíôèãóðàöèîííûé ôàéë</A><br>
---8.4. <A href="#secuser">×åëîâå÷åñêèé ôàêòîð</A><br>
---8.5. <A href="#secsnif">SSL/SSH è ïåðåõâàò òðàôèêà</A><br>
---8.6. <A href="#secDoS">Àòàêà íà îòêàç â îáñëóæèâàíèè (DoS) [èëè "êàê çàùèòèòü
ìîé õàá"]</A><br>
---8.7. <A href="#secinformation">Ðàñêðûòèå èíôîðìàöèè</A><br>
---8.8. <A href="#secantiexploit">Çàùèòà ïðîòèâ ýêñïëîèòîâ</A><br>
---8.9. <A href="#secsummary">Èòîãè</A><br>
9. <a href="http://www.vulnscan.org/UnrealIRCd/faq/" target="_blank">×àñòî
çàäàâàåìûå âîïðîñû (×ÀÂÎ)</a><br />
10. <a href="#modules">Ìîäóëè</a><br />
---10.1. <a href="#modules_m_nopost">m_nopost</a><br />
A. <A href="#regex">Ðåãóëÿðíûå âûðàæåíèÿ</A><br>
---A.1. <A href="#regexlit">Ëèòåðàëû</A><br>
---A.2. <A href="#regexdot">Îïåðàòîð Òî÷êà</A><br>
---A.3. <A href="#regexrep">Îïåðàòîðû ïîâòîðåíèÿ</A><br>
---A.4. <A href="#regexbracket">Âûðàæåíèÿ â ñêîáêàõ</A><br>
---A.5. <A href="#regexassert">Óïðàâëÿþùèå ñèìâîëû</A><br>
---A.6. <A href="#regexalt">Îïåðàòîð âûáîðà</A><br>
---A.7. <A href="#regexsub">Ïîäâûðàæåíèÿ</A><br>
---A.8. <A href="#regexbackref">Îáðàòíûå ññûëêè</A><br>
---A.9. <A href="#regexcase">×óâñòâèòåëüíîñòü ê ðåãèñòðó</A><br>
</p>
<p><b><font size="+2">1.0 Ââåäåíèå <a name="IntroductionNotes"></a></font></b>
<br>
</p>
<div class="desc">
<p>Ýòîò äîêóìåíò ÿâëÿåòñÿ ÷àñòüþ UnrealIRCd. Èñïîëüçîâàíèå èëè ðàñïðîñòðàíåíèå
ýòîãî äîêóìåíòà ñ äðóãèì ïàêåòîì ïðîãðàììíîãî îáåñïå÷åíèÿ ñòðîãî çàïðåùåíî áåç
ïèñüìåííîãî ðàçðåøåíèÿ êîìàíäû ðàçðàáîò÷èêîâ UnrealIRCd. Ýòîò äîêóìåíò ìîæåò
áûòü ñêîïèðîâàí/ðàñïå÷àòàí/îïóáëèêîâàí/âîñïðîèçâåä¸í ñêîëüêî óãîäíî ðàç â
ñëó÷àå, åñëè îí áóäåò èñïîëüçîâàí ñ UnrealIRCd, è íå áóäåò ñîäåðæàòü êàêèõ-ëèáî
èçìåíåíèé. Copyright UnrealIRCd Development Team 2002-2006</p>
<p>Ïîæàëóéñòà, ïðî÷èòàéòå ýòî ðóêîâîäñòâî ïðåæäå, ÷åì çàäàâàòü âîïðîñû, à òàê æå
çàãëÿíèòå â <a href="http://www.vulnscan.org/UnrealIRCd/faq/" target="_blank">×ÀÂÎ</a>,
òàê êàê 80% âàøèõ âîïðîñîâ/ïðîáëåì óæå îïèñàíî â í¸ì. Åñëè âû âñ¸ æå íóæäàåòåñü
â ïîìîùè, ïîïðîñèòå ïîääåðæêè íà irc.unrealircd.org (port 6667) íà êàíàëå
#unreal-support (èìåéòå â âèäó, ÷òî ìû ÒÐÅÁÓÅÌ, ÷òîáû äîêóìåíòàöèÿ áûëà
ïðî÷èòàíà, è ìû ïîìîãàåì òîëüêî ïî UnrealIRCd, à íå ïî ñåðâèñàì!).
Òàê æå ìîæåòå âîñïîëüçîâàòüñÿ ôîðóìàìè <a href="http://forums.unrealircd.com/" TARGET="_blank">http://forums.unrealircd.com</a>.
Åñëè âû îáíàðóæèëè ðåàëüíûé áàã (íàïðèìåð, àâàðèéíîå çàâåðøåíèå ðàáîòû), ñîîáùèòå îá
ýòîì íà <a href="http://bugs.unrealircd.org" target="_blank">http://bugs.unrealircd.org</a>.</p>
</div>
<p><font size="+2"><b>1.1 – Çàìå÷àíèÿ ïî îáíîâëåíèþ/ñîâìåñòíîìó èñïîëüçîâàíèþ âåðñèé
3.1.x-&gt; 3.2 </b></font><a name="notesonolder"></a>
<br>
</p>
<div class="desc">
<p>Ïðè ïåðåõîäå ñ Unreal3.1.x íà Unreal3.2 âû çàìåòèòå, ÷òî ñòðóêòóðà
êîíôèãóðàöèîííîãî ôàéëà ïîëíîñòüþ èçìåíèëàñü. Ñíà÷àëà îíà ïîêàæåòñÿ ñëîæíîé,
îäíàêî ñî âðåìåíåì âû ïðèâûêíåòå è ïîéì¸òå, ÷òî òàê íàìíîãî óäîáíåå!</p>
<p>Òàê æå íå çàáóäüòå ïðî÷èòàòü ðàçäåë 3 î ôóíêöèîíàëüíûõ âîçìîæíîñòÿõ. Ñ
íåêîòîðûìè èç íèõ âû çíàêîìû ïî âåðñèè 3.1.x, íî ìû äîáàâèëè íîâûå!</p>
<p>Ëó÷øå íå èñïîëüçîâàòü ñîâìåñòíî 3.1.x è 3.2, íî åñëè âû íà ñàìîì äåëå ýòîãî
õîòèòå, ó âàñ äîëæíà áûòü êàê ìèíèìóì âåðñèÿ 3.1.4 (ìû íàñòîÿòåëüíî ðåêîìåíäóåì
3.1.5.1).</p>
</div>
<p><font size="+2"><b>1.2 – Çàìå÷àíèÿ ïî îáíîâëåíèþ ìåæäó âåðñèÿìè âåòêè 3.2</b></font><a name="notesonupgrade"></a><br>
</p>
<div class="desc">
<p>Ðåêîìåíäàöèè ïî îáíîâëåíèþ äëÿ:<br>
Linux:<br>
<ul>
<li>
Ïåðåèìåíóéòå âàø ñòàðûé êàòàëîã UnrealIRCd (ëèáî ïåðåçàïèøèòå åãî íà ñëåäóþùåì
øàãå)
<li>
Èçâëåêèòå íîâóþ âåðñèþ UnrealIRCd è çàïóñòèòå ./Config è ïîòîì make
<li>
Ñêîïèðóéòå âàøè ñòàðûå êîíôèãóðàöèîííûå ôàéëû â íîâóþ äèðåêòîðèþ
(unrealircd.conf, motd, rules, server.* [SSL certs], ôàéë ñåòè, etc)
<P></P>
</li>
</ul>
Windows:<br>
<ul>
<li>
Ñêîïèðóéòå âñå êîíôèãóðàöèîííûå ôàéëû âî âðåìåííóþ äèðåêòîðèþ.
<li>
Çàïóñòèòå ïðîãðàììó óäàëåíèÿ ïðåäûäóùèõ âåðñèé Unreal, êîòîðûå âû
óñòàíàâëèâàëè.
<li>
Çàïóñòèòå ïðîãðàììó óñòàíîâêè íîâîé âåðñèè Unreal.
<li>
Ñêîïèðóéòå ñòàðûå êîíôèãóðàöèîííûå ôàéëû â íîâóþ ïàïêó.
</li>
</ul>
<p>Ïîæàëóéñòà, ïðîâåðüòå/ïðî÷èòàéòå .RELEASE.NOTES ÷òîáû óâèäåòü, ÷òî èçìåíèëîñü.
Åñëè âû çàìåòèëè ðàçíèöó â ðàáîòå (èëè îøèáêè) â íîâîé âåðñèè, ÓÁÅÄÈÒÅÑÜ, ×ÒÎ
ÂÛ ÏÐÎ×ÈÒÀËÈ .RELEASE.NOTES ÏÐÅÆÄÅ, ÷åì ñîîáùàòü îá ýòîì!</p>
</div>
<p><font size="+2"><b>2.0 - Óñòàíîâêà</b></font><a id="installation" name="installation"></a><br>
<div class="desc"><br>
<b>Òåñòèðóåìûå è ïîääåðæèâàåìûå îïåðàöèîííûå ñèñòåìû:</b><br>
<ul>
<li>
<b>*NIX âåðñèè:</b>
<ul>
<li>
Linux (2.2.*, 2.4.*, 2.6.*)
<li>
FreeBSD (4.*, 5.*, 6.*)
<li>
NetBSD (2.*)
<li>
OpenBSD (3.7, 3.8, 3.9)
<li>
Solaris (9, 10)
</li>
</ul>
<li>
<b>Windows âåðñèè:</b>
<ul>
<li>
Windows 2000 (Pro, Server, Advanced Server)
<li>
Windows XP (Home, Pro)
<li>
Windows 2003
</li>
</ul>
<li>
<b>Òåñòèðóåìûå àðõèòåêòóðû:</b>
<ul>
<li>
ia32 (i386, i486, i586, i686)
<li>
ia64
<li>
amd64
<li>
alpha
</li>
</ul>
<br>
Åñëè ó âàñ Unreal3.2 êîððåêòíî ðàáîòàåò íà äðóãèõ îïåðàöèîííûõ ñèñòåìàõ,
ïîæàëóéñòà, âûøëèòå äåòàëè íà <A href="mailto:coders@lists.unrealircd.org">coders@lists.unrealircd.org<br>
</A>
<P></P>
<p><b>Èíñòðóêöèè ïî óñòàíîâêå</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>
Îòâåòüòå íà âîïðîñû.  îáùåì ñëó÷àå, åñëè âû íå óâåðåíû â îòâåòå, âûáèðàéòå
çíà÷åíèå ïî óìîë÷àíèþ
<li>
make
<li>
Òåïåðü ñîçäàéòå âàø unrealircd.conf è äðóãèå êîíôèãóðàöèîííûå ôàéëû òàê, êàê
îïèñàíî â ðàçäåëå 4.
</li>
</ol>
<p>Windows:<br>
<ol>
<li>
Çàïóñòèòå ïðîãðàììó óñòàíîâêè Unreal
<li>
Òåïåðü ñîçäàéòå âàø unrealircd.conf è äðóãèå êîíôèãóðàöèîííûå ôàéëû òàê, êàê
îïèñàíî â ðàçäåëå 4.
</li>
</ol>
<P></P>
<p></p>
</li>
</ul>
</div>
<p><font size="+2"><b>3.0 - Ôóíêöèîíàëüíûå âîçìîæíîñòè</b></font> <a name="features"></a>
</p>
<div class="desc">
<p> ýòîé ÷àñòè îïèñàíû îñíîâíûå èçìåíåíèÿ è äîïîëíèòåëüíûé ôóíêöèîíàë. Ýòî êðàòêèé
îáçîð, íî èíîãäà ìû áóäåì îáðàùàòüñÿ ê êîíôèãóðàöèîííîìó ôàéëó (÷òîáû ïîÿñíèòü
òî, î ÷¸ì âû, âîçìîæíî, åù¸ íå èìååòå ïðåäñòàâëåíèÿ).</p>
<p>Âû ìîæåòå ïðîïóñòèòü ýòó ÷àñòü, íî ìû ðåêîìåíäóåì îçíàêîìèòüñÿ ñ íåé äî, èëè
ñðàçó ïîñëå óñòàíîâêè.</p>
</div>
<p><font size="+2"><b>3.1 - Cloaking[ñîêðûòèå õîñòà]</b></font><a name="feature_cloaking"></a></p>
<div class="desc">
<p>Cloaking – ýòî ìåõàíèçì ñîêðûòèÿ ðåàëüíîãî èìåíè êîìïüþòåðà ïîëüçîâàòåëÿ. Ê
ïðèìåðó, åñëè âàøà ñèñòåìà èìååò èìÿ <i>d5142341.cable.wanadoo.nl</i>, îíî
áóäåò ïîêàçàíî (ïðè çàõîäå íà êàíàë, âûõîäå, whois è ïð.) êàê <i>rox-2DCA3201.cable.wanadoo.nl</i>.
Ýòî ïîëåçíî äëÿ ïðåäîòâðàùåíèÿ ïîëüçîâàòåëüñêîãî ôëóäà, òàê êàê ðåàëüíîå èìÿ
êîìïüþòåðà èëè åãî IP íå ïîêàçûâàåòñÿ.</p>
<p>Ýòà ôóíêöèÿ êîíòðîëèðóåòñÿ ðåæèìîì ïîëüçîâàòåëÿ +x (èñïîëüçîâàíèå: /mode âàø_íèê
+x), àäìèíèñòðàòîðû ìîãóò îïðåäåëèòü èñïîëüçîâàíèå ýòîãî ðåæèìà âñåìè ïî
óìîë÷àíèþ èëè ñäåëàòü òàê, ÷òî ïîëüçîâàòåëè íå ñìîãóò âûïîëíèòü -x íèêîãäà.</p>
<p>Ñêðûòàÿ ÷àñòü èìåíè ãåíåðèðóåòñÿ, åñëè ïîäãðóæåí ñîîòâåòñòâóþùèé ìîäóëü. Íà
äàííûé ìîìåíò, âêëþ÷¸í òîëüêî îäèí ìîäóëü:<br>
<b>cloak:</b> ýòî îôèöèàëüíûé ìîäóëü íà÷èíàÿ ñ âåðñèè 3.2.1, îí ãîðàçäî
íà䏿íåå ñòàðîãî àëãîðèòìà: èñïîëüçóåò md5 è òðåáóåò, ÷òîáû âû èìåëè òðè
ðàçëè÷íûõ êëþ÷à set::cloak-keys::, ñîñòîÿùèõ èç ñìåñè ïðîïèñíûõ (a-z),
çàãëàâíûõ (A-Z) áóêâ è öèôð (0-9) [ò.å.: "AopAS6WQH2Os6hfosh4SFJHs"]. Ñìîòðèòå
example.conf äëÿ ïðèìåðà.<br>
<p>Ýòè êëþ÷è ÄÎËÆÍÛ áûòü îäèíàêîâûìè íà ÂÑÅÕ ÑÅÐÂÅÐÀÕ â ñåòè. Òàêæå êëþ÷è äîëæíû
õðàíèòüñÿ â ñåêðåòå, ïîòîìó ÷òî âîçìîæíî ïîëó÷èòü ðåàëüíûé õîñò, çíàÿ ýòè êëþ÷è
(÷òî äåëàåò ðåæèì +x áåñïîëåçíûì).</p>
<P>Ïîäñêàçêà: Åñëè âû èñïîëüçóåòå *NIX, òî ó âàñ åñòü âîçìîæíîñòü ñîçäàòü
íîâûå êëþ÷è: çàïóñòèòå './unreal gencloak' â øåëëå, ðåçóëüòàòîì âûïîëíåíèÿ
ñòàíåò òðè ñòðîêè ñãåíåðèðîâàííûå ñëó÷àéíî, êîòîðûå âû ñìîæåòå èñïîëüçîâàòü â
êà÷åñòâå êëþ÷åé.</P>
</div>
<p><font size="+2"><b>3.2 - Ìîäóëè</b></font><a name="feature_modules"></a></p>
<div class="desc">
<p>UnrealIRCd ïîääåðæèâàåò ìîäóëè, êîòîðûå õîðîøè òåì, ÷òî:<br>
- Âû ìîæåòå çàãðóæàòü/ïåðåçàãðóæàòü/âûãðóæàòü èõ âî âðåìÿ ðàáîòû ircd (ïóò¸ì
êîìàíäû /rehash). Ýòî ïîçâîëÿåò èñïðàâëÿòü íåêîòîðûå îøèáêè èëè äîáàâëÿòü íîâûå
âîçìîæíîñòè áåç ïåðåçàïóñêà ñåðâåðà!<br>
- Ñòîðîííèå ëþäè ìîãóò ñîçäàâàòü ìîäóëè ñ íîâûìè êîìàíäàìè, ðåæèìàìè
ïîëüçîâàòåëåé è êàíàëîâ.<br>
UnrealIRCd èä¸ò òîëüêî ñ <a href="#modules">íåêîòîðûìè ìîäóëÿìè</a>.
Ñëåäèòå çà ìîäóëÿìè íà www.unrealircd.com -&gt; èëè èñïîëüçóéòå google.com äëÿ ïîèñêà ñòîðîííèõ ìîäóëåé.<br>
<p>Âàì íåîáõîäèìî çàãðóçèòü êàê ìèíèìóì äâà ìîäóëÿ, èíà÷å âû íå ñìîæåòå çàïóñòèòü
UnrealIRCd:<br>
- ìîäóëü êîìàíä: commands.so (commands.dll â ÎÑ Windows)<br>
- ìîäóëü ñêðûòíîñòè: îáû÷íî cloak.so (cloak.dll â ÎÑ Windows).</p>
</div>
<p><font size="+2"><b>3.3 - SNOMASKs</b></font><a name="feature_snomasks"></a></p>
<div class="desc">
<p>SNOMASK (Server Notice MASK - ìàñêà óâåäîìëåíèé ñåðâåðà) - ýòî ñïåöèàëüíûé òèï
ðåæèìà ïîëüçîâàòåëÿ, êîòîðûé êîíòðîëèðóåò, êàêèå óâåäîìëåíèÿ îò ñåðâåðà âû
áóäåòå ïîëó÷àòü (îáû÷íî èñïîëüçóåòñÿ îïåðàòîðàìè).</p>
<p>Íåîáõîäèìûå ìàñêè óñòàíàâëèâàþòñÿ êîìàíäîé: /mode âàø_íèê +s SNOMASK. Ê ïðèìåðó:
/mode âàø_íèê +s +cF<br>
×òîáû óáðàòü ðàíåå óñòàíîâëåííóþ ìàñêó, èñïîëüçóéòå ÷òî-òî âðîäå ýòîãî: /mode
âàø_íèê +s -c<br>
×òîáû óäàëèòü âñå ìàñêè, ïðîñòî íàïèøèòå : /mode âàø_íèê -s</p>
<p>Ñåé÷àñ äîñòóïíû ìàñêè:<br>
c - ëîêàëüíûå ïîäêëþ÷åíèÿ<br>
F - ïîäêëþ÷åíèÿ ê äðóãèì ñåðâåðàì (êðîìå U-lined ñåðâåðîâ)<br>
f - óâåäîìëåíèå î ôëóäå<br>
k - óâåäîìëåíèå î kill'e (çäåñü, è äàëåå - âûõîä èç irc ñ ïðè÷èíîé Killed) [*]<br>
e - óâåäîìëåíèå 'eyes'<br>
j - óâåäîìëåíèå 'junk'<br>
v - óâåäîìëåíèå î âèðòóàëüíûõ õîñòàõ<br>
G - óâåäîìëåíèå î gline/shun<br>
n - óâåäîìëåíèå î ñìåíå íèêîâ íà ëîêàëüíîì ñåðâåðå<br>
N - óâåäîìëåíèå î ñìåíå íèêîâ íà äðóãèõ ñåðâåðàõ<br>
q - óâåäîìëåíèå î ïîïûòêå âçÿòü çàïðåù¸ííûé íèê (Q:line)<br>
s - ïîëó÷åíèå óâåäîìëåíèé îò ñåðâåðà [*]<br>
S - ïîëó÷åíèå óâåäîìëåíèé îò ñïàìôèëüòðà<br>
o - ïîëó÷åíèå óâåäîìëåíèé î ïîëó÷åíèè ïðèâèëåãèé îïåðàòîðà<br>
[*: äàííàÿ ìàñêà äîñòóïíà íå òîëüêî irc-îïåðàòîðàì]<br>
</p>
<p>Âû ìîæåòå êîíòðîëèðîâàòü, êàêèå ìàñêè áóäóò óñòàíîâëåíû àâòîìàòè÷åñêè ïðè
ïîäêëþ÷åíèè (set::snomask-on-connect), è êàêèå áóäóò óñòàíîâëåíû ïðè ïîëó÷åíèè
ïðàâ îïåðàòîðà (set::snomask-on-oper, oper::snomask).</p>
<p>Ïî óìîë÷àíèþ, åñëè ïîëüçîâàòåëü ïðîñòî óñòàíîâèò ðåæèì +s, áóäóò àêòèâèðîâàíû
íåêîòîðûå ìàñêè. Äëÿ íå îïåðàòîðîâ ýòî +ks, äëÿ îïåðàòîðîâ - +kscfvGqo.</p>
</div>
<p><font size="+2"><b>3.4 - Ïñåâäîíèìû[aliases]</b></font><a name="feature_aliases"></a></p>
<div class="desc">
<p>Èñïîëüçóÿ ïñåâäîíèìû, âû ìîæåòå ïåðåîïðåäåëèòü êîìàíäû ñåðâåðà. Âû ìîæåòå çàäàòü
ïñåâäîíèì òàê, ÷òî, íàïðèìåð "/ns identify blah" áóäåò ïåðåàäðåñîâàíî nickserv
(ýòî áóäåò ïðåîáðàçîâàíî â: privmsg nickserv identify blah). Âû ìîæåòå ñîçäàòü
êîìïëåêñíûå ïñåâäîíèìû, íàïðèìåð, /register ìîæåò áûòü ïåðåàäðåñîâàí ChanServ,
åñëè ïåðâûé ïàðàìåòð íà÷èíàåòñÿ ñ #, èëè àäðåñîâàí NickServ â èíîì ñëó÷àå.</p>
<p>Ïñåâäîíèìû êîíôèãóðèðóþòñÿ â <a href="#aliasblock">áëîêå ïñåâäîíèìîâ</a> êîíôèãóðàöèîííîãî
ôàéëà, òàê æå èõ ìîæíî çàäàòü â îòäåëüíîì ôàéëå ñ ïñåâäîíèìàìè ïî óìîë÷àíèþ äëÿ
íàèáîëåå èñïîëüçóåìûõ ñåðâèñîâ.</p>
</div>
<p><font size="+2"><b>3.5 - Ñèñòåìà ïîìîùè ñåðâåðà (helpop) </b></font><a name="feature_helpop">
</a>
</p>
<div class="desc">
<p>UnrealIRCd èìååò âñòðîåííóþ ñèñòåìó ïîìîùè, äîñòóïíóþ ïî êîìàíäå /helpop.
/helpop - ýòî êîìàíäà, ïîëíîñòüþ çàäàâàåìàÿ ïîëüçîâàòåëåì â áëîêå ïîìîùè
êîíôèãóðàöèîííîãî ôàéëà. Ôàéë help.conf âêëþ÷àåò â ñåáÿ áàçîâûå ñâåäåíèÿ î âñåõ
êîìàíäàõ.<br>
Íàïðèìåð, <i>/helpop chmodes</i> âûäàñò èíôîðìàöèþ îáî âñåõ ðåæèìàõ êàíàëà,
êîòîðûå åñòü â UnrealIRCd.<br>
Ïîìíèòå, ÷òî åñëè âû irc-îïåðàòîð (ircop), èëè äîñòóïíû äëÿ ïîìîùè (helpop),
âàì íåîáõîäèìî äîáàâëÿòü ñèìâîë '?', ò.å. âìåñòî <i>/helpop</i> íåîáõîäèìî
ïèñàòü <i>/helpop ?</i> è âìåñòî <i>/helpop chmodes</i> íàäî ïèñàòü <i>/helpop
?chmodes</i> è ò.ä.</p>
</div>
<p id="feature_operaccesslevels"><font size="+2"><b>3.6 - Óðîâíè äîñòóïà îïåðàòîðîâ</b></font>
<div class="desc">
<p>Â UnrealIRCd ñóùåñòâóåò ìíîæåñòâî <a href="#operblock_flags">óðîâíåé ïðèâèëåãèé îïåðàòîðîâ</a>.
Âû ìîæåòå äàâàòü èì îòäåëüíûå ïðàâà (òàêèå, êàê èñïîëüçîâàíèå /gline), òàêèì îáðàçîì
îñòàâëÿÿ êàæäîìó òîëüêî òå ïðèâèëåãèè, êîòîðûå åìó íåîáõîäèìû.</p>
<p>Ýòè ïðèâèëåãèè êîíòðîëèðóþòñÿ ôëàãàìè îïåðàòîðà â Oper-áëîêå, äëÿ ïîëó÷åíèÿ
ïîäðîáíîé èíôîðìàöèè ñìîòðèòå ñîîòâåòñòâóþùèé áëîê êîíôèãóðàöèîííîãî ôàéëà è
ðàçäåë 4.7.</p>
</div>
<p><font size="+2"><b>3.7 - Êîìàíäû îïåðàòîðîâ</b></font><a name="feature_opercmds"></a></p>
<div class="desc">
<p> UnrealIRCd èìååòñÿ ìíîãî ðàçëè÷íûõ êîìàíä îïåðàòîðà, î êîòîðûõ ðàññêàçàíî â
ðàçäåëå <A href="#useropercommands">Êîìàíäû ïîëüçîâàòåëÿ è îïåðàòîðà</A>. Âû
íàâåðíÿêà çàõîòèòå ïðî÷èòàòü åãî ïîñëå óñòàíîâêè :).</p>
</div>
<p><font size="+2"><b>3.8 - SSL</b></font><a name="feature_ssl"></a></p>
<div class="desc">
<p>SSL ÿâëÿåòñÿ àááðåâèàòóðîé îò Secure Socket Layer. Èñïîëüçóÿ SSL, âû ìîæåòå
ñîçäàâàòü çàùèù¸ííûå ñîåäèíåíèÿ. Åãî ìîæíî èñïîëüçîâàòü äëÿ øèôðîâàíèÿ òðàôèêà
îò ñåðâåðà ê ñåðâåðó, íî øèôðîâàíèå äàííûõ îò êëèåíòà ê ñåðâåðó òàê æå ìîæåò
áûòü îðãàíèçîâàíî. Îáû÷íî SSL èñïîëüçóþò äëÿ çàùèòû îò ïåðåõâàòà òðàôèêà è äëÿ
áåçîïàñíîé àóòåíòèôèêàöèè.</p>
<p>×òîáû èñïîëüçîâàòü SSL, âàì íåîáõîäèìî ñêîìïèëèðîâàòü ñåðâåð ñ ïîääåðæêîé ýòîãî
ïðîòîêîëà. ×òîáû óêàçàòü èñïîëüçóåìûå äëÿ SSL-ñîåäèíåíèé ïîðòû, íåîáõîäèìî â
êîíôèãóðàöèîííîì ôàéëå çàäàòü îïöèþ listen::options::ssl.</p>
<p>Ïîäêëþ÷èòñÿ íà SSL-ïîðò îáû÷íûì ñïîñîáîì íåâîçìîæíî (òàê ÷òî íå ñòîèò âêëþ÷àòü
SSL íà ïîðòó 6667), äëÿ ýòîãî íåîáõîäèì êëèåíò èëè òóííåëü, êîòîðûé ïîíèìàåò
SSL ïðîòîêîë.</p>
<p>Êëèåíòû, ïîääåðæèâàþùèå SSL: <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 è âûøå, íî íóæíî ïðåäïðèíÿòü íåêîòîðûå <a href="http://www.mirc.co.uk/ssl.html" target="_blank">
äîïîëíèòåëüíûå øàãè</a>).</p>
<p>Äëÿ êëèåíòîâ, êîòîðûå íå ïîääåðæèâàþò SSL, âû ìîæåòå èñïîëüçîâàòü
òóííåëèðîâàíèå, èñïîëüçóÿ, ê ïðèìåðó, <A href="http://www.stunnel.org/" target="_blank">
stunnel</A>. Âîò ïðèìåð êîíôèãóðàöèîííîãî ôàéëà stunnel.conf (äëÿ stunnel
âåðñèè 4.x):<br>
<pre> client = yes
[irc]
accept = 127.0.0.1:6667
connect = irc.myserv.com:6697
</pre>
Ò.å. åñëè âû ñîåäèíÿåòåñü íà 127.0.0.1 ïîðò 6667, âàø òðàôèê áóäåò çàøèôðîâàí è
ïåðåíàïðàâëåí íà irc.myserv.com ïîðò 6697 (ýòî ïîðò SSL).
<P></P>
<p>Ïðè ñîåäèíåíèè ñ ñåðâåðîì âû äîëæíû ïðîâåðèòü ïîäëèííîñòü ñåðòèôèêàòà, à íå
ïðîñòî ïðèíÿòü åãî (êàê â ïðèìåðå ñ stunnel), èíà÷å åñòü âåðîÿòíîñòü, ÷òî âû
áóäåòå óÿçâèìû äëÿ àòàê òèïà "àêòèâíîãî ñíèôôèíãà" (ïåðåàäðåñàöèÿ ssl), îäíàêî
íå áóäåì âäàâàòüñÿ â ïîäðîáíîñòè (ñàìîñòîÿòåëüíî îçíàêîìüòåñü ñ SSL áîëåå
ïîäðîáíî, íå ñïðàøèâàéòå ó íàñ). [mIRC è xchat âûçûâàþò âñïëûâàþùèå îêíà ñ
çàïðîñîì î ïðèíÿòèè/îòêàçå ñåðòèôèêàòà, è ýòî ïðàâèëüíî].</p>
</div>
<p><font size="+2"><b>3.9 - IPv6</b></font><a name="feature_ipv6"></a></p>
<div class="desc">
<p>Ïîääåðæêà IPv6 â UnrealIRCd ñòàáèëüíà, íà÷èíàÿ ñ âåðñèè beta15.<br>
Âàøà ÎÑ äîëæíà èìåòü ïîääåðæêó ïðîòîêîëà IPv6, âàì òàê æå íåîáõîäèìî îòâåòèòü
óòâåðäèòåëüíî íà âîïðîñ î ïîääåðæêå IPv6 â UnrealIRCd âî âðåìÿ
êîíôèãóðèðîâàíèÿ.<br>
<p>Ýêñïåðèìåíòàëüíàÿ ðåàëèçàöèÿ êîìïàíèåé Microsoft ïðîòîêîëà IPv6 â Windows
2000/XP íå ïîääåðæèâàåòñÿ (ïîêà) â UnrealIRCd.</p>
</div>
<p><font size="+2"><b>3.10 - Ñæàòûå ñîåäèíåíèÿ</b></font><a name="feature_ziplinks"></a></p>
<div class="desc">
<p>Ñæàòûå ñîåäèíåíèÿ äîëæíû èñïîëüçîâàòüñÿ íà ñåðâåðàõ äëÿ ñîåäèíåíèÿ ìåæäó ñîáîé,
÷òî ïîçâîëèò óìåíüøèòü ïåðåäàâàåìûé òðàôèê (èñïîëüçóÿ zlib). Òàêèì îáðàçîì,
ìîæíî ýêîíîìèòü äî 60-80% îò øèðèíû êàíàëà... Ôóíêöèÿ âåñüìà ïîëåçíà, åñëè
ñîåäèíåíèå èä¸ò ïî óçêîìó êàíàëó èëè ïðè ñîåäèíåíèè ñ áîëüøèì ÷èñëîì
ïîëüçîâàòåëåé, à òàê æå ïðè ëèíêîâêå, êîãäà ïåðåäà¸òñÿ ìíîãî äàííûõ î êàæäîì
ïîëüçîâàòåëå/êàíàëå è ò.ä.</p>
<p>×òîáû ñêîìïèëèðîâàòü ñåðâåð ñ ïîääåðæêîé ñæàòûõ ñîåäèíåíèé, íåîáõîäèìî îòâåòèòü
Yes íà âîïðîñ î zlib â ./Config è óñòàíîâèòü ñîîòâåòñòâóþùóþ îïöèþ â
link::options::zip (ñ îáîåõ ñòîðîí).</p>
</div>
<p><font size="+2"><b>3.11 - Ïîääåðæêà ñîåäèíåíèÿ ñ äèíàìè÷åñêèì DNS/IP</b></font><a name="feature_dyndns"></a></p>
<div class="desc">
<p>UnrealIRCd ñîäåðæèò íîâûå ôóíêöèè, ïîìîãàþùèå ïîëüçîâàòåëÿì ñ äèíàìè÷åñêèìè IP
àäðåñàìè èñïîëüçîâàòü äèíàìè÷åñêèé DNS (÷òî-òî âðîäå blah.dyndns.org). Åñëè âû
ñîåäèíÿåòå äâà ñåðâåðà ñ äèíàìè÷åñêèìè DNS èìåíàìè, óñòàíîâèòå
link::options::nodnscache è link::options::nohostcheck.
</p>
</div>
<p><font size="+2"><b>3.12 - Âîçìîæíîñòè çàùèòû îò flood'à</b></font><a name="feature_antiflood"></a></p>
<div class="desc">
<p><b>Òðîòëèíã (Throttling)</b><br>
Òðîòëèíã - ýòî ìåòîä, êîòîðûé ïîçâîëÿåò âàì îãðàíè÷èòü ñêîðîñòü, ñ êîòîðîé
ïîëüçîâàòåëü ìîæåò ñîåäèíÿòüñÿ è îòñîåäèíÿòüñÿ îò âàøåãî ñåðâåðà. Âû ìîæåòå
ñêîíôèãóðèðîâàòü åãî â set::throttle áëîêå, ÷òîáû îãðàíè÷èòü X ñîåäèíåíèé â YY
ñåêóíä ñ îäíîãî IP.<br>
<b>Ðåæèìû êàíàëà</b><br>
Âåñüìà ýôôåêòèâíûì ñðåäñòâîì ïðîòèâ ôëóäà ÿâëÿþòñÿ íåêîòîðûå ðåæèìû êàíàëà.
Îïèøåì íåñêîëüêî:<br>
<b>K</b> = íå ïîçâîëÿòü /knock, <b>N</b> = íå ïîçâîëÿòü ñìåíó íèêîâ, <b>C</b> =
íå ïîçâîëÿòü CTCP, <b>M</b> = òîëüêî çàðåãèñòðèðîâàííûå ïîëüçîâàòåëè ìîãóò
ãîâîðèòü, <b>j</b> = ðåãóëèðîâêà ÷àñòîòû âõîäà íà êàíàë (íà êàæäîãî
ïîëüçîâàòåëÿ).<br>
Íà÷èíàÿ ñ âåðñèè beta18, åñòü è áîëåå ïðîäâèíóòûé ðåæèì êàíàëà: +f...<br>
<b>Ðåæèì êàíàëà f</b><br>
Áîëüøå íåò íåîáõîäèìîñòè èñïîëüçîâàòü ñêðèïòû è áîòîâ äëÿ çàùèòû îò ôëóäà íà
êàíàëå, ýòîò ôóíêöèîíàë òåïåðü âñòðîåí â ircd.<br>
Ïðèìåð èñïîëüçîâàíèÿ ðåæèìà +f: <i>*** Blah sets mode: +f [10j]:15</i><br>
Ýòî çíà÷èò, ÷òî 10 çàõîäîâ íà êàíàë â òå÷åíèå 15 ñåêóíä ðàçðåøåíû, åñëè æå
ëèìèò ïðåâûøåí, òî àâòîìàòè÷åñêè áóäåò óñòàíîâëåí ðåæèì +i (òîëüêî ïî
ïðèãëàøåíèÿì).<br>
Äîñòóïíû ñëåäóþùèå òèïû çàùèòû îò ôëóäà:<br>
<table cellSpacing="1" cellPadding="3" border="1">
<tr>
<td>type:</td>
<td>èìÿ:</td>
<td>äåéñòâèå ïî óìîë÷àíèþ:</td>
<td>äðóãèå äîñòóïíûå äåéñòâèÿ:</td>
<td>êîììåíòàðèè</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>çàõîäû íà êàíàë</td>
<td>auto +i</td>
<td>R</td>
<td>
</td>
</tr>
<tr>
<td>k</td>
<td>ïîñòóêèâàíèå</td>
<td>auto +K</td>
<td>
</td>
<td><font size="-1">(ñ÷èòàþòñÿ òîëüêî äëÿ ëîêàëüíîãî ñåðâåðà)</font></td>
</tr>
<tr>
<td>m</td>
<td>ñîîáùåíèÿ/óâåäîìëåíèÿ</td>
<td>auto +m</td>
<td>M</td>
<td>
</td>
</tr>
<tr>
<td>n</td>
<td>èçìåíåíèÿ íèêîâ</td>
<td>auto +N</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>t</td>
<td>òåêñò</td>
<td>kick</td>
<td>b</td>
<td>Ñîîáùåíèÿ/óâåäîìëåíèÿ îò îäíîãî ïîëüçîâàòåëÿ, íàïîäîáèå ñòàðîãî +f. Áóäåò
êèêàòü èëè áàíèòü ïîëüçîâàòåëÿ.</td>
</tr>
</table>
<p>
Ïðèìåð:
<pre><font color=green>*** ChanOp sets mode: +f [20j,50m,7n]:15</font>
&lt;ChanOp&gt; ëÿëÿ
<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 ëèíèé --
<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>
&lt;Evil2&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
&lt;Evil12&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
&lt;Evil15&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
&lt;Evil10&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
&lt;Evil8&gt; fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
-- ïîâòîðÿåòñÿ XX ëèíèé --
<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>
Ìîæíî íåìíîãî óñëîæíèòü:<br>
Âìåñòî äåéñòâèÿ ïî óìîë÷àíèþ, äëÿ íåêîòîðûõ òèïîâ ôëóäà, ìîæíî çàäàòü åù¸ îäèí
òèï, íàïðèìåð: <i>+f [20j#R,50m#M]:15</i><br>
Ýòî óñòàíîâèò ðåæèì êàíàëà +R, åñëè ïðåâûøåí ëèìèò çàõîäîâ íà êàíàë (&gt;20
çàõîäîâ â 15 ñåêóíä), è óñòàíîâèò ðåæèì +M, åñëè ïðåâûøåí ëèìèò ñîîáùåíèé
(&gt;50 ñîîáùåíèé â 15 ñåêóíä).<br>
<br>
Òàê æå åñòü âîçìîæíîñòü "óáðàòü ðåæèì ñïóñòÿ X ìèíóò": <i>+f [20j#R5]:15</i> óñòàíîâèò
ðåæèì êàíàëà +R, åñëè ïðåâûøåí ëèìèò, è ñíèìåò åãî ñïóñòÿ 5 ìèíóò.<br>
 êîíôèãóðàöèè ñåðâåðà ìîæíî çàäàòü âðåìÿ ñíÿòèÿ ðåæèìà ïî
óìîë÷àíèþ(set::modef-default-unsettime), ïîýòîìó, åñëè âû íàïå÷àòàåòå <i>+f
[20j]:15</i>, ýòî òðàíñôîðìèðóåòñÿ â <i>+f [20j#i10]:15</i> (ïî óìîë÷àíèþ),
âû ìîæåòå óñòàíîâèòü [20j#i2]:15 èëè ÷òî-òî ïîõîæåå. Åñëè âû õîòèòå ïîëíîñòüþ
îòêëþ÷èòü ñíÿòèå ðåæèìà êàíàëà, íàáåðèòå +f [20j#i0]:15.<br>
<br>
Ñòàðûé ðåæèì +f (êîëè÷åñòâî ñîîáùåíèé îò êîíêðåòíîãî ïîëüçîâàòåëÿ) ñåé÷àñ
äîñòóïåí êàê 't', +f 10:6 òåïåðü çàäà¸òñÿ êàê +f [10t]:6 è +f *20:10 òåïåðü +f
[20t#b]:10. IRCd àâòîìàòè÷åñêè êîíâåðòèðóåò ñòàðûå ðåæèìû +f â íîâûå.
Çàìå÷àíèå: Âðåìÿ ñíÿòèÿ ðåæèìà ïî óìîë÷àíèþ íå ðàáîòàåò äëÿ 't' áàíîâ
([20t#b30]:15 íå áóäåò ðàáîòàòü).<br>
<br>
Âûáîð, êàêîé ëó÷øå ïîñòàâèòü ðåæèì +f, âåñüìà çàâèñèò îò ñàìîãî êàíàëà. Ñêîëüêî
íà í¸ì ñèäèò ëþäåé? Ýòî èãðîâîé êàíàë èëè íåò (íàïðèìåð: âèêòîðèíà èëè ìàôèÿ)?
Ìîæåò, ýòî ãëàâíûé êàíàë â ñåòè, èëè íà ýòîò êàíàë àâòîìàòè÷åñêè çàõîäèò ìíîãî
ëþäåé? È ò.ä.<br>
Íå ñóùåñòâóåò åäèíîãî ðåæèìà +f, êîòîðûé áû áûë õîðîø äëÿ âñåõ êàíàëîâ, íî äëÿ
îçíàêîìëåíèÿ ìîæíî íà÷àòü ñî ñëåäóþùèõ ïðèìåðîâ è èçìåíèòü èõ äëÿ ñâîèõ íóæä â
äàëüíåéøåì:<br>
+f [30j#i10,40m#m10,7c#C15,10n#N15,30k#K10]:15<br>
30 çàõîäîâ íà êàíàë â òå÷åíèå 15 ñåêóíä, åñëè ïðåâûøåí ëèìèò, óñòàíàâëèâàåòñÿ
ðåæèì +i íà 10 ìèíóò<br>
40 ñîîáùåíèé â êàíàë â òå÷åíèå 15 ñåêóíä, åñëè ïðåâûøåí ëèìèò, óñòàíàâëèâàåòñÿ
ðåæèì +m íà 10 ìèíóò<br>
7 ctcp çàïðîñîâ â òå÷åíèå 15 ñåêóíä, åñëè ïðåâûøåí ëèìèò, óñòàíàâëèâàåòñÿ ðåæèì
+C íà 15 ìèíóò<br>
10 èçìåíåíèé íèêà â òå÷åíèå 15 ñåêóíä, åñëè ïðåâûøåí ëèìèò, óñòàíàâëèâàåòñÿ
ðåæèì +N íà 15 ìèíóò<br>
30 "ïîñòóêèâàíèé" â òå÷åíèå 15 ñåêóíä, åñëè ïðåâûøåí ëèìèò, óñòàíàâëèâàåòñÿ
ðåæèì +K íà 10 ìèíóò<br>
Åñëè êàíàë áîëåå-ìåíåå áîëüøîé (&gt;75 ïîëüçîâàòåëåé), âû ìîæåòå óâåëè÷èòü
÷óâñòâèòåëüíîñòü íà çàõîäû â êàíàë (äî 50) è êîëè÷åñòâî ñîîáùåíèé (60 èëè 75).<br>
×òî ïî ïîâîäó ñíÿòèÿ ðåæèìîâ êàíàëà, òî âû äîëæíû õîðîøåíüêî ïîäóìàòü... Âäðóã
âîçíèêíåò ñèòóàöèÿ, êîãäà íà êàíàëå íå áóäåò îïåðàòîðà? Äîëæåí ëè ÿ áóäó
çàêðûòü êàíàë íà 15 ìèíóò (÷òî íå õîðîøî äëÿ ïîëüçîâàòåëåé) èëè æå íà 5 (÷òî
õîðîøî äëÿ ôëóäåðîâ, êîòîðûå ìîãóò ïîäîæäàòü 5 ìèíóò è àòàêîâàòü êàíàë ñíîâà)?
 çàâèñèìîñòè óñòàíîâîê çàùèòû ïî òèïó ôëóäà, ïîëüçîâàòåëè íå ñìîãóò çàéòè íà
êàíàë (+i) èëè ãîâîðèòü (+m), ÷òî ÿâëÿåòñÿ íå òàêèì ñòðàøíûì, ïî ñðàâíåíèþ ñ
íåâîçìîæíîñòüþ ñìåíèòü ñâîé íèê (+N) èëè ïîñûëàòü ctcp çàïðîñû â êàíàë (+C),
ïîýòîìó âû ìîæåòå èñïîëüçîâàòü ðàçëè÷íîå âðåìÿ èñòåêàíèÿ ðåæèìîâ.
<br>
<b>Ðåæèì êàíàëà j</b><br>
Ðåæèì +f ïðåäîòâðàùàåò âåðîÿòíîñòü ôëóäà çàõîäàìè íà êàíàë, ïî ýòîìó ýòà
âîçìîæíîñòü "ãëîáàëüíà". Ê ïðèìåðó, åñëè áóäåò óñòàíîâëåíà çàùèòà â âèäå 5:10 è
5 <u>ðàçíûõ</u>
ïîëüçîâàòåëåé çàéäóò â òå÷åíèå 10 ñåêóíä, çàùèòà îò ôëóäà ñðàáîòàåò. Ðåæèì
êàíàëà +j ðàáîòàåò ïî-äðóãîìó. Îí ðàáîòàåò íà îñíîâå êîíêðåòíîãî ïîëüçîâàòåëÿ.
Ðàáîòàÿ áûñòðåå, ÷åì çàùèòà îò çàõîäîâ íà êàíàë, îí ðàçðàáîòàí äëÿ çàùèòû
ïðîòèâ ôëóäà âõîäîâ/âûõîäîâ íà êàíàë ("äâåðíîé" ôëóä). Ðåæèì çàäà¸òñÿ
ïàðàìåòðàìè â âèäå X:Y, ãäå X - êîëè÷åñòâî âõîäîâ, à Y - êîëè÷åñòâî ñåêóíä.
Åñëè ïîëüçîâàòåëü ïðåâûøàåò ëèìèò, îí íå ñìîæåò çàéòè íà êàíàë.
<P></P>
</div>
<p><font size="+2"><b>3.13 - Òèïû áàíîâ</b></font><a name="feature_bantypes"></a></p>
<div class="desc">
<p><b>Îñíîâíûå òèïû áàíà è ñêðûòûå õîñòû</b><br>
UnrealIRCd ïîääåðæèâàåò îñíîâíûå òèïû áàíîâ, òàêèå êàê <i>+b nick!user@host</i>.<br>
Åñëè õîñò ñêðûò: 'rox-ACB17294.isp.com' è âû óñòàíîâèëè áàí
*!*@rox-ACB17294.isp.com, à ïîëüçîâàòåëü óñòàíîâèë íà ñåáÿ -x (è åãî õîñò ñòàë,
ê ïðèìåðó 'dial-123.isp.com), òî ïîëüçîâàòåëü áóäåò âñ¸ ðàâíî çàáàíåí. Áàíû
âñåãäà ïðîâåðÿþòñÿ íà ðåàëüíûå è ñêðûòûå õîñòû.<br>
IP òàê æå äîñòóïíû (eg: *!*@128.*) è òàê æå âñåãäà ïðîâåðÿþòñÿ.<br>
<br>
Áàíû íà ñêðûòûå IP òðåáóþò íåêîòîðûõ ïîÿñíåíèé:<br>
Åñëè ó ïîëüçîâàòåëÿ IP 1.2.3.4, åãî ñêðûòûé õîñò áóäåò
341C6CEC.8FC6128B.303AEBC6.IP.<br>
Åñëè âû çàáàíèòå *!*@341C6CEC.8FC6128B.303AEBC6.IP, òî ïîä áàí áóäåò ïîïàäàòü è
*!*@1.2.3.4<br>
Åñëè âû çàáàíèòå *!*@*.8FC6128B.303AEBC6.IP, òî ïîä áàí áóäåò ïîïàäàòü è
*!*@1.2.3.*<br>
Åñëè âû çàáàíèòå *!*@*.303AEBC6.IP, òî ïîä áàí áóäåò ïîïàäàòü è *!*@1.2.*<br>
Íàäååìñÿ, ÷òî äàííàÿ èíôîðìàöèÿ îêàæåòñÿ ïîëåçíîé, êîãäà ïîíàäîáèòñÿ
óñòàíàâëèâàòü áàí.<br>
<br>
<b>Ðàñøèðåííûå òèïû áàíà</b><br>
Ðàñøèðåííûå òèïû áàíà èìåþò âèä: ~[!]&lt;òèï&gt;:&lt;ïàðàìåòðgt;. Äîñòóïíûå òèïû:<br>
Ýòè áàíû ïîçâîëÿþò âàì çàáàíèòü (èëè ñäåëàòü èñêëþ÷åíèå), áàçèðóÿñü íà âåùàõ, îòëè÷íûõ îò
òðàäèöèîííîé ìàñêè nick!user@host. Òàê æå åñòü ïîääåðæêà òàêèõ âåùåé, êàê "ìîë÷àíèå" ïîëüçîâàòåëåé.
<br>
Äàííûå òèïû áàíîâ îïðåäåëÿþò ïîñëåäñòâèÿ ïîñëå èõ çàäåéñòâîâàíèÿ:<br>
<table border="1">
<tr>
<td>òèï:</td>
<td>èìÿ</td>
<td>ðàçúÿñíåíèå:</td>
</tr>
<tr>
<td>~q</td>
<td>òèõèé</td>
<td>Ëþäè, ïîïàäàþùèå ïîä áàí, ìîãóò çàõîäèòü íà êàíàë, íî íå ìîãóò ãîâîðèòü, ïîêà ó
íèõ íå áóäåò +v èëè âûøå. <i>Ïðèìåð: ~q:*!*@blah.blah.com</i></td>
</tr>
<tr>
<td>~n</td>
<td>çàïðåò íà ñìåíó íèêà</td>
<td>Ëþäè, ïîïàäàþùèå ïîä áàí, íå ìîãóò èçìåíèòü íèê, ïîêà ó íèõ íå áóäåò +v èëè
âûøå. <i>Ïðèìåð: ~n:*!*@*.aol.com</i></td>
</tr>
<tr>
<td>~j</td>
<td>âõîä</td>
<td>Åñëè ïîëüçîâàòåëü ïîäïàäàåò, òî íå ìîæåò çàéòè íà êàíàë.
Îäíàêî, åñëè îí óæå íà êàíàëå, òî îí ìîæåò ãîâîðèòü è ìåíÿòü ñâîé íèê.
<i>Ïðèìåð: ~j:*!*@*.aol.com</i><br>
Ìîæåò áûòü ïîëåçíî äëÿ çàïðåòà ïîäêëþ÷åíèé ëþäåé ñ îäíîãî ïðîâàéäåðà,
íî åñëè îíè óæå íà êàíàëå, òî ìîãóò ñâîáîäíî îáùàòüñÿ è ìåíÿòü íèê, êàê áóäòî ïîñëå /INVITE.</td></tr>
</table>
<br>
Ýòè òèïû áàíîâ ââîäÿò íîâûé êðèòåðèé äëÿ èñïîëüçîâàíèÿ:<br>
<br>
<table border="1">
<tr>
<td>~c</td>
<td>[ïðåôèêñ]êàíàë</td>
<td>Åñëè ëþäè ñèäÿò íà óêàçàííîì êàíàëå, îíè íå ñìîãóò çàéòè. Ïðåôèêñîì ìîæíî
óêàçàòü (+/%/@/&amp;/~), êàêèõ èìåííî ïîëüçîâàòåëåé íåîáõîäèìî áàíèòü. Áóäóò
çàáàíåíû òå, ó êîãî ïðàâà íà óêàçàííîì êàíàëå ðàâíû èëè âûøå. <i>Ïðèìåð: +b
~c:#lamers, +e ~c:@#trusted </i>
</td>
</tr>
<tr>
<td>~r</td>
<td>íàñòîÿùåå èìÿ</td>
<td>Åñëè íàñòîÿùåå èìÿ ïîëüçîâàòåëÿ ïîïàäàåò ïîä áàí, îí íå ñìîæåò çàéòè.<br>
<i>Ïðèìåð: ~r:*Stupid_bot_script*</i><br>
ÇÀÌÅ×ÀÍÈÅ: Ïîä÷¸ðêèâàíèå ('_') îáîçíà÷àåò è ïðîáåë (' '), è ïîä÷¸ðêèâàíèå
('_'), ïîýòîìó, äàííûé áàí áóäåò âëèÿòü è íà 'Stupid bot script v1.4'.</td>
</tr>
<tr>
<td>~R</td>
<td>çàðåãåñòðèðîâàí</td>
<td>Åñëè ïîëüçîâàòåëü èäåíòèôèöèðîâàí íà ñåðâèñàõ (îáû÷íî NickServ)
è ïîäïàäàåò ïîä íèê, òî áàí ñðàáîòàåò. Äëÿ äàííîãî òèïà áàíà åñòü òîëüêî îäíî
ïðèìåíåíèå - â èñïîëüçîâàíèè äëÿ èñêëþ÷åíèé (+e).<br>
Ïðèìåð: <i>+e ~R:Nick</i> ïîçâîëÿåò Nick áûòü íà êàíàëå, íå ñìîòðÿ íà äðóãèå áàíû,
åñëè îí èäåíòèôèöèðîâàëñÿ íà NickServ è ïîëüçóåòñÿ íèêîì Nick.<br>
</td></tr>
<tr>
<td>~a</td>
<td>àêêàóíò</td>
<td>Åñëè ïîëüçîâàòåëü çàëîãèíèëñÿ íà ñåðâèñàõ ñ óêàçàííûì àêêàóíòîì,
òî îí ïîïàä¸ò ïîä áàí<br>
Äàííûé áàí îòëè÷àåòñÿ îò ~R òåì, ÷òî ïîëüçîâàòåëü ñ íèêîì ABC ìîæåò áûòü çàëîãèíåí ïîä
àêêàóíòîì XYZ.<br>
Íå âñå ñåðâèñû (èìååòñÿ ââèäó ðàçëè÷íûå ïîñòàâùèêè) ïîääåðæèâàþò ýòî. Åñëè íå ïîääåðæèâàþò, èñïîëüçóéòå ~R.<br>
Ïðèìåð: <i>+e ~a:SomeName</i> ïîçâîëèò ïîëüçîâàòåëþ (-ëÿì), êîòîðûé çàëîãèíåí íà ñåðâèñàõ ïîä àêêàóíòîì
SomeName, çàéòè íà êàíàë, íå ñìîòðÿ íà áàíû.<br>
</td></tr>
</table>
Ìîæíî ñòåêèðîâàòü áàíû ïåðâîãî è âòîðîãî âèäà. Íàïðèìåð <i>+b ~q:~c:#lamers</i> çàñòàâèò ìîë÷àòü âñåõ,
êòî ñèäèò íà #lamers.<br>
Áàíû èç âòîðîé ãðóïïû ìîãóò òàê æå èñïîëüçîâàòüñÿ äëÿ èñêëþ÷åíèé ïðèãëàøåíèé (+I),
íàïðèìåð âîò òàê <i>+I ~c:#trusted</i> è <i>+I ~a:accountname</i>.<br>
<br>
</p>
</div>
<p><font size="+2"><b>3.14 - Ñïàìôèëüòð</b></font><a name="feature_spamfilter"></a></p>
<div class="desc">
<p>Ñïàìôèëüòð - ýòî íîâàÿ ñèñòåìà áîðüáû ñî ñïàìîì, ðåêëàìîé, ÷åðâÿìè è äðóãèìè
ïîäîáíûìè âåùàìè. Îíà ðàáîòàåò êàê ñèñòåìà öåíçà, íî èìååò íåêîòîðûå
ïðåèìóùåñòâà.</p>
<p>Ñïàìôèëüòðû äîáàâëÿþòñÿ ïóò¸ì êîìàíäû /spamfilter, êîòîðàÿ èìååò ñëåäóþùèé
ñèíòàêñ:<br>
<b>/spamfilter [add|del|remove|+|-] [òèï] [äåéñòâèå] [âðåìÿ_äåéñòâèÿ] [ïðè÷èíà]
[ðåãóëÿðíîå_âûðàæåíèå]</b><br>
<table border="0">
<tr vAlign="top">
<td><b>[òèï]</b></td>
<td>îïðåäåëÿåò òèï öåëè ôèëüòðà:<br>
<table>
<tr>
<td><b>Ñèìâîë:</b></td>
<td><b>Ïóíêò êîíôèãóðàöèîííîãî ôàéëà:</b></td>
<td><b>Îïèñàíèå:</b></td>
</tr>
<tr>
<td>c</td>
<td>channel</td>
<td>Ñîîáùåíèå â êàíàëå</td>
</tr>
<tr>
<td>p</td>
<td>private</td>
<td>Ëè÷íîå ñîîáùåíèå (îò ïîëüçîâàòåëÿ ïîëüçîâàòåëþ)</td>
</tr>
<tr>
<td>n</td>
<td>private-notice</td>
<td>Ëè÷íîå óâåäîìëåíèå</td>
</tr>
<tr>
<td>N</td>
<td>channel-notice</td>
<td>Óâåäîìëåíèå â êàíàë</td>
</tr>
<tr>
<td>P</td>
<td>part</td>
<td>Ïðè÷èíà ïîêèäàíèÿ êàíàëà</td>
</tr>
<tr>
<td>q</td>
<td>quit</td>
<td>Ïðè÷èíà âûõîäà</td>
</tr>
<tr>
<td>d</td>
<td>dcc</td>
<td>Èìÿ ôàéëà DCC</td>
</tr>
<tr>
<td>a</td>
<td>away</td>
<td>Ñîîáùåíèå îòñóòñòâèÿ</td>
</tr>
<tr>
<td>t</td>
<td>topic</td>
<td>Óñòàíîâêè òîïèêà</td>
</tr>
<tr>
<td>u</td>
<td>user</td>
<td>Áàí íà ïîëüçîâàòåëÿ: íàïðàâëåí íà nick!user@host:realname</td>
</tr>
</table>
Ìîæíî îïðåäåëèòü ñðàçó íåñêîëüêî öåëåé, íàïðèìåð: cpNn</td>
</tr>
<tr vAlign="top">
<td><b>[äåéñòâèå]</b></td>
<td>îïðåäåëÿåò, ÷òî áóäåò ïðåäïðèíÿòî (òîëüêî îäíî äåéñòâèå ìîæíî îïðåäåëèòü)<br>
<table>
<tr>
<td>kill</td>
<td>"óáèâàåò" ïîëüçîâàòåëÿ</td>
</tr>
<tr>
<td>tempshun</td>
<td>äåëàåò shun íà òåêóùóþ ñåññèþ ïîëüçîâàòåëÿ (åñëè îí ïåðåïîäêëþ÷èòñÿ, shun
ïðîïàä¸ò)</td>
</tr>
<tr>
<td>shun</td>
<td>óñòàíàâëèâàåò shun íà õîñò</td>
</tr>
<tr>
<td>kline</td>
<td>óñòàíàâëèâàåò kline íà õîñò</td>
</tr>
<tr>
<td>gline</td>
<td>óñòàíàâëèâàåò gline íà õîñò</td>
</tr>
<tr>
<td>zline</td>
<td>óñòàíàâëèâàåò zline íà õîñò</td>
</tr>
<tr>
<td>gzline</td>
<td>óñòàíàâëèâàåò gzline (ãëîáàëüíûé zline) íà õîñò</td>
</tr>
<tr>
<td>block</td>
<td>òîëüêî áëîêèðóåò ñîîáùåíèå</td>
</tr>
<tr>
<td>dccblock</td>
<td>ïîëüçîâàòåëþ çàïðåùàåòñÿ ïîñûëàòü ëþáîå DCC</td>
</tr>
<tr vAlign="top">
<td>viruschan</td>
<td>ïðèíóäèòåëüíî ïîêèäàåò âñå êàíàëû, çàõîäèò íà
set::spamfilter::virus-help-channel, îòêëþ÷àåò âñå êîìàíäû êðîìå PONG, ADMIN, è
ñîîáùàåò/óâåäîìëÿåò îá ýòîì íà set::spamfilter::virus-help-channel</td>
</tr>
<tr>
<td>warn</td>
<td>ïîñûëàåò óâåäîìëåíèå èðö-îïåðàòîðàì (ñíîìàñêà spamfilter) è óâåäîìëÿåò ïîëüçîâàòåëÿ î òîì,
÷òî åãî ñîîáùåíèå áûëî ïåðåõâà÷åíî. Íèêàêèõ äåéñòâèåé ñ ïîëüçîâàòåëåì íå ïðîèñõîäèò,
ñîîáùåíèå íå áëîêèðóåòñÿ.</td>
</tr>
</table>
</td>
<tr vAlign="top">
<td><b>[âðåìÿ_äåéñòâèÿ]</b></td>
<td>Äëèòåëüíîñòü óñòàíîâëåííîãî ôèëüòðà íà *line/shun, èñïîëüçóéòå '-' äëÿ
óñòàíîâîê ïî óìîë÷àíèþ èëè äëÿ ïðîïóñêà çàäàíèÿ âðåìåíè (eg: åñëè äåéñòâèå =
'block')</td>
</tr>
<tr vAlign="top">
<td><b>[ïðè÷èíà]</b></td>
<td>Ïðè÷èíà Block/*line/shun. Âû ÍÅ ÌÎÆÅÒÅ èñïîëüçîâàòü ïðîáåëû, âìåñòî íèõ
èñïîëüçóéòå ïîä÷¸ðêèâàíèÿ ('_'). Äëÿ óñòàíîâêè â ïðè÷èíó ïîä÷¸ðêèâàíèÿ ('_'),
èñïîëüçóéòå äâîéíîå ïîä÷¸ðêèâàíèå ('__'). Èñïîëüçóéòå '-' äëÿ óñòàíîâîê ïî
óìîë÷àíèþ.</td>
</tr>
<tr vAlign="top">
<td height="21"><b>[ðåãóëÿðíîå_âûðàæåíèå]</b></td>
<td height="21">äåéñòâóþùåå ðåãóëÿðíîå âûðàæåíèå (regexp) èëè "íåöåíçóðíîå ñëîâî",
êîòîðîå çàáëîêèðóåòñÿ è âûçîâåò ðåàêöèþ ñïàìôèëüòðà</td>
</tr>
</table>
<br>
Ïðèìåð: <i>/spamfilter add pc gline - - Come watch me on my webcam</i><br>
Åñëè â ñîîáùåíèè â êàíàë èëè â ïðèâàò áóäåò íàéäåí òåêñò <i>come watch me on my
webcam</i>, òî ñîîáùåíèå çàáëîêèðóåòñÿ è íåìåäëåííî äîáàâèòñÿ gline.<br>
Åù¸ ïðèìåð: <i>/spamfilter add pc block - - come to irc\..+\..+</i><br>
Ýòî ðåãóëÿðíîå âûðàæåíèå, êîòîðîå ñîâïàäàåò ñ <i>Hi, come to irc.blah.net</i><br>
Ïðèìåð ñ óêàçàíèåì âðåìåíè è ïðè÷èíû:<br>
<i>/spamfilter add p gline 3h Please_go_to_www.viruscan.xx/nicepage/virus=blah Come
watch me on my webcam</i><br>
Åñëè <i>come watch me on my webcam</i> íàéäåíî â ïðèâàòíîì ñîîáùåíèè, òî íà
ïîëüçîâàòåëÿ óñòàíàâëèâàåòñÿ gline íà 3 ÷àñà ñ ïðè÷èíîé <i>Please go to
www.viruscan.xx/nicepage/virus=blah</i>.<br>
<br>
Ôèëüòðû ñïàìà, äîáàâëåííûå ñ ïîìîùüþ /spamfilter, äåéñòâóþò íà âñþ ñåòü. Îíè
ðàáîòàþò íåçàâèñèìî îò òîãî, óñòàíîâëåí ëè íà ïîëüçîâàòåëå èëè êàíàëå ôëàã +G,
ñïàìôèëüòð íå ïðîâåðÿåòñÿ òîëüêî íà îïåðàòîðàõ è ulines (ñåðâèñû).
</p>
<p>Âû òàê æå ìîæåòå äîáàâëÿòü ñïàìôèëüòðû â êîíôèãóðàöèîííûå ôàéëû, íî ýòî áóäóò
òîëüêî ëîêàëüíûå ñïàìôèëüòðû (ò.å. íå áóäóò äåéñòâîâàòü âî âñåé ñåòè,
èñïîëüçóéòå óäàë¸ííûå âêëþ÷åíèÿ (remote includes) äëÿ ýòîãî). Ñèíòàêñ
spamfilter { } áëîêîâ îïèñàí <A href="#spamfilter">òóò</A>.<br>
Ïðèìåð:<br>
<pre>spamfilter {
regex "//write \$decode\(.+\|.+load -rs";
target { private; channel; };
reason "Generic $decode exploit";
action block;
};</pre>
<P></P>
<p><b>set::spamfilter::ban-time</b> ïîçâîëÿåò óñòàíîâèòü âðåìÿ ïî óìîë÷àíèþ äëÿ
*lines/shuns, êîòîðîå äîáàâëÿåò ñïàìôèëüòð (ïî óìîë÷àíèþ: 1 ñóòêè)<br>
<b>set::spamfilter::ban-reason</b> ïîçâîëÿåò óñòàíîâèòü ïðè÷èíó ïî óìîë÷àíèþ
(ïî óìîë÷àíèþ: 'Spam/advertising')<br>
<b>set::spamfilter::virus-help-channel</b> ïîçâîëÿåò óñòàíîâèòü êàíàë äëÿ
äåéñòâèÿ 'viruschan' (ïî óìîë÷àíèþ: #help)<br>
<b>set::spamfilter::virus-help-channel-deny</b> ïîçâîëÿåò çàïðåòèòü íîðìàëüíûé
âõîä íà virus-help-channel (ïî óìîë÷àíèþ: no)<br>
</p>
<p>
<font size="+1"><B>Îáíàðóæåíèå ìåäëåííîãî ñïàìôèëüòðà</B></font><a name="feature_spamfilter_slow"></a><br>
Ðåãóëÿðíîå âûðàæåíèå ñïàìôèëüòðà ìîæåò çàìåäëèòü ðàáîòó IRCd. Âñ¸ çàâèñèò îò
òîãî, êàêîå ðåãóëÿðíîå âûðàæåíèå âû èñïîëüçîâàëè (è êàê äâèæîê ðåãóëÿðíûõ
âûðàæåíèé îáðàáàòûâàåò åãî). Íåêîòîðûå èç íèõ î÷åíü áûñòðî âûïîëíÿþòñÿ: è
UnrealIRCd ìîæåò âûïîëíÿòü èõ òûñÿ÷àìè â ñåêóíäó. Äðóãèå æå î÷åíü ìåäëåííû è
ìîæåò çàíÿòü íåñêîëüêî ñåêóíä íà âûïîëíåíèå, òàêèì îáðàçîì îñòàíîâèòü
âûïîëíåíèå IRCd.<br>
×òîáû ñïðàâèòüñÿ ñ ýòèì, â Unreal åñòü íîâàÿ ôóíêöèÿ "Îáíàðóæåíèå ìåäëåííîãî
ñïàìôèëüòðà": Äëÿ êàæäîãî ñïàìôèëüòðà Unreal ïðîâåðÿåò, ñêîëüêî âðåìåíè çàéì¸ò
åãî âûïîëíåíèå. Åñëè ýòî âðåìÿ ïðåâûøàåò ïîðîã, çàäàííûé â êîíôèãóðàöèè, IRCd
ïðåäóïðåäèò èëè æå óäàëèò ñïàìôèëüòð.<br>
Ïîêàç ïðåäóïðåæäåíèÿ êîíôèãóðèðóåòñÿ ÷åðåç <b>set::spamfilter::slowdetect-warn</b>
(ïî óìîë÷àíèþ: 250ms) è àâòîìàòè÷åñêîå óäàëåíèå ÷åðåç ïàðàìåòð <b>set::spamfilter::slowdetect-fatal</b>
(ïî óìîë÷àíèþ: 500ms). Åñëè âû õîòèòå îòêëþ÷èòü "Îáíàðóæåíèå ìåäëåííîãî
ñïàìôèëüòðà", òî óñòàíîâèòå îáà çíà÷åíèÿ â 0 (íîëü).<br>
Ýòîò ôóíêöèîíàë ñåé÷àñ íå äîñòóïåí â Windows.<br>
</p>
</div>
<p><font size="+2"><b>3.15 - CIDR</b></font><a name="feature_cidr"></a></p>
<div class="desc">
<p>UnrealIRCd òåïåðü ïîääåðæèâàåò CIDR (Classless Interdomain Routing). CIDR
ïîçâîëÿåò áàíèòü äèàïàçîíû IP. Ò.ê. IP àäðåñà ïðîâàéäåðà ðàçìåùåíû ïîñðåäñòâîì
CIDR, óñòàíàâëèâàÿ áàíû ñ ïîìîùüþ CIDR, ìîæíî ëåãêî çàáàíèòü ïðîâàéäåðà. Unreal
ïîääåðæèâàåò CIDR äëÿ ïðîòîêîëîâ IPv4 è IPv6. CIDR ìàñêè ìîæíî èñïîëüçîâàòü â
allow::ip, oper::from::userhost, ban user::mask, ban ip::mask, except
ban::mask, except throttle::mask, è except tkl::mask (äëÿ gzline, gline è
shun). Äîïîëíèòåëüíî, CIDR ìîæåò áûòü èñïîëüçîâàí â /kline, /gline, /zline,
/gzline è /shun. Unreal èñïîëüçóåò ñòàíäàðòíûé ñèíòàêñ äëÿ IP/bits, ò.å.,
127.0.0.0/8 (âëèÿåò íà 127.0.0.0 - 127.255.255.255), è fe80:0:0:123::/64
(âëèÿåò íà 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 - Èñïîëüçîâàíèå íàöèîíàëüíûõ íàáîðîâ ñèìâîëîâ â íèêàõ</b></font><a name="feature_nickchars"></a></p>
<div class="desc">
<p>UnrealIRCd òåïåðü ïîçâîëÿåò èñïîëüçîâàíèå íàöèîíàëüíûõ íàáîðîâ ñèìâîëîâ â íèêàõ.
Ýòî ìîæíî ñäåëàòü â <b>set::allowed-nickchars</b>.<br>
Òàáëèöà âûáîðà:<br>
<table border="1">
<tr>
<td><b>Èìÿ:</b></td>
<td><b>Îïèñàíèå:</b></td>
<td><b>Êîäèðîâêà:</b></td>
</tr>
<tr>
<td>catalan</td>
<td>Êàòàëàíñêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>danish</td>
<td>Äàòñêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>dutch</td>
<td>Íèäåðëàíäñêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>french</td>
<td>Ôðàíöóçñêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>german</td>
<td>Íåìåöêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>swiss-german</td>
<td>Øâåéöàðî-íåìåöêàÿ êîäèðîâêà(áåç es-zett)</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>icelandic</td>
<td>Èñëàíäñêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>italian</td>
<td>Èòàëüÿíñêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>spanish</td>
<td>Èñïàíñêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>swedish</td>
<td>Øâåäñêàÿ êîäèðîâêà</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td><b>latin1</b></td>
<td>catalan, danish, dutch, french, german, swiss-german, spanish, icelandic,
italian, swedish</td>
<td>iso8859-1 (latin1)</td>
</tr>
<tr>
<td>hungarian</td>
<td>Âåíãåðñêàÿ êîäèðîâêà</td>
<td>iso8859-2 (latin2), windows-1250</td>
</tr>
<tr>
<td>polish-iso</td>
<td>Ïîëüñêàÿ êîäèðîâêà (ó÷òèòå, ÷òî polish-w1250 áîëåå ðàñïîñòðàíåíà!) </td>
<td>iso8859-2 (latin2)</td>
</tr>
<tr>
<td>romanian</td>
<td>Ðóìûíñêàÿ êîäèðîâêà</td>
<td>iso8859-2 (latin2), windows-1250, iso8859-16</td>
</tr>
<tr>
<td><b>latin2</b></td>
<td>hungarian, polish-iso, romanian</td>
<td>iso8859-2 (latin2)</td>
</tr>
<tr>
<td>polish-w1250</td>
<td>Ïîëüñêàÿ êîäèðîâêà, windows âàðèàíò</td>
<td>windows-1250</td>
</tr>
<tr>
<td>slovak-w1250</td>
<td>Ñëîâàêñêàÿ êîäèðîâêà, windows âàðèàíò</td>
<td>windows-1250</td>
</tr>
<tr>
<td>czech-w1250</td>
<td>×åøñêàÿ êîäèðîâêà, windows âàðèàíò</td>
<td>windows-1250</td>
</tr>
<tr>
<td><b>windows-1250</b></td>
<td>polish-w1250, slovak-w1250, czech-w1250, hungarian, romanian</td>
<td>windows-1250</td>
</tr>
<tr>
<td>greek</td>
<td>Ãðå÷åñêàÿ êîäèðîâêà</td>
<td>iso8859-7</td>
</tr>
<tr>
<td>turkish</td>
<td>Òóðåöêàÿ êîäèðîâêà</td>
<td>iso8859-9</td>
</tr>
<tr>
<td>russian-w1251</td>
<td>Ðóññêàÿ êîäèðîâêà</td>
<td>windows-1251</td>
</tr>
<tr>
<td>belarussian-w1251</td>
<td>Áåëîðóññêàÿ êîäèðîâêà</td>
<td>windows-1251</td>
</tr>
<tr>
<td>ukrainian-w1251</td>
<td>Óêðàèíñêàÿ êîäèðîâêà</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>Èçðàèëüñêàÿ êîäèðîâêà</td>
<td>iso8859-8-I/windows-1255</td>
</tr>
<tr>
<td>chinese-simp</td>
<td>Óïðîù¸ííûé êèòàéñêèé</td>
<td>Multibyte: GBK/GB2312</td>
</tr>
<tr>
<td>chinese-trad</td>
<td>Òðàäèöèîííûé êèòàéñêèé</td>
<td>Multibyte: GBK</td>
</tr>
<tr>
<td>chinese-ja</td>
<td>ßïîíñêèé</td>
<td>Multibyte: GBK</td>
</tr>
<tr>
<td><b>chinese</b></td>
<td>êèòàéñêèé-*</td>
<td>Multibyte: GBK</td>
</tr>
<tr>
<td><b>gbk</b></td>
<td>êèòàéñêèé-*</td>
<td>Multibyte: GBK</td>
</tr>
</table>
<p>
Çàìå÷àíèå 1: Ïîæàëóéñòà, ñîîáùèòå, åñëè íåêîòîðûå êîìáèíàöèè âûçûâàþò ïðîáëåìû.
<p>Íàïðèìåð, ïðè êîìáèíàöèè latin* è chinese-* ìîãóò âîçíèêíóòü íåïîëàäêè, è Unreal
âûäàñò îøèáêó. Ñìåøèâàíèå äðóãèõ êîäèðîâîê ìîæåò ïðèâåñòè ê ïðîáëåìàì
êîððåêòíîãî îòîáðàæåíèÿ, ïîýòîìó Unreal âûäàñò ïðåäóïðåæäåíèå, åñëè âû áóäåòå
ïûòàòüñÿ èñïîëüçîâàòü îäíîâðåìåííî latin1/latin2/greek.<br>
<br>
Çàìå÷àíèå 2: Ðåãèñòðîíåçàâèñèìîñòü (ò.å. êîãäà áóêâà â íèæíåì ðåãèñòðå áóäåò
ÿâëÿòüñÿ åþ æå è â âåðõíåì) îòíîñèòñÿ òîëüêî ê êîäèðîâêå US-ASCII, ò.å. "ÿ" è
"ß" ðàñïîçíàþòñÿ êàê ðàçíûå ñèìâîëû è íèêè "ßñü" è "ÿñü" ìîãóò ñóùåñòâîâàòü
îäíîâðåìåííî. Ýòî ÿâëÿåòñÿ ñëåäñòâèåì îãðàíè÷åíèÿ òåêóùåé ñèñòåìû ñòàíäàðòîâ
IRCd è ýòà ïðîáëåìà íå ìîæåò áûòü ðåøåíà â íàñòîÿùåì âðåìåíè. Ëþäè äîëæíû áûòü
ïðåäóïðåæäåíû îá ýòîì îãðàíè÷åíèè. Çàìåòèì, ÷òî äàííîå îãðàíè÷åíèå
ðàñïðîñòðàíÿåòñÿ è íà êàíàëû, ïî ýòîìó áóäüòå âíèìàòåëüíû è ïîìíèòå, ÷òî äëÿ
êîäèðîâêè US-ASCII ðåãèñòðîíåçàâèñèìîñòü âñåãäà ñóùåñòâóåò.
<p>Çàìå÷àíèå 3: Áàçîâûé íàáîð ñèìâîëîâ (a-z A-Z 0-9 [ \ ] ^ _ - { | }) âñåãäà
ðàçðåø¸í.</p>
Ïðèìåð ¹1, äëÿ ëþäåé èç Çàïàäíîé Åâðîïû:<br>
<pre>set { allowed-nickchars { latin1; }; };</pre>
Ïðèìåð ¹2, åñëè ó âàñ â îñíîâíîì êèòàéñêèå ïîëüçîâàòåëè, è âû æåëàåòå
èñïîëüçîâàòü "íîðìàëüíûé" êèòàéñêèé ÿçûê:<br>
<pre>set { allowed-nickchars { chinese-simp; chinese-trad; }; };</pre>
<P></P>
</div>
<p><font size="+2"><b>3.17 - Ïîääåðæêà CGI:IRC</b></font><a name="feature_cgiirc"></a></p>
<div class="desc">
<p>UnrealIRCd ïîääåðæèâàåò ïîäìåíó õîñòà äëÿ CGI:IRC, ÷òî îçíà÷àåò, ÷òî âû ìîæåòå
ïîìåòèòü îïðåäåë¸ííûå CGI:IRC ãåéòû êàê "äîâåðåííûå".  ýòîì ñëó÷àå IRCd áóäåò
ïîêàçûâàòü ðåàëüíûé õîñò/IP ïîëüçîâàòåëåé âåçäå â IRC, âìåñòî õîñòà/ip
CGI:IRC-ãåéòà.</p>
<p>Ñìîòðèòå <A href="#cgiirc">cgiirc block</A> äëÿ òîãî, ÷òîáû ñêîíôèãóðèðîâàòü
ïîääåðæêó CGI:IRC.</p>
</div>
<p><font size="+2"><b>3.18 - Ñèíõðîíèçàöèÿ âðåìåíè</b></font><a name="feature_timesync"></a></p>
<div class="desc">
<p>Äëÿ IRC-ñåðâåðîâ î÷åíü âàæíî, ÷òîáû ñèñòåìíîå âðåìÿ áûëî òî÷íûì. Áåç òî÷íîãî
âðåìåíè êàíàëû ìîãóò áûòü äåñèíõðîíèçèðîâàíû, ïîëüçîâàòåëè ìîãóò áûòü
îòêëþ÷åííû ñ ïðè÷èíîé killed, êàíàëû ìîãóò íå îòîáðàæàòüñÿ ïî êîìàíäå /LIST.
Âêðàòöå, íåòî÷íîå âðåìÿ - áîëüøàÿ ïðîáëåìà.</p>
<P>UnrealIRCd îáëàäàåò âñòðîåííîé ïîääåðæêîé ñèíõðîíèçàöèè. Õîòÿ íå íàñòîëüêî
îïòèìàëüíîé (ðàçáåæêà ìîæåò ñîñòàâëÿòü íåñêîëüêî ñåêóíä), íî ýòî ðåøàåò
áîëüøèíñòâî ïðîáëåì. Åñëè ó âàñ åñòü âîçìîæíîñòü, ìû ðåêîìåíäóåì èñïîëüçîâàòü
ïðîãðàììíîå îáåñïå÷åíèå äëÿ ñèíõðîíèçàöèè âðåìåíè (òàêîå êàê ntpd ïîä *NIX èëè
ñåðâèñ ñèíõðîíèçàöèè ïîä Windows.  ýòîì ñëó÷àå âû ìîæåòå âûêëþ÷èòü
ñèíõðîíèçàöèþ âðåìåíè IRC-ñåðâåðîì).</P>
<P>
×òî æå äåëàåò UnrealIRCd (ïî óìîë÷àíèþ) ïðè çàãðóçêå? Îí ïîñûëàåò (ïî
óìîë÷àíèþ) çàïðîñ íà ñåðâåðà ñèíõðîíèçàöèè âðåìåíè è íàçíà÷àåò âñòðîåííîå âðåìÿ
ircd (ÍÅ ñèñòåìíîå âðåìÿ) â ñîîòâåòñòâèè ñ òåì ñåðâåðîì, îò êîòîðîãî îòâåò
ïðèø¸ë ïåðâûì (ò.å. îí áûë áîëåå áûñòðûì). Åñëè, ïî êàêèì-òî ïðè÷èíàì, Unreal
íå ïîëó÷àåò îòâåòà îò ñåðâåðîâ ñèíõðîíèçàöèè â òå÷åíèè 3-õ ñåêóíä, IRCd
ïðîäîëæèò ñâîþ çàãðóçêó.</P>
<p>Êîíôèãóðàöèÿ ñèíõðîíèçàöèè âðåìåíè (òàê æå è îòêëþ÷åíèå) ïðîèñõîäèò ïîñðåäñòâîì
áëîêà <b>set::timesynch</b>, ïîäðîáíîñòè â <a href="#setblock">äîêóìåíòàöèè</a>.</p>
</div>
<p><font size="+2"><b>3.19 - Ñïîñîáû àóòåíòèôèêàöèè</b></font><a name="feature_authtypes"></a></p><div class="desc">
<p> ðàçëè÷íûõ ìåñòàõ â êîíôèãóðàöèîííîì ôàéëå, íàïðèìåð â <a href="#operblock">áëîêå oper</a>,
<a href="#allowblock">áëîêå allow</a> è <a href="#linkblock">áëîêå link</a>, âû ìîæåòå àóòåíòèôèöèðîâàòü êëèåíòîâ
ïî ïàðîëþ èëè æå äðóãèìè ñïîñîáàìè.<br>
Âû ìîæåòå óêàçàòü ïàðîëü êàê â îòêðûòîì âèäå, òàê è ñ èñïîëüçîâàíèåì ðàçëè÷íûõ òèïîâ àóòåíòèôèêàöèè (Auth-type).<br>
Äîñòóïíû ñëåäóþùèå òèïû àóòåíòèôèêàöèè:<br>
<table border="0">
<TR><TD><b>Auth-type:</b></TD><TD><b>Îïèñàíèå:</b></TD><TD><b>Çàâèñèìîñòè:</b></TD><TD><b>Êàê ñãåíåðèðîâàòü:</b></TD></TR>
<TR><TD><b>crypt</b></TD><TD>UNIX crypt</TD><TD>Windows: íåîáõîäèì OpenSSL</TD><TD>/MKPASSWD crypt :ïàðîëü</TD></TR>
<TR><TD><b>md5</b></TD><TD>MD5 ñ ñîëüþ</TD><TD>Always available</TD><TD>/MKPASSWD md5 :ïàðîëü</TD></TR>
<TR><TD><b>sha1</b></TD><TD>SHA1 ñ ñîëüþ</TD><TD>íåîáõîäèì OpenSSL</TD><TD>/MKPASSWD sha1 :ïàðîëü</TD></TR>
<TR><TD><b>ripemd160</b></TD><TD>RIPEMD160 ñ ñîëüþ</TD><TD>íåîáõîäèì OpenSSL</TD><TD>/MKPASSWD ripemd160 :ïàðîëü</TD></TR>
<TR><TD><b>sslclientcert</b></TD><TD>Ñåðòèôèêàò SSL êëèåíòà</TD><TD>íåîáõîäèì OpenSSL</TD><TD>Ïóòü ê ôàéëó ïóáëè÷íîãî ñåðòèôèêàòà .pem.</TD></TR>
<TR><TD><b>sslclientcertfp</b></TD><TD>Îòïå÷àòîê ñåðòèôèêàòà SSL êëèåíòà</TD><TD>íåîáõîäèì OpenSSL</TD><TD>openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint</TD></TR>
</table>
Êîìàíäà /MKPASSWD äîñòóïíà îíëàéí IRCOp. Âìåñòî íå¸ ìîæíî èñïîëüçîâàòü êîìàíäó
ïðÿìî èç øåëë: <i>./unreal mkpasswd òèï-õýøà ïàðîëü</i>.<br>
Íå âñå ñïîñîáû àóòåíòèôèêàöèè äîñòóïíû íà âñåõ ñèñòåìàõ, ñìîòðèòå çàâèñèìîñòè èç òàáëèöû âûøå.<br>
<br>
<b>Ïðèìåð: Õýøèðîâàííûé MD5 ïàðîëü â áëîêå vhost</b><br>
1. Âû õîòèòå èñïîëüçîâàòü ïàðîëü <i>test</i> è õîòèòå èñïîëüçîâàòü õýø md5.<br>
Åñëè âû îïåðàòîð (IRCOp), òî âû ìîæåòå ïðîñòî ââåñòè òàêóþ êîìàíäó <i>/MKPASSWD md5 :test</i>.<br>
Òàê æå, ìîæåòå ýòî ñäåëàòü èç øåëëà: <i>./unreal mkpasswd md5 test</i>.<br>
 ëþáîì ñëó÷àå, âû ïîëó÷èòå ïàðîëü âèäà <i>$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==</i>
(ïîëó÷åííûé ðåçóëüòàò ìîæåò îòëè÷àòüñÿ!)<br>
2. Òåïåðü äîáàâüòå ïîëó÷åííûé ðåçóëüòàò â âàø áëîê vhost è óêàæèòå, ÷òî ýòî õýø md5.<br>
Ïðèìåð:
<pre>vhost {
vhost I.love.Tux;
from { userhost *@*; };
login Tux;
password "$NIV0bSfG$UTMvI/KdMwe4cZqmT/23qw==" { md5; };
};</pre>
3. ×òîáû èñïîëüçîâàòü ýòîò vhost, ââåäèòå /VHOST Tux test<br>
<br>
<b>Ïðèìåð: Àóòåíòèôèêàöèÿ êëèåíòà ïî ñåðòèôèêàòàì SSL</b><br>
<tt>sslclientcert</tt> è <tt>sslclientcertfp</tt> èñêëþ÷èòåëüíûå ñïîñîáû àóòåíòèôèêàöèè, êîòîðûå ïîçâîëÿþò
àóòåíòèôèöèðîâàòü SSL ïîëüçîâàòåëåé ïî èõ ñåðòèôèêàòàì.<br>
Èñïîëüçóÿ ýòè ìåòîäû, óáåäèòåñü, ÷òî ïîëüçîâàòåëè èñïîëüçóþò SSL è óêàçàííûé ïîëüçîâàòåëüñêèé ñåðòèôèêàò.<br>
Âîò ïðèìåð, êàê ìîæíî ýòî èñïîëüçîâàòü â áëîêå oper:<br>
1. Ñîçäàéòå ñåðòèôèêàò SSL, åñëè ó âàñ åãî íåò (ïîèùèòå â google 'create ssl certificate', åñëè âû íå çíàåòå êàê)<br>
2. Ïîëó÷èòå õýø SHA256 ñåðòèôèêàòà èñïîëüçóÿ êîìàíäó:
<pre>openssl x509 -in name-of-pem-file.pem -sha256 -noout -fingerprint</pre>
3. Â êîíôèãóðàöèîííîì ôàéëå çàìåíèòå èñõîäíûé ïàðîëü (â íàøåì ïðèìåðå ýòî <i>test</i>) íà õýø è
óêàæèòå ñïîñîá àóòåíòèôèêàöèè â sslclientcertfp. Âîò ïðèìåð:<br>
<pre>oper test {
password "E7:4D:46:F1:9F:F4:68:F5:E8:E3:49:CC:28:5D:F9:65:85:BA:4F:16:B6:49:02:E3:34:E6:E7:6A:FE:76:A7:98" { sslclientcertfp; };
flags { global; can_override; };
class clients;
};</pre>
4. Ïåðå÷èòàéòå ôàéë êîíôèãóðàöèè ñåðâåðà (/REHASH).<br>
5. Òåïåðü ïîäêëþ÷èòåñü ïî SSL è óáåäèòåñü ÷òî âàø êëèåíò èñïîëüçóåò SSL ñåðòèôèêàò èç øàãà #2.<br>
6. Òåïåðü âû ìîæåòå ïîëó÷èòü ïðàâà îïåðàòîðà êîìàíäîé <i>/oper test x</i>. Ïàðîëü ïî ïðåæíåìó íóæíî óêàçàòü, íî îí ìîæåò
áûòü àáñîëþòíî ëþáûì (<i>x</i> â ýòîì ïðèìåðå), òàê êàê îí èãíîðèðóåòñÿ è èñïîëüçóåòñÿ äëÿ àóòåíòèôèêàöèè êëèåíòñêèé ñåðòèôèêàò SSL.<br>
7. Ïîçäðàâëÿþ, òåïåðü âû èñïîëüçóåòå ñàìûé áåçîïàñíûé ìåòîä àóòåíòèôèêàöèè, äîñòóïíûé â UnrealIRCd.<br>
<br>
Åù¸ îäíî âåñüìà ïîëåçíîå ïðèìåíåíèå äëÿ èñïîëüçîâàíèÿ <tt>sslclientcertfp</tt> íàõîäèòñÿ â
<a href="#linkblock_passwordreceive">link::password-receive</a>
</p></div>
<p><font size="+2"><b>3.20 - Äðóãèå âîçìîæíîñòè</b></font><a name="feature_other"></a></p>
<div class="desc">
<p>UnrealIRCd èìååò ìíîæåñòâî äðóãèõ âîçìîæíîñòåé, íå âñå èç êîòîðûõ òóò
ðàñêðûòû... Âû ìîæåòå íàéòè èõ â äðóãîì ìåñòå ñàìîñòîÿòåëüíî.</p>
</div>
<p><font size="+2"><b>4.0 - Êîíôèãóðèðîâàíèå âàøåãî unrealircd.conf</b></font> <a name="configuringyourunrealircdconf">
</a>
</p>
<div class="desc">
<p>Ïðåæäå âñåãî, ñîçäàíèå âàøåãî ïåðâîãî unrealircd.conf çàéì¸ò ïðèìåðíî 15-60
ìèíóò. Ñîçäàíèå <u>õîðîøåãî</u> unrealircd.conf çàéì¸ò ãîðàçäî áîëüøå âðåìåíè.
Âû íå äîëæíû ñòðåìèòñÿ çàïóñòèòü êàê ìîæíî áûñòðåå IRCd, ãîðàçäî áûñòðåå áóäåò
ïðîéòèñü ïî âñåì ïóíêòàì ïîñëåäîâàòåëüíî. Åñëè ó âàñ âîçíèêàþò ïðîáëåìû,
ïðîâåðüòå ñèíòàêñèñ, ïðîâåðüòå äîêóìåíòàöèþ è <a href="http://www.vulnscan.org/UnrealIRCd/faq/">
×àÂÎ</a> ïðåæäå, ÷åì ïðîñèòü ïîìîùè èëè ñîîáùàòü îá îøèáêå.</p>
</div>
<p><b><font size="+2">4.1 Îáçîð ñòðóêòóðû êîíôèãóðàöèîííîãî ôàéëà</font></b><a name="configurationfileexplained"></a><br>
<div class="desc">
<div class="desc">
<P></P>
<p>Íîâàÿ ñèñòåìà áàçèðóåòñÿ íà èñïîëüçîâàíèè áëîêîâ. Êàæäàÿ ñåêöèÿ èëè áëîê èìååò
ñïåöèôè÷åñêèé ôîðìàò. Ê ïðèìåðó:</p>
<pre>&lt;block-name&gt; &lt;block-value&gt; {
&lt;block-directive&gt; &lt;directive-value&gt;;
};
</pre>
<P></P>
<p>&lt;block-name&gt; - ýòî òèï áëîêà, òàêîé êàê me èëè admin. &lt;block-value&gt;
èíîãäà îïðåäåëÿåò çíà÷åíèå, ê ïðèìåðó /oper login, íî èíîãäà ìîæåò áûòü è
ïîäòèïîì, êàê íàïðèìåð â ban user.</p>
<p>&lt;block-directive&gt; - ýòî èíäèâèäóàëüíîå çíà÷åíèå â áëîêå è
&lt;directive-value&gt; ñîîòâåòñòâóþùåå åìó çíà÷åíèå. Åñëè
&lt;directive-value&gt; ñîäåðæèò ïðîáåëû, èëè ñèìâîëû, ñîîòâåòñòâóþùèå
êîììåíòàðèÿì, òî îíè äîëæíû áûòü â äâîéíûõ êàâû÷êàõ. Åñëè â òàêîé ñòðîêå
íåîáõîäèìî èñïîëüçîâàòü êàâû÷êó, èñïîëüçóéòå \", è ýòî áóäåò âîñïðèíÿòî êàê
ñèìâîë êàâû÷êè.</p>
<p>A &lt;block-directive&gt; ìîæåò ñîäåðæàòü äèðåêòèâû â ñåáå, â ýòîì ñëó÷àå
íåîáõîäèìî çàêëþ÷àòü èõ â ôèãóðíûå ñêîáêè.  íåêîòîðûõ áëîêàõ íåò äèðåêòèâ, è
îíè îïðåäåëÿþòñÿ ïðîñòî â &lt;block-value&gt;, íàïðèìåð, êàê include. Íà
çàìåòêó, çäåñü íåò óñòàíîâëåííîãî ôîðìàòà, ò.å. öåëûé áëîê ìîæåò áûòü çàïèñàí è
â îäíó ëèíèþ, à ìîæåò è â íåñêîëüêî. Äëÿ óäîáñòâà ÷òåíèÿ áûë ïðèíÿò ôîðìàò,
êîòîðûé óïîòðåáëÿåòñÿ çäåñü, îí æå ðåêîìåíäîâàí ê èñïîëüçîâàíèþ â ôàéëå.
</p>
<p>Çàìå÷àíèå: êîíôèãóðàöèîííûé ôàéë ðåãèñòðîçàâèñèì, ïîýòîìó <i>BLOCK-NAME</i> íå
îäíî è òîæå, ÷òî è <i>block-name</i>. Ïî ïîâîäó âõîæäåíèé â áëîê â
êîíôèãóðàöèîííîì ôàéëå èñïîëüçîâàíî ñëåäóþùàÿ òåðìèíîëîãèÿ. Ê ïðèìåðó, åñëè
ðàçãîâîð èä¸ò î &lt;directive-name&gt; â ïîñëåäóþùåì ïðèìåðå, âû äîëæíû
ãîâîðèòü &lt;block-name&gt;::&lt;block-directive&gt; è åñëè äèðåêòèâà - ýòî
ïîäáëîê, íà êîòîðûé âû õîòèòå ñîñëàòüñÿ, âû äîëæíû äîáàâèòü åù¸ :: è èìÿ
ïîääèðåêòèâû.</p>
<p>Åñëè áåñåäà áóäåò âåñòèñü î áåçûìÿííîé äèðåêòèâå, òî &lt;block-name&gt;:: áóäåò
â äàííîì ñëó÷àå îçíà÷àòü &lt;block-value&gt;, èëè æå ýòî áóäåò âõîæäåíèå â
ïîäáëîê áåç èìåíè.</p>
<p>Ïîääåðæèâàåòñÿ òðè òèïà êîììåíòàðèåâ:</p>
<p># Îäíîñòðî÷íûé êîììåíòàðèé<br>
// Îäíîñòðî÷íûé êîììåíòàðèé<br>
/* Ìíîãîñòðî÷íûé<br>
êîììåíòàðèé */<br>
</p>
<p>Òåïåðü, çíàÿ êàê îíî ðàáîòàåò, âû ìîæåòå ñêîïèðîâàòü <i>doc/example.conf</i> â
äèðåêòîðèþ âàøåãî UnrealIRCd (íàïðèìåð: /home/user/Unreal3.2) è ïåðåèìåíîâàòü
åãî â <i>unrealircd.conf</i> (ÈËÈ ñîçäàòü âàø <i>unrealircd.conf</i> ñ íóëÿ).
Ðåêîìåíäîâàíî ñäåëàòü èìåííî òàê, ïðîñìàòðèâàÿ âñå òèïû áëîêîâ è èñïîëüçóÿ ýòî
ðóêîâîäñòâî êàê ñïðàâêó.</p>
</div>
<p><font class="block_section">4.2 - </font><font class="block_name">Me áëîê</font> <font class="block_required">
ÍÅÎÁÕÎÄÈÌ</font> <font class="block_old">(Ðàíåå èçâåñòåí êàê M:Line)</font><a name="meblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>me {
name &lt;èìÿ-ñåðâåðà&gt;;
info &lt;îïèñàíèå-ñåðâåðà&gt;;
numeric &lt;íóìåðèê-ñåðâåðà&gt;;
};
</pre>
<P></P>
<p>Çíà÷åíèÿ àáñîëþòíî ïðîçðà÷íû. <b>name</b> îïðåäåëÿåò èìÿ ñåðâåðà, <b>info</b> -
ñòðî÷êó èíôîðìàöèè î ñåðâåðå, <b>numeric</b> îïðåäåëÿåò óíèêàëüíîå îïðåäåëÿþùåå
÷èñëî äëÿ ñåðâåðà. Ýòî äîëæíî áûòü çíà÷åíèå ìåæäó 0 è 254 è îíî äîëæíî áûòü
ÓÍÈÊÀËÜÍÎ äëÿ êàæäîãî ñåðâåðà â ñåòè, ò.å. ÍÅ äîëæíî áûòü ðàçíûõ ñåðâåðîâ ñ
îäèíàêîâûìè íóìåðèêàìè.</p>
<p>Ïðèìåð:<br>
<pre>me {
name "irc.foonet.com";
info "FooNet Server";
numeric 1;
};
</pre>
<P></P>
</div>
<p></p>
<p><font class="block_section">4.3 - </font><font class="block_name">Admin áëîê</font>
<font class="block_required">ÍÅÎÁÕÎÄÈÌ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê A:Line)</font><a name="adminblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>admin {
&lt;text-line&gt;;
&lt;text-line&gt;;
};
</pre>
<P></P>
<p></p>
<p>Admin áëîê îïðåäåëÿåò òåêñò, êîòîðûé áóäåò âûâîäèòüñÿ ïî êîìàíäå /admin. Âû
ìîæåòå îïðåäåëèòü ìíîãî èíôîðìàöèè äëÿ îòîáðàæåíèÿ, íî ïî ñòàíäàðòó íåîáõîäèìî
èìåòü õîòÿ áû íèê àäìèíèñòðàòîðà è åãî email. Åñëè æåëàåòå, ìîæíî äîáàâèòü
ëþáóþ äîïîëíèòåëüíóþ èíôîðìàöèþ.</p>
<p>Ïðèìåð:<br>
<pre>admin {
"Bob Smith";
"bob";
"widely@used.name";
};
</pre>
<P></P>
</div>
<p></p>
<p><font class="block_section">4.4 - </font><font class="block_name">Class áëîê</font>
<font class="block_required">ÍÅÎÁÕÎÄÈÌ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê Y:Line)</font><a name="classblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñ:<br>
<pre>class &lt;name&gt; {
pingfreq &lt;÷àñòîòà-ïèíãà&gt;;
connfreq &lt;÷àñòîòà-ñîåäèíåíèÿ&gt;;
maxclients &lt;ìàêñèìàëüíîå-êîëè÷åñòâî-êëèåíòîâ&gt;;
sendq &lt;send-queue&gt;;
recvq &lt;recv-queue&gt;;
};
</pre>
<P></P>
<p></p>
<p>Áëîê Class îïðåäåëÿåò êëàññû, â êîòîðûå âõîäÿò ñîåäèíåíèÿ (íàïðèìåð, èç áëîêà
allow èëè servers èç áëîêà link). Âû ìîæåòå ñäåëàòü ñîñòàâíûìè áëîêè class
(ò.å.: äëÿ servers, clients, opers).</p>
<p><b>name</b> - ýòî îïèñàòåëüíîå èìÿ, âðîäå "clients" èëè "servers", äàííîå èìÿ
èñïîëüçóåòñÿ äëÿ ññûëîê â áëîêàõ allow/link/oper è äð.</p>
<p><b>pingfreq</b> - ýòî êîëè÷åñòâî ñåêóíä ìåæäó êîìàíäîé PING îò ñåðâåðà
(ðåêîìåíäîâàíî èñïîëüçîâàòü ïðîìåæóòîê îò 90 äî 180).</p>
<p><b>connfreq</b> èñïîëüçóåòñÿ òîëüêî äëÿ ñåðâåðîâ è îáîçíà÷àåò êîëè÷åñòâî ñåêóíä
ìåæäó ïîïûòêàìè ñîåäèíåíèÿ, åñëè àâòîñîåäèíåíèå âêëþ÷åíî</p>
<p><b>maxclients</b> îïðåäåëÿåò ìàêñèìóì (âñåãî) ÷èñëî êëèåíòîâ/ñåðâåðîâ, êîòîðûå
ìîãóò áûòü â ýòîì êëàññå</p>
<p><b>sendq</b> îïðåäåëÿåò êîëè÷åñòâî äàííûõ, êîòîðîå ìîæíî ïåðåäàâàòü ïîäðÿä
(î÷åíü áîëüøîå äëÿ ñåðâåðîâ ñ ìàëûì êàíàëîì è ñðåäíåå äëÿ êëèåíòîâ)</p>
<p><b>recvq</b> îïðåäåëÿåò êîëè÷åñòâî äàííûõ, êîòîðîå ìîæíî ïîëó÷èòü îäíîâðåìåííî è
èñïîëüçóåòñÿ äëÿ êîíòðîëÿ çà ôëóäîì (ïðèìåíèìî òîëüêî ê íîðìàëüíûì
ïîëüçîâàòåëÿì, ïîïðîáóéòå ïîýêñïåðèìåíòèðîâàòü ñ ïðîìåæóòêîì 3000-8000, 8000
óñòàíîâëåíî ïî óìîë÷àíèþ).</p>
<p>Ïðèìåðû:<br>
<pre>class clients {
pingfreq 90;
maxclients 500;
sendq 100000;
recvq 8000;
};
class servers{
pingfreq 90;
maxclients 10; /* Ìàêñèìàëüíîå êîëè÷åñòâî ñåðâåðîâ â áëîêå link */
sendq 1000000;
connfreq 100; /* ×åðåç ñêîëüêî ñåêóíä ïîâòîðÿòü ïîïûòêó ñîåäèíåíèÿ */
};
</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.5 - </font><font class="block_name">Allow áëîê</font>
<font class="block_required">ÍÅÎÁÕÎÄÈÌ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê I:Line)</font><a name="allowblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñ:<br>
<pre>allow {
ip &lt;ïîëüçîâàòåëü@ìàñêà-ip-ñîåäèíåíèÿ&gt;;
hostname &lt;ïîëüçîâàòåëü@ìàñêà-host-ñîåäèíåíèÿ&gt;;
class &lt;êëàññ-ñîåäèíåíèÿ&gt;;
password &lt;ïàðîëü-íà-ñîåäèíåíèå&gt; { &lt;òèï-àâòîðèçàöèè&gt;; };
maxperip &lt;ìàêñèìàëüíîå-êîëè÷åñòâî-ñîåäèíåíèé-íà-îäèí-ip&gt;;
ipv6-clone-mask &lt;êîëè÷åñòâî-áèò&gt;;
redirect-server &lt;ñåðâåð-ïåðåàäðåñàöèè&gt;;
redirect-port &lt;ïîðò-ïåðåàäðåñàöèè&gt;;
options {
&lt;îïöèÿ&gt;;
&lt;îïöèÿ&gt;;
...
};
};
</pre>
<P></P>
<p>Êëàññ allow ïîçâîëÿåò çàäàòü, êòî ìîæåò ïîäêëþ÷èòüñÿ ê äàííîìó ñåðâåðó; ìîæíî
ñäåëàòü íåñêîëüêî áëîêîâ allow.</p>
<p><b>Î ñîâïàäåíèÿõ</b><br>
Êîíòðîëü äîñòóïà ðàáîòàåò ñëåäóþùèì îáðàçîì: ip ñîâïàäàåò ÈËÈ õîñò ñîâïàäàåò,
ïîýòîìó "hostname *@*"; è "ip *@1.2.3.4"; áóäóò ñîâïàäàòü. ×òåíèå áëîêîâ allow
èä¸ò ñâåðõó âíèç, ïîýòîìó, åñëè âàì íåîáõîäèìî çàäàòü ñïåöèôè÷åñêèå áëîêè
host/ip allow, òî çàäàâàéòå èõ ÏÎÑËÅ ãëàâíîãî áëîêà *@* allow. Äîïîëíèòåëüíî,
åñëè âû õîòèòå çàäàòü áëîê, êîòîðûé áàçèðóåòñÿ òîëüêî íà IP, òîãäà óñòàíîâèòå â
hostname ÷òî-íèáóäü íåïðàâèëüíîå, íàïðèìåð "hostname NOBODY;", ýòî ïîçâîëèò âàì
ñäåëàòü áëîê òîëüêî ïî IP.</p>
<p><b>ip</b><br>
IP ìàñêà - ýòî user@ip, user - ýòî èäåíò (ident) è ÷àñòî óñòàíàâëèâàåòñÿ â *,
ip - ýòî ip-ìàñêà. Ïðèìåðû: *@* (îòîâñþäó), *@192.168.* (òîëüêî äëÿ àäðåñîâ,
íà÷èíàþùèõñÿ ñ 192.168), è äð.</p>
<p><b>host</b><br>
Õîñòìàñêà - ýòî user@host, è ñíîâà, user ÷àñòî âûñòàâëÿåòñÿ â *. Ïðèìåðû: *@*
(îòîâñþäó), *@*.wanadoo.fr (òîëüêî îò wanadoo.fr).</p>
<p><b>password</b> (íå îáÿçàòåëüíî)<br>
Òðåáóåò ïàðîëü íà ñîåäèíåíèå. Òàê æå ìîæíî óêàçàòü ìåòîä øèôðîâàíèÿ ïàðîëÿ.
</p>
<p><b>class</b><br>
Îïðåäåëÿåò èìÿ êëàññà, ïîëüçîâàòåëÿì/ñåðâåðàì êîòîðîãî ìîæíî ïîäêëþ÷àòüñÿ.
</p>
<p><b>maxperip</b> (íåîáÿçàòåëüíî, íî ðåêîìåíäóåòñÿ)<br>
Ïîçâîëÿåò óêàçàòü, ñêîëüêî ñîåäèíåíèé ñ îäíîãî IP ðàçðåøåíî íà ýòîò ñåðâåð
(ïðèìåð: maxperip 4;).
</p>
<p id="allowblock_ipv6clonemask"><b>ipv6-clone-mask</b>
(îïöèîíàëüíî, ïî óìîë÷àíèþ <a href="#set_defaultipv6clonemask">set::default-ipv6-clone-mask</a>)<br />
Äàííàÿ îïöèÿ ïîçâîëÿåò êîíòðîëèðîâàòü îáíàðóæåíèå êëîíîâ. Åñëè äâà êëèåíòà ïîäêëþ÷àþòñÿ èç äâóõ ðàçíûõ àäðåñîâ IPv6, íî òîëüêî ïîñëåäíèå ïàðó
áèò îòëè÷àþòñÿ, òî ýòî ïðàêòè÷åñêè ãàðàíòèÿ òîãî, ÷òî îáà êëèåíòà - îäíà ïåðñîíà.
Äàííàÿ îïöèÿ ïðèìåíèìà òîëüêî äëÿ <a href="#allowblock_maxperip">allow::maxperip</a>. Ê ïðèìåðó, åñëè âû óêàæåòå ýòó îïöèþ â
128, òî êàæäûé àäðåñ IPv6 áóäåò ñ÷èòàòüñÿ óíèêàëüíûì.  ñîîòâåòñòâèè ñ òåêóùèìè ïîëèòèêàìè âûäåëåíèÿ ïðîñòðàíñòâà IP ðåêîìåíäóåòñÿ â
<a href="#allowblock">allow block</a> èñïîëüçîâàòü âåëè÷èíó 64.
</p>
<p><b>redirect-server</b> (íåîáÿçàòåëüíî)<br>
Åñëè êëàññ ïîëîí, ïåðåíàïðàâëÿåò ïîëüçîâàòåëåé íà óêàçàííûé ñåðâåð (åñëè òàêîå
ïîääåðæèâàþò êëèåíòû [mIRC 6 ïîääåðæèâàåò]).</p>
<p><b>redirect-port</b> (íåîáÿçàòåëüíî)<br>
Åñëè óêàçàí redirect-server, âû ìîæåòå çàäàòü ïîðò äëÿ íåãî, èíà÷å áóäåò
íàçíà÷åí 6667.</p>
<p><b>options áëîê</b> (íåîáÿçàòåëüíî)<br>
Ïðàâèëüíûå îïöèè:<br>
<b>useip</b> âñåãäà ïîêàçûâàòü IP âìåñòî õîñòíåéìà<br>
<b>noident</b> íå èñïîëüçîâàòü ident, âìåñòî íåãî èñïîëüçîâàòü èìÿ ïîëüçîâàòåëÿ
èç êëèåíòà<br>
<b>ssl</b> Òîëüêî ïîëüçîâàòåëè èç ýòîãî áëîêà ìîãóò ïîäêëþ÷àòüñÿ ê ñåðâåðó ïî
SSL<br>
<b>nopasscont</b>
ïðîäîëæèòü ñîâïàäåíèå, åñëè ïàðîëü íå áûë çàäàí (ìîæíî êëèåíòîâ îïðåäåëèòü â
ñïåöèàëüíûå êëàññû, åñëè îíè ïîäñòàâèëè ïàðîëü).
<p>Ïðèìåðû:<br>
<pre>allow {
ip *;
hostname *;
class clients;
maxperip 5;
};
allow {
ip *@*;
hostname *@*.passworded.ugly.people;
class clients;
password "f00Ness";
maxperip 1;
};
</pre>
<P></P>
</div>
<p>
</p>
<p><font class="block_section">4.6 - </font><font class="block_name">Listen áëîê</font>
<font class="block_required">ÍÅÎÁÕÎÄÈÌ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê P:Line)</font><a name="listenblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>listen &lt;ip:port&gt; {
options {
&lt;option&gt;;
&lt;option&gt;;
...
};
};
</pre>
<P></P>
<p></p>
<p>Äàííûé áëîê ïîçâîëÿåò îïðåäåëèòü, êàêèå ïîðòû äîëæåí ïðîñëóøèâàòü IRCD. Åñëè
îïöèè âàì íå íóæíû, ìîæíî îïðåäåëèòü òîëüêî áëîê â âèäå &lt;ip:port&gt;;.</p>
<p><b>ip è port</b><br>
Âû ìîæåòå óñòàíîâèòü ip â * ÷òîáû îæèäàòü ïîäêëþ÷åíèÿ íà âñåõ äîñòóïíûõ ip
àäðåñàõ, èëè îïðåäåëèòü òîëüêî íåîáõîäèìûé ip (îáû÷íî íåîáõîäèì â ïðîâàéäåðàõ
shell-îâ). port - ýòî ïîðò, íà êîòîðîì âû õîòèòå âêëþ÷èòü ïðîñëóøèâàíèå. Ìîæíî
òàê æå îïðåäåëèòü äèàïàçîí ïîðòîâ, âìåñòî óêàçàíèÿ êàæäîãî èç íèõ
èíäèâèäóàëüíî. Íàïðèìåð, 6660-6669 áóäåò ïðîñëóøèâàòü âñå ïîðòû îò 6660 äî 6669
(âêëþ÷èòåëüíî).</p>
<p><b>Èíôîðìàöèÿ äëÿ ïîëüçîâàòåëåé IPv6</b><br>
Åñëè íà ñåðâåðå âû èñïîëüçóåòå IPv6, âàì íåîáõîäèìî çàêëþ÷àòü IP â êâàäðàòíûå
ñêîáêè. Íàïðèìåð, [::1]:6667 (áóäåò ïðîñëóøèâàòüñÿ ïîðò 6667 íà localhost).
Åñëè âû èñïîëüçóåòå IPv6 è âàì íåîáõîäèìî ïðîñëóøèâàòü íà îïðåäåë¸ííîì IPv4
àäðåñå, âàì íåîáõîäèìî èñïîëüçîâàòü ::ffff:ipv4ip. Ïðèìåð:
[::ffff:203.123.67.1]:6667 áóäåò ïðîñëóøèâàòü íà 203.123.67.1 ïîðò 6667.
Åñòåñòâåííî, ìîæíî èñïîëüçîâàòü è *.</p>
<p><b>options áëîê</b> (íåîáÿçàòåëüíî)<br>
Åñëè âû æåëàåòå, ìîæíî îïðåäåëèòü ñïåöèàëüíûå îïöèè äëÿ óêàçàííîãî ïîðòà, òàêèå
êàê:<br>
<table border="0">
<TR>
<TD>
<center><b>clientsonly</b></center>
</TD>
<TD>ïîðò òîëüêî äëÿ êëèåíòîâ</TD>
</TR>
<TR>
<TD>
<center><b>serversonly</b></center>
</TD>
<TD>ïîðò òîëüêî äëÿ ñåðâåðîâ</TD>
</TR>
<TR>
<TD>
<center><b>java</b></center>
</TD>
<TD>CR ïîääåðæêà ÷àòà íà java</TD>
</TR>
<TR>
<TD>
<center><b>ssl</b></center>
</TD>
<TD>ïîðò äëÿ çàøèôðîâàííîãî ñîåäèíåíèÿ (SSL)</TD>
</TR>
</table>
</p>
<p>Ïðèìåðû:</p>
<pre>listen *:6601 {
options {
ssl;
clientsonly;
};
};
</pre>
<P></P>
<p>Åñëè áåç îïöèé:</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 id="operblock" class="block_name">Oper áëîê</font>
<font class="block_recommended">ÐÅÊÎÌÅÍÄÎÂÀÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê O:Line)</font><a name="operblock"></a>
<div class="desc">
<P></P>
<p><pre>oper &lt;èìÿ&gt; {
from {
userhost &lt;õîñòìàñêà&gt;;
userhost &lt;õîñòìàñêà&gt;;
};
password &lt;ïàðîëü&gt; { &lt;òèï-àóòåíòèôèêàöèè&gt;; };
require-modes &lt;ðåæèìû&gt;
class &lt;èìÿ-êëàññà&gt;;
flags &lt;ôëàãè&gt;;
flags {
&lt;ôëàã&gt;;
&lt;ôëàã&gt;;
...
};
swhois &lt;èíôîðìàöèÿ â whois&gt;;
snomask &lt;ñíîìàñêà (snomask)&gt;;
modes &lt;ðåæèìû&gt;;
maxlogins &lt;÷èñëî&gt;;
};
</pre>
<P></P>
<p>Áëîê oper ïîçâîëÿåò íàçíà÷èòü IRC-îïåðàòîðîâ íà âàøåì ñåðâåðå. <b>oper::</b> îïðåäåëÿåò
ëîãèí êîìàíäû /oper. <b>oper::from::userhost</b> - ýòî user@host ìàñêà, ïîä
êîòîðóþ äîëæåí ïîïàäàòü ïîëüçîâàòåëü. Âû ìîæåòå îïðåäåëèòü áîëåå, ÷åì îäíó
õîñòìàñêó â oper::from::userhost. Îïöèîíàëüíî ìîæíî óñòàíîâèòü <b>oper::require-modes</b>
äëÿ îïðåäåë¸ííûõ ðåæèìîâ (òàêèõ êàê <em>r</em> èëè <em>z</em>), êîòîðûå íåîáõîäèìû
÷òîáû áûëè ó ïîëüçîâàòåëÿ ïåðåä òåì, êàê îí áû ñòàë îïåðàòîðîì. Óêàçàâ äàííûå ðåæèìû,
ìû ïîòðåáóåì îò ïîëüçîâàòåëÿ áûòü çàðåãèñòðèðîâàííûì íà nickserv èëè èñïîëüçîâàòü áåçîïàñíîå
ïîäêëþ÷åíèå ïåðåä òåì, êàê ñòàíîâèòüñÿ îïåðàòîðîì.
</P>
<p id="operblock_password"><b>oper::password</b> - ïàðîëü, êîòîðûé äîëæåí óêàçàòü ïîëüçîâàòåëü.
<b>oper::password::auth-type</b> ïîçâîëÿåò âàì óêàçàòü ìåòîä àóòåíòèôèêàöèè äëÿ ýòîãî ïàðîëÿ.
Åñëè âû èñïîëüçóåòå ïàðîëè îòêðûòûì òåêñòîì, òî íå óêàçûâàéòå îïöèþ <b>oper::password::auth-type</b>.
Äîñòóïíûå ìåòîäû àóòåíòèôèêàöèè, à òàê æå ïðèìåðû èõ èñïîëüçîâàíèÿ â áëîêå oper, ìîæíî íàéòè â
<a href="#feature_authtypes">Ìåòîäàõ àóòåíòèôèêàöèè</a>.
</p>
<p>Çàìå÷àíèå: ëîãèí è ïàðîëü ÐÅÃÈÑÒÐÎÇÀÂÈÑÈÌÛ.</p>
<p><b>oper::class</b> äèðåêòèâà îïðåäåëÿåò èìÿ óæå ñóùåñòâóþùåãî (â
êîíôèãóðàöèîííîì ôàéëå äîëæåí ñëåäîâàòü ïåðåä oper-áëîêîì) êëàññà, êîòîðûé
áóäåò èñïîëüçîâàòü áëîê oper.</p>
<p><b>oper::flags</b> äèðåêòèâà èìååò 2 ôîðìàòà. Åñëè âû æåëàåòå èñïîëüçîâàòü
ñòàðûé ñòèëü ôëàãîâ äëÿ îïåðàòîðîâ, íàïðèìåð, OAa, èñïîëüçóéòå ìåòîä çàäàíèÿ
ôëàãîâ &lt;flags&gt;, åñëè æåëàåòå èñïîëüçîâàòü íîâûé ñòèëü, íàïðèìåð,
services-admin, òîãäà èñïîëüçóéòå ìåòîä ôëàãîâ { &lt;flag&gt;; } . Íèæå
ïðèâåä¸í ñïèñîê âñåõ ôëàãîâ (â îáîèõ ôîðìàòàõ) è ÷òî îíè îáîçíà÷àþò.</p>
<table width="75%" border="1" id="operblock_flags">
<tr>
<td width="10%">
<div align="center"><b>Ñòàðûé ôëàã</b></div>
</td>
<td width="16%">
<div align="center"><b>Íîâûé ôëàã</b></div>
</td>
<td width="74%"><b>Îïèñàíèå</b></td>
</tr>
<tr>
<td height="24">
<div align="center">o</div>
</td>
<td>
<div align="center">local</div>
</td>
<td>Ëîêàëüíûé îïåðàòîð</td>
</tr>
<tr>
<td>
<div align="center">O</div>
</td>
<td>
<div align="center">global</div>
</td>
<td>Ãëîáàëüíûé îïåðàòîð</td>
</tr>
<tr>
<td>
<div align="center">C</div>
</td>
<td>
<div align="center">coadmin</div>
</td>
<td>Ïîìîùíèê àäìèíèñòðàòîðà ñåðâåðà</td>
</tr>
<tr>
<td>
<div align="center">A</div>
</td>
<td>
<div align="center">admin</div>
</td>
<td>Àäìèíèñòðàòîð ñåðâåðà</td>
</tr>
<tr>
<td>
<div align="center">a</div>
</td>
<td>
<div align="center">services-admin</div>
</td>
<td>Àäìèíèñòðàòîð ñåðâèñîâ</td>
</tr>
<tr>
<td>
<div align="center">N</div>
</td>
<td>
<div align="center">netadmin</div>
</td>
<td>Àäìèíèñòðàòîð ñåòè</td>
</tr>
<tr>
<td>
<div align="center">r</div>
</td>
<td>
<div align="center">can_rehash</div>
</td>
<td>Îïåðàòîð ìîæåò èñïîëüçîâàòü /rehash</td>
</tr>
<tr>
<td>
<div align="center">D</div>
</td>
<td>
<div align="center">can_die</div>
</td>
<td>Îïåðàòîð ìîæåò èñïîëüçîâàòü /die</td>
</tr>
<tr>
<td>
<div align="center">R</div>
</td>
<td>
<div align="center">can_restart</div>
</td>
<td>Îïåðàòîð ìîæåò èñïîëüçîâàòü /restart</td>
</tr>
<tr>
<td>
<div align="center">h</div>
</td>
<td>
<div align="center">helpop</div>
</td>
<td>Îïåðàòîð ïîëó÷àåò ðåæèì ïîëüçîâàòåëÿ +h (îïåðàòîð ïîìîùè (helpop))</td>
</tr>
<tr>
<td>
<div align="center">w</div>
</td>
<td>
<div align="center">can_wallops</div>
</td>
<td>Îïåðàòîð ìîæåò ïîñûëàòü /wallops</td>
</tr>
<tr>
<td>
<div align="center">g</div>
</td>
<td>
<div align="center">can_globops</div>
</td>
<td>Îïåðàòîð ìîæåò ïîñûëàòü /globops</td>
</tr>
<tr>
<td>
<div align="center">c</div>
</td>
<td>
<div align="center">can_localroute</div>
</td>
<td>Ìîæåò ñîåäèíÿòü ñåðâåðà ëîêàëüíî</td>
</tr>
<tr>
<td>
<div align="center">L</div>
</td>
<td>
<div align="center">can_globalroute</div>
</td>
<td>Ìîæåò ñîåäèíÿòü ñåðâåðà ãëîáàëüíî</td>
</tr>
<tr>
<td>
<div align="center">k</div>
</td>
<td>
<div align="center">can_localkill</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü êîìàíäó /kill íà ëîêàëüíûõ ïîëüçîâàòåëåé</td>
</tr>
<tr>
<td>
<div align="center">K</div>
</td>
<td>
<div align="center">can_globalkill</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü /kill íà âñåõ ïîëüçîâàòåëåé</td>
</tr>
<tr>
<td>
<div align="center">b</div>
</td>
<td>
<div align="center">can_kline</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü /kline</td>
</tr>
<tr>
<td>
<div align="center">B</div>
</td>
<td>
<div align="center">can_unkline</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü /kline -u@h</td>
</tr>
<tr>
<td>
<div align="center">n</div>
</td>
<td>
<div align="center">can_localnotice</div>
</td>
<td>Ìîæåò ïîñûëàòü óâåäîìëåíèÿ ïî ëîêàëüíîìó ñåðâåðó</td>
</tr>
<tr>
<td>
<div align="center">G</div>
</td>
<td>
<div align="center">can_globalnotice</div>
</td>
<td>Ìîæåò ïîñûëàòü óâåäîìëåíèÿ ïî âñåì ñåðâåðàì</td>
</tr>
<tr>
<td>
<div align="center">z</div>
</td>
<td>
<div align="center">can_zline</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü /zline</td>
</tr>
<tr>
<td>
<div align="center">t</div>
</td>
<td>
<div align="center">can_gkline</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü /gline, /shun è /spamfilter</td>
</tr>
<tr>
<td>
<div align="center">Z</div>
</td>
<td>
<div align="center">can_gzline</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü /gzline</td>
</tr>
<tr>
<td>
<div align="center">W</div>
</td>
<td>
<div align="center">get_umodew</div>
</td>
<td>Óñòàíàâëèâàåò ðåæèì +W, êîãäà âû îïåðàòîð</td>
</tr>
<tr>
<td>
<div align="center">H</div>
</td>
<td>
<div align="center">get_host</div>
</td>
<td>Óñòàíàâëèâàåò âàø õîñò â îïåðõîñò</td>
</tr>
<tr>
<td>
<div align="center">v</div>
</td>
<td>
<div align="center">can_override</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü <A href="#operoverride">OperOverride</A></td>
</tr>
<tr>
<td>
<div align="center">q</div>
</td>
<td>
<div align="center">can_setq</div>
</td>
<td>Ìîæåò óñòàíàâëèâàòü ðåæèì ïîëüçîâàòåëÿ +q</td>
</tr>
<tr>
<td>
<div align="center">X</div>
</td>
<td>
<div align="center">can_addline</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü /addline</td>
</tr>
<tr>
<td>
<div align="center">d</div>
</td>
<td>
<div align="center">can_dccdeny</div>
</td>
<td>Ìîæåò èñïîëüçîâàòü /dccdeny è /undccdeny</td>
</tr>
</table>
<p>Ôëàãè, óñòàíàâëèâàåìûå ïî óìîë÷àíèþ:</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> ïîçâîëÿåò âàì äîáàâèòü èíôîðìàöèþ, âûâîäèìóþ ïî
êîìàíäå whois äëÿ îïåðàòîðà. <font color="blue">[íåîáÿçàòåëüíî]</font></p>
<p>Äèðåêòèâà <b>oper::snomask</b> ïîçâîëÿåò óñòàíîâèòü ìàñêó ïîëó÷åíèÿ óâåäîìëåíèé
îò ñåðâåðà ïðè âçÿòèè îïåðàòîðà. Äëÿ ñïèñêà äîñòóïíûõ SNOMASK ñìîòðèòå <A href="#feature_snomasks">
ñåêöèþ 3.3</A> <font color="blue">[íåîáÿçàòåëüíî]</font></p>
<p>Äèðåêòèâà <b>oper::modes</b> ïîçâîëÿåò çàäàòü ðåæèìû îïåðàòîðà ïðè âçÿòèè
îïåðàòîðà. <font color="blue">[íåîáÿçàòåëüíî]</font></p>
<p><b>oper::maxlogins</b> ïîçâîëÿåò îãðàíè÷èòü êîëè÷åñòâî ëîãèíîâ îïåðàòîðà ñ
òåêóùåãî õîñòà, äëÿ ïðèìåðà, åñëè âû óñòàíîâèòå åãî â 1, òî òîëüêî îäèí ÷åëîâåê
ìîæåò ñòàòü îïåðàòîðîì (èç ýòîãî áëîêà) â ëþáîå âðåìÿ. <font color="blue">[íåîáÿçàòåëüíî]</font></p>
<p>Ïðèìåð:<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 "Ïðèìåð ìàñêè whois";
snomask cFfkoSsqNG;
};
</pre>
<P></P>
<a name="operoverride"><b>Íåìíîãî èíôîðìàöèè îá OperOverride:</b><br>
OperOverride ïîíèìàåòñÿ êàê âõîä íà êàíàë ñ ðåæèìàìè +ikl è âõîä ÷åðåç áàíû(âàì
íåîáõîäèìî âíà÷àëå ñäåëàòü /invite ñàìîãî ñåáÿ), âûäà÷à îïåðàòîðà ñàìîìó ñåáå
íà êàíàëå è ò.ä.<br>
Ôëàã can_override áûë äîáàâëåí êàê ïîïûòêà îñòàíîâèòü ïðåâûøåíèå ïîëíîìî÷èé
îïåðàòîðà. Ïî óìîë÷àíèþ íè îäèí îïåðàòîð íå ìîæåò äåëàòü override, âàì
íåîáõîäèìî óñòàíîâèòü ôëàã can_override äëÿ ýòîãî (ïðèìå÷àíèå: èç ëè÷íîãî
îïûòà, â áîëüøîé è äåöåíòðàëèçîâàííîé ñåòè èìåííî ýòîò ôëàã âûçûâàåò áîëüøå
âñåãî ïðîáëåì ñ "áåñïðåäåëîì" îïåðàòîðîâ /DeathBaba/).
<p></p>
</div>
<p><font class="block_section">4.8 - </font><font class="block_name">DRpass áëîê</font>
<font class="block_recommended">ÐÅÊÎÌÅÍÄÎÂÀÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê X:Line)</font><a name="drpassblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>drpass {
restart &lt;ïàðîëü-äëÿ-ïåðåçàïóñêà&gt; { &lt;òèï-àóòåíòèôèêàöèè&gt;; };
die &lt;ïàðîëü-äëÿ-îñòàíîâêè-ñåðâåðà&gt; { &lt;òèï-àóòåíòèôèêàöèè&gt;; };
};</pre>
<P></P>
<p>Äàííûé áëîê óñòàíàâëèâàåò ïàðîëè íà êîìàíäû /restart è /die ñ äèðåêòèâàìè
drpass::restart è drpass::die.
Äîñòóïíûå ìåòîäû àóòåíòèôèêàöèè, à òàê æå ïðèìåðû èõ èñïîëüçîâàíèÿ, ìîæíî íàéòè â
<a href="#feature_authtypes">Ìåòîäàõ àóòåíòèôèêàöèè</a></p>
<p>Ïðèìåð:</p>
<pre>drpass {
restart "ß-î÷åíü-ëþáëþ-ïåðåçàïóñêè";
die "die-you-stupid";
};
</pre>
<P></P>
</div>
<p><font class="block_section">4.9 - </font><font class="block_name">Äèðåêòèâà Include</font><a name="includedirective"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
include &lt;file-name&gt;;</p>
<p>Äàííàÿ äèðåêòèâà îïðåäåëÿåò èìÿ ôàéëà, êîòîðûé áóäåò çàãðóæåí êàê îòäåëüíûé
êîíôèãóðàöèîííûé ôàéë. Ýòîò ôàéë ìîæåò ñîäåðæàòü ëþáîé òèï áëîêîâ
êîíôèãóðèðîâàíèÿ è ìîæåò âêëþ÷àòü äðóãèå ôàéëû.  èìåíàõ ôàéëîâ ïîääåðæèâàþòñÿ
øàáëîíû (wildcards), ÷òî ïîçâîëÿåò çàãðóæàòü íåñêîëüêî ôàéëîâ çà îäèí ðàç.</p>
<p><b>Ïðèìåð 1: ñåòåâîé ôàéë</b><br>
<pre>include mynetwork.network;</pre>
<P></P>
<p>Ýòî â ñëó÷àå èñïîëüçîâàíèÿ îòäåëüíîãî ñåòåâîãî ôàéëà. Íà äàííûé ìîìåíò âñå
ñåòåâûå íàñòðîéêè ìîãóò áûòü âêëþ÷åíû ïðÿìî â unrealircd.conf. Èëè æå ìîæíî
âêëþ÷èòü èõ äëÿ çàãðóçêèâ include - ðåøàòü âàì.</p>
<p><b>Ïðèìåð 2: ïñåâäîíèìû</b><br>
<pre>include aliases/ircservices.conf</pre>
<P></P>
<p>Äðóãîé ïðèìåð èñïîëüçîâàíèÿ include. UnrealIRCd ïîñòàâëÿåòñÿ âìåñòå ñ íåêîòîðûìè
ôàéëàìè, êîòîðûå ñîäåðæàò ïñåâäîíèìû (aliases)áîëüøèíñòâà ñåðâèñîâ:<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)
</li>
</ul>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.10 - </font><font class="block_name">Äèðåêòèâà
LoadModule</font> <font class="block_required">ÍÅÎÁÕÎÄÈÌÀ</font><a name="loadmoduledirective"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
loadmodule &lt;èìÿ-ôàéëà&gt;;</p>
<p>Ñìîòðè <A href="#feature_modules">òóò</A> ÷òîáû óçíàòü, êàêèå ìîäóëè
èñïîëüçóþòñÿ.</p>
<p>Ìîäóëè èç ñòàíäàðòíîé ïîñòàâêè Unreal3.2:</p>
<p>commands.so / commands.dll - âñå "/" êîìàíäû (ïîêà íå âñå, íî ñêîðî áóäóò) <font color="red">
ÍÅÎÁÕÎÄÈÌ</font><br>
cloak.so / cloak.dll - ìîäóëü ñêðûòíîñòè <font color="red">ÍÅÎÁÕÎÄÈÌ</font> (èëè
äðóãîé ìîäóëü ñêðûòíîñòè)</p>
<p>Åñëè âû õîòèòå áûòü óâåðåííûì â òîì, ÷òî îíè çàãðóæåíû:</p>
<pre>loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";
</pre>
<p>èëè â ÎÑ 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 áëîê</font>
<font class="block_recommended">ÐÅÊÎÌÅÍÄÎÂÀÍ</font><a name="logblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>log &lt;èìÿ-ôàéëà&gt; {
maxsize &lt;ìàêñèìàëüíûé-ðàçìåð-ôàéëà&gt;;
flags {
&lt;ôëàã&gt;;
&lt;ôëàã&gt;;
...
};
};
</pre>
<P></P>
<p>Áëîê log ïîçâîëÿåò íàçíà÷èòü ðàçëè÷íûå èìåíà ôàéëîâ ëîãîâ äëÿ ðàçëè÷íûõ öåëåé. <b>log::</b>
ñîäåðæèò èìÿ ôàéëà ëîãà. <b>log::maxsize</b> - ýòî íåîáÿçàòåëüíàÿ äèðåêòèâà,
ïîçâîëÿþùàÿ îïðåäåëèòü ðàçìåð ôàéëà ëîãà, ïîñëå ïðåâûøåíèÿ êîòîðîãî îí áóäåò
î÷èùåí. Ìîæíî ââåñòè ñòðîêó, èñïîëüçóÿ MB äëÿ ìåãàáàéò, KB äëÿ êèëîáàéò, GB äëÿ
ãèãàáàéò. <b>log::flags</b> îïðåäåëÿåò òèï èíôîðìàöèè, êîòîðàÿ áóäåò çàíåñåíà â
ôàéë. Ñïèñîê äîñòóïíûõ ôëàãîâ ïðèâåä¸í íèæå.</p>
<p>Ìîæíî ñîçäàòü íåñêîëüêî áëîêîâ log, ÷òîáû ïðîòîêîëèðîâàòü ðàçíóþ èíôîðìàöèþ â
ðàçíûå ôàéëû.</p>
<p><b>Äîñòóïíûå ôëàãè:</b><br>
<table border="0">
<tr>
<td>errors</td>
<td>îøèáêè</td>
</tr>
<tr>
<td>kills</td>
<td>óâåäîìëåíèÿ êîìàíäû /kill</td>
</tr>
<tr>
<td>tkl</td>
<td>èíôîðìàöèÿ î *lines (/kline, /zline è ïðî÷.), shuns è
spamfilters (äîáàâëåíèå/óäàëåíèå/èñòåêàíèå ñðîêà)</td>
</tr>
<tr>
<td>connects</td>
<td>ñîåäèíåíèÿ/îòñîåäèíåíèÿ ïîëüçîâàòåëåé</td>
</tr>
<tr>
<td>server-connects</td>
<td>ñîåäèíåíèÿ/îòñîåäèíåíèÿ ñåðâåðà</td>
</tr>
<tr>
<td>kline</td>
<td>èñïîëüçîâàíèå êîìàíäû /kline</td>
</tr>
<tr>
<td>oper</td>
<td>ïîïûòêè êîìàíäû /oper (êàê óäà÷íûå, òàê è íåóäà÷íûå)</td>
</tr>
<tr>
<td>sadmin-commands</td>
<td>èñïîëüçîâàíèå êîìàíä /sa* (samode, sajoin, sapart è ò.ä.)</td>
</tr>
<tr>
<td>chg-commands</td>
<td>èñïîëüçîâàíèå êîìàíä /chg* (chghost, chgname, chgident è ò.ä.)</td>
</tr>
<tr>
<td>oper-override</td>
<td>èñïîëüçîâàíèå operoverride</td>
</tr>
<tr>
<td>spamfilter</td>
<td>ñîâïàäåíèÿ ñïàìôèëüòðà</td>
</tr>
</table>
</p>
<p>Ïðèìåð:</p>
<pre>log ircd.log {
maxsize 5MB;
flags {
errors;
kills;
oper;
tkl;
};
};
</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.12 - </font><font class="block_name">TLD áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÜÍÎ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê T:Line)</font><a name="tldblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>tld {
mask &lt;õîñòìàñêà&gt;;
motd &lt;ôàéë-motd&gt;;
rules &lt;ôàéë-rules&gt;;
shortmotd &lt;ôàéë-shortmotd&gt;;
opermotd &lt;ôàéë-opermotd&gt;;
botmotd &lt;ôàéë-botmotd&gt;;
channel &lt;èìÿ-êàíàëà&gt;;
options {
ssl;
};
};</pre>
<P></P>
<p>Áëîê tld ïîçâîëÿåò âàì îïðåäåëèòü ñîîáùåíèå äíÿ(motd), ïðàâèëà è êàíàë äëÿ
ïîëüçîâàòåëåé, áàçèðóÿñü íà èõ õîñòå. Ýòî âåñüìà ïîëåçíàÿ âåùü, åñëè âû
èñïîëüçóåòå ðàçëè÷íûå motd äëÿ ðàçëè÷íûõ ÿçûêîâ. <b>tld::mask</b> - ýòî
user@host ìàñêà, ãäå èìÿ ïîëüçîâàòåëÿ è èìÿ õîñòà äîëæíû ïîïàäàòü ïîä íåãî. <b>tld::motd</b>,
<b>tld::shortmotd</b>, <b>tld::opermotd</b>, <b>tld::botmotd</b> è <b>tld::rules</b>
îïðåäåëÿþò ñîîáùåíèå äíÿ (motd), êîðîòêîå ñîîáùåíèå äíÿ (shortmotd), ñîîáùåíèå
äíÿ äëÿ îïåðàòîðà(opermotd), ñîîáùåíèå äíÿ äëÿ áîòà (botmotd), ôàéë ïðàâèë
ïîëüçîâàíèÿ, êîòîðûå áóäóò ïîêàçàíû äàííîé õîñòìàñêå. tld::shortmotd,
tld::opermotd è tld::botmotd íåîáÿçàòåëüíû. <b>tld::channel</b> íåîáÿçàòåëåí,
íî ïîçâîëÿåò âàì îïðåäåëèòü êàíàë, íà êîòîðûé ïîëüçîâàòåëü ïîïàäàåò ïî
óìîë÷àíèþ ïðè ïîäêëþ÷åíèè ê ñåðâåðó. Åñëè <b>tld::channel</b> îïðåäåëåí, òî îí
ïåðåçàïèøåò êàíàë äëÿ âõîäà ïî óìîë÷àíèþ. <b>tld::options</b> áëîê ïîçâîëÿåò
îïðåäåëèòü äîïîëíèòåëüíûå òðåáîâàíèÿ, ïîêà ÷òî òîëüêî tld::options::ssl
(ïîêàçûâàòü ôàéë äëÿ ïîëüçîâàòåëåé SSL) è tld::options::remote (ïîêàçûâàòü ôàéë
äëÿ óäàë¸ííûõ ïîëüçîâàòåëåé).</p>
<p>Âõîæäåíèÿ â áëîê TLD ïðîâåðÿþòñÿ ñâåðõó âíèç.</p>
<p>Ïðèìåð:<br>
<pre>tld {
mask *@*.ru;
motd "ircd.motd.ru";
rules "ircd.rules.ru";
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.13 - </font><font class="block_name">Ban Nick áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê Q:Line)</font><a name="bannickblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>ban nick {<br>
mask &lt;íèê&gt;;
reason &lt;ïðè÷èíà-áàíà&gt;;
};</pre>
<P></P>
<p>Áëîê ban nick ïîçâîëÿåò îòêëþ÷èòü èñïîëüçîâàíèå íèêîâ íà ñåðâåðå.  ban::mask
ìîæíî èñïîëüçîâàòü øàáëîíû (wildcards) äëÿ îïðåäåëåíèÿ ìíîæåñòâà íèêîâ, â
ban::reason íåîáõîäèìî íàïèñàòü ïðè÷èíó áàíà. Äàííûå áëîêè â áîëüøèíñòâå
ñëó÷àåâ óñòàíàâëèâàþòñÿ äëÿ íèêîâ, êîòîðûå èñïîëüçóþò ñåðâèñû ñåòè.</p>
<p>Ïðèìåð:<br>
<pre>ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason "Reserved for Services";
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.14 - </font><font class="block_name">Ban User áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê K:Line)</font><a name="banuserblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>ban user {
mask &lt;õîñòìàñêà&gt;;
reason &lt;ïðè÷èíà-áàíà&gt;;
};</pre>
<P></P>
<p>Áëîê ïîçâîëÿåò çàáàíèòü ïî ìàñêå user@host ïðè êîííåêòå ê ñåðâåðó. ban::mask -
ýòî øàáëîí âèäà user@host, ban::reason - ýòî ïðè÷èíà áàíà. Çàìå÷àíèå: ýòî
òîëüêî ëîêàëüíûé áàí, ïîëüçîâàòåëü ìîæåò îáîéòè åãî, ïîäêëþ÷èâøèñü ê äðóãèì
ñåðâåðàì â ñåòè.</p>
<p>Ïðèìåð:<br>
<pre>ban user {
mask *tirc@*.saturn.bbn.com;
reason "Äóðèëà_Êàðòîííàÿ";
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.15 - </font><font class="block_name">Ban IP áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê Z:Line)</font><a name="banipblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>ban ip {
mask &lt;ip-ìàñêà&gt;;
reason &lt;ïðè÷èíà-áàíà&gt;;
};</pre>
<P></P>
<p>Áëîê ban ip áàíèò óêàçàííûé IP è ëèøàåò äîñòóïà ê ñåðâåðó, â ò.÷. è ïîïûòêè
ïîëüçîâàòåëåé è ñåðâåðîâ ïðèñîåäèíèòñÿ ê ñåðâåðó. Ïàðàìåòð ban::mask - ýòî IP,
êîòîðûé ìîæåò ñîäåðæàòü ñèìâîëû è/èëè øàáëîí. ban::reason - ýòî ïðè÷èíà, ïî
êîòîðîé îòêàçàíî â èñïîëüçîâàíèè ñåðâåðà. Ò.ê. áàí ðàñïðîñòðàíÿåòñÿ è íà
ñåðâåðà, áóäüòå ñ íèì î÷åíü âíèìàòåëüíû!</p>
<p>Ïðèìåð:<br>
<pre>ban ip {
mask 192.168.1.*;
reason "Ïîëó÷è ðåàëüíûé ip, ëàìeð :]!";
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.16 - </font><font class="block_name">Ban Server áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê q:Line)</font><a name="banserverblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>ban server {
mask &lt;èìÿ-ñåðâåðà&gt;;
reason &lt;ïðè÷èíà-áàíà&gt;;
};</pre>
<P></P>
<p>Äàííûé áëîê îòêëþ÷àåò âîçìîæíîñòü ñåðâåðà ïðèñîåäèíèòñÿ ê ñåòè. Åñëè çàáàíåíûé
ñåðâåð ñîåäèíÿåòñÿ íåïîñðåäñòâåííî ê âàøåìó ñåðâåðó, òî ñîåäèíåíèå çàïðåùàåòñÿ.
Åñëè çàáàíåíûé ñåðâåð ñîåäèíÿåòñÿ ê óäàë¸ííîìó ñåðâåðó, òî âàø ëîêàëüíûé
ñåðâåð, ãäå ïðîïèñàí áàí, îòêëþ÷àåòñÿ îò ñåòè. Ïîëå ban::mask îïðåäåëÿåò øàáëîí
äëÿ ñîâïàäåíèÿ ñ èìåíåì ñåðâåðà, êîòîðûé ïûòàåòñÿ ñîåäèíèòñÿ. ban::reason
îïðåäåëÿåò ïðè÷èíó, ïî êîòîðîé áàí áûë óñòàíîâëåí.</p>
<p>Ïðèìåð:<br>
<pre>ban server {
mask broken.server.my.network.com;
reason "Îí ñëîìàí!";
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.17 - </font><font class="block_name">Ban RealName áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê n:Line)</font><a name="banrealnameblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>ban realname {
mask &lt;ìàñêà-ðåàëüíîãî-èìåíè&gt;;
reason &lt;ïðè÷èíà-áàíà&gt;;
};</pre>
<P></P>
<p>Áëîê ban realname ïîçâîëÿåò çàáàíèòü êëèåíòà, áàçèðóÿñü íà ïîëå GECOS (ðåàëüíîå
èìÿ). Ýòî âåñüìà ïîëåçíàÿ âåùü äëÿ ïðåêðàùåíèÿ ôëóäà êëîíîâ, ïîòîìó ÷òî
äîñòàòî÷íî ÷àñòî áîòû-êëîíû èñïîëüçóþò îäèíàêîâîå èìÿ. ban::mask îïðåäåëÿåò
ðåàëüíîå èìÿ äëÿ áàíà, ìîæíî èñïîëüçîâàòü øàáëîí. ban::reason îïðåäåëÿåò
ïðè÷èíó óñòàíîâêè áàíà.</p>
<p>Ïðèìåð:<br>
<pre>ban realname {
mask "Bob*";
reason "Bob sucks!";
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.18 - </font><font class="block_name">Ban Version áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <a name="banversionblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>ban version {
mask &lt;ìàñêà-âåðñèè&gt;;
reason &lt;ïðè÷èíà-áàíà&gt;;
action [kill|tempshun|shun|kline|zline|gline|gzline];
};</pre>
<P></P>
<p>Áëîê ban version ïîçâîëÿåò âàì çàáàíèòü IRC êëèåíòà, áàçèðóÿñü íà ÏÎ, êîòîðîå îí
èñïîëüçóåò. Ýòî ðàáîòàåò òîëüêî òîãäà, êîãäà êëèåíò ïîñûëàåò îòâåò íà CTCP
version. Åñëè îòâåò íå ïðèõîäèò, òî áàí íå ðàáîòàåò. Äàííàÿ âåùü ïîçâîëÿåò âàì
áëîêèðîâàòü âðåäîíîñíûå ñêðèïòû. <b>ban::mask</b> îïðåäåëÿåò âåðñèþ, íà êîòîðóþ
ñòàâèòñÿ áàí (ìîæíî èñïîëüçîâàòü øàáëîí), <b>ban::reason</b> îïðåäåëÿåò ïðè÷èíó
óñòàíîâêè áàíà. Âû òàê æå ìîæåòå óñòàíîâèòü <b>ban::action</b>, <i>kill</i> èñïîëüçóåòñÿ
ïî óìîë÷àíèþ, <i>tempshun</i> ñäåëàåò shun íà êîííåêò îïðåäåë¸ííîãî
ïîëüçîâàòåëÿ, ÷òî ýôôåêòèâíî ïðîòèâ áîòîâ/çîìáè ñ äèíàìè÷åñêèìè IP è íå âëèÿåò
íà íåâèíîâíûõ ïîëüçîâàòåëåé. <i>shun/kline/zline/gline/gzline</i> óñòàíîâÿò áàí
íà (*@IPADDR), âðåìÿ äåéñòâèÿ áàíà ìîæåò áûòü ñêîíôèãóðèðîâàíî îïöèåé
set::ban-version-tkl-time è ïî óìîë÷àíèþ ðàâíî 1 ñóòêàì.</p>
<p>Ïðèìåð:<br>
<pre>ban version {
mask "*SomeLameScript*";
reason "SomeLameScript ñîäåðæèò òðîÿíà";
};</pre>
<pre>ban version {
mask "*w00tZombie*";
reason "ß íåíàâèæó òîëïû çîìáè";
action zline;
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.19 - </font><font class="block_name">Ban Exceptions
áëîê</font> <font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">
(Ðàíåå èçâåñòåí êàê E:Line)</font><a name="banexceptionblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>except ban {
mask &lt;õîñòìàñêà&gt;;
};</pre>
<P></P>
<p>Áëîê except ban ïîçâîëÿåò îïðåäåëèòü user@host â êà÷åñòâå èñêëþ÷åíèÿ äëÿ áàíà.
Äàííûé áëîê èñïîëüçóåòñÿ, åñëè âû õîòèòå çàáàíèòü ïîëüçîâàòåëåé êîíêðåòíîãî
ïðîâàéäåðà (áëîêîì ban { } èëè KLINE/ZLINE), íî òàê æå õîòèòå,
÷òîáû îïðåäåë¸ííûå ïîëüçîâàòåëè ñìîãëè ïîäêëþ÷èòüñÿ. Äèðåêòèâà except::mask
îïðåäåëÿåò øàáëîí user@host äëÿ êëèåíòà, ÷òîáû ïîçâîëèòü åìó ïðèñîåäèíèòñÿ.</p>
<p>Çàìå÷àíèå: Åñëè âû æåëàåòå ñòîïðîöåíòíî èñêëþ÷èòü õîñò îò âñåõ âîçìîæíûõ áàíîâ
(êðîìå ñïàìôèëüòðà), òî âû äîëæíû óêàçàòü îáà áëîêà: 'except ban' è 'except tkl'.</p>
<p>Ïðèìåð:<br>
<pre>except ban {
mask myident@my.isp.com;
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.20 - </font><font class="block_name">TKL Exceptions
áëîê</font> <font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><a name="tklexceptionblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>except tkl {
mask &lt;õîñòìàñêà&gt;;
type &lt;òèï&gt;;
type {
&lt;òèï&gt;;
&lt;òèï&gt;;
...
};
};</pre>
<P></P>
<p>Áëîê except tkl ïîçâîëÿåò âàì îïðåäåëèòü user@host äëÿ ïðåîäîëåâàíèÿ áàíà tkl,
åñëè ïîëüçîâàòåëü ïîä íåãî ïîïàäàåò. Äàííûé áëîê èñïîëüçóåòñÿ, åñëè âû õîòèòå
çàáàíèòü ïðîâàéäåðà, íî òàê æå õîòèòå, ÷òîáû îïðåäåë¸ííûå ïîëüçîâàòåëè ìîãëè
ïðèñîåäèíèòñÿ. Äèðåêòèâà except::mask îïðåäåëÿåò ìàñêó user@host äëÿ êëèåíòà,
÷òîáû ïîçâîëèòü åìó ïðèñîåäèíèòñÿ. except::type îïðåäåëÿåò, êàêîé òèï áàíà
äîëæåí ïðåîäîëåâàòüñÿ. Âîçìîæíûå òèïû: gline, gzline, qline, gqline, shun è all, ÷òî
ïîçâîëÿåò èñêëþ÷àòü èç Global Zlines, Qlines, Global Qlines, shuns è all áàíû (êðîìå KLINE/ZLINE).
Åñëè èñïîëüçóåòñÿ ôîðìàò type {}, òî ìîæíî îïðåäåëèòü íåñêîëüêî òèïîâ.</p>
<p>Ïðèìåð:<br>
<pre>except tkl {
mask myident@my.isp.com;
type gline;
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.21 - </font><font class="block_name">Throttle
Exceptions áëîê</font> <font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <a name="throttleexceptionblock">
</a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>except throttle {
mask &lt;ìàñêà-ip&gt;;
};</pre>
<P></P>
<p>Áëîê except throttle ïîçâîëÿåò îïðåäåëèòü IP ìàñêó, ñ êîòîðîé ìîæíî ïðåîäîëåâàòü
ñèñòåìó òðîòòëèíãà. Áëîê èñïîëüçóåòñÿ, åñëè âû âêëþ÷èëè òðîòòëèíã. except::mask
îïðåäåëÿåò ìàñêó IP, êîòîðàÿ íå áóäåò çàáàíåíà òðîòòëèíãîì.</p>
<p>Ïðèìåð:<br>
<pre>except throttle {
mask 192.168.1.*;
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.22 - </font><font class="block_name">Deny DCC áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê dccdeny.conf)</font><a name="denydccblock"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>deny dcc {
filename &lt;ôàéë-äëÿ-áëîêèðîâàíèÿ&gt;;
reason &lt;ïðè÷èíà-áàíà&gt;;
soft [yes|no];
};</pre>
<P></P>
<p>Áëîê deny dcc ïîçâîëÿåò âàì óñòàíîâèòü èìÿ ôàéëà, ïåðåäà÷à êîòîðîãî íåâîçìîæíà
ïîñðåäñòâîì DCC íà ýòîì ñåðâåðå. Áëîê èñïîëüçóåòñÿ äëÿ îñòàíîâêè
ðàñïðîñòðàíåíèÿ òðîÿíîâ è âèðóñîâ.</p>
<p>Ïàðàìåòð <b>deny::filename</b> îïðåäåëÿåò ìàñêó äëÿ èìåíè ôàéëà, ïåðåäà÷ó
êîòîðîãî íóæíî áëîêèðîâàòü; <b>deny::reason</b> îïðåäåëÿåò ïðè÷èíó, ïî÷åìó ôàéë
çàáëîêèðîâàí.</p>
<p>Îïöèÿ <b>deny::soft</b>, åñëè óñòàíîâëåíà â 'yes', DCC áóäåò áëîêèðîâàí äî òåõ
ïîð, ïîêà ïîëüçîâàòåëü íå ïîçâîëèò ïåðåäà÷ó ñàìîñòîÿòåëüíî ïîñðåäñòâîì
/DCCALLOW +nickname-trying-to-send. Ñìîòðèòå dccallow.conf äëÿ âûÿñíåíèÿ
ïîäðîáíîñòåé êîíôèãóðèðîâàíèÿ dccallow.</p>
<p>Ïðèìåð:<br>
<pre>deny dcc {
filename virus.exe;
reason "Ýòî âèðóñ";
};
deny dcc {
filename "*.exe";
reason "Èñïîëíÿåìûé ôàéë";
soft yes;
};</pre>
<P></P>
</div>
<p></p>
<p><font class="block_section">4.23 - </font><font class="block_name">Deny Version áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê V:Line)</font><a name="denyversionblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>deny version {
mask &lt;èìÿ-ñåðâåðà&gt;;
version &lt;íîìåð-âåðñèè&gt;;
flags &lt;ôëàãè-êîìïèëÿöèè&gt;;
};</pre>
<P></P>
<p>Äàííûé áëîê ïîçâîëÿåò âàì çàïðåòèòü ëèíêîâêó ñåðâåðà, áàçèðóÿñü íà âåðñèè Unreal
è íà îïöèÿõ, ñ êîòîðûìè îí áûë ñêîìïèëèðîâàí. Äèðåêòèâà deny::mask îïðåäåëÿåò
ìàñêó, íà êàêèå ñåðâåðà áóäåò ðàñïðîñòðàíÿòñÿ çàïðåò. deny::version îïðåäåëÿåò
íîìåð âåðñèèïðîòîêîëà.</p>
<p>Ê ïðèìåðó, 3.0 - ýòî 2301, 3.1.1/3.1.2 ýòî 2302, 3.2 ýòî 2303. Ïåðâûì ñèìâîëîì
ýòîãî ïàðàìåòðà ìîæåò áûòü îäèí èç ñëåäóþùèõ: &gt;, &lt;, =, !. Ýòîò ñèìâîë
ñîîáùàåò IRCd, êàê èíòåðïðåòèðîâàòü âåðñèþ. Åñëè ïåðâûé ñèìâîë &gt;, òî áóäóò
çàïðåùåíû âñå âåðñèè, íîìåð ó êîòîðûõ ÁÎËÜØÅ, åñëè ýòî &lt;, òî âñå âåðñèè
ÌÅÍÜØÅ, åñëè ýòî = , òî òîëüêî ýòà âåðñèÿ çàïðåùåíà; ! îçíà÷àåò, ÷òî âñå
âåðñèè, êðîìå äàííîé, çàïðåùåíû. Äèðåêòèâà deny::flags ïîçâîëÿåò óêàçàòü ôëàãè,
ñ êîòîðûìè áûë èëè íå áûë ñêîìïèëèðîâàí ñåðâåð. Ôëàãè ñëåäóþò îäèí çà îäíèì áåç
ðàçäåëåíèÿ, åñëè ñèìâîë èä¸ò ñ ! - ýòî çíà÷èò, ÷òî ñåðâåð ìîæåò íå ñîäåðæàòü
åãî, à åñëè íåò òàêîãî ïðåôèêñà - ýòî çíà÷èò, ÷òî ñåðâåð äîëæåí áûòü
ñêîìïèëèðîâàí ñ óêàçàííûì ôëàãîì.</p>
<p></p>
</div>
<p><font class="block_section">4.24 - </font><font class="block_name">Deny Link áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê D/d:Line)</font><a name="denylinkblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>deny link {
mask &lt;èìÿ-ñåðâåðà&gt;;
rule &lt;âûðàæåíèå&gt;;
type &lt;òèï-çàïðåòà&gt;;
};</pre>
<P></P>
<p>Äàííûé áëîê ïîçâîëÿåò âàì èñïîëüçîâàòü ñïåöèôè÷åñêèå ïðàâèëà äëÿ çàïðåòà
ëèíêîâêè ñåðâåðà. deny::mask îïðåäåëÿåò ìàñêó èìåíè ñåðâåðà, íà êîòîðóþ
ðàñïðîñòðàíÿåòñÿ äàííîå ïðàâèëî. Äèðåêòèâà deny::rule î÷åíü ñëîæíà è ïîçâîëÿåò
äåòàëüíî íàñòðàèâàòü çàïðåò íà ëèíêîâêó. Ïîääåðæèâàåòñÿ 4 îïåðàöèè:
connected(&lt;ìàñêà-ñåðâåðà&gt;) âåðí¸ò èñòèíó (true), åñëè ñåðâåð ïîïàäàåò ïîä
ìàñêó è ñîåäèí¸í; directcon(&lt;ìàñêà-ñåðâåðà&gt;) âåðí¸ò true åñëè ñåðâåð
ïîïàäàåò ïîä ìàñêó è íàïðÿìóþ ñîåäèí¸í ñ ñåðâåðîì;
via(&lt;ìàñêà-via&gt;,&lt;ìàñêà-ñåðâåðà&gt;), âåðí¸ò true, åñëè ñåðâåð ïîïàäàåò
ïîä ìàñêó è ñîåäèí¸í ÷åðåç ñåðâåð, ïîïàäàþùèé ïîä via-ìàñêó; directop(),
êîòîðîå âåðí¸ò true åñëè îïåðàòîð, êîòîðûé âûïîëíèë /connect, íàïðÿìóþ ñîåäèíåí
ñ ýòèì ñåðâåðîì. Äàííûå îïåðàöèè ìîãóò êîìáèíèðîâàòüñÿ ïîñðåäñòâîì &amp;&amp;
(ëîãè÷åñêîå È) è || (ëîãè÷åñêîå ÈËÈ), îíè ìîãóò çàêëþ÷àòüñÿ â ñêîáêè äëÿ
ãðóïïèðîâêè. Åñëè ïåðåä îïåðàòîðîì èäåò !, îí ïðîâåðÿåòñÿ íà false. Åñëè ïîëíîå
âû÷èñëåíèå âûðàæåíèÿ âåðí¸ò true, òî ñîåäèíåíèå áóäåò çàïðåùåíî. deny::type
ïîçâîëÿåò äâà ðàçëè÷íûõ çíà÷åíèÿ: auto (ïðèìåíèìî òîëüêî äëÿ àâòîñîåäèíåíèé,
/connect áóäåò ðàáîòàòü), è all (ïðèìåíÿåòñÿ íà âñå ïîïûòêè ñîåäèíåíèé).</p>
<p></p>
</div>
<p><font class="block_section">4.25 - </font><font class="block_name">Deny Channel áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê chrestrict.conf)</font><a name="denychannelblock"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>deny channel {
channel "&lt;ìàñêà-êàíàëà&gt;";
reason &lt;ïðè÷èíà-áàíà&gt;;
redirect "&lt;èìÿ-êàíàëà&gt;";
warn [on|off];
};</pre>
<P></P>
<p></p>
<p>Áëîê deny channel ïîçâîëÿåò âàì çàïðåòèòü ïîëüçîâàòåëÿì çàõîäèòü íà óêàçàííûå
êàíàëû. Äèðåêòèâà <b>deny::channel</b> îïðåäåëÿåò ìàñêó äëÿ êàíàëîâ, íà êîòîðûå
íåëüçÿ çàéòè ïîëüçîâàòåëÿì, è <b>deny::reason</b> îïðåäåëÿåò ïðè÷èíó, ïî÷åìó
ýòî íåâîçìîæíî ñäåëàòü. Äîïîëíèòåëüíî, ìîæíî îïðåäåëèòü <b>deny::redirect</b>,
òîãäà ïîëüçîâàòåëü, ïûòàþùèéñÿ çàéòè íà êàíàë, ñîâïàäàþùèé ñ deny::channel,
áóäåò ïåðåíàïðàâëåí íà deny::redirect. Åñëè <b>deny::warn</b> áóäåò óñòàíîâëåíî
â on, òî áóäåò ïîñëàíî óâåäîìëåíèå îïåðàòîðó (äëÿ ñíîìàñêè EYES), êîãäà
ïîëüçîâàòåëü ïîïûòàåòñÿ çàéòè íà êàíàë.</p>
<p>Ïðèìåð</p>
<pre>deny channel {
channel "#unrealsucks";
reason "È íå ìå÷òàéòå";
};
deny channel {
channel "#*teen*sex*";
reason "Ïåäîôèëèÿ - ñòðàøíàÿ âåùü";
warn on;
};
deny channel {
channel "#operhelp";
reason "Êàíàë ïîìîùè â ñåòè #help, à íå #operhelp";
redirect "#help";
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.26 - </font><font class="block_name">Allow Channel
áëîê</font> <font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><a name="allowchannelblock"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>allow channel {
channel "&lt;ìàñêà-êàíàëà&gt;";
};</pre>
<P></P>
<p>Áëîê allow channel ïîçâîëÿåò îïðåäåëèòü ñïåöèôè÷åñêèå êàíàëû, êóäà ìîãóò
çàõîäèòüïîëüçîâàòåëè. Äèðåêòèâà allow::channel îïðåäåëÿåòñÿ ìàñêîé êàíàëîâ,
êóäà ìîæíî çàõîäèòü.</p>
<p>Ïðèìåð:<br>
<pre>allow channel {
channel "#something";
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.27 - </font><font class="block_name">Allow DCC áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><a name="allowdccblock"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>allow dcc {
filename "&lt;ìàñêà-èìåíè-ôàéëà&gt;";
soft [yes|no];
};</pre>
<P></P>
<p>Áëîê allow dcc ïîçâîëÿåò îïðåäåëèòü èñêëþ÷åíèÿ èç áëîêîâ deny dcc, ðàçðåøåíî
èñïîëüçîâàíèå øàáëîíîâ. Åñëè <b>allow dcc::soft</b> óñòàíîâëåí â 'yes', áëîê
ïðèìåíÿåòñÿ ê ñïèñêó 'soft dcc bans', åñëè óñòàíîâëåí â 'no', òî ïðèìåíÿåòñÿ ê
íîðìàëüíûì ('hard') áàíàì dcc.</p>
<p>Ïðèìåð:<br>
<pre>allow dcc {
filename "*.jpg"; /* Êàðòèíêè îáû÷íî áåçîïàñíû */
soft yes;
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.28 - </font><font class="block_name">Vhost áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê vhosts.conf)</font><a name="vhostblock"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>vhost {
vhost &lt;âèðòóàëüíûé-õîñò&gt;;
from {
userhost &lt;õîñòìàñêà&gt;;
userhost &lt;õîñòìàñêà&gt;;
...
};
login &lt;èìÿ-ëîãèíà&gt;;
password &lt;ïàðîëü&gt; { &lt;òèï-àóòåíòèôèêàöèè&gt;; };
swhois "&lt;èíôîðìàöèÿ-â-swhois&gt;";
};</pre>
<P></P>
<p>Áëîê vhost ïîçâîëÿåò îïðåäåëèòü ëîãèí/ïàðîëü, êîòîðûé ìîæåò áûòü èñïîëüçîâàí
ïîñðåäñòâîì êîìàíäû /vhost, ÷òîáû ïîëó÷èòü íåíàñòîÿùåå (fake) èìÿ õîñòà.
Ïàðàìåòð vhost::vhost ìîæåò áûòü çàäàí â âèäå user@host èëè ïðîñòî host,
êîòîðûé ïîëó÷èò ïîëüçîâàòåëü ïîñëå óäà÷íîãî èñïîëüçîâàíèÿ êîìàíäû /vhost.
vhost::from::userhost ñîäåðæèò ìàñêó â âèäå user@host, ïîä êîòîðóþ äîëæåí
ïîïàäàòü ïîëüçîâàòåëü, ÷òîáû ïîëó÷èòü âèðòóàëüíûé õîñò. Ìîæíî çàäàòü íåñêîëüêî
õîñòìàñîê. vhost::login - ëîãèí è vhost::password - ïàðîëü, êîòîðûå äîëæíû áûòü
ââåäåíû ïîëüçîâàòåëåì.
Äîñòóïíûå ìåòîäû àóòåíòèôèêàöèè, à òàê æå ïðèìåðû èõ èñïîëüçîâàíèÿ, ìîæíî íàéòè â
<a href="#feature_authtypes">Ìåòîäàõ àóòåíòèôèêàöèè</a>.
È íàïîñëåäîê, vhost::swhois ïîçâîëÿåò äîáàâèòü ñòðîêó â
èíôîðìàöèþ î ïîëüçîâàòåëå (whois), áåç íåîáõîäèìîñòè äîáàâëÿòü åãî â áëîê Oper
oper::swhois.</p>
<p>Ïðèìåð:<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></p>
</div>
<p><font class="block_section">4.29 - </font><font class="block_name">Badword áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê badwords.*.conf)</font><a name="badwordsblock"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>badword &lt;òèï&gt; {
word &lt;òåêñò-ñîâïàäåíèå&gt;;
replace &lt;çàìåíèòü-ñ-ïîìîùüþ&gt;;
action &lt;replace|block&gt;;
};</pre>
<P></P>
<p>Áëîê badword ïîçâîëÿåò ìàíèïóëèðîâàòü âàì ñïèñêîì, èñïîëüçóåìûì äëÿ ðåæèìà +G,
óñòàíîâëåííîãî íà ïîëüçîâàòåëåé è êàíàë, ÷òîáû âûðåçàòü ìàòíûå ñëîâà.
<b>badword::</b> îïðåäåëÿåò òèï, ïî êîòîðîìó áóäåò ñóäèòñÿ, ãäå ïðèä¸òñÿ âûðåçàòü ñëîâà.
Ïðàâèëüíûå òèïû:
<ul>
<li><tt>channel</tt> ïðèìåíÿåòñÿ íà êàíàëàõ ñ óñòàíîâëåííûì ðåæèìîì +G.</li>
<li><tt>message</tt> ïðèìåíÿåòñÿ â ëè÷íûõ ñîîáùåíèÿõ (íå â êàíàëüíûõ ), îòïðàâëåííûõ ïîëüçîâàòåëåì ñ ðåæèìîì +G.</li>
<li><tt>quit</tt> ïðèìåíÿåòñÿ âî âñåõ ñîîáùåíèÿõ âûõîäà èç ñåòè.</li>
<li><tt>all</tt> ïðèìåíÿåòñÿ âî âñåõ óêàçàííûõ âûøå ñèòóàöèÿõ.</li>
</ul>
<p>
<b>badword::word</b> ìîæåò áûòü ïðîñòî ñëîâîì èëè æå ðåãóëÿðíûì âûðàæåíèåì (êîòîðîå ìû çàìåíÿåì).
<b>badword::replace</b> - ÷åì çàìåíèòü ñîâïàäàþùåå ñëîâî. Åñëè <b>badword::replace</b> íå
óêàçàí, òî ñëîâî áóäåò çàìåíåíî íà &lt;censored&gt;. <b>badword::action</b>
îïðåäåëÿåò, êàêîå äåéñòâèå áóäåò ïðåäïðèíÿòî, åñëè áóäåò íàéäåí ìàò. Åñëè âû
îïðåäåëèëè replace, òîãäà ìàò áóäåò çàìåíåí, åñëè æå âû îïðåäåëèëè block, òî
ñîîáùåíèå áóäåò çàáëîêèðîâàíî öåëèêîì. Åñëè âû íå îïðåäåëèëè <b>badword::action</b>,
òî áóäåò íàçíà÷åí replace.</p>
<p>Ïðèìåð:<br />
<pre>badword channel {
word shit;
replace shoot;
};</pre>
<P></P>
<p></p>
</div>
<p><font class="block_section">4.30 - </font><font class="block_name">ULines áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê U:Line)</font><a name="ulinesblock"></a>
<div class="desc">
<P></P>
<p>Ñèíòàêñèñ:<br>
<pre>ulines {
&lt;èìÿ-ñåðâåðà&gt;;
&lt;èìÿ-ñåðâåðà&gt;;
...
};</pre>
<P></P>
<p>Áëîê ulines ïîçâîëÿåò âàì óñòàíîâèòü ïðîâåðåííûå ñåðâåðà, êàê çàñëóæèâàþùèå
ìàêñèìàëüíîãî äîâåðèÿ. Áëîê äîëæåí áûòü èñïîëüçîâàí äëÿ ñåðâèñîâ èëè
ñòàòèñòèêè. Ëó÷øå íå ïðîïèñûâàòü â ulines îáû÷íûé ñåðâåð. Êàæäûé ñåðâåð,
âõîäÿùèé â ñïèñîê, ïîëó÷èò ìàêñèìàëüíûå ïðèâèëåãèè.</p>
<p>Ïðèìåð<br>
<pre>ulines {
services.mynetwork.com;
stats.mynetwork.com;
};</pre>
<P></P>
<p></p>
</div>
<p id="linkblock"><font class="block_section">4.31 - </font><font class="block_name">Link áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê C/N/H:Lines)</font>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>link &lt;èìÿ-ñåðâåðà&gt; {
username &lt;ìàñêà-ïîëüçîâàòåëÿ&gt;;
hostname &lt;ìàñêà-ip&gt;;
bind-ip &lt;ip-äëÿ-ïðîñëóøèâàíèÿ&gt;;
port &lt;port-äëÿ-ñîåäèíåíèÿ&gt;;
password-connect &lt;ïàðîëü-äëÿ-ñîåäèíåíèÿ&gt;;
password-receive &lt;ïîëó÷åííûé-ïàðîëü&gt; { &lt;òèï-àóòåíòèôèêàöèè&gt;; };
hub &lt;ìàñêà-õàáà&gt;;
leaf &lt;ìàñêà-ëèñòà&gt;;
leafdepth &lt;ãëóáèíà&gt;;
class &lt;èìÿ-êëàññà&gt;;
ciphers &lt;ssl-ciphers&gt;;
options {
&lt;îïöèÿ&gt;;
&lt;îïöèÿ&gt;;
...
};
};</pre>
<P></P>
<p>Ýòîò áëîê íåîáõîäèì äëÿ ñîåäèíåíèÿ ñåðâåðîâ äðóã ñ äðóãîì, æåëàòåëüíî ïðî÷èòàòü
âñ¸, ÷òî íàõîäèòñÿ íèæå, ò.ê. ýòî îäíà èç âàæíûõ è ñëîæíûõ íàñòðîåê, â êîòîðîé
íîâîèñïå÷åííûå àäìèíèñòðàòîðû ÷àñòî ñîâåðøàþò îøèáêè;P</p>
<p><b>èìÿ-ñåðâåðà</b> - ýòî èìÿ óäàë¸ííîãî ñåðâåðà, êîòîðîå èä¸ò â åãî áëîêå me {
}, íàïðèìåð hub.blah.com (íå IP àäðåñ; èìÿ ñåðâåðà ìîæåò îòëè÷àòüñÿ îò
õîñòíåéìà).</p>
<p><b>username</b><br>
Ìîæíî óêàçàòü åãî, åñëè íåîáõîäèìî èñïîëüçîâàòü èäåíò äëÿ àóòåíòèôèêàöèè,
íîðìîé ñ÷èòàåòñÿ óñòàíîâêà çíà÷åíèÿ â "*".
</p>
<p><b>hostname</b><br>
Õîñò èëè IP àäðåñ óäàë¸ííîãî ñåðâåðà. Èñïîëüçóåòñÿ äëÿ îáîèõ ñîåäèíåíèé È äëÿ
àóòåíòèôèêàöèè/ïðîâåðêè ñî âõîäÿùåé ñòîðîíû. Íåñêîëüêî ïðèìåðîâ:<br>
<table border="0">
<tr>
<td><i>1.2.3.4</i></td>
<td>îáû÷íûé IP àäðåñ</td>
</tr>
<tr>
<td><i>hub.blah.com</i></td>
<td>õîñò: òîëüêî äëÿ èñõîäÿùåãî ñîåäèíåíèÿ, íå ìîæåò ïðèíèìàòü âõîäÿùèå ñîåäèíåíèÿ.
Ìîæåò ïðèíèìàòü, åñëè ïðèñóòñòâóåò link::options::nohostcheck</td>
</tr>
<tr>
<td height="21"><i>*</i></td>
<td height="21">Íå ìîæåò ïðèñîåäèíèòñÿ ê ñåðâåðó, íî ïðèíèìàåò âõîäÿùèå ñîåäèíåíèÿ
(åñëè óêàçàí ïðàâèëüíûé ïàðîëü) ñ ëþáîãî IP àäðåñà èëè õîñòà</td>
</tr>
<tr>
<td><i>::ffff:1.2.3.4</i></td>
<td>äëÿ ëèíêîâêè ipv6 ê ipv4.</td>
</tr>
</table>
</p>
<p><b>bind-ip</b> (íåîáÿçàòåëüíî)<br>
Ñëóæèò äëÿ ïðîñëóøèâàíèÿ óêàçàííîãî IP àäðåñà (ïðèìåð: 192.168.0.1).
Èñïîëüçóåòñÿ, åñëè IRC-ñåðâåð èìååò íåñêîëüêî IP àäðåñîâ, äëÿ ÿâíîãî óêàçàíèÿ
îäíîãî èç íèõ.
</p>
<p><b>port</b><br>
Ïîðò äëÿ ñîåäèíåíèÿ (íåîáõîäèìî, ÷òîáû îí ïðîñëóøèâàëñÿ íà óäàë¸ííîì ñåðâåðå).
</p>
<p><b>password-connect</b><br>
Ïàðîëü, èñïîëüçóåìûé äëÿ ïîäêëþ÷åíèÿ ê óäàë¸ííîìó ñåðâåðó, íå ìîæåò áûòü
çàøèôðîâàííûì (îáû÷íûé òåêñò).
</p>
<p id="linkblock_passwordreceive"><b>password-receive</b><br>
Ïàðîëü äëÿ ïðîâåðêè âõîäÿùèõ ñîåäèíåíèé, ìîæåò áûòü çàøèôðîâàí êàê è
<a href="#operblock_password"><b>oper::password</b></a>. Î÷åíü ðåêîìåíäóåòñÿ èñïîëüçîâàòü
àóòåíòèôèêàöèþ õýøèðîâàííûìè ïàðîëÿìè èëè òèïîì àóòåíòèôèêàöèè <tt>sslclientcertfp</tt>.
Ñìîòðèòå <a href="#feature_authtypes">Ìåòîäàõ àóòåíòèôèêàöèè</a> äëÿ áîëåå ïîäðîáíîé
èíôîðìàöèè.
</p>
<P><b>hub vs leaf</b><br>
Õàá ïîçâîëÿåò ñîåäèíåíèÿ ñ íåñêîëüêèìè ñåðâåðàìè, à ëèñò - òîëüêî ñ îäíèì.
Ñåðâåð ÿâëÿåòñÿ ëèñòîì äî òåõ ïîð, ïîêà íå èìååò äèðåêòèâû hub.&nbsp; Ñåðâåð
ÿâëÿåòñÿ ëèñòîì òàêæå, åñëè ó íåãî óêàçàíà&nbsp;äèðåêòèâà&nbsp;leaf * èëè
äèðåêòèâà leafdepth&nbsp;óñòàíîâëåíà 1.</P>
<P><b>hub</b> (íåîáÿçàòåëåí)<br>
Çíà÷åíèå - ýòî ìàñêà, óêàçûâàþùàÿ, êàêèå ñåðâåðà ìîãóò ïðèñîåäèíèòüñÿ ê äàííîìó
õàáó (ïðèìåð: *.my.net).
</P>
<P><b>leaf</b> (íåîáÿçàòåëåí)<br>
Çíà÷åíèå - ýòî ìàñêà, óêàçûâàþùàÿ ñ êàêèìè ñåðâåðàìè äàííûé ñåðâåð <STRONG>íå</STRONG>
áóäåò õàáîì. Óêàçûâàÿ çíà÷åíèå â&nbsp;* áóäåò ðàâíîçíà÷íûì êàê íåèìåíèå
äèðåêòèâû&nbsp;hub.</P>
<P><b>leafdepth</b> (íåîáÿçàòåëåí)<br>
Çíà÷åíèå îïðåäåëÿåò ãëóáèíó (êîëè÷åñòâî ïåðåõîäîâ), êîòîðûå ìîæåò èìåòü äàííûé
ñåðâåð. Íàïðèìåð, 1 - çíà÷èò, ÷òî ñåðâåð íå ìîæåò èìåòü ëèíêîâ ïîä ñîáîé
(ëèñò), 2 - çíà÷èò, ÷òî ñåðâåð ìîæåò èìåòü ïîä ñîáîé åù¸ ëèíêè, íî òå ñåðâåðà
áîëüøå íå ìîãóò (ò.ê. òîëüêî õàáû ìîãóò ëèíêîâàòü ëèñòû). Çíà÷åíèå 0 -
îïðåäåëÿåò îòñóòñòâèå îãðàíè÷åíèÿ è ÿâëÿåòñÿ çíà÷åíèåì ïî óìîë÷àíèþ.</P>
<p><b>class</b><br>
Êëàññ ñåðâåðà, äëÿ ýòîãî ÷àñòî èñïîëüçóåòñÿ êëàññ server.
</p>
<p><b>compression-level</b> (íåîáÿçàòåëåí)<br>
Îïðåäåëÿåò óðîâåíü ñæàòèÿ (1-9) äëÿ äàííîãî ñîåäèíåíèÿ. Èñïîëüçóåòñÿ, åñëè
óñòàíîâëåí link::options::zip.
</p>
<p><b>ciphers</b> (íåîáÿçàòåëåí)<br>
Îïðåäåëÿåò øèôðû SSL äëÿ ïðèìåíåíèÿ ê äàííîìó ëèíêó. ×òîáû ïîëó÷èòü ñïèñîê âñåõ
äîñòóïíûõ øèôðîâ, èñïîëüçóéòå êîìàíäó `openssl ciphers`. Øèôðû â ñïèñêå äîëæíû
áûòü ðàçäåëåíû äâîåòî÷èåì : .
</p>
<p><b>options áëîê</b><br>
Îáû÷íî èñïîëüçóåòñÿ îäíà èëè íåñêîëüêî îïöèé, èíîãäà îíè âîîáùå íå íóæíû.<br>
<table border="0">
<tr>
<td height="21"><b>ssl</b></td>
<td height="21">äëÿ ñîåäèíåíèÿ íà SSL ïîðò.</td>
</tr>
<tr>
<td><b>autoconnect</b></td>
<td>ñåðâåð áóäåò àâòîìàòè÷åñêè ïðîáîâàòü ñîåäèíÿòñÿ, âðåìÿ îïðåäåëÿåòñÿ ïàðàìåòðîì
â class::connfreq ( ëó÷øèì ðåøåíèåì áóäåò âêëþ÷åíèå ýòî îïöèè òîëüêî ñ îäíîé
ñòîðîíû, íàïðèìåð ëèñò-&gt;õàá)</td>
</tr>
<tr>
<td><b>zip</b></td>
<td>åñëè âû æåëàåòå ñæèìàòü òðàôèê äëÿ äàííîãî ñîåäèíåíèÿ, òî íåîáõîäèìî
ñêîìïèëèðîâàòü ñåðâåð ñ ïîääåðæêîé zlib è óñòàíîâèòü ñæàòèå ñ äâóõ ñòîðîí.</td>
</tr>
<tr>
<td><b>nodnscache</b></td>
<td>íå êýøèðîâàòü IP äëÿ èñõîäÿùåãî ñîåäèíåíèÿ ñ ñåðâåðîì, èñïîëüçóåòñÿ äëÿ ÷àñòî
èçìåíÿåìûõ õîñòîâ (íàïðèìåð dyndns.org)</td>
</tr>
<tr>
<td><b>nohostcheck</b></td>
<td>íå ïðîâåðÿåò óäàë¸ííûé õîñò (link::hostname), èñïîëüçóåòñÿ äëÿ ÷àñòî èçìåíÿåìûõ
õîñòîâ (íàïðèìåð dyndns.org)</td>
</tr>
<tr>
<td><b>quarantine</b></td>
<td>îïåðàòîðû ñ ýòîãî ñåðâåðà áóäóò îãðàíè÷åíû ïðàâàìè ëîêàëüíûõ îïåðàòîðîâ</td>
</tr>
</table>
</p>
<p>Ïðèìåð:</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></p>
</div>
<p><font class="block_section">4.32 - </font><font class="block_name">Alias áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><a name="aliasblock"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ [îáû÷íûé ïñåâäîíèì]:<br>
<pre>alias &lt;èìÿ&gt; {
target &lt;íèê-äëÿ-ïåðåíàïðàâëåíèÿ&gt;;
type &lt;òèï-ïñåâäîíèìà&gt;;
spamfilter &lt;yes|no&gt;;
};</pre>
<p>Çàìå÷àíèå: Ïîìíèòå, ÷òî <span class="inline_pre">&lt;èìÿ&gt;</span> èñïîëüçóåòñÿ âìåñòå ñ "<b>alias::</b>")</p>
<p>Çàìå÷àíèå: î ñòàíäàðòíûõ ôàéëàõ ñ ïñåâäîíèìàìè, ïîñòàâëÿåìûìè âìåñòå ñ
UnrealIRCd, ìîæíî ïðî÷èòàòü <A href="#includedirective">çäåñü</A> .</p>
<p>Áëîê alias ïîçâîëÿåò âàì ïåðåíàïðàâèòü êîìàíäó ïîëüçîâàòåëÿ, íàïðèìåð /chanserv
áóäåò îòïðàâëÿòü ñîîáùåíèå ïîëüçîâàòåëþ chanserv.</p>
<ul>
<li>
<b>alias::</b> îïðåäåÿåò èìÿ êîìàíäû, êîòîðîå èñïîëüçóåò àëèàñ (ïðèìåð: chanserv)
</li>
<li>
<b>alias::target</b> íèê èëè êàíàë, êîòîðîìó ïðèä¸ò êîìàíäà. Åñëè <b>alias::</b>
ñàìà ïî ñåáå êîìàíäà, òî<b>alias::target</b> ìîæíî îïóñòèòü.
</li>
<li>
<b>alias::type</b> îïðåäåëÿåò òèï àëèàñà, ïðàâèëüíûå òàêèå:
<ul>
<li><span class="inline_pre">services</span> (ïîëüçîâàòåëü ïîäêëþ÷¸í ê <a href="#set-services-server">ñåðâåðó ñåðâèñîâ</a>),</li>
<li><span class="inline_pre">stats</span> (ïîëüçîâàòåëü ïîäêëþ÷¸í ê <a href="#set-stats-server">ñåðâåðó ñòàòèñòèêè</a>),</li>
<li><span class="inline_pre">normal</span> (ïîëüçîâàòåëü - îáû÷íûé ïîëüçîâàòåëü íà ëþáîì ñåðâåðå),</li>
<li><span class="inline_pre">channel</span> (öåëü - èìÿ êàíàëà)</li>
<li><span class="inline_pre">command</span> (ýòî íå ñîâñåì "ñòàíäàðòíûé àëèàñ", ñìîòðè <a href="#aliasblock-command">íèæå</a>).</li>
</ul>
</li>
<li>
<b>alias::spamfilter</b> (íåîáÿçàòåëüíî) âûçûâàåò ïðîâåðêó ñïàìôèëüòðîì êîìàíäû, åñëè óñòàíîâëåíî â "yes" (ïî óìîë÷àíèþ 'no').
</li>
</ul>
<p id="aliasblock-command">Ñèíòàêñèñ [ïñåâäîíèì êîìàíäû]:<br>
<pre>alias &lt;èìÿ&gt; {
/* Äëÿ ïñåâäîíèìîâ, ïîñûëàþùèõ ñîîáùåíèÿ ïîëüçîâàòåëÿì/â êàíàëû */
format &lt;ðåãóëÿðíîå-âûðàæåíèå&gt; {
target &lt;íèê-íàïðàâëåíèÿ&gt;;
type &lt;òèï-ïñåâäîíèìà&gt;;
parameters &lt;ñòðîêà-ïàðàìåòðîâ&gt;;
};
/* Äëÿ 'äåéñòâèòåëüíî ïñåâäîíèìîâ(real aliases)' */
format &lt;ðåãóëÿðíîå-âûðàæåíèå&gt; {
command &lt;êîìàíäà&gt;;
type real;
parameters &lt;ñòðîêà-ïàðàìåòðîâ&gt;;
};
/* È òàê äàëåå. Âû ìîæåòå ñîçäàòü ñòîëüêî áëîêîâ ôîðìàòà, ñêîëüêî ïîæåëàåòå. */
format &lt;ðåãóëÿðíîå-âûðàæåíèå&gt; {
...
};
type command;
spamfilter &lt;yes|no&gt;;
};</pre>
<p>
Åñëè <b>alias::type</b> óñòàíîâëåí â <span class="inline_pre">command</span>,
êàê ïîêàçàíî <a href="#aliasblock-command">âûøå</a>, òî àëèàñ ñòàíîâèòñÿ àëèàñîì êîìàíäû.
Åñëè áëîê àëèàñ èñïîëüçóåòñÿ â òàêîì ôîðàòå, òî îí ñòàíîâèòñÿ ãîðàçäî ãèá÷å, ê ïðèìåðó
âû ìîæåòå ñîçäàòü àëèàñ /identify.
</p>
<ul>
<li>
<b>alias::</b> ýòî èìÿ êîìàíäû êàê è â ñòàíäàðòíîì áëîêå àëèàñà (<a href="#aliasblock">âûøå</a>).
</li>
<li>
<b>alias::format</b> îïðåäåëÿåò <a href="#regex">ðåãóëÿðíîå âûðàæåíèå</a>, ïîä êîòîðîå äîëæåí
ïîäïàäàòü òåêñò, ïîñûëàåìûé êîìàíäíîìó àëèàñó. Áóäåò èñïîëüçîâàíî ïåðâîå âõîæäåíèå â óñëîâèå <b>alias::format</b>.
Åñòåñòâåííî, âû ìîæåòå èìåòü ìíîãî <b>alias::format</b>, ÷òîáû äåëàòü ðàçëè÷íûå âåùè â çàâèñèìîñòè îò îòïðàâëÿåìîãî òåêñòà.
</li>
<li>
<b>alias::format::target</b> öåëü íàïðàâëåíèÿ êîìàíäû.
Äàííîå çíà÷åíèå íå èñïîëüçóåòñÿ, åñëè <b>alias::format::type</b> óñòàíîâëåí â "<span class="inline_pre">real</span>".
</li>
<li>
<b>alias::format::type</b> îïðåäåëÿåò òèï àëèàñà, äëÿ êîãî ïðåäíàçíà÷åíà êîìàíäà.  äîïîëíåíèè ê îïèñàííîìó âûøå
"<a href="#aliasblock">Ñèíòàêñèñó [ñòàíäàðòíîãî àëèàñà]</a>", òèï "<span class="inline_pre">real</span>"
îïðåäåëÿåò êàê "íàñòîÿùèé àëèàñ" ("íàñòîÿùèé àëèàñ" - ýòî àëèàñ, êîòîðûé ìîæåò áûòü ïåðåïèñàí â
÷òî-íèáóäü îòëè÷íîå îò PRIVMSG).
</li>
<li>
<b>alias::format::parameters</b> (äëÿ "íàñòîÿùèõ àëèàñîâ") ýòî òî, ÷òî áóäåò îòïðàâëåíî â êà÷åñòâå
ïàðàìåòðîâ àëèàñó. ×òîáû îïðåäåëèòü êîíêðåòíûé ïàðàìåòð, èñïîëüçóéòå <span class="inline_pre">%</span> è ÷èñëî.
Ê ïðèìåðó <span class="inline_pre">%1</span> óêàæåò íà ïåðâûé ïàðàìåòð.
×òîáû îïðåäåëèòü ïàðàìåòðû äî êîíöà, èñïîëüçóéòå<span class="inline_pre">%</span> ñ ÷èñëîì è <span class="inline_pre">-</span>.
Ê ïðèìåðó <span class="inline_pre">%2-</span> âåðí¸ò âñå ïàðàìåòðû ñî âòîðîãî äî ïîñëåäíåãî.
Âû ìîæåòå èñïîëüçîâàòü ïàðàìåòð <span class="inline_pre">%n</span>, êîòîðûé âåðí¸ò íèê ïîëüçîâàòåëÿ, èñïîëüçîâàâøåãî êîìàíäó.
</li>
</ul>
<P>Ïðèìåðû èñïîëüçîâàíèÿ áëîêà alias â êîìàíäíîì ôîðìàòå íàõîäÿòñÿ â
doc/example.conf.</P>
</div>
<p><font class="block_section">4.33 - </font><font class="block_name">Help áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><a name="helpblock"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>help &lt;èìÿ&gt; {
&lt;ñòðîêà-òåêñòà&gt;;
&lt;ñòðîêà-òåêñòà&gt;;
...
};</pre>
<P></P>
<p>Çàìå÷àíèå: îáû÷íî äîñòàòî÷íî ïðîñòî ïîäêëþ÷èòü ôàéë help.conf</p>
<p>Áëîê help ïîçâîëÿåò äîáàâèòü ñïðàâî÷íóþ èíôîðìàöèþ, êîòîðàÿ áóäåò âûäàâàòüñÿ ïî
êîìàíäå /helpop. help:: - ýòî çíà÷åíèå ïàðàìåòðà êîìàíäû /helpop. Åñëè help::
ïðîïóùåí, äàííûé áëîê ñïðàâêè áóäåò âûäàí ïî êîìàíäå /helpop áåç ïàðàìåòðîâ.
Ñîäåðæèìîå áëîêà help - ýòî òåêñò, êîòîðûé áóäåò îòîáðàæàòüñÿ ïîëüçîâàòåëþ,
êîòîðûé íàáðàë êîìàíäó /helpop.</p>
<p></p>
</div>
<p><font class="block_section">4.34 - </font><font class="block_name">Official Channels
áëîê</font> <font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><a name="officialchannels"></a>
</p>
<div class="desc">
<p>Ñèíòàêñèñ:<br>
<pre>official-channels {
"#channel" { topic "Òîïèê ïî óìîë÷àíèþ"; };
};</pre>
<P></P>
<p>Îôôèöèàëüíûå êàíàëû áóäóò ïîêàçàíû ïðè êîìàíäå /list, äàæå åñëè òàì íå áóäåò
ïîëüçîâàòåëåé. <b>topic</b> íåîáÿçàòåëåí, è ïîêàçûâàåòñÿ ïî êîìàíäå /list
òîëüêî åñëè íà äàííîì êàíàëå 0 ïîëüçîâàòåëåé.
</p>
<p>Ïðèìåð:<br>
<pre>official-channels {
"#Help" { topic "Îôôèöèàëüíûé êàíàë ïîìîùè, åñëè íèêîãî íåò, íàáåðèòå /helpop helpme"; };
"#Home";
"#Main" { topic "Ãëàâíûé êàíàë"; };
};</pre>
<P></P>
</div>
<p><font class="block_section">4.35 - </font><font class="block_name">Spamfilter áëîê</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><a name="spamfilter"></a>
</p>
<div class="desc">
<p>Áëîê spamfilter ïîçâîëÿåò äîáàâëÿòü âàì ëîêàëüíûå ñïàìôèëüòðû (äåéñòâóþùèå íå íà
âñþ ñåòü).<br>
Ñìîòðèòå <A href="#feature_spamfilter">Ôóíêöèîíàëüíûå âîçìîæíîñòè - Ñïàìôèëüòð</A>
äëÿ áîëåå ïîäðîáíîé èíôîðìàöèè î ñïàìôèëüòðàõ.<br>
</p>
<p>Ñèíòàêñèñ:<br>
<pre>spamfilter {
regex &lt;ñëîâî&gt;;
target { &lt;öåëü(öåëè)&gt; };
action &lt;äåéñòâèå&gt;;
reason &lt;ïðè÷èíà&gt;;
ban-time &lt;âðåìÿ&gt;;
};</pre>
<P></P>
<p><b>regex</b> - ðåãóëÿðíîå âûðàæåíèå äëÿ ñîâïàäåíèÿ.<br>
<b>target</b> îïðåäåëÿåò öåëè, ñìîòðèòå ñïèñêè âåðîÿòíûõ òèïîâ <A href="#feature_spamfilter">
çäåñü</A> (íàïðèìåð: 'channel').<br>
<b>action</b> îïðåäåëÿåò ïðåäïðèíèìàåìîå äåéñòâèå, ñìîòðèòå ñïèñêè âîçìîæíûõ
äåéñòâèé <A href="#feature_spamfilter">çäåñü</A> (íàïðèìåð: 'gline').<br>
<b>reason</b> íåîáÿçàòåëåí, îïðåäåëÿåò ïðè÷èíó áàíà èëè áëîêèðîâàíèÿ, åñëè íå
óêàçàí, èñïîëüçóåòñÿ ïðè÷èíà ïî óìîë÷àíèþ.<br>
<b>ban-time</b> íåîáÿçàòåëåí, îïðåäåëÿåò äëèòåëüíîñòü áàíà *line èëè shun,
èíà÷å èñïîëüçóåòñÿ âðåìÿ ïî óìîë÷àíèþ (1 ñóòêè).<br>
</p>
<p>Ïðèìåðû:<br>
<pre>spamfilter {
regex "Come watch me on my webcam";
target { private; channel; };
action gline;
reason "Âû çàðàæåíû ÷åðâ¸ì, ïîæàëóéñòà, ïðîñëåäóéòå ïî www.antivirus.xx/blah/virus=GrrTrojan";
ban-time 6h;
};
spamfilter {
regex "come to irc\..+\..+";
target { private; channel; };
action gline;
reason "Ñêàæåì íåò ñïàìó!";
};
</pre>
<p><font class="block_section">4.36 - Áëîê </font><font class="block_name">Cgiirc</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><a name="cgiirc"></a>
</p>
<div class="desc">
<p>
Áëîê cgiirc ïîçâîëÿåò âàì íàñòðîèòü ñêðûòèå õîñòà äëÿ ãåéòîâ CGI:IRC, êîòîðûì
âû äîâåðÿåòå (<a href="#feature_cgiirc">áîëüøå èíôîðìàöèè</a>).</p>
<p>Ñèíòàêñèñ:<br>
<pre>
cgiirc {
type &lt;webirc|old&gt;;
username &lt;mask&gt;; /* íåîáÿçàòåëüíî */
hostname &lt;mask&gt;;
password &lt;password&gt;; /* òîëüêî äëÿ òèïà webirc */
};</pre>
<P></P>
<p><b>type</b> áûâàåò 'webirc' èëè 'old'.<br>
<b>username</b> ýòî êàê ident (åñëè óêàçàí). Åñëè íå óêàçàí, òî áóäåò
ó÷èòûâàòüñÿ êàê "*".<br>
<b>hostname</b> ýòî ìàñêà, ñ êîòîðîé ïðîèçâîäèòñÿ ñðàâíåíèå.<br>
<b>password</b> ýòî ïàðîëü webirc, òîëüêî åñëè èñïîëüçóåòñÿ òèï 'webirc'.<br>
</p>
<p><b>Êàê ñêîíôèãóðèðîâàòü, èñïîëüçóÿ ìåòîä 'webirc' (ðåêîìåíäîâàííûé ìåòîä)</b><br>
 âàøåì êîíôèãóðàöèîííîì ôàéëå CGI:IRC (cgiirc.conf) âû óñòàíàâëèâàåòå ïàðîëü â
webirc_password.<br>
Äàëåå, â âàøåì unrealircd.conf âû äîáàâëÿåòå áëîê cgiirc, óêàçûâàÿ äàííûé õîñò
è ïàðîëü. Óñòàíîâèòå cgiirc::type â "webirc".<br>
<br>
Ïðèìåð:<br>
 âàøåì êîíôèãóðàöèîííîì ôàéëå CGI:IRC (cgiirc.conf) âû äîáàâëÿåòå:
<pre>webirc_password = LpT4xqPI5</pre>
Äàëåå, â âàøåì unrealircd.conf âû äîáàâëÿåòå áëîê cgiirc:
<pre>cgiirc {
type webirc;
hostname "1.2.3.4";
password "LpT4xqPI5";
};</pre>
<P></P>
<p><b><B>Êàê ñêîíôèãóðèðîâàòü, èñïîëüçóÿ ìåòîä </B>'old'</b><br>
Çàìå÷àíèå: Ýòî íå ðåêîìåíäîâàííûé ìåòîä, ïîòîìó ÷òî ó íåãî åñòü äâà íåäîñòàòêà:
ýòîò ìåòîä ïîñûëàåò IP/õîñò äëÿ ñêðûòèÿ ñåðâåðó êàê ïàðîëü äëÿ ñåðâåðà, ýòî
çíà÷èò, ÷òî âû íå ìîæåòå óêàçàòü ïàðîëü íà ñåðâåð êàê ïîëüçîâàòåëü CGI:IRC.
Äîïîëíèòåëüíî, óïðàâëåíèå äîñòóïîì ðàáîòàåò òîëüêî äëÿ îñíîâàííûõ íà IP
êëèåíòàõ è íå òðåáóåò ýêñòðàñëîæíîãî ïàðîëÿ, êàê â ìåòîäå 'webirc'. Âêðàòöå, âû
íå çàõîòèòå èñïîëüçîâàòü ýòîò ìåòîä äî òåõ ïîð, ïîêà âû íå íàéä¸òå õîðîøóþ
ïðè÷èíó äëÿ ýòîãî.<br>
<br>
 êîíôèãóðàöèîííîì ôàéëå âàøåãî CGI:IRC (cgiirc.conf) óñòàíîâèòå
realhost_as_password â 1.<br>
Äàëåå, â âàøåì unrealircd.conf äîáàâüòå áëîê cgiirc äëÿ ðàçðåøåíèÿ ðàáîòû ñ
äàííîãî õîñòà.<br>
<br>
Ïðèìåð:<br>
 âàøåì êîíôèãóðàöèîííîì ôàéëåCGI:IRC (cgiirc.conf) äîáàâüòå:
<pre>realhost_as_password = 1</pre>
Äàëåå â unrealircd.conf âû äîáàâüòå áëîê cgiirc:
<pre>cgiirc {
type old;
hostname "1.2.3.4";
};</pre>
<P></P>
</div>
</div>
<p id="setblock"><font class="block_section">4.37 - </font><font class="block_name">Set áëîê</font>
<font class="block_required">ÍÅÎÁÕÎÄÈÌ</font> <font class="block_old">(Ðàíåå
èçâåñòåí êàê unrealircd.conf/networks)</font>
</p>
<div class="desc">
<p>Åñëè ñåòü ñîñòîèò èç îäíîãî ñåðâåðà, ïðîùå áóäåò âìåñòî ñîçäàíèÿ îòäåëüíîãî ôàéëà âñå
íàñòðîéêè ïîìåñòèòü â unrealircd.conf, îäíàêî åñëè ñåòü ìíîãîñåðâåðíàÿ,
ðåêîìåíäîâàíî èñïîëüçîâàòü îòäåëüíûé ôàéë ñ íàñòðîéêàìè ñåòè è çàãðóæàòü åãî ñ
ïîìîùüþ äèðåêòèâû <A href="#includedirective">include</A>.</p>
<p>Â äàííîì áëîêå ìû áóäåì ññûëàòüñÿ íà íàñòðîéêè / äèðåêòèâû â ôîðìàòå
&lt;èìÿ-áëîêà&gt;::&lt;äèðåêòèâà-áëîêà&gt;. Ýòî ÍÅ ÒÎÒ ôîðìàò, êîòîðûé ìîæíî
âêëþ÷àòü â êîíôèãóðàöèîííûé ôàéë, Ýòî ÄÎËÆÍÎ áûòü ïðåîáðàçîâàíî â ôîðìàò,
èñïîëüçóåìûé íèæå. Ñ òàêèì ôîðìàòîì áóäåò ïðîùå ïîíÿòü íàñòðîéêè.</p>
<p>Ñèíòàêñèñ:<br>
<pre>set {
&lt;âõîæäåíèå&gt; &lt;ïåðåìåííàÿ&gt;;
&lt;âõîæäåíèå&gt; &lt;ïåðåìåííàÿ&gt;;
...
};</pre>
<P></P>
<p>Áëîê set óñòàíàâëèâàåò èíäèâèäóàëüíûå íàñòðîéêè äëÿ êîíêðåòíîãî ñåðâåðà. Êàæäàÿ
äèðåêòèâà óíèêàëüíà (óêàçûâàåòñÿ â áëîêå set îäèí ðàç), âñå äèðåêòèâû óêàçàíû
íèæå. Íåêîòîðûå èç íèõ ìîãóò ñîäåðæàòü ïîäáëîêè. Ò.ê. äèðåêòèâ âåñüìà ìíîãî, òî
âñå îíè ìîãóò áûòü âêëþ÷åíû â îäíîì áëîêå set. Åñëè ó äèðåêòèâû åñòü îïöèè, îíè
òàê æå ìîãóò âêëþ÷àòüñÿ âíóòðè îäíîãî set.<br>
Ïðèìåð:<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>
<p>Åñëè íåîáõîäèìî ðàçäåëèòü áëîêè set, ìîæíî çàïèñàòü îïöèè â îäíó ñòðîêó.<br>
Ïðèìåð:<br>
set { options { hide-ulines; show-connect-info; }; };<br>
</p>
<p><font class="set">set::kline-address &lt;àäðåñ-email&gt;;</font><br>
Àäðåñ ýëåêòðîííîé ïî÷òû, êîòîðûé áóäåò âûäàâàòüñÿ âñåì ïîëüçîâàòåëÿì, ïîïàâøèì
â K:line. Äàííîå çíà÷åíèå äîëæíî áûòü óêàçàíî.</p>
<p><font class="set">set::gline-address &lt;àäðåñ-email&gt;;</font><br>
Àäðåñ ýëåêòðîííîé ïî÷òû, êîòîðûé áóäåò âûäàâàòüñÿ âñåì ïîëüçîâàòåëÿì, ïîïàâøèì
â G:line.</p>
<p><font class="set">set::modes-on-connect &lt;+ðåæèìû&gt;;</font><br>
Ðåæèìû, óñòàíàâëèâàåìûå äëÿ ïîëüçîâàòåëåé ïðè èõ ïîäêëþ÷åíèè.</p>
<p><font class="set">set::snomask-on-connect &lt;+ðåæèìû&gt;</font><br>
SNOMASKs, óñòàíàâëèâàåìûå äëÿ ïîëüçîâàòåëåé ïðè èõ ïîäêëþ÷åíèè.</p>
<p><font class="set">set::modes-on-oper &lt;+ðåæèìû&gt;;</font><br>
Ðåæèìû, óñòàíàâëèâàåìûå äëÿ ïîëüçîâàòåëåé ïðè óäà÷íîì âûïîëíåíèè êîìàíäû /oper.</p>
<p><font class="set">set::snomask-on-oper &lt;+ðåæèìû&gt;;</font><br>
SNOMASKs, óñòàíàâëèâàåìûå äëÿ ïîëüçîâàòåëåé ïðè óäà÷íîì âûïîëíåíèè êîìàíäû
/oper.</p>
<p><font class="set">set::modes-on-join &lt;+ðåæèìû&gt;;</font><br>
Ðåæèìû, óñòàíàâëèâàåìûå íà êàíàëå ïðè åãî ñîçäàíèè. Íå âñå ðåæèìû âîçìîæíî
óñòàíîâèòü, èñïîëüçóÿ ýòó îïöèþ (+qaohvbeOAzlLk ÍÅËÜÇß óñòàíîâèòü).</p>
<p><font class="set">set::level-on-join &lt;none|voice|halfop|op|protect|owner&gt;;</font><br>
Ïîëüçîâàòåëü, êîòîðûé ïåðâûé çàø¸ë íà êàíàë, ïîëó÷èò óêàçàííûé ñòàòóñ. Ïî
óìîë÷àíèþ ýòî 'op' (îïåðàòîð êàíàëà).</p>
<p><font class="set">set::restrict-usermodes &lt;ðåæèìû&gt;</font><br>
Çàïðåùàåò ïîëüçîâàòåëÿì óñòàíàâëèâàòü/ñíèìàòü ññåáÿ óêàçàííûå ðåæèìû (íå
èñïîëüçóéòå + èëè -).<br>
Ê ïðèìåðó, ìîæíî óñòàíîâèòü ðåæèì +G â modes-on-connect è G â
restrict-usermodes, òîãäà äëÿ âñåõ ïîëüçîâàòåëåé áóäåò ïðèíóäèòåëüíî óñòàíîâëåí
+G, è îíè íå ñìîãóò âûïîëíèòü -G.</p>
<p><font class="set">set::restrict-channelmodes &lt;ðåæèìû&gt;</font><br>
Çàïðåùàåò ïîëüçîâàòåëÿì óñòàíàâëèâàòü/ñíèìàòü óêàçàííûå ðåæèìû êàíàëà (íå
èñïîëüçóéòå + èëè -).<br>
Ê ïðèìåðó, ìîæíî óñòàíîâèòü +G â modes-on-join è G â restrict-channelmodes,
òàêèì îáðàçîì íà âñåõ (íîâûõ) êàíàëàõ ïðèíóäèòåëüíî áóäåò óñòàíîâëåí +G è áóäåò
íåâîçìîæíî âûïîëíèòü -G.<br>
ÇÀÌÅ×ÀÍÈÅ: ýòè ðåæèìû âñå-òàêè ìîæíî óñòàíîâèòü ÷åðåç ñåðâèñû, èñïîëüçóÿ MLOCK.
Ê ñîæàëåíèþ, ñëîæíî ñêàçàòü, ÷åì ýòîçàêîí÷èòñÿ, ïîýòîìó ëó÷øå óòî÷íèòü ó
àâòîðîâ ñåðâèñîâ.</p>
<p><font class="set">set::restrict-extendedbans &lt;òèïû|*&gt;</font><br>
Çàïðåùàåò ïîëüçîâàòåëÿì èñïîëüçîâàòü ðàñøèðåííûå áàíû ("*") èëè îòêëþ÷àåò
èñïîëüçîâàíèå óêàçàííûõ áàíîâ (íàïðèìåð: "qc").</p>
<p><font class="set">set::auto-join &lt;êàíàëû&gt;;</font><br>
Êàíàë(-û), êóäà ïðèíóäèòåëüíî áóäåò çàáðîøåí ïîëüçîâàòåëü ïðè ïîäêëþ÷åíèè ê
ñåðâåðó. ×òîáû îïðåäåëèòü íåñêîëüêî êàíàëîâ, íåîáõîäèìî ðàçäåëèòü èõ çàïÿòûìè.<br>
[Çàìå÷àíèå: èìÿ êàíàëà(-îâ) äîëæíî áûòü â êàâû÷êàõ, ò.å.: auto-join "#chan";]</p>
<p><font class="set">set::oper-auto-join &lt;êàíàëû&gt;;</font><br>
Êàíàëû(û), êóäà áóäåò çàáðîøåí ïîëüçîâàòåëü ïðè óäà÷íîì âûïîëíåíèè êîìàíäû
/oper. ×òîáû îïðåäåëèòü íåñêîëüêî êàíàëîâ, íåîáõîäèìî ðàçäåëèòü èõ çàïÿòûìè.<br>
[Çàìå÷àíèå: èìÿ êàíàëà(îâ) äîëæíî áûòü â êàâû÷êàõ, ò.å.: oper-auto-join
"#chan";]</p>
<p id="set::anti-spam-quit-message-time"><font class="set">set::anti-spam-quit-message-time &lt;äëèòåëüíîñòü&gt;;</font><br>
Âðåìÿ, â òå÷åíèå êîòîðîãî ïîëüçîâàòåëü äîëæåí áûòü ïîäêëþ÷åí ê ñåðâåðó, ÷òîáû
îòîáðàçèëîñü åãî ñîîáùåíèå î âûõîäå (/quit). Èñïîëüçóåòñÿ äëÿ ïðåäîòâðàùåíèÿ
ñïàìà. Äëèòåëüíîñòü çàäà¸òñÿ ÷èñëîâîé ñòðîêîé, ãäå d çíà÷èò äíè, h - ÷àñû, m -
ìèíóòû è s - ñåêóíäû. Ê ïðèìåðó 1d2h3m çíà÷èò 1 äåíü, 2 ÷àñà è 3 ìèíóòû.</p>
<p><font class="set">set::prefix-quit &lt;ïðåôèêñ-âûõîäà&gt;;</font><br>
Óñòàíàâëèâàåò òåêñò, êîòîðûé èñïîëüçóåòñÿ êàê ïðåôèêñ ñîîáùåíèÿ î âûõîäå. Åñëè
îïöèÿ óñòàíîâëåíà â 0, òî èñïîëüçóåòñÿ ñòàíäàðòíûé "Quit:".</p>
<p><font class="set">set::static-quit &lt;ñîîáùåíèå-âûõîäà&gt;;</font><br>
Óñòàíàâëèâàåò ñòàòè÷åñêîå ñîîáùåíèå î âûõîäå, êîòîðîå áóäåò èñïîëüçîâàòüñÿ
âñåãäà, êîãäà ïîëüçîâàòåëü îòêëþ÷àåòñÿ îò ñåòè. Íåîáõîäèì
anti-spam-quit-message-time è set::prefix-quit. Îòêëþ÷åíèÿ èç-çà îøèáîê ñâÿçè
ÍÅ çàìåíÿþòñÿ ñîîáùåíèåì static-quit.</p>
<p><font class="set">set::static-part &lt;no|yes|part ñîîáùåíèå&gt;;</font><br>
Çíà÷åíèå 'yes' áóäåò ïðîïóñêàòü âñå ñîîáùåíèÿ ïðè âûõîäå ñ êàíàëà, çíà÷åíèå
'no' íå èçìåíÿåò ðàáîòó /part, âñ¸ îñòàëüíîå áóäåò èíòåðïðåòèðîâàíî êàê
ñîîáùåíèå ïðè âûõîäå ñ êàíàëà (íàïðèìåð: static-part "Bye!"), ÷òî ìîæåò âåñüìà
ðàçäðàæàòü, ïîýòîìó àêêóðàòíåå èñïîëüçóéòå äàííûé ïàðàìåòð.</p>
<p><font class="set">set::who-limit &lt;ïðåäåë&gt;;</font><br>
Óñòàíàâëèâàåò ìàêñèìàëüíîå êîëè÷åñòâî âûâîäèìûõ ñîâïàäåíèé, âîçâðàùàåìûõ
êîìàíäîé /who. Åñëè äàííàÿ îïöèÿ íå óñòàíîâëåíà, òî îãðàíè÷åíèéíå áóäåò.</p>
<p><font class="set">set::silence-limit &lt;ïðåäåë&gt;;</font><br>
Óñòàíàâëèâàåò ìàêñèìàëüíîå êîëè÷åñòâî âõîæäåíèé â ñïèñîê SILENCE. Åñëè
äèðåêòèâàíå çàäàíà, òî ïî óìîë÷àíèþ óñòàíàâëèâàåòñÿ 15.</p>
<p><font class="set">set::maxbans &lt;ïðåäåë&gt;;</font><br>
Óñòàíàâëèâàåò ìàêñèìàëüíî âîçìîæíîå êîëè÷åñòâî áàíîâ (+b) íà êàíàëå. Ïî
óìîë÷àíèþ - 60. Åñëè âû èçìåíÿåòå äàííóþ âåëè÷èíó, îçíàêîìüòåñü ñ ïàðàìåòðîì
maxbanlength (ñì. äàëüøå)!</p>
<p><font class="set">set::maxbanlength &lt;ïðåäåë&gt;;</font><br>
Ïîäîáíî set::maxbans, íî óñòàíàâëèâàåò ìàêñèìàëüíîå êîëè÷åñòâî ñèìâîëîâ äëÿ
âñåõ áàíîâ, ñëîæåííûõ âìåñòå, ò.å. ëèìèò íà ìàêñèìàëüíûé îáúåì ïàìÿòè äëÿ
áàíîâ, âîçìîæíûé äëÿ êàíàëà. Çíà÷åíèå ïî óìîë÷àíèå - 2048 (áàéò). Èñõîäÿ èç
çíà÷åíèÿ ïî óìîë÷àíèþ äëÿ maxbans (60) ìîæíî ïîëó÷èòü 2048:60=34 ñèìâîëà â
ñðåäíåì íà îäèí áàí.</p>
<p><font class="set">set::oper-only-stats &lt;ñïèñîê-stats&gt;;</font><br>
Óñòàíàâëèâàåò ñïèñîê ôëàãîâ (áåç ðàçäåëèòåëåé) êîìàíäû stats, êîòîðûå ìîãóò
èñïîëüçîâàòü òîëüêî îïåðàòîðû. Îñòàâüòå çíà÷åíèå ïóñòûì, ÷òîáû ïîëüçîâàòåëè
ìîãëè èñïîëüçîâàòü âñå ôëàãè, èëè óêàæèòå *, ÷òîáû ïîëüçîâàòåëè íå ìîãëè
èñïîëüçîâàòü íè îäíîãî ôëàãà. Ìîãóò áûòü îïðåäåëåíû òîëüêî êîðîòêèå ôëàãè
êîìàíäû /stats.</p>
<p><font class="set">set::oper-only-stats {&lt;ôëàã-stats&gt;; &lt;ôëàã-stats&gt;;};</font><br>
Óñòàíàâëèâàåò ñïèñîê ôëàãîâ êîìàíäû stats, êîòîðûå ìîãóò èñïîëüçîâàòüñÿ òîëüêî
îïåðàòîðàìè. Ðàáîòàåò òîëüêî ñ äëèííûìè ôëàãàìè stats.</p>
<p><font class="set">set::maxchannelsperuser &lt;÷èñëî-êàíàëîâ&gt;;</font><br>
Îïðåäåëÿåò ìàêñèìàëüíîå êîëè÷åñòâî êàíàëîâ, íà êîòîðûõ îäíîâðåìåííî ìîæåò
ïðèñóòñòâîâàòü ïîëüçîâàòåëü.</p>
<p><font class="set">set::maxdccallow &lt;êîëè÷åñòâî-âõîæäåíèé&gt;;</font><br>
Îïðåäåëÿåò ìàêñèìàëüíîå ÷èñëî âõîæäåíèé â ñïèñîê DCCALLOW äëÿ ïîëüçîâàòåëÿ.</p>
<p><font class="set">set::channel-command-prefix &lt;ïðåôèêñû-êîìàíä&gt;;</font><br>
Îïðåäåëÿåò ñèìâîëû-ïðåôèêñû äëÿ ñåðâèñîâ äëÿ ñîîáùåíèé-êîìàíä íà êàíàëå.
Ñîîáùåíèÿ, íà÷èíàþùèåñÿ ñ ëþáîãî èç óêàçàííûõ ñèìâîëîâ áóäóò ïîñëàíû, äàæå åñëè
êëèåíò â ðåæèìå +d. Çíà÷åíèå ïî óìîë÷àíèþ "`!.".</p>
<p><font class="set">set::allowed-nickchars { &lt;ñïèñîê&gt; };</font><br>
Êîäèðîâêà/ÿçûêè, äîïóñòèìûå â íèêàõ, ñìîòðèòå <A href="#feature_nickchars">Èñïîëüçîâàíèå
íàöèîíàëüíûõ íàáîðîâ ñèìâîëîâ â íèêàõ</A>.</p>
<p><font class="set">set::allow-userhost-change
[never|always|not-on-channels|force-rejoin]</font><br>
Îïðåäåëÿåò, ÷òî ïðîèñõîäèò, åñëè èçìåíÿåòñÿ user@host
(+x/-x/chghost/chgident/setident/vhost/ è äð.).<br>
<i>never</i> çàïðåùàåò âñå êîìàíäû, èçìåíÿþùèå user@host, <i>always</i> ðàçðåøàåò
ýòè êîìàíäû, äàæå åñëè ïîëüçîâàòåëü íàõîäèòñÿ íà êàíàëå(-àõ) (ìîæåò ïðèâåñòè ê
äåñèíõðîíèçàöèè êëèåíòà) [ïî óìîë÷àíèþ], <i>not-on-channels</i> ðàçðåøàåò ýòè
êîìàíäû åñëè ïîëüçîâàòåëü íå íàõîäèòñÿ íè íà îäíîì êàíàëå, <i>force-rejoin</i> ïðèíóäèòåëüíî
çàñòàâèò ïåðåçàéòè íà âñå êàíàëû è, åñëè íåîáõîäèìî, äàñò îïåðàòîðà, ïðàâî
ãîëîñà è äð.</p>
<p><font class="set">set::options::hide-ulines;</font><br>
Ïðè íàëè÷èè ýòîé îïöèè ñåðâåðà U-line áóäóò ñêðûòû â çàïðîñå ïî êîìàíäå /links
îò íå-îïåðàòîðîâ.</p>
<p><font class="set">set::options::flat-map;</font><br>
Ïðè íàëè÷èè ýòîé îïöèè âñå ñåðâåðà ïî êîìàíäå /map è /linksáóäóò âûãëÿäåòü, êàê
áóäòî íàïðÿìóþ ïðèëèíêîâàíû ê äàííîìó ñåðâåðó (ò.å. íåâîçìîæíî îïðåäåëèòü, êóäà
è êàêîé ñåðâåð ïðèëèíêîâàí). Ýòî íåáîëüøàÿ óëîâêà ïðîòèâ àòàê òèïà (D)DoS, ò.ê.
çëîóìûøëåííèêè íå ñìîãóò áûñòðî îïðåäåëèòü óÿçâèìûå ñåðâåðà â ñåòè.</p>
<p><font class="set">set::options::show-opermotd;</font><br>
Ïðè íàëè÷èè ýòîé îïöèè ïîëüçîâàòåëþ, óñïåøíî âûïîëíèâøåìó /oper, áóäåò ïîêàçàí
opermotd.</p>
<p><font class="set">set::options::identd-check;</font><br>
Ïðè íàëè÷èè ýòîé îïöèè ó êëèåíòà ïðè ïîäêëþ÷åíèè áóäåò ïðîâåðåí ñåðâåð identd;
çíà÷åíèå, êîòîðîå îí âåðí¸ò,áóäåò èñïîëüçîâàòüñÿ â êà÷åñòâå èìåíè ïîëüçîâàòåëÿ.
Åñëè íå ïðèø¸ë îòâåò èëè ñåðâåð identd íå ñóùåñòâóåò, òî óêàçàííîå
ïîëüçîâàòåëåì èìÿ áóäåò ñ ïðåôèêñîì ~. Åñëè îïöèÿíå óñòàíîâëåíà, íèêàêîé
ïðîâåðêè íå ïðîèñõîäèò.</p>
<p><font class="set">set::options::show-connect-info;</font><br>
Ïðè íàëè÷èè ýòîé îïöèè ïðè ïîäêëþ÷åíèè ïîëüçîâàòåëþáóäóò ïîêàçàíû óâåäîìëåíèÿ
"ident request", "hostname lookup" è ä.ð..</p>
<p><font class="set">set::options::dont-resolve;</font><br>
Åñëè õîñòû ïîëüçîâàòåëåé ïðè ïîäêëþ÷åíèè íå îïðåäåëÿþòñÿ, ìîæíî óêàçàòü ýòó
îïöèþ. Ýòî ìîæåò ïðèãîäèòüñÿ äëÿ óñêîðåíèÿ ñîåäèíåíèÿ, åñëè áîëüøèíñòâî âàøèõ
ïîëüçîâàòåëåé íå èìåþò õîñòà.<br>
Çàìå÷àíèå: åñëè áóäåò óñòàíîâëåíà ýòà îïöèÿ, âû íå ñìîæåòå èñïîëüçîâàòü áëîêè
allow, îñíîâàííûå íà õîñòàõ.</p>
<p><font class="set">set::options::mkpasswd-for-everyone;</font><br>
Ïîçâîëÿåò èñïîëüçîâàòü êîìàíäó /mkpasswd âñåì, à íå òîëüêî îïåðàòîðàì,
èñïîëüçîâàíèå êîìàíäû íå-îïåðàòîðàìè îòïðàâëÿåòñÿ ñíîìàñêå EYES.</p>
<p><font class="set">set::options::allow-part-if-shunned;</font><br>
Ïîçâîëÿåò ïîëüçîâàòåëÿì, íà êîòîðûõ óñòàíîâëåí shun, èñïîëüçîâàòü /part.</p>
<p><font class="set">set::options::fail-oper-warn;</font><br>
Ïðè íàëè÷èè ýòîé îïöèè ïîëüçîâàòåëü áóäåò óâåäîìë¸í î òîì, ÷òî åãî íåóäà÷íàÿ
ïîïûòêà ñòàòü îïåðàòîðîì (/oper) áûëà çàôèêñèðîâàíà.</p>
<p><font class="set">set::options::allow-insane-bans;</font><br>
Ïîçâîëÿåò áàíèòü ïî óêàçàííîé ìàñêå, íàïðèìåð /GLINE *@*.xx. Ïîçâîëÿåò ëåãêî è
íåïðèíóæä¸ííî çàáàíèòü ëþáîãî â âàøåé ñåòè, ïîýòîìó èñïîëüçóéòå îñòîðîæíî!</p>
<p><font class="set">set::options::disable-cap;</font><br>
Îòêëþ÷àåò ðàñøèðåíèÿ âîçìîæíîñòåé êëèåíòà IRC (IRC Client Capabilities Extensions (CAP)).
Òîëüêî ó÷òèòå, ÷òî ýòî âëèÿåò íà SASL è äðóãèå ôè÷è (ìîãóò ïåðåñòàòü ðàáîòàòü èëè
çàòðóäíåíû â èñïîëüçîâàíèè).</p>
<p id="set_nopost_ban_action"><font class="set">set::nopost::ban-action</font> (òðåáóåò ìîäóëÿ <a href="#modules_m_nopost">m_nopost</a>)<br />
Äåéñòâèå, ïðèìåíÿåìîå ê ïîëüçîâàòåëþ, åñëè îí ïûòàåòñÿ âûïîëíèòü êîìàíäó HTTP POST.
Äîïóñòèìûå çíà÷åíèÿ: kill, gline, gzline, kline, zline, shun, tempshun.
Çíà÷åíèå ïî óìîë÷àíèþ: kill. Åñëè âû èñïîëüçóåòå çíà÷åíèÿ *line èëè shun,
ïðîñòî çàïîìíèòå, ÷òî âîçìîæíî ëåãêîâåðíûé ïîëüçîâàòåëü ïîñåòèë ñàéò, êîòîðûé îñóùåñòâëÿåò
ñïàììåðñêóþ àòàêó XPS IRC, è ïîëüçîâàòåëÿ îòêëþ÷èò îò ñåòè (ïðèáü¸ò åãî ñóùåñòâóþùèå ïîäêëþ÷åííèÿ).
Çíà÷åíèå ïî óìîë÷àíèþ (kill) êàê ðàç ñëóæèò çàùèòîé ïðîòèâ òàêèõ èíöèäåíòîâ, íî æ¸ñòêèå ìåðû (*line,
à îñîáåííî gzline) èíîãäà íåîáõîäèìû.</p>
<p id="set_nopost_ban_reason"><font class="set">set::nopost::ban-reason</font> (òðåáóåò ìîäóëÿ <a href="#modules_m_nopost">m_nopost</a>)<br />
Óêàçûâàåòñÿ ïðè÷èíà áàíà, åñëè ìîäóëü m_nopost ïðèáèâàåò èëè áàíèò ïîëüçîâàòåëÿ.</p>
<p id="set_nopost_ban_time"><font class="set">set::nopost::ban-time</font> (òðåáóåò ìîäóëÿ <a href="#modules_m_nopost">m_nopost</a>)<br />
Äëèòåëüíîñòü äëÿ shuns, glines, gzlines, klines è zlines, óñòàíîâëåííûõ by m_nopost.
Ïî óìîë÷àíèþ 4h (4 ÷àñà).</p>
<p id="set_nopost_except_hosts"><font class="set">set::nopost::except-hosts</font> (òðåáóåò ìîäóëÿ <a href="#modules_m_nopost">m_nopost</a>)<br />
Ñïèñîê ìàñê õîñòîâ äëÿ èñêëþ÷åíèÿ äåéñòâèÿ ìîäóëÿ m_nopost. Âû ìîæåòå óêàçàòü çäåñü ëþáûå õîñò ìàñêè.</p>
<p><font class="set">set::dns::timeout &lt;èíòåðâàë-âðåìåíè&gt;;</font><br>
Èíòåðâàë âðåìåíè, îïðåäåëÿþùèé òàéìàóò DNS-ñåðâåðà. Ýòî ñòðîêà, ãäå d îçíà÷àåò
äíè, h - ÷àñû, m - ìèíóòû è s - ñåêóíäû. Ê ïðèìåðó, 1d2h3m îçíà÷àåò 1 äåíü, 2
÷àñà è 3 ìèíóòû (ÍÅ ÐÅÀËÈÇÎÂÀÍÎ).</p>
<p><font class="set">set::dns::retries &lt;êîëè÷åñòâî-ïîâòîðîâ&gt;;</font><br>
×èñëî, îïðåäåëÿþùåå êîëè÷åñòâî ïîïûòîê çàïðîñà DNS ïåðåä âûäà÷åé ñîîáùåíèÿ îá
îøèáêå (ÍÅ ÐÅÀËÈÇÎÂÀÍÎ).</p>
<p><font class="set">set::dns::nameserver &lt;èìÿ-dns-ñåðâåðà&gt;;</font><br>
Îïðåäåëÿåò èìÿ ñåðâåðà (hostname), êîòîðûé áóäåò èñïîëüçîâàí â êà÷åñòâå DNS
çàïðîñîâ (ÍÅ ÐÅÀËÈÇÎÂÀÍÎ).</p>
<p><font class="set">set::dns::bind-ip &lt;ip&gt;;</font><br>
Ïðèâÿçêà ê îïðåäåëåííîìó IP äëÿ DNS-çàïðîñîâ, î÷åíü ðåäêî èñïîëüçóåòñÿ.</p>
<p><font class="set">set::network-name &lt;èìÿ-ñåòè&gt;;</font><br>
Îïðåäåëÿåò èìÿ ñåòè, â êîòîðîé çàïóùåí ñåðâåð. Æåëàòåëüíî, ÷òîáû ýòà ïåðåìåííàÿ
áûëà îäèíàêîâîé íà âñåõ ñåðâåðàõ â ñåòè.</p>
<p><font class="set">set::default-server &lt;èìÿ-ñåðâåðà&gt;;</font><br>
Îïðåäåëÿåò èìÿ ñåðâåðà ïî óìîë÷àíèþ, êîòîðîå ñîîáùàåòñÿ ïîëüçîâàòåëÿì, åñëè
òåêóùèé ñåðâåð ïîëîí.</p>
<p id="set_defaultipv6clonemask">
<font class="set">set::default-ipv6-clone-mask</font><br />
Ìàñêà îïðåäåëåíèÿ êëîíîâ â ïðîòîêîëå IPv6 ïî óìîë÷àíèþ. Ñìîòðè
<a href="#allowblock_ipv6clonemask">allow::ipv6-clone-mask</a>. Çíà÷åíèå ïî óìîë÷àíèþ 64.
</p>
<p id="set-services-server"><font class="set">set::services-server &lt;èìÿ-ñåðâåðà&gt;;</font><br>
Îïðåäåëÿåò èìÿ ñåðâåðà, ê êîòîðîìó ïîäêëþ÷åíû ñåðâèñû. Åñëè ó âàñ íåò ñåðâèñîâ,
íåîáõîäèìî óñòàíîâèòü çíà÷åíèå âðîäå services.yournet.com.</p>
<p id="set-stats-server"><font class="set">set::stats-server &lt;èìÿ-ñåðâåðà&gt;;</font><br>
Óñòàíàâëèâàåò èìÿ ñåðâåðà, ãäå íàõîäèòñÿ áîò ñòàòèñòèêè. Åñëè ñòàòèñòèêà íå
çàïóùåíà, ìîæíî îñòàâèòü çíà÷åíèå ïóñòûì.</p>
<p id="set-sasl-server"><font class="set">set::sasl-server &lt;èìÿ-ñåðâåðà&gt;;</font><br>
Óñòàíàâëèâàåò èìÿ ñåðâåðà, êóäà áóäóò îòñûëàòüñÿ ñîîáùåíèÿ àóòåíòèôèêàöèè SASL.</p>
<p><font class="set">set::help-channel &lt;êàíàë-ïîìîùè&gt;;</font><br>
Óñòàíàâëèâàåò íàçâàíèå êàíàëà ïîìîùè.</p>
<p><font class="set">set::cloak-keys { "êëþ÷1"; "êëþ÷2"; "êëþ÷3"; };</font><br>
Óñòàíàâëèâàåò êëþ÷è, èñïîëüçóåìûå äëÿ ãåíåðàöèè õîñòà ïðè +x host. Äàííûå
çíà÷åíèÿ äîëæíû áûòü îäèíàêîâûìè íà âñåõ ñåðâåðàõ, èíà÷å ñåðâåðû íå ñîåäèíÿòñÿ.
Êàæäûé èç 3-õ set::cloak-keys:: äîëæåí áûòü ñòðîêîé â 5-100
ñèìâîëîâ(æåëàòåëüíî10-20), ñîäåðæàùèé ñìåñü ïðîïèñíûõ (a-z), çàãëàâíûõ (A-Z)
áóêâ è öèôð (0-9). Çàìå÷àíèå: çíà÷åíèÿ êëþ÷åé çàâèñÿò îò èñïîëüçóåìîãî âàìè
ìîäóëÿ ñêðûòíîñòè, ïðè èñïîëüçîâàíèè íåñòàíäàðòíîãî ìîäóëÿ çíà÷åíèÿ ìîãóò áûòü
äðóãèìè.</p>
<p><font class="set">set::hiddenhost-prefix &lt;çíà÷åíèå-ïðåôèêñà&gt;;</font><br>
Îïðåäåëÿåò ïðåôèêñ, êîòîðûé èñïîëüçóåòñÿ äëÿ çàøèôðîâàííûõ õîñòîâ (+x). Îáû÷íî
ýòî 3 èëè 4 áóêâû, ïðåäñòàâëÿþùèå íàçâàíèå ñåòè. Ó âñåõ ñåðâåðîâ â ñåòè ýòîò ïðåôèêñ
äîëæåí áûòü îäèíàêîâûì, ýòî íåîáõîäèìî äëÿ ïðàâèëüíîé ðàáîòû áàíîâ íà êàíàëàõ.</p>
<p><font class="set">set::hosts::local &lt;õîñò-ëîêàëüíîãî-îïåðàòîðà&gt;;</font><br>
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí ëîêàëüíûì îïåðàòîðàì ïðè óñòàíîâêå íà
íèõ ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
<p><font class="set">set::hosts::global &lt;õîñò-ãëîáàëüíîãî-îïåðàòîðà&gt;;</font><br>
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí ãëîáàëüíûì îïåðàòîðàì ïðè óñòàíîâêå íà
íèõ ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
<p><font class="set">set::hosts::coadmin &lt;õîñò-ïîìîùíèêà-àäìèíèñòðàòîðà&gt;;</font><br>
Ó âñåõ ñåðâåðîâ â ñåòè ýòîò ïðåôèêñ
äîëæåí áûòü îäèíàêîâûì, ýòî íåîáõîäèìî äëÿ ïðàâèëüíîé ðàáîòû áàíîâ íà êàíàëàõ. Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí ïîìîùíèêàì àäìèíèñòðàòîðà ïðè óñòàíîâêå
íà íèõ ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
<p><font class="set">set::hosts::admin &lt;õîñò-àäìèíèñòðàòîðà&gt;;</font><br>
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí àäìèíèñòðàòîðàì ïðè óñòàíîâêå íà íèõ
ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
<p><font class="set">set::hosts::servicesadmin &lt;õîñò-ñåðâèñ-àäìèíèñòðàòîðà&gt;;</font><br>
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí àäìèíèñòðàòîðàì ñåðâèñîâ ïðè óñòàíîâêå
íà íèõ ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
<p><font class="set">set::hosts::netadmin &lt;õîñò-àäìèíèñòðàòîðà-ñåòè&gt;;</font><br>
Îïðåäåëÿåò õîñò, êîòîðûé áóäåò íàçíà÷åí àäìèíèñòðàòîðàì ñåòè ïðè óñòàíîâêå íà
íèõ ðåæèìà +x. Ìîæíî îïðåäåëèòü çíà÷åíèå â âèäå username@host.</p>
<p><font class="set">set::hosts::host-on-oper-up &lt;yes/no&gt;;</font><br>
Åñëè óñòàíîâëåíî â yes, òî ôëàã H/get_host áóäåò ó÷òåí, è ïðè óäà÷íîé ïîïûòêå
êîìàíäû /oper àâòîìàòè÷åñêè áóäåò óñòàíîâëåí ðåæèì +x. Åñëè óñòàíîâëåíî â no,
÷òîáû ïîëó÷èòü õîñò îïåðàòîðà ïîëüçîâàòåëü äîëæåí óñòàíîâèòü ôëàã +x âðó÷íóþ
(ñì. âûøå set::hosts).</p>
<p><font class="set">set::ssl::egd &lt;èìÿ-ôàéëà&gt;;</font><br>
Îïðåäåëÿåò ïîääåðæêó EGD (Entropy Gathering Daemon). Åñëè èñïîëüçóåòñÿ OpenSSL
0.9.7 èëè âûøå, òîãäà áóäåò ïðîèçâåäåí ïîèñê â /var/run/egd-pool,
/dev/egd-pool, /etc/egd-pool, è /etc/entropy, ïîýòîìó èìÿ-ôàéëà ìîæíî îïóñòèòü,
äëÿ ýòîãî ïðîñòî îïðåäåëèòå set::ssl::egd áåç óêàçàíèÿ èìåíè ôàéëà. Åñëè
èñïîëüçóåòñÿ OpenSSL âåðñèè íèæå, ÷åì 0.9.7, èëè âû õîòèòå èñïîëüçîâàòü EGD
ñîêåò, íàõîäÿùèéñÿ â äðóãîì ìåñòå, íàäî óêàçàòü èìÿ ôàéëà UNIX Domain Socket,
íà êîòîðîì ïðîñëóøèâàåòñÿ EGD.</p>
<p><font class="set">set::ssl::certificate &lt;èìÿ-ôàéëà&gt;;</font><br>
Îïðåäåëÿåò èìÿ ôàéëà, â êîòîðîì óêàçàí SSL ñåðòèôèêàò ñåðâåðà.</p>
<p><font class="set">set::ssl::key &lt;èìÿ-ôàéëà&gt;;</font><br>
Îïðåäåëÿåò èìÿ ôàéëà, â êîòîðîì íàõîäèòñÿ ïðèâàòíûé êëþ÷ SSL.</p>
<p><font class="set">set::ssl::trusted-ca-file &lt;èìÿ-ôàéëà&gt;;</font><br>
Îïðåäåëÿåò èìÿ ôàéëà, ãäå óêàçàíû ñåðòèôèêàòû äîâåðåííûõ CA.</p>
<p><font class="set">set::ssl::server-cipher-list &lt;cipherlist&gt;;</font><br>
Îïðåäåëÿåò ðàçðåø¸ííûå øèôðû, ïî óìîë÷àíèþ èñïîëüçóþòñÿ èç OpenSSL. ×òîáû
îçíàêîìèòüñÿ ñî ñïèñêîì, ïîñåòèòå <a href="http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT">
http://www.openssl.org/docs/apps/ciphers.html</a></p>
<p><font class="set">set::ssl::renegotiate-bytes &lt;çíà÷åíèå&gt;;</font><br>
Îïðåäåëÿåò, ÷åðåç êàêîå êîëè÷åñòâî áàéò SSL-ñåññèÿ äîëæíà áûòü ïåðåóñòàíîâëåíà
(ïðèìåð: 20m äëÿ 20 ìåãàáàéò).</p>
<p><font class="set">set::ssl::renegotiate-timeout &lt;äëèòåëüíîñòü&gt;;</font><br>
Îïðåäåëÿåò, ÷åðåç êàêîå êîëè÷åñòâî âðåìåíè SSL-ñåññèÿ äîëæíà áûòü
ïåðåóñòàíîâëåíà (ïðèìåð: 1h äëÿ 1 ÷àñà).</p>
<p><font class="set">set::ssl::options::fail-if-no-clientcert;</font><br>
Çàïðåùàåò ïîëüçîâàòåëåé áåç ñåðòèôèêàòà.</p>
<p><font class="set">set::ssl::options::no-self-signed;</font><br>
Áëîêèðóåò ïîäêëþ÷åíèÿ ïîëüçîâàòåëåé ñ ñàìîïîäïèñàííûìè ñåðòèôèêàòàìè.</p>
<p><font class="set">set::ssl::options::verify-certificate;</font><br>
Ïîçâîëÿåò ñåðâåðó îïðåäåëÿòü ïðàâèëüíîñòü SSL ñåðòèôèêàòà ïðåæäå, ÷åì ðàçðåøèòü
ñîåäèíåíèå.</p>
<p><font class="set">set::ssl::options::no-starttls;</font><br>
Îòêëþ÷àåò STARTTLS. STARTTLS ïîçâîëÿåò èñïîëüçîâàòü êëèåíòàì SSL íà îáû÷íûõ ïîðòàõ (íå-SSL).</p>
<p><font class="set">set::throttle::period &lt;äëèòåëüíîñòü&gt;</font><br>
Óêàçûâàåò, ñêîëüêî âðåìåíè äîëæåí ïîäîæäàòü ïîëüçîâàòåëü ïåðåä ïîâòîðíûì
ïîäêëþ÷åíèåì, åñëè îí ïðåâûñèë ëèìèò set::throttle::connections.</p>
<p><font class="set">set::throttle::connections &lt;êîëè÷åñòâî&gt;;</font><br>
Ñêîëüêî ðàç äîëæåí ïîäêëþ÷èòüñÿ ïîëüçîâàòåëü ñ îäíèì è òåì æå õîñòîì, ÷òîáû
ñðàáîòàë òðîòòëèíã (çàùèòà îò join-ôëóäà).</p>
<p><font class="set">set::ident::connect-timeout &lt;âðåìÿ&gt;;</font><br>
Âðåìÿ â ñåêóíäàõ, ïîñëå êîòîðîãî ïðåêðàùàþòñÿ ïîïûòêè ñîåäèíåíèÿ ñ
èäåíò-ñåðâåðîì [ïî óìîë÷àíèþ 10 ñåêóíä (10s)].</p>
<p><font class="set">set::ident::read-timeout &lt;âðåìÿ&gt;;</font><br>
Âðåìÿ â ñåêóíäàõ, ïîñëå êîòîðîãî ïðåêðàùàåòñÿ îæèäàíèå îòâåòà îò èäåíò-ñåðâåðà
[ïî óìîë÷àíèþ 30 ñåêóíä (30s)].</p>
<p><font class="set">set::anti-flood::unknown-flood-bantime &lt;âðåìÿ&gt;;</font><br>
Îïðåäåëÿåò, ñêîëüêî âðåìåíè áóäåò çàáàíåí ôëóäåð ñ íåèçâåñòíîãî ïîäêëþ÷åíèÿ
[unknown connection flooder].</p>
<p><font class="set">set::anti-flood::unknown-flood-amount &lt;êîëè÷åñòâî&gt;;</font><br>
Îïðåäåëÿåò êîëè÷åñòâî äàííûõ (â êèëîáàéòàõ) ñ íåèçâåñòíîãî ïîäêëþ÷åíèÿ, çà
ïðåâûøåíèå êîòîðîãî ïîëüçîâàòåëü áóäåò îòêëþ÷åí îò ñåòè [killed].</p>
<p><font class="set">set::anti-flood::away-flood &lt;êîëè÷åñòâî&gt;:&lt;ïåðèîä&gt;;</font><br>
Çàùèòà îò "away" ôëóäà: îãðàíè÷èâàåò èñïîëüçîâàíèå êîìàíäû /away 'êîëè÷åñòâî'
çà 'ïåðèîä' ñåêóíä. Íåîáõîäèìî, ÷òîáû NO_FLOOD_AWAY áûë âêëþ÷¸í â config.h.
Ïðèìåð:<i>away-flood 5:60s;</i> - ìàêñèìóì 5 /away êîìàíä çà 60 ñåêóíä.</p>
<p><font class="set">set::anti-flood::nick-flood &lt;êîëè÷åñòâî&gt;:&lt;ïåðèîä&gt;;</font><br>
Çàùèòà îò ôëóäà ñìåíîé íèêîâ: îãðàíè÷èâàåò êîëè÷åñòâî èçìåíåíèé íèêîâ
('êîëè÷åñòâî' çà 'ïåðèîä' ñåêóíä). Äëÿ ïðèìåðà: <i>nick-flood 4:90</i> îçíà÷àåò,
÷òî íèê ìîæíî èçìåíèòü 4 ðàçà çà 90 ñåêóíä, ïî óìîë÷àíèþ óñòàíîâëåíî 3
èçìåíåíèÿ çà 60 ñåêóíä.</p>
<p><font class="set">set::default-bantime &lt;âðåìÿ&gt;;</font><br>
Îïðåäåëÿåò äëèòåëüíîñòü áàíà ïðè èñïîëüçîâàíèè êîìàíä /kline, /gline, /zline,
/shun è îñòàëüíûõ áåç óêàçàíèÿ ïàðàìåòðà âðåìåíè (âðîäå /gline
*@some.nasty.isp). Ïî óìîë÷àíèþ ñòàâèòñÿ ïîñòîÿííûé áàí - 0. Ïðèìåð: <i>default-bantime
90d;</i></p>
<p><font class="set">set::modef-default-unsettime &lt;çíà÷åíèå&gt;;</font><br>
Äëÿ ðåæèìà êàíàëà +f ìîæíî îïðåäåëèòü âðåìÿ åãî ñíÿòèÿ, ò.å. åñëè óñòàíîâëåíî
çíà÷åíèå 10, òî +f [5j]:15 áóäåò òðàíñôîðìèðîâàíî â [5j#i10]:15. Ïî óìîë÷àíèþ
çíà÷åíèå íå óñòàíîâëåíî è íå èñïîëüçóåòñÿ.</p>
<p><font class="set">set::modef-max-unsettime &lt;çíà÷åíèå&gt;;</font><br>
Ìàêñèìàëüíîå êîëè÷åñòâî ìèíóò äëÿ ñíÿòèÿ ðåæèìà +f (â +f
[5j#i&lt;TIME&gt;]:15), çíà÷åíèå ìîæåò áûòü îò 0 äî 255. Ïî óìîë÷àíèþ 60 (= 1
÷àñ).</p>
<p><font class="set">set::ban-version-tkl-time &lt;çíà÷åíèå&gt;;</font><br>
Åñëè ïðè èñïîëüçîâàíèè êîìàíä âèäà zline/gline/è äð. ïðè áàíå ïî âåðñèè
îïðåäåëåí 'action', òî íåîáõîäèìî îïðåäåëèòü, ñêîëüêî âðåìåíè áóäåò çàáàíåí
äàííûé ip, ïî óìîë÷àíèþ - 86400 (1 äåíü).</p>
<p><font class="set">set::spamfilter::ban-time &lt;çíà÷åíèå&gt;;</font><br>
Òîæå, ÷òî è âûøå, òîëüêî äëÿ *lines/shuns, äîáàâëåííûõ ñïàìôèëüòðîì.</p>
<p><font class="set">set::spamfilter::ban-reason &lt;ïðè÷èíà&gt;;</font><br>
Ïðè÷èíà, êîòîðàÿ áóäåò óêàçàíà ïðè äîáàâëåíèè áàíà ñïàìôèëüòðîì.</p>
<p><font class="set">set::spamfilter::virus-help-channel &lt;êàíàë&gt;;</font><br>
Êàíàë, èñïîëüçóåìûé â êà÷åñòâå äåéñòâèÿ 'viruschan' â ñïàìôèëüòðå.</p>
<p><font class="set">set::spamfilter::virus-help-channel-deny &lt;yes|no&gt;;</font><br>
Åñëè óñòàíîâëåíî â yes (èëè â 1), òî îáû÷íûì ïîëüçîâàòåëÿì, ïûòàþùèìñÿ çàéòè íà
êàíàë virus-help-channel, áóäåò ñîîáùåíî, ÷òî ïîïàñòü íà êàíàë ìîæíî òîëüêî ïî
ïðèãëàøåíèÿì ('invite only'). Òîëüêî îïåðàòîðû, ëþäè, ïîïàâøèå ïîä ñïàìôèëüòð,
è òå, êîòîðûõ ïðèãëàñèëè íà êàíàë, ìîãóò òóäà çàéòè.</p>
<p><font class="set">set::spamfilter::except &lt;êàíàë(û)&gt;;</font><br>
Êàíàë(-û), êîòîðûå èñêëþ÷àþòñÿ îò ôèëüòðàöèè ñïàìà (ò.å. íèêàêèõ äåéñòâèé
ïðåäïðèíÿòîíå áóäåò). Ýòî ìîæåò áûòü îäèí êàíàë, ëèáî íåñêîëüêî, ðàçäåë¸ííûõ
çàïÿòûìè. Ïðèìåð: except "#help,#spamreport";</p>
<p><font class="set">set::spamfilter::slowdetect-warn &lt;çíà÷åíèå&gt;</font><br>
Åñëè âûïîëíåíèå ñïàìôèëüòðà çàíèìàåò âðåìÿ áîëüøåå, ÷åì óêàçàíî ( â
ìèëèñåêóíäàõ, 1 ñåêóíäà = 1000 ìñ), òî âñåì îïåðàòîðàì áóäåò îòïðàâëåíî
óâåäîìëåíèå (ïî óìîë÷àíèþ: 250). Ñìîòðèòå òàêæå <a href="#feature_spamfilter_slow">Îáíàðóæåíèå
ìåäëåííîãî ñïàìôèëüòðà</a>.</p>
<p><font class="set">set::spamfilter::slowdetect-fatal &lt;çíà÷åíèå&gt;</font><br>
Åñëè âûïîëíåíèå ñïàìôèëüòðà çàíèìàåò âðåìÿ áîëüøåå, ÷åì óêàçàíî ( â
ìèëèñåêóíäàõ, 1 ñåêóíäà = 1000 ìñ), òî ñïàìôèëüòð óäàëÿåòñÿ (ïî óìîë÷àíèþ:
500). Ñìîòðèòå òàêæå <a href="#feature_spamfilter_slow">Îáíàðóæåíèå ìåäëåííîãî
ñïàìôèëüòðà</a>.</p>
<p><font class="set">set::check-target-nick-bans &lt;yes|no&gt;;</font><br>
Ãäå áû ïîëüçîâàòåëü íå ìåíÿë ñâîé íèê, áóäåò ïðîèñõîäèòü ïðîâåðêà íà áàí äëÿ
ÍÎÂÎÃÎ íèêà. Åñëè îí áóäåò ïîïàäàòü ïîä áàí, òî íèê íå èçìåíèòñÿ. Çíà÷åíèå ïî
óìîë÷àíèþ yes.</p>
<p><font class="set">set::timesynch::enabled &lt;yes|no&gt;</font><br>
Âêëþ÷àåò èëè âûêëþ÷àåò ñèíõðîíèçàöèþ âðåìåíè ïðè çàãðóçêå. Ïî óìîë÷àíèþ
âêëþ÷åíî (yes).</p>
<p><font class="set">set::timesynch::server &lt;IP&gt;</font><br>
Ñåðâåð äëÿ ñèíõðîíèçàöèè âðåìåíè.Ìîæåò áûòü äî 4-õ IP àäðåñîâ, ðàçäåë¸ííûõ
çàïÿòûìè. Ñåðâåðà äîëæíû ïîääåðæèâàòü ïðîòîêîë NTP 4-é âåðñèè. Ïî óìîë÷àíèþ
èñïîëüçóåò 3 ñåðâåðà (US, EU, AU). Ñåðâåðû çàïðàøèâàþòñÿ îäíîâðåìåííî,
ñèíõðîíèçàöèÿ ïðîèñõîäèò ñ òåì, êîòîðûé îòâå÷àåò áûñòðåå.</p>
<p><font class="set">set::timesynch::timeout &lt;âðåìÿ&gt;</font><br>
Ìàêñèìàëüíîå âðåìÿ îæèäàíèÿ îòâåòà îò ñåðâåðà. Ïåðåìåííàÿ, ïðèíèìàþùàÿ çíà÷åíèå
îò 1 äî 5 (íåò ñìûñëà âåëè÷èíû áîëüøåé, ò.ê. âîçíèêíåò ïîãðåøíîñòü). Ïî
óìîë÷àíèþ óñòàíîâëåíî â 3 è, ïî áîëüøîìó ñ÷¸òó, íåò ñìûñëà ìåíÿòü ýòî çíà÷åíèå.</p>
<p><font class="set">set::ping-cookie &lt;yes|no&gt;</font><br>
Ïîñûëàåò çàïðîñ, èñïîëüçóÿ PING, íà êîòîðûé êëèåíòû îòâå÷àþò, èñïîëüçóÿ PONG.
Î÷åíü ïîëåçíî äëÿ ïðåäîòâðàùåíèÿ ñëåïûõ àòàê HTTP-POST è äðóãèõ âåùåé,
òàêèõ êàê ñïóô TCP íà ñòàðûõ îïåðàöèîííûõ ñèñòåìàõ ñî ñëîìàííûì TCP-ñòåêîì.
Ïî óìîë÷àíèþ âêëþ÷åíî (yes).</p>
<p><font class="set">set::pingpong-warning &lt;yes|no&gt;</font><br>
Êîãäà âêëþ÷¸í set::ping-cookie (îáû÷íî â ÎÑ Windows), òî îí ïîñûëàåò ïðåäóïðåæäåíèå
êàæäîìó ïîëüçîâàòåëþ èñïîëüçîâàòü '/quote pong ..', åñëè îí èìååò ïðîáëåìû ñ
ïîäêëþ÷åíèåì. Ïî óìîë÷àíèþ îòêëþ÷åíî (no).</p>
<p><font class="set">set::watch-away-notification &lt;yes|no&gt;</font><br>
Ïîçâîëÿåò âêëþ÷àòü/îòêëþ÷àòü íîòèôèêàöèþ AWAY (óõîäà) â êîìàíäå WATCH. Ïî
óìîë÷àíèþ âêëþ÷åíî (yes).</p>
</div>
<p id="filesblock"><font class="block_section">4.38 - </font><font class="block_name">Áëîê Files</font>
<font class="block_optional">ÍÅÎÁßÇÀÒÅËÅÍ</font><div class="desc">
</p>
<p> Âû íå äîëæíû èñïîëüçîâàòü <a href="#tldblock">TLD block</a> äëÿ óêàçàíèÿ íàõîæäåíèÿ
âàøèõ ôàéëîâ MOTDs è rules. Äàííûé áëîê óêàçûâàåò íà íàñòðîéêè ïî óìîë÷àíèþ äëÿ
ôàéëîâ pidfile è irc.tune. Åñëè òóò ÷òî-òî íå îïðåäåëåíî, çíà÷èò èñïîëüçóåòñÿ çíà÷åíèå ïî óìîë÷àíèþ,
çàäîêóìåíòèðîâàííîå â <a href="#addtlfiles">Äîïîëíèòåëüíûõ ôàéëàõ</a>.
</p>
<p>
Îòíîñèòåëüíûå ïóòè áóäóò ðàñöåíåíû êàê îòíîñèòåëüíûå ñîãëàñíî êîðíåâîé
äèðåêòîðèè UnrealIRCd, êîòîðàÿ ñîäåðæèò<tt>unrealircd.conf</tt>.
Äàííûé áëîê ìîæåò áûòü ïîëåçåí òåì, åñëè âû çàïóñêàåòå áîëüøå, ÷åì îäèí IRCd â îäíîé è òîé æå
äèðåêòîðèè.  ýòîì ñëó÷àå âàì íàäî óêàçàòü êàê ìèíèìóì ôàéëû pid è tune äëÿ êàæäîãî ñåðâåðà.
</p>
<p>Ñèíòàêñèñ:<br>
<pre>
files {
motd &lt;ôàéë motd&gt;;
shortmotd &lt;êîðîòêèé ôàéë motd&gt;;
opermotd &lt;ôàéë oper motd&gt;;
svsmotd &lt;ôàéë services motd&gt;;
botmotd &lt;ôàéë bot motd&gt;;
rules &lt;ôàéë rules&gt;;
tunefile &lt;ôàéë tune&gt;;
pidfile &lt;ôàéë pid&gt;;
};
</pre></p>
<p>Ïðèìåð:<br />
<pre>
files {
motd /etc/motd;
pidfile /var/lib/run/unrealircd.pid;
};
</pre>
</p>
<p><b><font size="+2">5 – Äîïîëíèòåëüíûå ôàéëû<a name="addtlfiles"></a> </font></b>
</p>
<div class="desc">Â äîïîëíåíèå ê óêàçàííûì ó Unreal åñòü åù¸ äðóãèå
êîíôèãóðàöèîííûå ôàéëû, òàêèå êàê MOTD, OperMOTD, BotMOTD è Rules. Íèæå
ïðèâåäåíû èìåíà ôàéëîâ è èõ íàçíà÷åíèå.<br>
Îáðàòèòå âíèìàíèå, ÷òî motd ôàéëû (âñåõ òèïîâ) è ôàéëû ïðàâèë ìîãóò áûòü
îïðåäåëåíû â áëîêå <a href="#tldblock">tld</a> èëè â áëîêå
<a href="#filesblock">ôàéëîâ</a>, ïðîñòî äàííûå èìåíà ôàéëîâ èñïîëüçóþòñÿ ïî óìîë÷àíèþ (è
äëÿ óäàë¸ííûõ MOTD/RULES).
<p>
<table width="83%" border="1">
<tr>
<td>ircd.motd</td>
<td>Îòîáðàæàåòñÿ ïî êîìàíäå /motd è (åñëè íåò ircd.smotd) ïðè ïîäêëþ÷åíèè
ïîëüçîâàòåëåé</td>
</tr>
<tr>
<td>ircd.smotd</td>
<td>Îòîáðàæàåòñÿ òîëüêî ïðè ïîäêëþ÷åíèè (ñîêðàù¸ííûé MOTD)</td>
</tr>
<tr>
<td>ircd.rules</td>
<td>Îòîáðàæàåòñÿ ïî êîìàíäå /rules</td>
</tr>
<tr>
<td>oper.motd</td>
<td>Îòîáðàæàåòñÿ ïî êîìàíäå /opermotd èëè ïðè ïîëó÷åíèè ñòàòóñà îïåðàòîðà /oper</td>
</tr>
<tr>
<td>bot.motd</td>
<td>Îòîáðàæàåòñÿ ïî êîìàíäå /botmotd</td>
</tr>
</table>
<p></p>
</div>
<p><b><font size="+2">6 – Ðåæèìû ïîëüçîâàòåëÿ è êàíàëà <a name="userchannelmodes"></a></font>
</b>
</p>
<div class="desc">
<table width="83%" border="1">
<tr>
<td>
<div align="center"><b>Ðåæèì</b></div>
</td>
<td>
<div align="center"><b>Îïèñàíèå</b></div>
</td>
</tr>
<tr>
<td colSpan="2">
<div align="center"><b>Ðåæèìû êàíàëà</b></div>
</td>
</tr>
<tr>
<td>
<div align="center">A</div>
</td>
<td>Çàéòè ìîãóò òîëüêî àäìèíèñòðàòîðû êàíàëà</td>
</tr>
<tr>
<td>
<div align="center">a &lt;nick&gt;</div>
</td>
<td>Äåëàåò ïîëüçîâàòåëÿ àäìèíèñòðàòîðîì êàíàëà</td>
</tr>
<tr>
<td>
<div align="center">b &lt;nick!user@host&gt;<br>
</div>
</td>
<td>Áàíèò óêàçàííîãî ïîëüçîâàòåëÿ íà êàíàëå</td>
</tr>
<tr>
<td>
<div align="center">c</div>
</td>
<td>ANSI öâåòà íå ìîãóò áûòü îòïðàâëåíû íà êàíàë</td>
</tr>
<tr>
<td>
<div align="center">C</div>
</td>
<td>íà êàíàëå çàïðåùåíû CTCP
</td>
</tr>
<tr>
<td>
<div align="center">e &lt;nick!user@host&gt;</div>
</td>
<td>Èñêëþ÷åíèå îò áàíà – åñëè êòî-òî ïîïàäàåò ïîä íåãî, îí ìîæåò çàéòè íà êàíàë,
äàæå åñëè îí çàáàíåí</td>
</tr>
<tr>
<td>
<div align="center">f [&lt;÷èñëî&gt;&lt;òèï&gt;]:&lt;ñåêóíäû&gt;</div>
</td>
<td>Çàùèòà êàíàëà îò ôëóäà. Ñì. <A href="#feature_antiflood">ñåêöèþ 3.12</A> äëÿ
ïîäðîáíîãî îïèñàíèÿ.</td>
</tr>
<tr>
<td>
<div align="center">G</div>
</td>
<td>Âêëþ÷àåò íà êàíàëå ïðîâåðêó öåíçóðû. Ïðîâåðÿþòñÿ ñëîâà èç ñïèñêà ìàòîâ (áëîêè
Badword) è ïðè íåîáõîäèìîñòè çàìåíÿþòñÿ.
</td>
</tr>
<tr>
<td>
<div align="center">h &lt;nick&gt;</div>
</td>
<td>Óñòàíàâëèâàåò ñòàòóñ ïîëóîïåðàòîðà</td>
</tr>
<tr>
<td>
<div align="center">i</div>
</td>
<td>Íåîáõîäèìî ïðèãëàøåíèå, ÷òîáû ïîïàñòü íà êàíàë</td>
</tr>
<tr>
<td>
<div align="center">I &lt;nick!user@host&gt;<br>
</div>
</td>
<td>Èñêëþ÷åíèÿ ïðèãëàøåíèé ("invex") - åñëè ïîëüçîâàòåëü ïîïàäàåò, òî òðåáîâàíèå +i
îïóñêàåòñÿ ïðè âõîäå íà êàíàë.</td>
</tr>
<tr>
<td>
<div align="center">j &lt;êîëè÷åñòâî:ñåêóíäû&gt;</div>
</td>
<td>Îãðàíè÷èâàåò êîëè÷åñòâî âõîäîâ íà êàíàë ïîëüçîâàòåëÿ äî <i>êîëè÷åñòâî</i> â
òå÷åíèå <i>ñåêóíäû</i> ñåêóíä</td>
</tr>
<tr>
<td>
<div align="center">K</div>
</td>
<td>Çàïðåùåíî èñïîëüçîâàíèå /knock</td>
</tr>
<tr>
<td>
<div align="center">k &lt;êëþ÷&gt;</div>
</td>
<td>Óñòàíàâëèâàåò êëþ÷ (ïàðîëü), íåîáõîäèìûé äëÿ âõîäà íà êàíàë</td>
</tr>
<tr>
<td>
<div align="center">l &lt;##&gt;</div>
</td>
<td>Óñòàíàâëèâàåò ìàêñèìàëüíîå êîëè÷åñòâî ïîëüçîâàòåëåé íà êàíàëå</td>
</tr>
<tr>
<td>
<div align="center">L &lt;êàíàë&gt;</div>
</td>
<td>Åñëè ïðåâûøåíî ÷èñëî, óñòàíîâëåííîå ðåæèìîì +l, òî ïîëüçîâàòåëè áóäóò
îòïðàâëåíû íà óêàçàííûé êàíàë</td>
</tr>
<tr>
<td>
<div align="center">M</div>
</td>
<td>Ãîâîðèòü ìîãóò òîëüêî çàðåãèñòðèðîâàííûå ïîëüçîâàòåëè (+r)</td>
</tr>
<tr>
<td>
<div align="center">m</div>
</td>
<td>Ìîäåðèðóåìûé êàíàë. Ãîâîðèòü ìîãóò òîëüêî ïîëüçîâàòåëè ñ ðåæèìàìè +v/o/h</td>
</tr>
<tr>
<td>
<div align="center">N</div>
</td>
<td>Íà êàíàëå çàïðåùåíî èçìåíåíèå íèêîâ</td>
</tr>
<tr>
<td>
<div align="center">n</div>
</td>
<td>Íå ðàçðåøåíû ñîîáùåíèÿ èçâíå</td>
</tr>
<tr>
<td>
<div align="center">O</div>
</td>
<td>Çàéòè ìîãóò òîëüêî èðö-îïåðàòîðû</td>
</tr>
<tr>
<td>
<div align="center">o &lt;nick&gt;</div>
</td>
<td>Óñòàíàâëèâàåò ñòàòóñ îïåðàòîðà êàíàëà</td>
</tr>
<tr>
<td>
<div align="center">p</div>
</td>
<td>Êàíàë ñòàíîâèòñÿ ïðèâàòíûì</td>
</tr>
<tr>
<td>
<div align="center">q &lt;nick&gt;</div>
</td>
<td>Óñòàíàâëèâàåò ñòàòóñ âëàäåëüöà êàíàëà</td>
</tr>
<tr>
<td>
<div align="center">Q</div>
</td>
<td>Òîëüêî ñåðâåðû èç U:Lines ìîãóò êèêàòü ïîëüçîâàòåëåé</td>
</tr>
<tr>
<td>
<div align="center">r</div></td>
<td>Êàíàë çàðåãåñòðèðîâàí (óñòàíàâëèâàåòñÿ òîëüêî ñåðâèñàìè)</td>
</tr>
<tr>
<td>
<div align="center">R</div>
</td>
<td>Äëÿ âõîäà íà êàíàë íåîáõîäèìî, ÷òîáû íèêè áûëè çàðåãèñòðèðîâàíû</td>
</tr>
<tr>
<td>
<div align="center">S</div>
</td>
<td>Âûðåçàåò èç ñîîáùåíèé âñå öâåòà</td>
</tr>
<tr>
<td>
<div align="center">s</div>
</td>
<td>Êàíàë ñòàíîâèòñÿ ñåêðåòíûì</td>
</tr>
<tr>
<td>
<div align="center">t</div>
</td>
<td>Ïîëóîïåðàòîðû, îïåðàòîðû è âûøå ìîãóò óñòàíàâëèâàòü òîïèê</td>
</tr>
<tr>
<td>
<div align="center">T</div>
</td>
<td>Íà êàíàëå çàïðåùåíû NOTICE</td>
</tr>
<tr>
<td>
<div align="center">u</div>
</td>
<td>Àóäèòîðèÿ – èñïîëíåíèå êîìàíä /names è /who #channel âûâîäèò òîëüêî îïåðàòîðîâ
êàíàëà</td>
</tr>
<tr>
<td>
<div align="center">V</div>
</td>
<td>Íå ðàçðåø¸í /invite</td>
</tr>
<tr>
<td>
<div align="center">v &lt;nick&gt;</div>
</td>
<td>Äà¸ò ïðàâî ãîëîñà ïîëüçîâàòåëÿì. (Ìîãóò ãîâîðèòü íà êàíàëàõ ñ +m)</td>
</tr>
<tr>
<td>
<div align="center">z</div>
</td>
<td>Çàéòè íà êàíàë ìîãóò òîëüêî êëèåíòû ñ çàùèù¸ííûì ñîåäèíåíèåì (SSL)</td>
</tr>
<tr>
<td>
<div align="center">Z</div>
</td>
<td>Óñòàíàâëèâàåòñÿ ñåðâåðîì è ñèãíàëèçèðóåò î òîì, ÷òî âñå ïîëüçîâàòåëè,
íàõîäÿùèåñÿ íà êàíàëå, èñïîëüçóþò áåçîïàñíîå ïîäêëþ÷åíèå (SSL).
Áóäåò àêòèâíî, åñëè óêàçàíî +z. ULines (ê ïðèìåðó BotServ), èãíîðèðóþòñÿ,
ïðè ïîäñ÷¸òå "íåáåçîïàñíûõ ïîëüçîâàòåëåé". Ïî ïðåæíåìó, îçàáîòèòüñÿ áåçîïàñíîñòüþ
ìåæñåðâåðíûõ ëèíêîâ äîëæíû àäìèíèñòðàòîðû (SSL, VPN, èñïîëüçîâàíèå loopback èíòåðôåéñîâ
è ïðî÷àÿ, ïðî÷àÿ), ïîòîìó ÷òî IRCd íå ìîæåò è íå ñìîæåò îïðåäåëèòü áåçîïàñíîñòü.</td>
</tr>
</table>
<p>
</p>
<table width="75%" border="1">
<tr>
<td>
<div align="center"><b>Ðåæèì</b></div>
</td>
<td>
<div align="center"><b>Îïèñàíèå</b></div>
</td>
</tr>
<tr>
<td colSpan="2" id="usermodes">
<div align="center"><b>Ðåæèìû ïîëüçîâàòåëÿ</b></div>
</td>
</tr>
<tr>
<td>
<div align="center">A</div>
</td>
<td>Àäìèíèñòðàòîð ñåðâåðà (óñòàíàâëèâàåòñÿ â áëîêå Oper)</td>
</tr>
<tr>
<td>
<div align="center">a</div>
</td>
<td>Àäìèíèñòðàòîð ñåðâèñîâ (óñòàíàâëèâàåòñÿ â áëîêå Oper)</td>
</tr>
<tr>
<td>
<div align="center">B</div>
</td>
<td>Ïîìå÷àåò âàñ êàê áîòà :)</td>
</tr>
<tr>
<td>
<div align="center">C</div>
</td>
<td>Ïîìîùíèê àäìèíèñòðàòîðà [co-administrator] (óñòàíàâëèâàåòñÿ â áëîêå Oper)</td>
</tr>
<tr>
<td>
<div align="center">d</div>
</td>
<td>Âû íå ñìîæåòå ïîëó÷àòü ñîîáùåíèÿ íà êàíàëàõ [channel PRIVMSGs] (çà èñêëþ÷åíèåì
òåêñòà, êîòîðûé íà÷èíàåòñÿ ñ óêàçàííûõ â set::channel-command-prefix ñèìâîëîâ)</td>
</tr>
<tr>
<td>
<div align="center">G</div>
</td>
<td>Ôèëüòðóåò ìàòû âî âñåõ âàøèõ ñîîáùåíèÿõ</td>
</tr>
<tr>
<td>
<div align="center">g</div>
</td>
<td>Ìîæíî ïîñûëàòü è ÷èòàòü globops è locops</td>
</tr>
<tr>
<td>
<div align="center">H</div>
</td>
<td>Ñêðûâàåò ñòàòóñ èðöîïåðàòîðà (òîëüêî äëÿ èðöîïåðàòîðîâ)</td>
</tr>
<tr>
<td>
<div align="center">h</div>
</td>
<td>Äîñòóïåí äëÿ ïîìîùè (îïåðàòîð ïîìîùè) (óñòàíàâëèâàåòñÿ â áëîêå Oper)</td>
</tr>
<tr>
<td>
<div style="text-align: center">I</div>
</td>
<td> Ñêðûâàåò îò îáû÷íûõ ïîëüçîâàòåëåé âðåìÿ ïðîñòîÿ (â /whois).</td>
</tr>
<tr>
<td>
<div align="center">i</div>
</td>
<td>Íåâèäèì (íå ïîêàçûâàåòñÿ ïðè /who)</td>
</tr>
<tr>
<td>
<div align="center">N</div>
</td>
<td>Àäìèíèñòðàòîð ñåòè (óñòàíàâëèâàåòñÿ â áëîêå Oper)</td>
</tr>
<tr>
<td>
<div align="center">O</div>
</td>
<td>Ëîêàëüíûé èðöîïåðàòîð (óñòàíàâëèâàåòñÿ â áëîêå Oper)</td>
</tr>
<tr>
<td>
<div align="center">o</div>
</td>
<td>Ãëîáàëüíûé èðöîïåðàòîð (óñòàíàâëèâàåòñÿ â áëîêå Oper)</td>
</tr>
<tr>
<td>
<div align="center">p</div>
</td>
<td>Ñêðûâàåò êàíàëû, íà êîòîðûõ âû íàõîäèòåñü (âûâîäèìûå ïî êîìàíäå /whois)</td>
</tr>
<tr>
<td>
<div align="center">q</div>
</td>
<td>Âàñ ìîãóò êèêíóòü òîëüêî U:Lines (òîëüêî äëÿ àäìèíèñòðàòîðîâ ñåðâèñîâ)</td>
</tr>
<tr>
<td>
<div align="center">R</div>
</td>
<td>Ïîçâîëÿåò ïðèíèìàòü ñîîáùåíèÿ è íîòèñû [PRIVMSG/NOTICE] òîëüêî îò
çàðåãèñòðèðîâàííûõ ïîëüçîâàòåëåé (+r)</td>
</tr>
<tr>
<td>
<div align="center">r</div>
</td>
<td>Ïîêàçûâàåò, ÷òî íèê çàðåãèñòðèðîâàí</td>
</tr>
<tr>
<td>
<div align="center">S</div>
</td>
<td>Èñïîëüçóåòñÿ äëÿ çàùèòû ñåðâèñîâ</td>
</tr>
<tr>
<td>
<div align="center">s</div>
</td>
<td>Ìîæåò âèäåòü óâåäîìëåíèÿ ñåðâåðà (ñìîòðèòå <A href="#feature_snomasks">ñåêöèþ 3.3</A>
äëÿ áîëåå äåòàëüíîé èíôîðìàöèè)</td>
</tr>
<tr>
<td>
<div align="center">T</div>
</td>
<td>Îòêëîíÿåò ïîëó÷åíèå CTCP</td>
</tr>
<tr>
<td>
<div align="center">t</div>
</td>
<td>Ñîîáùàåò, ÷òî âû èñïîëüçóåòå /vhost</td>
</tr>
<tr>
<td>
<div align="center">V</div>
</td>
<td>Ïîìå÷àåò âàñ êàê ïîëüçîâàòåëÿ WebTV</td>
</tr>
<tr>
<td>
<div align="center">v</div>
</td>
<td>Ðàçðåøàåò ïîëó÷àòü óâåäîìëåíèÿ î ïîòåíöèàëüíî îïàñíûõ îòêëîíåííûõ DCC çàïðîñàõ</td>
</tr>
<tr>
<td>
<div align="center">W</div>
</td>
<td>Ïîçâîëÿåò âèäåòü, êîãäà íà âàñ âûïîëíÿþò êîìàíäó /whois (òîëüêî äëÿ
èðöîïåðàòîðîâ)</td>
</tr>
<tr>
<td>
<div align="center">w</div>
</td>
<td>Ìîæåò ÷èòàòü ñîîáùåíèÿ wallop</td>
</tr>
<tr>
<td>
<div align="center">x</div>
</td>
<td>Âûäà¸ò ïîëüçîâàòåëþ ñêðûòûé õîñò</td>
</tr>
<tr>
<td>
<div align="center">z</div>
</td>
<td>Óêàçûâàåò, ÷òî âû ïîäêëþ÷åíû ê ñåðâåðó ÷åðåç çàøèôðîâàííîå SSL-ñîåäèíåíèå</td>
</tr>
</table>
<p></p>
</div>
<p><font size="+2"><b>7 – Êîìàíäû ïîëüçîâàòåëÿ è îïåðàòîðà<a id="useropercommands" name="useropercommands"></a></b></font></p>
<div class="desc">
<p>Çàìå÷àíèå: äîêóìåíòàöèÿ, äîñòóïíàÿ ïî /helpop, áîëåå èíôîðìàòèâíà, èñïîëüçóéòå <i>/helpop
command</i> (èëè <i>/helpop ?command</i> åñëè âû îïåðàòîð) äëÿ ïîëó÷åíèÿ
áîëåå ïîäðîáíîé èíôîðìàöèè î êîìàíäå.</p>
<table width="90%" border="1">
<tr>
<td width="33%">
<div align="center"><b>Êîìàíäà</b></div>
</td>
<td width="57%">
<div align="center"><b>Îïèñàíèå</b></div>
</td>
<td width="10%">
<div align="center"><b>Êòî</b></div>
</td>
</tr>
<tr>
<td>nick &lt;íîâûé_íèê&gt;</td>
<td>Èçìåíÿåò âàø íèê. Óâåäîìëÿåò äðóãèõ, ÷òî âû èçìåíèëè íèê<br>
</td>
<td>Âñå</td>
</tr>
<tr id="command_whois">
<td>whois &lt;íèê&gt;</td>
<td>Îòîáðàæàåò èíôîðìàöèþ î ïîëüçîâàòåëå, âêëþ÷àÿ ïîëíîå èìÿ, õîñò, êàíàëû, íà
êîòîðûõ íàõîäèòñÿ ïîëüçîâàòåëü è ñòàòóñ îïåðàòîðà<br>
</td>
<td>Âñå</td>
</tr>
<tr id="command_whois_nicknick">
<td>whois &lt;íèê&gt; &lt;íèê&gt;</td>
<td> Èñïîëíÿåò óäàë¸ííóþ êîìàíäó <a href="#command_whois">WHOIS</a>. Åñëè ïîëüçîâàòåëü
íàõîäèòñÿ íà äðóãîì ñåðâåðå, ÷åì òîò ÷åëîâåê, îò êîãî îí ïûòàåòñÿ ïîëó÷èòü èíôîðìàöèþ
(WHOIS), òî äàëåêî íå âñå äàííûå îòîáðàçÿòñÿ. Ê ïðèìåðó, íå îòîáðàçèòñÿ âðåìÿ ïðîñòîÿ
ïîëüçîâàòåëÿ. ×òîáû âûïîëíèòü óäàë¸ííî êîìàíäó WHOIS, íåîáõîäèìî íèê ïîëüçîâàòåëÿ
óêàçàòü êàê àðãóìåíò äâàæäû.
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">who &lt;ìàñêà&gt;</td>
<td>Who ïîçâîëÿåò èñêàòü ïîëüçîâàòåëåé. Ìàñêà âêëþ÷àåò â ñåáÿ: íèê, #êàíàë,
õîñòìàñêó (*.attbi.com)<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">whowas &lt;íèê&gt; &lt;ìàêñèìóì_îòâåòîâ&gt;</td>
<td>Ïîêàçûâàåò èíôîðìàöèþ, êîãäà íèê îòñîåäèíèëñÿ îò ñåòè. Ïîëå
&lt;ìàêñèìóì_îòâåòîâ&gt; íåîáÿçàòåëüíî è îãðàíè÷èâàåò êîëè÷åñòâî íàéäåííûõ
ðåçóëüòàòîâ.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">ison &lt;íèê1 íèê2 íèê3 ...&gt;</td>
<td>Ïîçâîëÿåò ïðîâåðèòü, íàõîäèòñÿ ëè ïîëüçîâàòåëü (èëè íåñêîëüêî ïîëüçîâàòåëåé) â
ñåòè. Îáû÷íî èñïîëüçóåòñÿ äëÿ ñêðèïòîâ.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">join &lt;êàíàë1,êàíàë2, ...&gt;</td>
<td>Ïîçâîëÿåò âàì çàõîäèòü íà êàíàëû. /join #êàíàë1,#êàíàë2,#êàíàë3 ïîçâîëÿåò çàéòè
íà íåñêîëüêî êàíàëîâ îäíîé êîìàíäîé. Êîìàíäà /join 0 ïîçâîëÿåò ïîêèíóòü ñðàçó
âñå êàíàëû.</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">cycle &lt;êàíàë1, êàíàë2, ...&gt;</td>
<td>Ïåðåçàõîäèò íà óêàçàííûé(-ûå) êàíàë(-û). Êîìàíäà ýêâèâàëåíòíà 2-ì ïîäðÿä èäóùèì
êîìàíäàì PART è JOIN.</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">motd &lt;ñåðâåð&gt;</td>
<td>Ïîêàçûâàåò motd ñåðâåðà. Äîáàâëÿÿ èìÿ ñåðâåðà, ìîæíî óâèäåòü motd äðóãèõ
ñåðâåðîâ.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">rules &lt;ñåðâåð&gt;</td>
<td>Ïîêàçûâàåò ircd.rules ñåðâåðà. Åñëè äîïîëíèòåëüíî óêàçàíî èìÿ ñåðâåðà, òî
ïîçâîëÿåò ïðîñìîòðåòü ïðàâèëà íà óêàçàííîì ñåðâåðå</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">lusers &lt;ñåðâåð&gt;
</td>
<td>Ïîêàçûâàåò òåêóùåå è ìàêñèìàëüíîå êîëè÷åñòâî ïîëüçîâàòåëåé, êàê ëîêàëüíûõ, òàê
è ãëîáàëüíûõ. Åñëè äîïîëíèòåëüíî óêàçàíî èìÿ ñåðâåðà, òî ìîæíî ïîñìîòðåòü
ñòàòèñòèêó íà äðóãèõ ñåðâåðàõ.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">map</td>
<td>Ïîêàçûâàåò êàðòó ñåòè</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">quit &lt;ïðè÷èíà&gt;</td>
<td>Îòêëþ÷àåò âàñ îò ñåðâåðà. Åñëè óêàçàíà ïðè÷èíà, îíà áóäåò ïîêàçàíà íà âñåõ
êàíàëàõ ïðè âûõîäå.</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">ping &lt;ïîëüçîâàòåëü&gt;</td>
<td>Ïîñûëàåò çàïðîñ PING ïîëüçîâàòåëþ. Èñïîëüçóåòñÿ äëÿ ïðîâåðêè ñîåäèíåíèÿ è ëàãà.
Ñåðâåðà èñïîëüçóþò ïèíãè äëÿ òîãî, ÷òîáû îïðåäåëèòü, ïîäêëþ÷åíû ëè ïîëüçîâàòåëè
èëè óæå îòêëþ÷èëèñü.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">version &lt;íèê&gt;</td>
<td>Ïîñûëàåò çàïðîñ CTCP Version ïîëüçîâàòåëþ. Åñëè êëèåíò ïîëüçîâàòåëÿ
ñêîíôèãóðèðîâàí, òî îí îòâåòèò ñâîåé âåðñèåé.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">links</td>
<td>Ïîêàçûâàåò ñïèñîê âñåõ ñåðâåðîâ, ïðèëèíêîâàííûõ ê ñåòè.</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">Admin &lt;ñåðâåð&gt;</td>
<td>Ïîêàçûâàåò èíôîðìàöèþ îá àäìèíèñòðàòîðå ñåðâåðà. Åñëè óêàçàí ñåðâåð, òî ïîêàæåò
èíôîðìàöèþ îá àäìèíèñòðàòîðå óêàçàííîãî ñåðâåðà.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">userhost &lt;íèê&gt;</td>
<td>Ïîêàçûâàåò õîñò ïîëüçîâàòåëÿ ïî íèêó. Èñïîëüçóåòñÿ äëÿ ñêèïòîâ.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">topic &lt;êàíàë&gt; &lt;òîïèê&gt;</td>
<td>Topic &lt;êàíàë&gt; ïîêàæåò òåêóùèé òîïèê óêàçàííîãî êàíàëà. Topic
&lt;êàíàë&gt; &lt;òîïèê&gt; èçìåíèò òîïèê íà óêàçàííîì êàíàëå.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">invite &lt;íèê&gt; &lt;êàíàë&gt;</td>
<td>Ïðèãëàøàåò óêàçàííîãî ïîëüçîâàòåëÿ íà óêàçàííûé êàíàë (íåîáõîäèìî èìåòü ñòàòóñ
îïåðàòîðà êàíàëà).<br>
</td>
<td>ÎïåðàòîðÊàíàëà</td>
</tr>
<tr>
<td height="39">kick &lt;êàíàë, êàíàë&gt; &lt;ïîëüçîâàòåëü, ïîëüçîâàòåëü&gt;
&lt;ïðè÷èíà&gt;</td>
<td>Âûáðàñûâàåò ïîëüçîâàòåëÿ(åé) ñ êàíàëà(îâ). Ïðè÷èíà ìîæåò áûòü íå óêàçàíà.<br>
</td>
<td>ÎïåðàòîðÊàíàëà</td>
</tr>
<tr>
<td height="39">away &lt;ïðè÷èíà&gt;</td>
<td>Ïîìå÷àåò âàñ óøåäøèì. Ïðè÷èíà ìîæåò áûòü íå óêàçàíà.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">Watch [+|-]&lt;íèê&gt; [+|-]&lt;íèê&gt;<br>
</td>
<td>Watch - ýòî íîâàÿ ñèñòåìà óâåäîìëåíèé â UnrealIRCd, êîòîðàÿ ðàáîòàåò áûñòðåå è
ìåíüøå íàãðóæàåò ñåòü, ÷åì ñòàðàÿ. Ñåðâåð ïîñûëàåò âàì ñîîáùåíèå, êîãäà ëþáîé
íèê èç âàøåãî ëèñòà watch çàõîäèò èëè âûõîäèò. Ëèñò watch ÍÅ ÇÀÏÎÌÈÍÀÅÒÑß ÌÅÆÄÓ
ÑÅÑÑÈßÌÈ, ïîýòîìó âû èëè âàø ñêðèïò äîëæíû äîáàâëÿòü íèêè â ëèñò watch êàæäûé
ðàç ïðè ïîäêëþ÷åíèè ê ñåðâåðó.<br>
</td>
<td>All</td>
</tr>
<tr>
<td height="39">helpop ?&lt;òîïèê&gt; èëè !&lt;òîïèê&gt;<br>
</td>
<td>HelpOp - ýòî íîâàÿ ñèñòåìà ïîìîùè ïî IRC ñåðâåðó. Âû ìîæåòå íàïå÷àòàòü /HELPOP
? &lt;help system topic&gt; èëè /HELPOP ! &lt;âîïðîñ&gt;. "?" â /HELPOP çíà÷èò
çàïðîñ â ñèñòåìó ïîìîùè, è åñëè âû íå ïîëó÷èëè îòâåòà, òî, óêàçàâ ïåðåä âàøèì
âîïðîñîì '!', çàïðîñ ïîéä¸ò îïåðàòîðàì ïîìîùè. Åñëè íå óêàçàíû íè ? íè !, òîãäà
çàïðîñ ñíà÷àëà ïîéä¸ò â ñèñòåìó ïîìîùè, è åñëè íå áóäåò íàéäåí îòâåò, îí áóäåò
ïåðåàäðåñîâàí îïåðàòîðàì ïîìîùè.</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">list &lt;ñòðîêà ïîèñêà&gt;</td>
<td>Åñëè íå óêàçàíà ñòðîêà ïîèñêà, òî ïî óìîë÷àíèþ áóäåò ïîëó÷åí âåñü
íåîòôèëüòðîâàííûé ñïèñîê êàíàëîâ. Íèæå óêàçàíû îïöèè, êîòîðûå ìîæíî
èñïîëüçîâàòü.
<br>
&gt;êîëè÷åñòâî - ïîêàçûâàåò êàíàëû, íà êîòîðûõ áîëüøå ëþäåé, ÷åì
&lt;êîëè÷åñòâî&gt;
<br>
&lt;êîëè÷åñòâî - ïîêàçûâàåò êàíàëû, íà êîòîðûõ ëþäåé ìåíüøå, ÷åì
&lt;êîëè÷åñòâî&gt;.<br>
C&gt;êîëè÷åñòâî - ïîêàçûâàåò êàíàëû, ñîçäàííûå â èíòåðâàëå îò
&lt;êîëè÷åñòâî&gt; ìèíóò íàçàä äî íàñòîÿùåãî âðåìåíè.<br>
C&lt;êîëè÷åñòâî - ïîêàçûâàåò êàíàëû, ñîçäàííûå ðàíüøå, ÷åì &lt;êîëè÷åñòâî&gt;
ìèíóò òîìó íàçàä.<br>
T&gt;êîëè÷åñòâî - ïîêàçûâàåò êàíàëû, ó êîòîðûõ òîïèêè ñòàðøå, ÷åì
&lt;êîëè÷åñòâî&gt; ìèíóò (ò.å. íå èçìåíÿëèñü çà ïîñëåäíèå &lt;êîëè÷åñòâî&gt;
ìèíóò.<br>
T&lt;êîëè÷åñòâî - ïîêàçûâàåò êàíàëû, ó êîòîðûõ òîïèê íîâåå, ÷åì
&lt;êîëè÷åñòâî&gt; ìèíóò.<br>
*ìàñêà* - ñïèñîê êàíàëîâ, ñîâïàäàþùèõ ñ *ìàñêà*<br>
!*ìàñêà* - ñïèñîê êàíàëîâ, íå ñîâïàäàþùèõ ñ *ìàñêà*<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">Knock &lt;êàíàë&gt; &lt;ñîîáùåíèå&gt;<br>
</td>
<td>Ïîçâîëÿåò ïîñòó÷àòñÿ
<span lang="en-us">[knock<span lang="en-us">] íà
<span lang="en-us">invite-only êàíàë, êóäà ìîæíî
ïîïàñòü òîëüêî ïî ïðèãëàøåíèÿì. Íå áóäåò ðàáîòàòü, åñëè íà êàíàëàõ
óñòàíîâëåíû ðåæèìû +K èëè +V èëè åñëè âû çàáàíåíû.<br></span></span></span></td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">setname</td>
<td>Ïîçâîëÿåò ïîëüçîâàòåëÿì ïîìåíÿòü ñâîå ‘<span lang="en-us">real<span lang="en-us">
name’ áåç ïåðåïîäêëþ÷åíèÿ<br></span></span></td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">vhost &lt;ëîãèí&gt; &lt;ïàðîëü&gt;</td>
<td>Ñêðûâàåò âàø õîñò, èñïîëüçóÿ âèðòóàëüíûé õîñò, ïðåäëàãàåìûé ñåðâåðîì.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">mode &lt;êàíàë/íèê&gt; &lt;ðåæèì&gt;<br>
</td>
<td>Ïîçâîëÿåò óñòàíîâèòü ðåæèìû ïîëüçîâàòåëÿ è êàíàëà. Ñïèñîê ðåæèìîâ ñìîòðèòå â
ðàçäåëå <A href="#userchannelmodes">Ðåæèìû Ïîëüçîâàòåëÿ è Êàíàëà</A>.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">credits</td>
<td>Ñïèñîê âñåõ, êòî ïîìîãàë ñîçäàâàòü UnrealIRCd<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">license</td>
<td>Ïîêàçûâàåò ëèöåíçèþ GNU</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">time &lt;ñåðâåð&gt;</td>
<td>Ïîêàçûâàåò äàòó è âðåìÿ íà ñåðâåðå. Åñëè óêàçàíî èìÿ ñåðâåðà, òî ïðîâåðÿåò äàòó
è âðåìÿ íà íåì.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">botmotd &lt;ñåðâåð&gt;<br>
</td>
<td>Îòîáðàæàåò
<span lang="en-us">bot.motd. Åñëè óêàçàíî èìÿ ñåðâåðà, îòîáðàçèò <span lang="en-us">bot.motd ñ óêàçàííîãî
ñåðâåðà.</span></span></td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">identify &lt;ïàðîëü&gt;</td>
<td>Îòïðàâëÿåò âàø ïàðîëü ñèñòåìå ñåðâèñîâ äëÿ èäåíòèôèêàöèè âàøåãî íèêà.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">identify &lt;êàíàë&gt; &lt;ïàðîëü&gt;</td>
<td>Îòïðàâëÿåò âàø ïàðîëü ñèñòåìå ñåðâèñîâ äëÿ èäåíòèôèêàöèè âàñ êàê âëàäåëüöà
êàíàëà.<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">dns &lt;îïöèÿ&gt;</td>
<td>Âîçâðàùàåò èíôîðìàöèþ î êýøå DNS IRC ñåðâåðà. Çàìå÷àíèå: ñåé÷àñ áîëüøèíñòâî
êëèåíòîâ èìåþò âñòðîåííóþ êîìàíäó DNS, ïîýòîìó âû äîëæíû áóäåòå âîñïîëüçîâàòüñÿ
êîìàíäîé /raw DNS. Îïåðàòîðû ìîãóò óêàçàòü l â êà÷åñòâå ïåðâîãî ïàðàìåòðà
êîìàíäû, ÷òîáû ïîëó÷èòü ñïèñîê âõîæäåíèé â êýø DNS.</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">userip &lt;íèê&gt;<br>
</td>
<td>Âîçâðàùàåò IP àäðåñ ïîëüçîâàòåëÿ.</td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">silence [+|-]&lt;íèê&gt;<br></td>
<td>Èãíîðèðóåò ñîîáùåíèÿ îò ïîëüçîâàòåëÿ èëè ñïèñêà ïîëüçîâàòåëåé íà ñòîðîíå ñåðâåðà.<br></td>
<td>Âñå</td>
</tr>
<tr>
<td height="39">oper &lt;ïîëüçîâàòåëü&gt; &lt;ïàðîëü&gt;<br>
</td>
<td>Äà¸ò ïîëüçîâàòåëþ ñòàòóñ îïåðàòîðà, åñëè îí ïðîïèñàí â áëîêå Oper<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">wallops &lt;ñîîáùåíèå&gt;</td>
<td>Îòïðàâëÿåò ñîîáùåíèå âñåì ïîëüçîâàòåëÿì ñ ðåæèìîì +w</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">globops &lt;ñîîáùåíèå&gt;</td>
<td>Îòïðàâëÿåò ñîîáùåíèå âñåì ãëîáàëüíûì îïåðàòîðàì</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">chatops &lt;ñîîáùåíèå&gt;</td>
<td>Îòïðàâëÿåò ñîîáùåíèå âñåì îïåðàòîðàì (è ãëîáàëüíûì, è ëîêàëüíûì)</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">locops &lt;ñîîáùåíèå&gt;</td>
<td>Îòïðàâëÿåò ñîîáùåíèå âñåì ëîêàëüíûì îïåðàòîðàì</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">adchat &lt;ñîîáùåíèå&gt;</td>
<td>Îòïðàâëÿåò ñîîáùåíèå âñåì àäìèíèñòðàòîðàì</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">nachat &lt;ñîîáùåíèå&gt;</td>
<td>Îòïðàâëÿåò ñîîáùåíèå âñåì àäìèíñòðàòîðàì ñåòè</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">kill &lt;íèê&gt; &lt;ïðè÷èíà&gt;</td>
<td>Îòêëþ÷àåò ïîëüçîâàòåëÿ îò ñåòè<span lang="en-us">, ïðè÷èíó ìîæíî íå óêàçûâàòü.</span></td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">kline [+|-]&lt;ïîëüçîâàòåëü@õîñò | íèê&gt; [&lt;äëèòåëüíîñòü
áàíà&gt; &lt;ïðè÷èíà&gt;]</td>
<td>Áàíèò õîñòìàñêó ñî ñòîðîíû èñïîëüçóåìîãî ñåðâåðà. kline - ýòî íå ãëîáàëüíûé
áàí.<br>
<b>Äëèòåëüíîñòü áàíà</b> ýòî: 1) âðåìÿ â ñåêóíäàõ; 2) ïåðåìåííàÿ âðåìåíè â âèäå
'1d' (ò.å. íà 1 äåíü); 3) '0' äëÿ ïîñòîÿííîãî áàíà. Âðåìÿ è ïðè÷èíà
íåîáÿçàòåëüíû, åñëè îíè íå óêàçàíû, òî çíà÷åíèå áóäåò âçÿòî èç
set::default-bantime (ïî óìîë÷àíèþ: 0/ïîñòîÿííî) è áóäåò óêàçàíî 'no reason'.<br>
×òîáû óáðàòü kline èñïîëüçóéòå /kline -ïîëüçîâàòåëü@õîñò</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">zline [+|-]&lt;*@ip&gt; [&lt;äëèòåëüíîñòü áàíà&gt; &lt;ïðè÷èíà&gt;]</td>
<td>Áàíèò ïî IP àäðåñó íà âàøåì ëîêàëüíîì ñåðâåðå (íå ðàñïðîñòðàíÿåòñÿ íà âñþ
ñåòü). Ñìîòðèòå ñèíòàêñèñ êîìàíäû kline. ×òîáû óáðàòü, èñïîëüçóéòå /zline
-*@ip.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">gline [+|-]&lt;ïîëüçîâàòåëü@õîñò | íèê&gt; [&lt;äëèòåëüíîñòü
áàíà&gt; &lt;ïðè÷èíà&gt;]<br>
</td>
<td>Äîáàâëÿåò ãëîáàëüíûé áàí íà ëþáîãî, êòî ïîïàäàåò ïîä ìàñêó. Ñìîòðèòå ñèíòàêñèñ
êîìàíäû kline. ×òîáû óáðàòü, èñïîëüçóéòå /gline -ïîëüçîâàòåëü@õîñò.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">shun [+|-]&lt;ïîëüçîâàòåëü@õîñò | íèê&gt; [&lt;äëèòåëüíîñòü
áàíà&gt; &lt;ïðè÷èíà&gt;]<br>
</td>
<td>Çàïðåùàåò ïîëüçîâàòåëþ ãîâîðèòü è âûïîëíÿòü ËÞÁÓÞ êîìàíäó. Shun ãëîáàëåí (êàê
gline). Ñìîòðèòå ñèíòàêñèñ êîìàíäû kline. ×òîáû óáðàòü, èñïîëüçóéòå /shun
-ïîëüçîâàòåëü@õîñò.
<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">gzline [+|-]&lt;ip&gt; &lt;äëèòåëüíîñòü áàíà&gt; :&lt;ïðè÷èíà&gt;<br>
</td>
<td>Äîáàâëÿåò ãëîáàëüíûé zline. Ñìîòðèòå ñèíòàêñèñ êîìàíäû kline. ×òîáû óáðàòü
gzline, èñïîëüçóéòå /gzline -*@ip.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">rehash &lt;ñåðâåð|global&gt; &lt;ôëàãè&gt;</td>
<td>Îñóùåñòâëÿåò ðåõýø (Rehash - ïåðå÷èòàòü) êîíôèãóðàöèîííûõ ôàéëîâ ñåðâåðà. Åñëè
óêàçàíî èìÿ ñåðâåðà, òî ïîçâîëÿåò îñóùåñòâèòü ðåõýø êîíôèãóðàöèîííîãî ôàéëà íà
óäàë¸ííîì ñåðâåðå. Åñëè óêàçàí -global, òî áóäåò ïðîèçâåä¸í ðåõýø
ÂÑÅÕ ñåðâåðîâ â âàøåé ñåòè (òðåáóåò ïðàâ NetAdmin).
Äîñòóïíû íåêîòîðûå ôëàãè:<br>
-motd - Îñóùåñòâëÿåò ðåõýø âñåõ MOTD è RULES ôàéëîâ (âêëþ÷àÿ tld {})<br>
-opermotd - îñóùåñòâëÿåò ðåõýø òîëüêî ôàéëà OPERMOTD<br>
-botmotd - îñóùåñòâëÿåò ðåõýø òîëüêî ôàéëà BOTMOTD<br>
-garbage - çàïóñêàåò ñáîð ìóñîðà<br>
-ssl - ïåðåçàãðóæàåò ñåðòèôèêàòû SSL<br>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">restart &lt;ïàðîëü&gt; &lt;ïðè÷èíà&gt;<br>
</td>
<td>Ïåðåçàïóñêàåò ïðîöåññ IRCD. Íåîáõîäèì ïàðîëü, åñëè ïðèñóòñòâóåò áëîê drpass {
}. Ïî æåëàíèþ ìîæíî óêàçàòü ïðè÷èíó.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">die &lt;ïàðîëü&gt;<br>
</td>
<td>Îñòàíàâëèâàåò ïðîöåññ IRCD. Ïàðîëü íåîáõîäèì, åñëè ïðèñóòñòâóåò áëîê drpass {
}.</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">lag &lt;ñåðâåð&gt;
<br>
</td>
<td>Äàííàÿ êîìàíäà ðàáîòàåò êàê Sonar èëè Traceroute äëÿ IRC ñåðâåðîâ. Åñëè âû
íàïå÷àòàåòå /LAG irc.fyremoon.net òî âàì îòâåòèò êàæäûé ñåðâåð, ÷åðåç êîòîðûé
ïðîõîäèò ñîåäèíåíèå, ñ óêàçàíèåì âðåìåíè. Èñïîëüçóåòñÿ äëÿ íàõîæäåíèÿ çàäåðæåê.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">sethost &lt;íîâûé_õîñò&gt;</td>
<td>Ïîçâîëÿåò èçìåíèòü âàø vhost íà ëþáîé.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">setident &lt;íîâûé_èäåíò&gt;<br>
</td>
<td>Ïîçâîëÿåò èçìåíèòü âàø èäåíò íà ëþáîé<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">chghost &lt;íèê&gt; &lt;íîâûé_õîñò&gt;<br>
</td>
<td>Ïîçâîëÿåò èçìåíèòü õîñò äëÿ ïîäêëþ÷åííîãî ïîëüçîâàòåëÿ<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">chgident &lt;íèê&gt; &lt;íîâûé_èäåíò&gt;<br>
</td>
<td>Ïîçâîëÿåò èçìåíèòü èäåíò äëÿ ïîäêëþ÷åííîãî ïîëüçîâàòåëÿ<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">chgname &lt;íèê&gt; &lt;íîâîå_èìÿ&gt;<br>
</td>
<td>Ïîçâîëÿåò èçìåíèòü ðåàëüíîå èìÿ [real name] ïîäêëþ÷åííîãî ïîëüçîâàòåëÿ<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">squit &lt;ñåðâåð&gt;<br>
</td>
<td>Îòêëþ÷àåò ñåðâåð îò ñåòè<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">connect &lt;ñåðâåð&gt; &lt;ïîðò&gt; &lt;ñåðâåð&gt;</td>
<td>Åñëè óêàçàí òîëüêî îäèí ñåðâåð, òî âàø òåêóùèé ñåðâåð ïîïûòàåòñÿ ïîäêëþ÷èòüñÿ ê
óêàçàííîìó. Åñëè óêàçàíû 2 ñåðâåðà, òî ïåðâûé áóäåò ïîäêëþ÷àòüñÿ íà óêàçàííûé
ïîðò êî âòîðîìó.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">dccdeny &lt;ìàñêà_ôàéëà&gt; &lt;ïðè÷èíà&gt;<br>
</td>
<td>Äîáàâëÿåò â DCCDENY ìàñêó ôàéëà, òåì ñàìûì áëîêèðóÿ åãî ïåðåäà÷ó.</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">undccdeny &lt;ìàñêà_ôàéëà&gt;<br>
</td>
<td>Óäàëÿåò èç DCCDENY óêàçàííóþ ìàñêó ôàéëà.</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">sajoin &lt;íèê&gt; &lt;êàíàë&gt;, &lt;êàíàë&gt;<br>
</td>
<td>Ïðèíóäèòåëüíî çàáðàñûâàåò ïîëüçîâàòåëÿ íà êàíàë(-û). Äîñòóïíî òîëüêî äëÿ
àäìèíèñòðàòîðîâ ñåòè è ñåðâèñîâ.</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">sapart &lt;íèê&gt; &lt;êàíàë&gt;, &lt;êàíàë&gt;<br>
</td>
<td>Ïîëüçîâàòåëü ïðèíóäèòåëüíî ïîêèäàåò êàíàë(-û). Äîñòóïíî òîëüêî äëÿ
àäìèíèñòðàòîðîâ ñåòè è ñåðâèñîâ.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">samode &lt;êàíàë&gt; &lt;ðåæèì&gt;<br>
</td>
<td>Ïîçâîëÿåò àäìèíèñòðàòîðàì ñåòè è ñåðâèñîâ èçìåíèòü ðåæèìû êàíàëà áåç ñòàòóñà
îïåðàòîðà êàíàëà.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">rping &lt;ìàñêà_ñåðâåðà&gt;<br>
</td>
<td>Âû÷èñëÿåò â ìèëëèñåêóíäàõ çàäåðæêó ìåæäó ñåðâåðàìè<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">trace &lt;ìàñêà_ñåðâåðà|íèê&gt;<br>
</td>
<td>Åñëè áóäåò óêàçàí íèê, êîìàíäà âûäàñò âàì åãî êëàññ è èíôîðìàöèþ î çàäåðæêå.
Åñëè óêàçàí ñåðâåð, êîìàíäà ïîêàæåò èíôîðìàöèþ î class/version/link.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">opermotd
<br>
</td>
<td>Ïîêàçûâàåò ôàéë OperMotd ñåðâåðà<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="39">addmotd :&lt;òåêñò&gt;<br>
</td>
<td>Äîáàâèò óêàçàííûé òåêñò â êîíåö Motd<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">addomotd :&lt;òåêñò&gt;<br>
</td>
<td>Äîáàâèò óêàçàííûé òåêñò â êîíåö ôàéëà OperMotd<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">sdesc &lt;Íîâîå îïèñàíèå&gt;<br>
</td>
<td>Ïîçâîëÿåò àäìèíèñòðàòîðàì ñåðâåðà èçìåíèòü èíôîðìàöèþ î ñâîåì ñåðâåðå áåç åãî
ïåðåçàïóñêà.<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">addline &lt;òåêñò&gt;<br>
</td>
<td>Ïîçâîëÿåò äîáàâèòü ñòðîêè â unrealircd.conf. Âû äîëæíû ïîäãðóçèòü ìîäóëü m_addline
÷òîáû èñïîëüçîâàòü ýòó êîìàíäó (íà÷èíàÿ ñ âåðñèè 3.2.9)<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr id="cmd_mkpasswd">
<td height="36">mkpasswd &lt;òèï&gt; &lt;ïàðîëü&gt;<br></td>
<td>Øèôðóåò &lt;ïàðîëü&gt; èñïîëüçóÿ &lt;òèï&gt; õýøèðîâàíèÿ.
Ñìîòðè <a href="#feature_authtypes">òèïû àóòåíòèôèêàöèè</a> äëÿ
äîñòóïíûõ ìåòîäîâ õýøèðîâàíèÿ.</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">tsctl offset +/- &lt;âðåìÿ&gt;<br>
</td>
<td>Íàñòðàèâàåò âñòðîåííûå ÷àñû â IRCD (ÍÅ èñïîëüçóéòå, åñëè âû äî êîíöà íå
ïîíèìàåòå, ×ÒÎ äåëàåò ýòà êîìàíäà)<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">tsctl time<br>
</td>
<td>Äà¸ò îò÷¸ò î TS</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">tsctl alltime</td>
<td>Äà¸ò îò÷¸ò î TS íà ÂÑÅÕ ñåðâåðàõ</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">tsctl svstime &lt;âðåìåííîå_ñìåùåíèå&gt;<br>
</td>
<td>Óñòàíàâëèâàåò âðåìÿ TS íà âñåõ ñåðâåðàõ (ÍÅ èñïîëüçóéòå, åñëè âû äî êîíöà íå
ïîíèìàåòå, ×ÒÎ äåëàåò ýòà êîìàíäà)<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">htm &lt;îïöèÿ&gt;<br>
</td>
<td>Êîíòðîëèðóåò íàñòðîéêè ðåæèìà ïîâûøåííîãî òðàôèêà (high traffic mode). HTM
îòêëþ÷àåò íåêîòîðûå êîìàíäû ïîëüçîâàòåëÿ (list, whois, who è äðóãèå) â ñëó÷àå
ýêñòðåìàëüíî âûñîêîãî òðàôèêà íà ñåðâåðå. Îïöèè:
<br>
-ON - çàñòàâëÿåò ñåðâåð ïåðåêëþ÷èòñÿ â HTM
<br>
-OFF - çàñòàâëÿåò ñåðâåð âûéòè èç HTM
<br>
-NOISY - ñåðâåð áóäåò óâåäîìëÿòü ïîëüçîâàòåëåé è àäìèíèñòðàòîðîâ, êîãäà îí
âõîäèò èëè âûõîäèò èç ðåæèìà HTM<br>
-QUIET - ñåðâåð íå áóäåò óâåäîìëÿòü íèêîãî ïðè âõîäå/âûõîäå â/èç ðåæèìà HTM<br>
-TO &lt;çíà÷åíèå&gt; - óêàçûâàåò, ïðè êàêîé âåëè÷èíå âõîäÿùåãî òðàôèêà
àêòèâèðîâàòü HTM<br>
</td>
<td>Îïåðàòîð</td>
</tr>
<tr>
<td height="36">stats &lt;îïöèÿ&gt;<br>
</td>
<td>B - banversion - ïîêàçûâàåò ñïèñîê çàáàíåíûõ âåðñèé êëèåíòîâ<br>
b - badword - ïîêàçûâàåò ñïèñîê íåöåíçóðíûõ ñëîâ<br>
C - link - ïîêàçûâàåò ñïèñîê ëèíê-áëîêîâ<br>
d - denylinkauto - ïîêàçûâàåò ñïèñîê çàïðåù¸ííûõ ëèíê-áëîêîâ (auto)<br>
D - denylinkall - ïîêàçûâàåò ñïèñîê çàïðåù¸ííûõ ëèíê-áëîêîâ (âñå)<br>
e - exceptthrottle - ïîêàçûâàåò ñïèñîê èñêëþ÷åíèé òðîòòë-áëîêîâ<br>
E - exceptban - ïîêàçûâàåò ñïèñîê èñêëþ÷åíèé áàíîâ è tkl<br>
f - spamfilter - ïîêàçûâàåò ñïèñîê ñïàìôèëüòðîâ<br>
F - denydcc - ïîêàçûâàåò ñïèñîê çàïðåùåííûõ dcc<br>
G - gline - ïîêàçûâàåò ñïèñîê gline è gzline<br>
Ðàñøèðåííûå ôëàãè: [+/-mrs] [ìàñêà] [ïðè÷èíà] [óñòàíîâëåíî]<br>
m âîçâðàùàåò gline, ïîïàäàþùèå/íå ïîïàäàþùèå ïîä óêàçàííóþ ìàñêó<br>
r âîçâðàùàåò gline, ïîïàäàþùèå/íå ïîïàäàþùèå ïîä óêàçàííóþ ïðè÷èíó<br>
s âîçâðàùàåò gline, êîòîðûå áûëè óñòàíîâëåíû/íå áûëè óñòàíîâëåíû êëèåíòàìè ñ
óêàçàííûì èìåíåì<br>
I - allow - âîçâðàùàåò ñïèñîê allow-áëîêîâ<br>
j - officialchans - ïîêàçûâàåò ñïèñîê îôôèöèàëüíûõ êàíàëîâ ñåòè<br>
K - kline - ïîêàçûâàåò ñïèñîê áëîêîâ áàíîâ user/ban ip/except<br>
l - linkinfo - ïîêàçûâàåò èíôîðìàöèþ î ñîåäèíåíèÿõ<br>
L - linkinfoall - ïîêàçûâàåò âñþ èíôîðìàöèþ î ñîåäèíåíèÿõ<br>
M - command - ïîêàçûâàåò, ñêîëüêî ðàç èñïîëüçîâàëàñü êàæäàÿ êîìàíäà<br>
n - banrealname - ïîêàçûâàåò ñïèñîê áàíîâ ïî íàñòîÿùåìó èìåíè[realname]<br>
O - oper - ïîêàçûâàåò îïåð-áëîêè<br>
P - port - ïîêàçûâàåò èíôîðìàöèþ î ïîðòàõ<br>
q - sqline - ïîêàçûâàåò ñïèñîê SQLINE<br>
Q - bannick - ïîêàçûâàåò ñïèñîê áàíîâ ïî íèêó<br>
r - chanrestrict - ïîêàçûâàåò ñïèñîê áëîêîâ deny/allow êàíàëîâ<br>
R - usage - ïîêàçûâàåò èíôîðìàöèþ îá èñïîëüçîâàíèè<br>
S - set - ïîêàçûâàåò ñïèñîê áëîêà set<br>
s - shun - ïîêàçûâàåò ñïèñîê shun<br>
Ðàñøèðåííûå ôëàãè: [+/-mrs] [ìàñêà] [ïðè÷èíà] [óñòàíîâëåíî]<br>
m Âîçâðàùàåò shun, ïîïàäàþùèå/íå ïîïàäàþùèå ïîä óêàçàííóþ ìàñêó<br>
r Âîçâðàùàåò shun, ïîïàäàþùèå/íå ïîïàäàþùèå ïîä óêàçàííóþ ïðè÷èíó<br>
s Âîçâðàùàåò shun, êîòîðûå áûëè óñòàíîâëåíû/íå óñòàíîâëåíû êëèåíòàìè ñ
óêàçàííûì èìåíåì
<br>
t - tld - ïîêàçûâàåò ñïèñîê áëîêîâ tld<br>
T - traffic - ïîêàçûâàåò èíôîðìàöèþ î òðàôôèêå<br>
u - uptime - ïîêàçûâàåò àïòàéì ñåðâåðà è ñ÷¸ò÷èê ïîäêëþ÷åíèé<br>
U - uline - ïîêàçûâàåò ñïèñîê áëîêà ulines<br>
v - denyver - ïîêàçûâàåò ñïèñîê áëîêîâ çàïðåù¸ííûõ äëÿ ëèíêîâêè âåðñèé ñåðâåðîâ<br>
V - vhost - ïîêàçûâàåò ñïèñîê áëîêîâ vhost<br>
X - notlink - ïîêàçûâàåò ñïèñîê ñåðâåðîâ, êîòîðûå â äàííûé ìîìåíò íå ïîäêëþ÷åíû<br>
Y - class - ïîêàçûâàåò ñïèñîê áëîêîâ class<br>
z - zip - ïîêàçûâàåò èíôîðìàöèþ î ñæàòèè òðàôèêà îò ñåðâåðîâ, åãî èñïîëüçóþùèõ
(åñëè âêëþ÷åíà ïîääåðæêà zip-êîìïðåññèè)<br>
Z - mem - ïîêàçûâàåò èíôîðìàöèþ îá èñïîëüçîâàíèè ïàìÿòè<br>
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="36">module<br>
</td>
<td>Ñïèñîê âñåõ çàãðóæåííûõ ìîäóëåé
</td>
<td>Âñå</td>
</tr>
<tr>
<td height="36">close<br>
</td>
<td>Äàííàÿ êîìàíäà îòñîåäèíÿåò îò ñåðâåðà âñå íåèçâåñòíûå ñîåäèíåíèÿ.
</td>
<td>Îïåðàòîð</td>
</tr>
</table>
<p></p>
</div>
<p><font size="+2"><b>8 – Ñîâåòû/ðåêîìåíäàöèè ïî áåçîïàñíîñòè<a name="security"></a></b></font></p>
<div class="desc">
<p>Åñëè âàñ âîëíóþò âîïðîñû áåçîïàñíîñòè, äàííûé ðàçäåë ïîìîæåò ïîëó÷èòü
ïðåäñòàâëåíèå î âîçìîæíûõ ðèñêàõ. Âû ìîæåòå èñïîëüçîâàòü äàííûé ðàçäåë, êàê
ñïèñîê ðåêîìåíäàöèé äëÿ ïîñòðîåíèÿ äåéñòâèòåëüíî íàäåæíîé â ïëàíå áåçîïàñíîñòè
IRC-ñåòè.</p>
<p>Ñïèñîê îòñîðòèðîâàí ïî ïîïóëÿðíîñòè/óðîâíþ ðèñêà íàèáîëåå ÷àñòî èñïîëüçóåìûõ
àòàê:</p>
</div>
<P></P>
<p><b><font size="+2">8.1 Ïàðîëè</font></b><a name="secpasswords"></a><br>
<div class="desc">Âûáèðàéòå ñëîæíûå ïàðîëè äëÿ îïåðàòîðîâ, ëèíê-ñåêöèé è äð.:<br>
- èñïîëüçóéòå ñìåñü ïðîïèñíûõ è ñòðî÷íûõ áóêâ è öèôð ("Whbviwf5") è/èëè ÷òî-òî
äëèííîå ("blaheatsafish", "AlphaBeta555").<br>
- ÍÅ ÈÑÏÎËÜÇÓÉÒÅ âàøè ëèíê/îïåðàòîð ïàðîëè òàêèå æå, êàê îò ïî÷òîâûõ ÿùèêîâ,
ôîðóìîâ, ïàðîëåé íà áîòîâ è ò.ï...<br>
</div>
<P></P>
<p><b><font size="+2">8.2 Íå îòíîñÿùèåñÿ ê IRCD óÿçâèìîñòè</font></b><a name="secnonircd"></a><br>
<div class="desc">Ãîðàçäî áîëüøå øàíñîâ, ÷òî âàø ñåðâåð áóäåò õàêíóò ÷åðåç äðóãóþ
óÿçâèìîñòü, ÷åì ÷åðåç áàã â UnrealIRCd. Ê ïðèìåðó, åñëè íà ñåðâåðå çàïóùåíû åù¸
è http, dns, smtp è ftp ñåðâèñû, òî ðèñê âîçðàñòàåò. Òàêæå, åñëè ñåðâåð
ìíîãîïîëüçîâàòåëüñêèé (ò.å. ó âàñ åñòü øåëë), âîçðàñòàåò ðèñê ëîêàëüíûõ
ýêñïëîèòîâ è ïëîõèõ óðîâíåé äîñòóïà (ñì. äàëåå). Ýòîò ðèñê íàèáîëåå îïàñåí, òàê
÷òî áóäüòå âíèìàòåëüíû ïðè âûáîðå ïîñòàâùèêà øåëëà.
</div>
<P></P>
<p><b><font size="+2">8.3 Ðàçðåøåíèÿ[permissions] è êîíôèãóðàöèîííûé ôàéë</font></b><a name="secpermissions"></a><br>
<div class="desc">
Âñåãäà ïðîâåðÿéòå, ïðàâèëüíîñòü ðàçðåøåíèé äëÿ âàøåé äîìàøíåé äèðåêòîðèè è
äèðåêòîðèè UnrealIRCd, ãðóïïû/îñòàëüíûå íå äîëæíû èìåòü ðàçðåøåíèå íà ÷òåíèå.
Èíà÷å ëþáîé ëîêàëüíûé ïîëüçîâàòåëü ìîæåò ïðîñòî ïîñìîòðåòü âàø êîíôèãóðàöèîííûé
ôàéë, à â í¸ì-òî âàøè ïàðîëè... Âêðàòöå: <i>chmod -R go-rwx /path/to/Unreal3.2</i>
åñëè âû íå óâåðåíû.<br>
Äðóãèå âåùè, îòíîñÿùèåñÿ ê äàííîé ïðîáëåìå: íèêîãäà íå êëàäèòå âàø UnrealIRCd â
êàòàëîã âåáñåðâåðà èëè â êàêóþ-íèáóäü äðóãóþ ðàçäåëÿåìóþ äèðåêòîðèþ. È äëÿ
áýêàïîâ, óäîñòîâåðüòåñü, ÷òî âû èìååòå ïðàâèëüíûå ðàçðåøåíèÿ (èíîãäà ÷àñòî
áûâàåò, ÷òî âñ¸ çàùèùåíî, à backup.tar.gz ìîæåò ïðî÷èòàòü ëþáîé ÷åëîâåê).<br>
<br>
Åñëè âû æåëàåòå <a href="#passwords" title="Òèïû ïàðîëåé">çàøèôðîâàòü ïàðîëè</a> âåçäå,
ãäå òîëüêî âîçìîæíî, âàì íåîáõîäèìî ñêîìïèëèðîâàòü ñåðâåð ñ ïîääåðæêîé OpenSSL (âû æå çàáîòèòåñü î ñâîåé
áåçîïàñíîñòè?), òîãäà ìîæíî èñïîëüçîâàòü <i>sha1,</i> <i>ripemd160</i> èëè <I>md5 </I>
ìåòîäû øèôðàöèè ïàðîëåé . Åñëè ó âàñ îñòàëèñü çàøèôðîâàííûå áëîêè îò
Unreal3.2.1 èëè áîëåå ðàííåé âåðñèè, ÿ ïðåäëàãàþ âàì ïåðåçàøèôðîâàòü (ïðîñòî
ïåðåçàïóñòèòü /mkpasswd), ïîòîìó ÷òî 3.2.1 áûëà ñ íåêîòîðûìè óÿçâèìîñòÿìè.<br>
Çàìå÷ó, ÷òî ýòî ïðîñòî 'äðóãîé óðîâåíü çàùèòû', òàê ÷òî åñëè âû îñòàâèòå ñòàðûå
ïàðîëè, òî îíè ìîãóò áûòü ñëîìàíû äîâîëüíî ëåãêî. Åñëè êòî-òî ïîëó÷èò äîñòóï ê
âàøåìó ôàéëó êîíôèãóðàöèè, ìîæíî óçíàòü ìíîãî èíòåðåñíûõ âåùåé, òàêèõ êàê
link::password-connect äëÿ àòàêè íà äðóãèå ñåðâåðà.
</div>
<P></P>
<p><b><font size="+2">8.4 Ïðîáëåìû, îòíîñÿùèåñÿ ê ïîëüçîâàòåëÿì</font></b><a name="secuser"></a><br>
<div class="desc">
Ýòî íå ñïåöèôèêà UnrealIRCd, íî âñ¸ æå åñòü âåùè, çàâèñèìûå îò ïîëüçîâàòåëåé...<br>
Âñåãäà âûáèðàéòå âàøèõ îïåðàòîðîâ è àäìèíèñòðàòîðîâ î÷åíü âíèìàòåëüíî. È âñåãäà
ïîìíèòå, ÷òî ýòî - ñàìîå ñëàáîå çâåíî. Ìîæåò âû íå ïîëíîñòüþ ïðî÷èòàëè äàííûé
äîêóìåíò, ìîæåò âàø äðóã, êàê îïåðàòîð, ñäåëàåò ÷òî-òî ãëóïîå. Íàïðèìåð
ðàñøàðèò ñâîé æ¸ñòêèé äèñê ÷åðåç netbios/kazaa/morpheus/.., ïîëó÷èò òðîÿíà,
áóäåò èñïîëüçîâàòü ïðîñòîé ïàðîëü è ïðî÷. è ïðî÷. è ïðî÷. Íå âñ¸ æå íàõîäèòñÿ
ïîä âàøèì êîíòðîëåì.<br>
È åù¸, âñåãäà î÷åíü âíèìàòåëüíî âûáèðàéòå óðîâíè ïðèâèëåãèé äëÿ
ëþäåé(oper::flags), óêàçûâàéòå òîëüêî ñàìûå íåîáõîäèìûå.
</div>
<P></P>
<p><b><font size="+2">8.5 SSL/SSH &amp; ñíèôôèíã</font></b><a name="secsnif"></a><br>
<div class="desc">
Èñïîëüçóéòå çàøèôðîâàííîå ïî SSL ñîåäèíåíèå ìåæäó ñåðâåðàìè è êàê îïåðàòîð, ýòî
çàùèòèò âàñ îò ïåðåõâàòà òðàôèêà. Ïåðåõâàò òðàôèêà âîçìîæåí, åñëè àòàêóþùèé
õàêíóë ñåðâåð ãäå-òî ìåæäó âàìè è âàøèì ñåðâåðîì, òîãäà îí ìîæåò âèäåòü ÂÅÑÜ
ñåòåâîé òðàôèê, êîòîðûé ïðîõîäèò ÷åðåç íåãî: ñìîòðåòü âñå äàííûå, çàõâàòûâàòü
âñå ïàðîëè (ëîãèíû îïåðàòîðîâ, ñåðâèñîâ è ò.ä.). Ïî ýòîìó, âñåãäà èñïîëüçóéòå
ssh âìåñòî telnet.
</div>
<P></P>
<p><b><font size="+2">8.6 Îòêàç â îáñëóæèâàíèè (DoS) [èëè: êàê çàùèòèòü ìîé õàá]</font></b><a name="secDoS"></a><br>
<div class="desc">
Áîëüøèíñòâî ñåòåé èìåþò ïå÷àëüíûé îïûò àòàê ôëóäåðîâ èëè àòàê âèäà "îòêàç â
îáñëóæèâàíèè". Áîëüøèíñòâî ñåòåé èìåþò ãëàâíûé õàá-ñåðâåð, îäíàêî åãî çàáûâàþò
çàùèòèòü îò àòàê.<br>
ß âàì îáúÿñíþ:<br>
1. Óñòàíîâèòå èìÿ õàáà, íî íå äîáàâëÿéòå äëÿ íåãî çàïèñü â dns. Äàííûì îáðàçîì,
àòàêóþùèé íå ñìîæåò ïðåîáðàçîâàòü õîñò è íå ñìîæåò åãî çàôëóäèòü. Ïî ýòîìó
ïðîñòî ñîåäèíÿéòå âàøè ñåðâåðà íà õàá ÷åðåç IP àäðåñ èëè äðóãèì, íåïóáëè÷íûì
õîñòíåéìîì.<br>
Ïðèìåð 1: <i>link visibiblename.yournet.com { hostname 194.15.123.16; [etc] };</i>.<br>
Ïðèìåð 2: <i>link visibiblename.yournet.com { hostname
thehostnamethatworks.yournet.com; [etc] };</i>.<br>
Çàìå÷àíèå, ÷òî â ïîñëåäíåì ïðèìåðå âû äîëæíû áûòü óâåðåíû,<br>
÷òî âàø dns ñåðâåð íå ïîçâîëÿåò ïåðåäà÷ó çîí, íî ýòî óæå ñîâñåì äðóãàÿ èñòîðèÿ
;).<br>
2. Äðóãèì âàæíûì øàãîì áóäåò ñêðûòèå ðåçóëüòàòà êîìàíäû '/stats c' è äðóãîé
stats èíôîðìàöèè, èíà÷å àòàêóþùèå ìîãóò ïðîñòî ïðîñìîòðåòü âàøè áëîêè
ñîåäèíåíèé. Îáû÷íî, åñëè âû ïàðàíîèê (êàê è ÿ), âû ìîæåòå ïðîñòî ñäåëàòü: set {
oper-only-stats "*"; }; ÷òîáû îãðàíè÷èòü èñïîëüçîâàíèå /stats ïîëíîñòüþ.<br>
Åñëè âû íå õîòèòå ýòîãî, ïðîñòî ñêðîéòå "CdDlLXz". Áîëåå ïîäðîáíî îá ýòîì
îáúÿñíåíî â ñëåäóþùåé ñåêöèè.<br>
<br>
Êîíå÷íî, äàííûå øàãè ñòàíóò ìåíåå ýôôåêòèâíûìè, åñëè âû ýòî ñäåëàåòå ïîçæå
(íàïðèìåð, ÷åðåç íåñêîëüêî ìåñÿöåâ),<br>
÷åì åñëè áû âû ýòî ñäåëàëè ñ ñàìîãî íà÷àëà, ïîòîìó ÷òî IP àäðåñà óæå ñìîãëè
óçíàòü ïëîõèå ïàðíè.<br>
Àòàêóþùèå ìîãóò çàôëóäèòü ñåðâåðà, íå ÿâëÿþùèåñÿ õàáàìè, îäíàêî ýòî èì äîñòàâèò
áîëüøå òðóäíîñòåé, ÷åì ïðîñòî àòàêîâàòü îäíó èëè 2 òî÷êè (õàáû), è âàøè õàáû è
ñåðâèñû áóäóò îñòàâàòüñÿ æèâûìè :).<br>
</div>
<P></P>
<p><b><font size="+2">8.7 Ðàñêðûòèå èíôîðìàöèè</font></b><a name="secinformation"></a><br>
<div class="desc">
<b>STATS</b><br>
Êîìàíäà /stats âåñüìà èíôîðìàòèâíà, ïî ýòîìó, âåðîÿòíî, âû çàõîòèòå îãðàíè÷èòü
ê íåé äîñòóï. Âîïðîñ, êîòîðûé âû äîëæíû çàäàòü ñåáå: "×òî ÿ õî÷ó, ÷òîáû âèäåëè
ìîè ïîëüçîâàòåëè?". Áîëüøèíñòâî áîëüøèõ ñåòåé îòâå÷àþò "íè÷åãî", â òî âðåìÿ,
êàê äðóãèå ïîçâîëÿþò âèäåòü äàæå '/stats g' è '/stats k'.<br>
ß âàì ïðåäëàãàþ èñïîëüçîâàòü <i>set { oper-only-stats "*"; };</i> ÷òîáû
çàïðåòèòü âñþ èíôîðìàöèþ îò /stats äëÿ ïîëüçîâàòåëåé, îäíàêî, åñëè âû íå õîòèòå
ýòîãî äåëàòü, ïðîéäèòåñü ïî ñïèñêó '/stats' (÷òîáû ïðîñìîòðåòü âñå îïöèè) è
áëîêèðîâàòü âñ¸, êðîìå òîãî, ÷òî âû õîòèòå ðàçðåøèòü (åñëè âû íå óâåðåíû, òî
ëó÷øå çàïðåòèòü. Ïî÷åìó îíè äîëæíû âèäåòü òî, â ÷¸ì íå óâåðåíû âû?).<br>
Âîò âàì íåñêîëüêî ïðèìåðîâ:<br>
- /stats o: âûäà¸ò íèêè îïåðàòîðîâ (ñ ïðàâèëüíûì ðåãèñòðîì) è èõ õîñòìàñêè.<br>
- /stats c: âûäà¸ò èíôîðìàöèþ î âîçìîæíûõ ñîåäèíåíèÿõ ñåðâåðîâ, êîòîðûå
èñïîëüçóþòñÿ êàê "çàïàñíûå" è äð.<br>
- /stats g, /stats k: îáû÷íî èñïîëüçóåòñÿ äëÿ çàáàíåíûõ ïðîêñè... òàê æå ïðîñòî
äà¸ò àòàêóþùèì ñïèñîê ïðîêñè, êîòîðûå îíè ìîãóò èñïîëüçîâàòü.<br>
- /stats E, /stats e: çàìå÷àòåëüíàÿ èíôîðìàöèÿ, îñîáåííî åñëè àòàêóþùèé ðåøèò
èñïîëüçîâàòü ýòè àäðåñà<br>
- /stats i, /stats y: ìîæåò ïîìî÷ü àòàêóþùåìó íàéòè õîñòû, ïîçâîëÿþùèå ìíîãî
ñîåäèíåíèé.<br>
- /stats P: ïîçâîëÿåò íàéòè åìó òîëüêî ïîðòû ñåðâåðîâ<br>
è ïðî÷. è ïðî÷.<br>
<br>
<b>MAP / LINKS</b><br>
Íåêîòîðûå ëþäè ñïðàøèâàþò, êàê îòêëþ÷èòü èñïîëüçîâàíèå êîìàíä /map è /links.
Íàøà ïîçèöèÿ òàêîâà, ÷òî ëó÷øå ýòîãî íå äåëàòü, ýòî íå ëó÷øèé âûõîä äëÿ çàùèòû,
ïîçâîëüòå îáúÿñíèòü... Ñêðûòèå âàøèõ ñåðâåðîâ áóäåò áåñïîëåçíî, åñëè
ïîëüçîâàòåëè óæå èñïîëüçóþò èõ (èíà÷å, êàê îíè ïîïàëè ê âàì â ïåðâûé ðàç?).
Ñìîòðèòå ñåêöèþ 8.6, åñëè âû õîòèòå ñêðûòü ñåðâåðà.<br>
Òàê âñ¸ æå, ÷òî æå âû ÌÎÆÅÒÅ ñäåëàòü? Íà÷èíàÿ ñ âåðñèè 3.2.1 ñóùåñòâóåò îïöèÿ,
íàçûâàåìàÿ 'ðîâíàÿ êàðòà' (set::options::flat-map), êîòîðàÿ îòîáðàæàåò âñå
ñåðâåðà êàê "ïðèñîåäèí¸ííûå íåïîñðåäñòâåííî" ïî êîìàíäàì /map è /links, ïî
ýòîìó îáû÷íûå ïîëüçîâàòåëè íå âèäÿò, êóäà ïðèëèíêîâàí êàêîé ñåðâåð... Ýòî
îòëè÷íîå äîïîëíèòåëüíîå ñðåäñòâî çàùèòû îò ìàëûøåé, êîòîðûå óæå íå ñìîãóò ëåãêî
îòñëåäèòü "öåíòðàëüíûå òî÷êè" ñ ïîìîùüþ /map èëè /links. Ïî ýòîìó,
èñïîëüçîâàíèå äàííîé âåùè ðåêîìåíäîâàíî. Çàìå÷àíèå: ýòî íå ÿâëÿåòñÿ ïîëíîé
çàùèòîé. Ïðè ëþáîì ñïëèòå (ïîòåðå ñîåäèíåíèÿ) ìîæíî óâèäåòü, ìåæäó êàêèìè
ñåðâåðàìè ýòî ïðîèçîøëî.<br>
<br>
<b>ÎÁÛ×ÍÛÅ ÏÎËÜÇÎÂÀÒÅËÈ È SNOMASKs</b><br>
Åù¸ îäíî ïðåèìóùåñòâî, êîòîðîå ëó÷øå îãðàíè÷èòü äëÿ íîðìàëüíûõ ïîëüçîâàòåëåé -
ýòî snomasks, êîòîðûå íàçûâàþòñÿ +s +sk. Åñëè îíè áóäóò óñòàíîâëåíû, òî
ïîëüçîâàòåëè ìîãóò âèäåòü ðåõýøè, kill'û è äðóãèå ðàçëè÷íûå ñîîáùåíèÿ.<br>
×òîáû îòêëþ÷èòü èõ, èñïîëüçóéòå set::restrict-usermodes, ÷òî-òî âðîäå: <i>set {
restrict-usermodes "s"; };</i>.<br>
<br>
Êîíå÷íî æå, âñÿ ýòà " èíôîðìàöèÿ äëÿ ñêðûòèÿ" íå ÿâëÿåòñÿ "íàñòîÿùåé"
áåçîïàñíîñòüþ, îäíàêî ïîçâîëÿåò óñëîæíèòü/óâåëè÷èòü ñëîæíîñòü, íåîáõîäèìóþ äëÿ
àòàêè/âçëîìà.<br>
</div>
<P></P>
<p><b><font size="+2">8.8 Çàùèòà ïðîòèâ ýêñïëîèòîâ</font></b><a name="secantiexploit"></a><br>
<DIV class="desc">Ïàò÷è ÿäðà óñëîæíÿþò çàäà÷ó âçëîìà îò ðàçëè÷íûõ òèïîâ àòàê. Ïî
ýòîìó Unreal íå ÿâëÿåòñÿ öåíòðàëüíîé òî÷êîé, êîòîðóþ áóäóò àòàêîâàòü, ãîðàçäî
áîëüøàÿ âåðîÿòíîñòü, ÷òî àòàêà áóäåò èäòè ñ äðóãîé ñòîðîíû... ïî ðàçëè÷íûì
ïðè÷èíàì.<br>
</DIV>
<DIV class="desc">Åù¸ îäèí èç ñïîñîáîâ îáåçîïàñèòü ñåáÿ (òîëüêî â *NIX ñèñòåìàõ) -
chroot. Ïðè èñïîëüçîâàíèè äàííîãî ñðåäñòâà, åñëè ñåðâåð òàêè âçëîìàþò, òî
çëîóìûøëåííèê íå ñìîæåò âûéòè çà ïðåäåëû äèðåêòîðèè UnrealIRCd è,
ñîîòâåòñòâåííî, íå ñìîæåò ïðè÷èíèòü âðåäà äðóãèì ôàéëàì è ñèñòåìå. Äàííûé
ñïîñîá òðåáóåò ïðàâ äîñòóïà root, èçìåíåíèÿ ôàéëà include/config.h (ïîèùèòå
CHROOTDIR, à òàê æå óñòàíîâèòå IRC_USER è IRC_GROUP) è ïåðåêîìïèëèðîâàíèè.
<br>
</DIV>
<DIV class="desc">
Ïåðâîå, ÷òî âû äîëæíû ñäåëàòü - ýòî ÂÑÅÃÄÀ ÈÑÏÎËÜÇÎÂÀÒÜ ÏÎÑËÅÄÍÞÞ ÂÅÐÑÈÞ,
ïîýòîìó ïðÿìî ñåé÷àñ ïîäïèøèòåñü íà <a href="http://lists.sourceforge.net/mailman/listinfo/unreal-notify" target="_blank">
ðàññûëêó ïî óâåäîìëåíèÿì îò unreal</a>, è âû áóäåòå ïîëó÷àòü óâåäîìëåíèÿ î
ðåëèçàõ (unreal-notify ñëóæèò òîëüêî äëÿ ðåëèçîâ, ò.å. îäíî ïèñüìî â X
ìåñÿöåâ). Ïðèõîäÿò óâåäîìëåíèÿ îá èñïðàâëåííûõ óÿçâèìîñòÿõ âûñîêîãî ðèñêà,
äîáàâëåíèÿõ îáíîâëåíèé äëÿ îáåñïå÷åíèÿ áåçîïàñíîñòè.<br>
</DIV>
<P></P>
<p><b><font size="+2">8.9 Èòîãè</font></b><a name="secsummary"></a><br>
<div class="desc">
Âû äîëæíû õîðîøî ïîíèìàòü, ÷òî íèêîãäà íå áóäåòå çàùèùåíû íà 100%. Âû (è ìû)
íàõîäèì è èñïðàâëÿåì êàæäóþ óÿçâèìîñòü, îäíàêî àòàêóþùåìó äîñòàòî÷íî áóäåò
âîñïîëüçîâàòüñÿ îäíèì "äûðÿâûì" ñåðâåðîì, ÷òîáû ïàðàëèçîâàòü ðàáîòó ñåòè. Âñ¸,
÷òî áûëî îïèñàíî âûøå - ýòî ïîìîùü, ÷òîáû ñîêðàòèòü è óìåíüøèòü âåðîÿòíîñòü
ðèñêà. Íàéäèòå âðåìÿ äëÿ çàùèòû ñâîåé ñåòè è îáó÷åíèÿ âàøèõ îïåðàòîðîâ. È
ïîìíèòå, ÷òî ìíîãèå ëþäè íå áåñïîêîÿòñÿ î çàùèòå äî òåõ ïîð, ïîêà èõ íå
âçëîìàþò... è ïîïðîáóéòå ýòî îïðîâåðãíóòü ;).
</div>
<P></P>
<p><font size="+2"><b>9 – ×àñòî çàäàâàåìûå âîïðîñû (×ÀÂÎ)<a name="faq"></a></b></font></p>
<div class="desc"><p>×ÀÂÎ äîñòóïíû â ñåòè Èíòåíåò ïî <a href="http://www.vulnscan.org/UnrealIRCd/faq/" TARGET="_blank">
ýòîìó àäðåñó</a>.</p>
</div>
<p></p>
<p id="modules"><font size="+2"><b>10 &#8211; Modules</b></font></p>
<div class="desc">
<p>Äàííàÿ ñåêöèÿ îïèñûâàåò ìîäóëè, èäóùèå â êîìïëåêòå ñ UnrealIRCd.
Ê ñîæàëåíèþ â íàñòîÿùåå âðåìÿ òîëüêî îäèí ìîäóëü, èäóùèé âìåñòå ñ
UnrealIRCd, äîêóìåíòèðîâàí.</p>
</div>
<p id="modules_m_nopost"><font size="+2"><b>10.1 <a href="#modules_m_nopost">m_nopost</a></b></font><br />
Äàííûé ìîäóëü àâòîìàòè÷åñêè áàíèò ëþáîãî ïîëüçîâàòåëÿ, êòî ïûòàåòñÿ èñïîëüçîâàòü çàïðîñ â ñòèëå HTTP.
Ìîäóëü áûë íàïèñàí Syzop â îòâåò íà èñïîëüçîâàíèå Firefox XPS àòàê, êîòîðûå ïîçâîëÿëè AJAX-ñîâìåñòèìûì
áðàóçåðàì âûñòóïàòü â ðîëè ñïàìáîòîâ â IRC. Âûáðàòü, ÷òî áóäåò äåëàòü ìîäóëü m_nopost, êîãäà ïîëó÷èò
ïîäîáíûé çàïðîñ, ìîæíî â ñåêöèè <a href="#set_nopost_ban_action"> set::nopost::ban-action</a> è
<a href="#set_nopost_ban_time">set::nopost::ban-time</a>.<br />
Ìîäóëü ïîÿâèëñÿ â UnrealIRCd âåðñèè 3.2.9 è êîìïèëèðóåòñÿ â commands.so, òàê ÷òî îí çàãðóæàåòñÿ àâòîìàòè÷åñêè â
áîëüøèíñòâå ñëó÷àåâ.</p>
<p><font size="+2"><b>Ðåãóëÿðíûå âûðàæåíèÿ<a name="regex"></a></b></font></p>
<div class="desc"><p>Ðåãóëÿðíûå âûðàæåíèÿ ÷àñòî èñïîëüçóþòñÿ â Unreal (íàïðèìåð, â
badwords, spamfilter, è aliases), îíè ÿâëÿþòñÿ îòëè÷íûì èíñòðóìåíòîì äëÿ ïîèñêà
è çàìåíû ïî îáðàçöó. Èíîãäà âñòðå÷àþòñÿ ñîêðàùåíèÿ âðîäå "regexp (ðåãåêñï)" èëè
"regex (ðåãåêñ)". Unreal èñïîëüçóåò TRE áèáëèîòåêó ðåãóëÿðíûõ âûðàæåíèé,
êîòîðàÿ ïîääåðæèâàåò îáû÷íûé è ðàñøèðåííûé ñèíòàêñèñ. Èíôîðìàöèÿ,
ïðåäñòàâëåííàÿ íèæå, ïîìîæåò Âàì ïîíÿòü êàê ðàáîòàþò ðåãåêñû. Åñëè âû
çàèíòåðåñîâàíû â áîëåå ïîäðîáíîé èíôîðìàöèè, ïîñåòèòå <a href="http://www.laurikari.net/tre/" target="_new">
TRE homepage</a>.</p>
</div>
<p><font size="+2"><b>A.1 Ëèòåðàëû<a name="regexlit"></a></b></font></p>
<div class="desc"><p>Ëèòåðàëû ÿâëÿþòñÿ ñàìîé ïðîñòîé ÷àñòüþ ðåãóëÿðíûõ âûðàæåíèé.
Îáû÷íî ëèòåðàëû - ýòî ñèìâîëû, èç êîòîðûõ ñîñòîèò òåêñò. Íàïðèìåð, îáðàçåö
"test" ñîñòîèò èç ÷åòûðåõ ëèòåðàëîâ, "t," "e," "s," è "t."  Unreal ëèòåðàëû
÷óâñòâèòåëüíû ê ðåãèñòðó, òàê ÷òî ïðåäûäóùèé ðåãåêñ ñîîòâåòñòâóåò "test", â
îòëè÷èå îò "TEST". Ëþáîé ñèìâîë, êðîìå "ìåòàñèìâîëîâ", ðàññìàòðèâàåòñÿ êàê
ëèòåðàë. Âû ìîæåòå ïðåäñòàâèòü ëþáîé ñèìâîë êàê ëèòåðàë ñ ïîìîùüþ íàêëîííîé
÷åðòû (\). Íàïðèìåð, òî÷êà (.) ÿâëÿåòñÿ ìåòàñèìâîëîì. Åñëè âû õîòèòå
èñïîëüçîâàòü ëèòåðàë ".", ïðîñòî íàïèøèòå "\." . Òàêæå ýòî ïðèìåíèìî â ñëó÷àÿõ,
êîãäà âû õîòèòå íàéòè ñèìâîë, êîòîðûé òàê ïðîñòî íå ïå÷àòàåòñÿ, íàïðèìåð ASCII
ñèìâîë 3 (öâåò). Äëÿ ñîçäàíèÿ ýòîãî ñèìâîëà ìîæíî èñïîëüçîâàòü IRC êëèåíò, à
ìîæíî ñïåöèàëüíóþ êîíñòðóêöèþ ðåãåêñîâ \x. Åñëè âû íàáåðåòå \x3, ýòî
èíòåðïðåòèðóåòñÿ êàê ASCII ñèìâîë 3. Íîìåð ïîñëå \x ïðåäñòàâëåí â
øåñòíàäöàòåðè÷íîì âèäå è ìîæåò ïðèíèìàòü çíà÷åíèÿ îò \x0 äî \xFF.</p>
</div>
<p><font size="+2"><b>A.2 Îïåðàòîð "òî÷êà"<a name="regexdot"></a></b></font></p>
<div class="desc"><p>Îïåðàòîð òî÷êà (.) èíòåðïðåòèðóåòñÿ êàê "ëþáîé ñèìâîë". Îäíà
"òî÷êà" çàìåíÿåò îäèí ëþáîé ñèìâîë. Íàïðèìåð, ðåãåêñ "a.c" èíòåðïðåòèðóåòñÿ êàê
"abc", "adc" è ò.ä. Îäíàêî, ðåçóëüòàò íå ñîäåðæèò "abd", ïîòîìó ÷òî "a" è "c"
ÿâëÿþòñÿ ëèòåðàëàìè, êîòîðûå òî÷íî äîëæíû áûòü â îáðàçöå.</p>
</div>
<p><font size="+2"><b>A.3 Îïåðàòîðû ïîâòîðåíèÿ<a name="regexrep"></a></b></font></p>
<div class="desc"><p>
Îòëè÷èå îïåðàòîðîâ ïîâòîðåíèÿ â ðåãåêñàõ îò ïðèâû÷íûõ âñåì ñèìâîëîâ çàìåíû â
ìàñêàõ â òîì, ÷òî â ðåãåêñàõ "*" è "?" îçíà÷àþò ïîâòîðåíèå ïðåäûäóùåãî ñèìâîëà.
<p>
Îïåðàòîð "?" îçíà÷àåò ïîâòîðåíèå ïðåäûäóùåãî ñèìâîëà 0 èëè 1 ðàç. Íàïðèìåð,
ðåãåêñ "a?c" áóäåò ñîîòâåòñòâîâàòü îáðàçöàì "ac" èëè "c" (ò.å. ñèìâîë "a" ìîæåò
áûòü, à ìîæåò è íå áûòü). ×òîáû èñïîëüçîâàòü "?" êàê â çíàêîìûõ âàì ìàñêàõ,
ïðèìåíèì îïåðàòîð òî÷êè: ðåãåêñ "a.c" áóäåò ñîîòâåòñòâîâàòü îáðàçöó, â êîòîðîì
ìåæäó ñèìâîëàìè "a" è "c" áóäåò ëþáîé ñèìâîë.
<p>
Îïåðàòîð "*" îçíà÷àåò ïîâòîðåíèå ïðåäûäóùåãî ñèìâîëà 0 èëè áîëåå ðàç. Íàïðèìåð,
ðåãåêñ "a*c" áóäåò ñîîòâåòñòâîâàòü îáðàçöàì "ac", "aaaaaaac" èëè "c" (ñèìâîë
"a" ìîæåò ïîâòîðÿòüñÿ 0 èëè áîëåå ðàç). Êàê è â îïåðàòîðå "?", "*" ìîæíî
èñïîëüçîâàòü âìåñòå ñ òî÷êîé: ðåãåêñ "a.*c" áóäåò ñîîòâåòñòâîâàòü ïîâòîðåíèþ
ìåæäó "a" è "ñ" ëþáîãî ñèìâîëà 0 èëè áîëåå ðàç.
<p>
Îïåðàòîð "+" î÷åíü ïîõîæ íà "*". Îí îçíà÷àåò ïîâòîðåíèå ïðåäûäóùåãî ñèìâîëà 1
èëè áîëåå ðàç.
<p>
Áîëåå ñëîæíûì îïåðàòîðîì ïîâòîðåíèÿ ÿâëÿþòñÿ ôèãóðíûå ñêîáêè. Ñ èõ ïîìîùüþ âû
ìîæåòå óêàçàòü, ñêîëüêî ðàç äîëæåí ïîâòîðÿòüñÿ ïðåäûäóùèé ñèìâîë â îáðàçöå.
Íàïðèìåð, ðåãåêñ "a{5}" áóäåò ñîîòâåòñòâîâàòü "aaaaa" (ïîâòîðåíèå ñèìâîëà "a" 5
ðàç), ðåãåêñ "a{1,3}" - îò 1 äî 3 ðàç, ðåãåêñ "a{7,}" - 7 è áîëåå ðàç.
<p>
Ïî óìîë÷àíèþ, àëãîðèòì ïîèñêà â îïåðàòîðàõ ïîâòîðåíèÿ "æàäíûé". ×òîáû ïîíÿòü,
÷òî ýòî òàêîå, ðàññìîòðèì ïðèìåð:
<p>Èñõîäíûé òåêñò:<br>
ïåðâàÿ ÷àñòü, âòîðàÿ ÷àñòü<br>
Ðåãåêñ:<br>
.*÷àñòü<p>
 äàííîì ïðèìåðå íàéäåííûé ôðàãìåíò áóäåò "ïåðâàÿ ÷àñòü, âòîðàÿ ÷àñòü".
"Æàäíîñòü" ðåãåêñîâ ïîëó÷àåò ìàêñèìàëüíûé ïîäõîäÿùèé ôðàãìåíò èç îáðàçöà. ×òîáû
ýòîãî èçáåæàòü è ïîëó÷èòü ìèíèìàëüíûé (â íàøåì ñëó÷àå "ïåðâàÿ ÷àñòü"), ïîñëå
îïåðàòîðà "*" íàäî èñïîëüçîâàòü "?". Ýòîò ìåòîä òàêæå ïðèåìëåí êî âñåì
îïåðàòîðàì ïîâòîðåíèÿ (äàæå äëÿ ñàìîãî îïåðàòîðà "?".  ýòîì ñëó÷àå âûðàæåíèå
áóäåò èìåòü âèä "??").</p>
</div>
<p><font size="+2"><b>A.4 Âûðàæåíèÿ â ñêîáêàõ<a name="regexbracket"></a></b></font></p>
<div class="desc">Âûðàæåíèå â ñêîáêàõ ÿâëÿþòñÿ óäîáíûì ñðåäñòâîì äëÿ ñîçäàíèÿ
óñëîâèé. Òàê, ìåæäó ëèòåðàëàìè, ïîìåùåííûìè â êâàäðàòíûå ñêîáêè,
ïîäðàçóìåâàåòñÿ óñëîâèå "èëè". Íàïðèìåð, ðåãåêñï "[abc]" èíòåðïðåòèðóåòñÿ êàê
"a èëè b èëè c", ðåãåêñï "a[bd]c" - êàê "abc" èëè "adc", íî íå "acc".
<p>
Ìîæíî èñïîëüçîâàòü êâàäðàòíûå ñêîáêè äëÿ ïðîâåðêè òîãî, ÷åì ÿâëÿåòñÿ ñèìâîë,
áóêâîé èëè öèôðîé. Ìîæíî ïåðåáèðàòü âñå ïîäõîäÿùèå ñèìâîëû, à ìîæíî
èñïîëüçîâàòü ñèìâîë äèàïàçîíà "-". Íàïðèìåð, ðåãåêñ "[0123456789]" ðàâíîñèëåí
"[0-9]". Åñëè âû õîòèòå çàäàòü áóêâû ëàòèíñêîãî àëôàâèòà, ïðîñòî èñïîëüçóéòå
ðåãåêñ "[a-z]" (ïî óìîë÷àíèþ Unreal íå ÷óâñòâèòåëåí ê ðåãèñòðó áóêâ â
ðåãåêñàõ). Â îäíèõ ñêîáêàõ ìîæíî ðàçìåùàòü íåñêîëüêî äèàïàçîíîâ, íàïðèìåð,
ðåãåêñ "[0-9a-z]" èíòåðïðåòèðóåòñÿ êàê "âñå öèôðû è áóêâû". Äëÿ âêëþ÷åíèÿ
ëèòåðàëà "-" â ðåãåêñ, ïðîñòî íàïèøèòå åãî ïåðâûì èëè ïîñëåäíèì â ñêîáêàõ
(íàïðèìåð, "[0-9-]" èëè "[-0-9]").
<p>
Äëÿ óïðîùåíèÿ âûðàæåíèé â êâàäðàòíûõ ñêîáêàõ, ñóùåñòâóþò óñòàíîâëåííûå "êëàññû
ñèìâîëîâ". Îíè ñîäåðæàò îñíîâíûå äèàïàçîíû ñèìâîëîâ, ðàçáèòûå íà ãðóïïû. Êëàññû
ñèìâîëîâ ïèøóòñÿ âíóòðè ñêîáîê, èõ èìåíà íà÷èíàþòñÿ è çàêàí÷èâàþòñÿ ñ ":".
Íàïðèìåð, ðåãåêñ "[0-9]" ìîæåò áûòü çàïèñàí â âèäå "[:isdigit:]". Íèæå
ïðåäñòàâëåí ñïèñîê êëàññîâ ñèìâîëîâ è èõ çíà÷åíèé:
<ul>
<li>
<tt>alnum</tt>
- áóêâû è öèôðû
<li>
<tt>alpha</tt>
- áóêâû
<li>
<tt>blank</tt>
- ñèìâîëû-ðàçäåëèòåëè
<li>
<tt>cntrl</tt>
- óïðàâëÿþùèå ñèìâîëû
<li>
<tt>digit</tt>
- äåñÿòè÷íûå öèôðû (îò 0 äî 9)
<li>
<tt>graph</tt>
- âñå ïå÷àòíûå ñèìâîëû êðîìå ïðîáåëà
<li>
<tt>lower</tt>
- áóêâû íèæíåãî ðåãèñòðà
<li>
<tt>print</tt>
- ïå÷àòíûå ñèìâîëû è ïðîáåë
<li>
<tt>punct</tt>
- çíàêè ïóíêòóàöèè
<li>
<tt>space</tt>
- ñèìâîëû ïðîáåëà
<li>
<tt>upper</tt>
- áóêâû âåðõíåãî ðåãèñòðà
<li>
<tt>xdigit</tt> - øåñòíàäöàòåðè÷íûå öèôðû</li>
</ul>
Êëàññû ñèìâîëîâ ÄÎËÆÍÛ èñïîëüçîâàòüñÿ â ñêîáêàõ. Íàïðèìåð, ðåãåêñ [:isdigit:-]
íåâåðíûé. Âû äîëæíû èñïîëüçîâàòü "[[:isdigit:]-]" â äàííîì ïðèìåðå.
<p>
Åù¸ îäíà âîçìîæíîñòü âûðàæåíèé â êâàäðàòíûõ ñêîáêàõ ýòî îòðèöàíèå. Èíîãäà
íåîáõîäèìî ñîçäàòü óñëîâèå "âñ¸ êðîìå îïðåäåëåííûõ ñèìâîëîâ". Íàïðèìåð, èíîãäà
ëåã÷å ïåðå÷èñëèòü ñèìâîëû, êîòîðûå íå äîëæíû âêëþ÷àòüñÿ, ÷åì òå, êîòîðûå
äîëæíû. Äëÿ ñîçäàíèÿ îòðèöàíèÿ ñëóæèò ëèòåðàë "^", êîòîðûé ïèøåòñÿ ïåðâûì â
êâàäðàòíûõ ñêîáêàõ. Íàïðèìåð, ðåãåêñ "[^a-z]" èíòåðïðåòèðóåòñÿ êàê "âñ¸ êðîìå
áóêâ". ×òîáû äîáàâèòü ñàì ñèìâîë "^" â ñïèñîê, ïîìåñòèòå åãî â êîíöå (íàïðèìåð,
ðåãåêñ "[a-z^]" áóäåò âêëþ÷àòü âñå áóêâû + ñèìâîë "^"). Òàêæå "^" ìîæåò
èñïîëüçîâàòüñÿ äëÿ ñîçäàíèÿ îòðèöàíèé êëàññîâ ñèìâîëîâ. Íàïðèìåð,
"[^[:isdigit:]]" - "íå öèôðû".</p>
</div>
<p><font size="+2"><b>A.5 Ìåòàïîñëåäîâàòåëüíîñòè<a name="regexassert"></a></b></font></p>
<div class="desc">Ìåòàïîñëåäîâàòåëüíîñòè â ðåãóëÿðíîì âûðàæåíèè ñëóæàò äëÿ
ïðåäñòàâëåíèÿ îòäåëüíûõ ñèìâîëîâ, êëàññîâ ñèìâîëîâ èëè îïðåäåëåííîãî ìåñòà â
ñòðîêå.
<p>
Ñèìâîë "^" ñîîòâåòñòâóåò íà÷àëó ñòðîêè. Íàïðèìåð, âûðàæåíèå "test" íàéäåò ëþáîå
âõîæäåíèå äàííîãî ñëîâà â îáðàçöå, à âûðàæåíèå "^test" óêàæåò, ÷òî îáðàçåö
äîëæåí îáÿçàòåëüíî íà÷èíàòüñÿ ñ "test". Ïî àíàëîãèè, ñèìâîë "$" ñîîòâåòñòâóåò
êîíöó ñòðîêè, è ìîæåò ïðèìåíÿòüñÿ ñîâìåñòíî ñ ñèìâîëîì "^". Íàïðèìåð, ðåãåêñ
"^test$" óêàæåò íà òî, ÷òî îáðàçåö ýêâèâàëåíòåí ñëîâó "test".
<p>
Ìåòàïîñëåäîâàòåëüíîñòè ïðåäñòàâëåíû â äâóõ âèäàõ, ïîëîæèòåëüíîì è
îòðèöàòåëüíîì:
<ul>
<li>
<tt>\b</tt>
- ãðàíèöà ñëîâà
<li>
<tt>\B</tt>
- "íå ãðàíèöà ñëîâà"
<li>
<tt>\d</tt> - öèôðû (ýêâèâàëåíòíî <tt>[[:digit:]]</tt>)
<li>
<tt>\D</tt> - "íå öèôðû" (ýêâèâàëåíòíî <tt>[^[:digit:]]</tt>)
<li>
<tt>\s</tt> - ïðîáåë (ýêâèâàëåíòíî <tt>[[:space:]]</tt>)
<li>
<tt>\S</tt> - "íå ïðîáåë" (ýêâèâàëåíòíî <tt>[^[:space:]]</tt>)
<li>
<tt>\w</tt> - ñëîâà (ýêâèâàëåíòíî <tt>[[:alnum:]_]</tt>)
<li>
<tt>\W</tt> - "íå ñëîâà" (ýêâèâàëåíòíî <tt>[^[:alnum:]_]</tt>)</li>
</ul>
</div>
<p><font size="+2"><b>A.6 ×åðåäîâàíèå<a name="regexalt"></a></b></font></p>
<div class="desc">×åðåäîâàíèå ÿâëÿåòñÿ ñïîñîáîì ñîçäàíèÿ óñëîâèÿ "èëè". Ñèìâîëîì
îïåðàòîðà ÷åðåäîâàíèÿ ñëóæèò âåðòèêàëüíàÿ ÷åðòà "|". Íàïðèìåð, åñëè âû õîòèòå
ñêàçàòü "a èëè b", âû ìîæåòå èñïîëüçîâàòü "a|b". Äëÿ îáû÷íûõ ñèìâîëîâ ëåã÷å è
óäîáíåå áóäåò èñïîëüçîâàíèå âûðàæåíèé â êâàäðàòíûõ ñêîáêàõ, îäíàêî îïåðàòîð
÷åðåäîâàíèÿ ìîæåò ïðèìåíÿòüñÿ â áîëåå ñëîæíûõ óñëîâèÿõ ñ èñïîëüçîâàíèåì
ïîäâûðàæåíèé.
</div>
<p><font size="+2"><b>A.7 Ïîäâûðàæåíèÿ<a name="regexsub"></a></b></font></p>
<div class="desc">Ïîäâûðàæåíèå - ýòî ïîñëåäîâàòåëüíîñòü ñèìâîëîâ, êîòîðàÿ
ðàññìàòðèâàåòñÿ êàê îäíî öåëîå. Ñóùåñòâóåò äâà ñïîñîáà ñîçäàíèÿ ïîäâûðàæåíèé.
Ýòè äâà ñïîñîáà îòëè÷àþòñÿ íàëè÷èåì "îáðàòíûõ ññûëîê", êîòîðûå áóäóò
ðàññìîòðåíû íèæå. Äëÿ îáúÿâëåíèÿ ïîäâûðàæåíèÿ ñ èñïîëüçîâàíèåì îáðàòíûõ ññûëîê
ïðîñòî ïîìåñòèòå åãî â ñêîáêè (). Äëÿ ñîçäàíèÿ ïîäâûðàæåíèÿ áåç îáðàòíûõ
ññûëîê, çàìåíèòå ñêîáêè íà "(?:". Íàïðèìåð, "([a-z])" è "(?:[a-z])". Âñå
îïåðàòîðû ïîâòîðåíèÿ, íàïðèìåð "X èëè áîëüøå ïðåäûäóùèõ ñèìâîëîâ", ìîãóò áûòü
èñïîëüçîâàíû è â âèäå "X èëè áîëåå ïðåäûäóùèõ ïîäâûðàæåíèé". Íàïðèìåð, åñëè ó
âàñ åñòü ðåãåêñ "[0-9][a-z][0-9]" äëÿ ïîèñêà öèôð, áóêâ è çàòåì ñíîâà öèôð, è
âàì íåîáõîäèìî ïîâòîðèòü ýòî äâàæäû. Îáû÷íî, âû áû ñäåëàëè
"[0-9][a-z][0-9][0-9][a-z][0-9]", à ñ èñïîëüçîâàíèåì ïîäâûðàæåíèé ìîæíî
íàïèñàòü ïðîñòî "([0-9][a-z][0-9]){2}".</div>
<p><font size="+2"><b>A.8 Îáðàòíûå ññûëêè<a name="regexbackref"></a></b></font></p>
<div class="desc">Îáðàòíûå ññûëêè ïîçâîëÿþò âàì âîçâðàùàòü ÷àñòü ñòðîêè, íà êîòîðóþ
ññûëàëîñü îäíî èç ïîäâûðàæåíèé ðåãåêñà. Âû ìîæåòå ïîëüçîâàòü îáðàòíûå ññûëêè ñ
ïîìîùüþ "\" è ïîñëåäóþùåé öèôðîé (0-9), íàïðèìåð "\1". "\0" - ñïåöèàëüíàÿ
îáðàòíàÿ ññûëêà, êîòîðàÿ îáðàùàåòñÿ êî âñåìó ðåãåêñó, à íå ê îïðåäåë¸ííîìó
ïîäâûðàæåíèþ. Îáðàòíûå ññûëêè ïîëåçíû äëÿ ïîèñêà ñòðîêè, ñîäåðæàùåé îáðàçåö
äâàæäû. Íàïðèìåð, ó âàñ åñòü ñòðîêà nick!user@host. Âû çíàåòå, ÷òî åñòü òðîÿí,
nick è username êîòîðîãî ñîäåðæàò "[0-9][a-z]{5}", è îíè îäèíàêîâû. Ðåãåêñ
"[0-9][a-z]{5}![0-9][a-z]{5}@.+" íå ïîäõîäèò, ïîòîìó ÷òî nickname è username â
äàííîì ñëó÷àå ìîãóò áûòü ðàçíûå. Íàïðèìåð, nickname áóäåò "1abcde", à username
"2fghij". Ïðîáëåìà ðåøàåòñÿ ñ ïîìîùüþ îáðàòíûõ ññûëîê, èñïîëüçóÿ
"([0-9][a-z]{5})!\1@.+". Ýòîò ðåãåêñ èùåò [0-9][a-z]{5} â íèêå ïîëüçîâàòåëÿ, à
ïîòîì ïîäñòàâëÿåò íàéäåííîå çíà÷åíèå âìåñòî username ñ ïîìîùüþ îáðàòíîé ññûëêè.
<p>
Âñåãî ìîæíî èñïîëüçîâàòü äî 9-òè îáðàòíûõ ññûëîê, ÷òî ÿâëÿåòñÿ ïðè÷èíîé
èñïîëüçîâàíèÿ (:?).  ýòîì ñëó÷àå ñîçäàåòñÿ ïîäâûðàæåíèå áåç îáðàòíîé ññûëêè.
Êðîìå òîãî, ÷òî îáðàòíûå ññûëêè íå ñîõðàíÿþòñÿ, ýòî åù¸ è áûñòðåå ðàáîòàåò.
Ïîäâûðàæåíèÿ áåç îáðàòíûõ ññûëîê èñïîëüçóþòñÿ â òåõ ñëó÷àÿõ, êîãäà íåò
íàäîáíîñòè â ñîçäàíèè îáðàòíîé ññûëêè è å¸ çàïîìèíàíèè.</p>
</div>
<p><font size="+2"><b>A.9 ×óâñòâèòåëüíîñòü ê ðåãèñòðó<a name="regexcase"></a></b></font></p>
<div class="desc">
Ïî óìîë÷àíèþ, Unreal íå ÷óâñòâèòåëåí ê ðåãèñòðó áóêâ â ðåãåêñàõ. Ýòî ïîçâîëÿåò,
íàïðèìåð, âìåñòå ñ "www.test.com" áëîêèðîâàòü è "WWW.TEST.COM". Êîíå÷íî,
ñóùåñòâóåò ñïîñîá ñäåëàòü ðåãåêñû ÷óâñòâèòåëüíûìè ê ðåãèñòðó áóêâ, íàïðèìåð,
äëÿ ïîèñêà òðîÿíîâ. Âû ìîæåòå äèíàìè÷åñêè âêëþ÷àòü ÷óâñòâèòåëüíîñòü ñ ïîìîùüþ
(?-i) è âûêëþ÷àòü ñ ïîìîùüþ (?i). Íàïðèìåð, ðåãåêñ "(?-i)[a-z](?i)[a-z]" áóäåò
èñêàòü â îáðàçöå áóêâû òîëüêî íèæíåãî ðåãèñòðà, ñëåäóþùèå çà áóêâàìè íèæíåãî
èëè âåðõíåãî (÷óâñòâèòåëüíîñòü âûêëþ÷åíà). Òàêæå íåîáõîäèìî íå çàáûâàòü
âûêëþ÷àòü ÷óâñòâèòåëüíîñòü ê ðåãèñòðó, èëè èñïîëüçîâàòü ÷óâñòâèòåëüíîñòü òîëüêî
äëÿ êîíêðåòíîãî ïîäâûðàæåíèÿ. Íàïðèìåð, ðåãåêñ "(?-i:[a-z])[a-z]" áóäåò
ýêâèâàëåíòåí ïðåäûäóùåìó, ò.ê. -i ïðèìåíèòñÿ òîëüêî äëÿ ïîäâûðàæåíèÿ â ñêîáêàõ,
à îñòàëüíàÿ ÷àñòü ðåãåêñà áóäåò íå ÷óâñòâèòåëüíà ê ðåãèñòðó ïî óìîë÷àíèþ.</div>
</div>
</body>
</html>