Bu dökümanı görüntüleyebilmeniz için aşağıda listelenmiş olan tarayıcılardan birine sahip olmanız gerekir. Güncellenmiş dökümanlara http://www.vulnscan.org/UnrealIRCd/unreal32docs.tr.html adresinden ulaşabilirsiniz ve ayrıca FAQ (Sıkça Sorulan Sorular) bölümüne de http://www.vulnscan.org/UnrealIRCd/faq/ adresinden ulaşabilirsiniz.
Uyumlu Tarayıcılar:
DİZİN / İÇERİK TABLOSU
1. Önsöz
& Notlar
---1.1. 3.1.x -> 3.2 yükseltme / uyum üzerine
notlar
---1.2. 3.2 versiyonları arasında yükseltme üzerine notlar
2. Kurulum
3.
Özellikler
--
3.1. Gizleme (Cloaking)
--
3.2. Moduller
--
3.3. Snomasklar
--
3.4. Aliases
--
3.5. Helpop
--
3.6. Oper
erişim seviyeleri
-- 3.7. Oper
komutları
-- 3.8. SSL
--
3.9. IPv6
--
3.10. Zip
links
-- 3.11. Dinamik DNS/IP bağlantı desteği
-- 3.12. Anti-flood özellikleri
-- 3.13. Ban
tipleri
-- 3.14. Spamfilter
--
3.15. CIDR
--
3.16. Nick
Karakter Grupları
-- 3.17. CGI:IRC
Desteği
-- 3.18. Zaman Senkronizasyonu
-- 3.19. Diğer özellikler
4. unrealircd.conf dosyasının
konfigürasyonu
---4.1. Açıklamalı konfigürasyon
dosyası
---4.2. Me Bloğu -=-
(M:Line)
---4.3. Admin
Bloğu -=- (A:Line)
---4.4. Class
Bloğu -=- (Y:Line)
---4.5. Allow
Bloğu -=- (I:Line)
---4.6. Listen
Bloğu -=- (P:Line)
---4.7. Oper Bloğu
-=- (O:Line)
---4.8. DRpass
Bloğu -=-(X:Line)
---4.9. Include
Yönergesi
---4.10. Loadmodule
Yönergesi
---4.11. Log
Bloğu
---4.12. TLD Bloğu
-=- (T:Line)
---4.13.
Ban Nick Bloğu -=- (Q:Line)
---4.14. Ban User Bloğu -=- (K:Line)
---4.15. Ban IP Bloğu -=- (Z:Line)
---4.16. Ban Server Bloğu -=-(q:Line)
---4.17. Ban Realname Bloğu -=- (n:Line)
---4.18. Ban Version Bloğu
---4.19. Ban Exception Bloğu -=- (E:Line)
---4.20.
TKL Exception Bloğu
---4.21. Throttle Exception Bloğu
---4.22. Deny DCC Bloğu -=- (dccdeny.conf)
---4.23. Deny Version Bloğu -=- (V:Line)
---4.24. Deny Link Bloğu -=- (D:Line / d:Line)
---4.25.
Deny Channel Bloğu -=-
(chrestrict.conf)
---4.26. Allow Channel Bloğu
---4.27. Allow DCC Bloğu
---4.28. Vhost Bloğu -=- (vhost.conf)
---4.29. Badword Bloğu -=- (badwords.conf)
---4.30. Uline Bloğu -=- (U:Line)
---4.31. Link Bloğu -=- (C/N/H:Lines)
---4.32. Alias Bloğu
---4.33. Help Bloğu
---4.34. Official Channels Bloğu
---4.35. Spamfilter Bloğu
---4.36. Cgiirc Bloğu
---4.37. Set Bloğu -=- (networks/unrealircd.conf)
5. Ek Dosyalar
6. Kullanıcı & Kanal Modları
7. Kullanıcı & Oper Komutları
8. Güvenlik için tavsiyeler/kontrol listesi
---8.1. Şifreler
---8.2. Ircd ile alakalı olmayan zayıflıklar
---8.3. Konfigürasyon dosyası ve yetkilendirme
---8.4.
Kullanıcı-kaynaklı problemler
---8.5. SSL/SSH & sniffing
---8.6.
Denial of Service attacks (DoS) [veya: hubumu nasıl
koruyabilirim?]
---8.7. Bilgilendirme
---8.8. Exploitlere karşı korunma
---8.9. Özet
9. Sıkça Sorulan
Sorular (FAQ)
A.
Düzenli İfadeler
---A.1. Değişmezler
---A.2. Nokta İşleci
---A.3. Yineleme İşleçleri
---A.4. Parantez İfadeleri
---A.5. Demirleme İşleçleri
---A.6. Veya İşleci
---A.7. Gruplama İşleçleri (Alt ifadeler)
---A.8. Grup Adresleme İşleci
---A.9.
Büyük/küçük harf duyarlılığı
Bu döküman UnrealIRCd ile özel kullanım için yazılmıştır. Bu dökümanın, UnrealIRCd Geliştirme Grubunun yazılı izni olmadan, başka bir yazılım paketi ile kullanımı veya başka bir yazılım paketi ile dağıtılması kesinlikle yasaktır. Bu dökümanı, UnrealIRCd ile kullanılması koşulu ile ve dökümanın üzerinde hiçbir şekilde değişiklik yapmamak koşulu ile, istediğiniz miktarda kopyasını çıkarabilir / bastırabilir / çoğaltabilir / yayınlayabilirsiniz. - Copyright (telif Hakkı) UnrealIRCd Geliştirme Grubu 2002-2006
Yardım istemeden önce lütfen bu klavuzu okuyun, ayrıca FAQ (Sıkça Sorulan Sorular) kısmına GERÇEKTEN göz atın ki bu kısımda sorularınızın/sorunlarınızın yaklaşık olarak %80 'i cevaplanmıştır/çözülmüştür. Eğer hala yardıma ihtiyacınız varsa, irc.ircsystem.net (port 6667) sunucusunda #unreal-support kanalından yardım için istekte bulunabilirsiniz. (not: belgeleri ve faq kısmını okumuş olduğunuzu kabul ediyoruz ve UnrealIRCd hakkında yardım edebiliriz, servisler hakkında değil!). Eğer bir açık varsa (bug, hata) bunu http://bugs.unrealircd.org/ adresine bildirin.
1.1 – 3.1.x -> 3.2 uyum / yükseltme üzerine notlar
Unreal3.1.x den Unreal3.2 ye yükseltme yaptığınızda var olan konfigürasyon dosyasının değişmiş olduğuna dair uyarılacaksınız, başlangıçta bu değişimi yapmak size zor gözükebilir, fakat değişim olduğunda bunu daha iyi bulacaksınız!
Aynı zamanda 3.1.x’de olan özellikleri bilmenize rağmen özellikler hakkında ki bölüm 3’ü okumayı unutmayın, çünkü birkaç yeni özellik mutlaka vardır.
3.1.x ile 3.2 uyum/link açısından uygun değildir, fakat eğer gerçekten bunu yapmak istiyorsanız, en düşük 3.1.4’e ihtiyacanız vardır, fakat 3.1.5.1 şiddetle önerilir.
1.2 – 3.2 versiyonları arasında yükseltme üzerine
notlar
Yükseltme için önerilen yol:
Linux:
Aynı zamanda lütfen .RELEASE.NOTES dosyasını nelerin değiştiğini görmek için kontrol edin. Eğer versiyonlar arasında ki değişim için bir hata (bug) bildirecekseniz; bunun bir bug olduğunu bildirmeden önce .RELEASE.NOTES kısmını okuduğunuza emin olun.
Kurulum Yönergeleri
Linux:
Windows:
Bu bölümde bazı ana/kullanışlı özellikler anlatılmıştır. Bu bölüm için genel bir bilgi gerekmektedir ve bazen de konfigürasyon dosyalarından bahsedilecektir (hakkında henüz bir fikir sahibi olmadığınız şeyler).
Bu bölümü atlayabilirsiniz, bununla birlikte bu bölümü kurulumdan önce ve sonra okumanız tavsiye edilir. Aksi takdirde 'cloaking', 'snomasks' vs. gibi özelliklerin genel mantığını anlayamayacaksınız.
Gizleme(cloaking) kullanıcıların gerçek hostname’lerinin gizlenmesi için bir yoldur, örneğin eğer gerçek hostname’iniz d5142341.cable.wanadoo.nl, ise, bu (giriş, çıkış ve whois ‘de, vs) rox-2DCA3201.cable.wanadoo.nl olarak görülecektir. Bu özellik kullanıcıların, gerçek host/IP’yi göremeyeceklerinden, birbirlerine saldırı yapmalarını engellemeye yardımcı olur..
Bu +x kullanıcı modu ile kontrol edilir. (örnek: /mode nickiniz +x), aynı zamanda adminler, +x kipini default kipi olarak veya kullanıcıların –x yapamamaları için belirtebilirler.
Gizlenmiş bir host, gizleme (cloaking) modülü tarafından
oluşturulur (en az bir tane yüklenmesi zorunludur), şu an için sadece 1
modul
içermektedir:
cloak: Bu
modül 3.2.1’den bu yana resmi gizleme modulüdür, eski algoritmaya nazaran
daha
güvenlidir, dahili olarak md5 kullanır ve 3 adet; küçük karakter olarak
(a-z)
arası karakterleri içeren, büyük karakter olarak (A-Z) arası karakterleri
içeren
ve rakam olarak (0-9) arası rakamları içeren set::cloak-keys:: belirtmenizi
gerektirir. [ör: "AopAS6WQH2Os6hfosh4SFJHs"]. Örnek için example.conf
dosyasına
bakın.
Gizleme anahtarları (cloak keys) bir ağdaki bütün sunucular için aynı olmak zorundadır. Aynı zamanda gizleme anahtarları (cloak keys) gizli tutulmalıdır, çünkü gizleme anahtarlarının bilinmesi halinde gerçek hostun bulunabilmesi olasıdır.
UnrealIRCd modül özelliğini destekler, bu:
- Ircd çalışırken
yükleyebilirsiniz/yeniden
yükleyebilirsiniz/iptal edebilirsiniz (/rehash ile). Bu bazı açıkların
saptanmasını veya yeni özelliklerin restart atmadan eklenmesini
sağlamaktadır.
- Diğer kişiler yeni komutlar,yeni
kullanıcı modları ve hatta yeni kanal modları içeren (3. parti) moduller
oluşturabilirler.
Sebeplerinden dolayı çok iyi bir
özelliktir. UnrealIRCd sadece birkaç modül ile başlar. www.unrealircd.com
->
modules kısmına bir göz atın veya 3. parti modulleri bulabilmek için google
arama motorunu kullanın.
En az 2 modulü yüklemeniz (load) zorunludur, aksi
taktirde boot işlemini gerçekleştiremezsiniz!:
-
komutlar modulü: commands.so (windows için commands.dll)
- gizleme
modulü: çoğunlukla cloak.so (windows için
cloak.dll).
Snomasklar sunucu uyarı maskeleridir, kullanıcı modunun özel bir tipidir ki bu hangi sunucu uyarılarını alacağınızı belirler/kontrol eder. (çoğunlukla operler tarafından kullanılır)
Şu şekilde belirtilebilir: /mode nickiniz +s SNOMASK,
örneğin: /mode nickiniz +s +cF
Kullandığınız snomask’ın
kaldırılması için: /mode nickiniz +s -c
Veya
kullandığınız bütün snomask’ları: /mode nickiniz –s yazarak
kaldırabilirsiniz.
Mevcut SNOMASKlar:
c - Yerel
sunucudaki giris/cikislari gosterir
F - Uzak sunucudaki
giris/cikislari gosterir
f - Flood saldiri uyarilarini
gosterir
k - Atilan /kill komutlarini gormenizi
saglar.[*]
e - /CHG* ve /SET* ile servislere gonderilen
komutlari gormenizi saglar
j - Junk uyarı mesajlarını
gormenizi saglar.
v - vhost kullanım uyarılarını
görmenizi sağlar
G - gline/shun uyarılarını görmenizi
sağlar
n - Yerel sunucudaki nick degisimlerini gormenizi
saglar
N - Uzak sunucudaki nick degisimlerini gormenizi
saglar
q - Q-line sebebi ile reddedilen nickleri
gormenizi saglar
s - Genel uyarıları gormenizi
saglar.[*]
S - Spamfilter eslesmelerinin uyarılarını
görmenizi sağlar
o - oper açma uyarılarını görmenizi
sağlar
[*: ircop olmayanlarda kullanabilir]
Otomatik olarak alınacak snomaskları (set::snomask-on-connect) ile ve oper açıldığı anda alınacak snomaskları (set::snomask-on-oper, oper::snomask) ile belirtebilirsiniz.
Başlangış ayarı olarak, bir kullanıcı +s modunu kullanıyorsa, belirtilmiş snomasklar kullanılır. Oper olmayanlar için snomasklar +ks, oper olanlar için ise +kscfvGqo.
Aliases ile sunucu-taraflı alias komutlarını düzenleyebilirsiniz. Örneğin nickserv’e identify komutunu "/ns identify blah" komutunu kullanarak gönderebilirsiniz. (bu: privmsg nickserv identify blah olarak değerlendirilecektir). Hatta daha kompleks yapılarda kisaltmalar (aliases) yapabilirsiniz; /register ‘in register’dan sonra gelecek ilk parametrenin # işareti olduğu durumlarda ChanServ’e olmadığı durumlarda ise NickServ’e gönderilmesi gibi.
Kısaltmalar (aliases) konfigürasyon dosyasındaki alias blokları ile düzenlenir, aynı zamanda bu alias’ları bir dosya ile de belirtebilirsiniz.
UnrealIRCd bünyesinde /helpop ile erişilebilinen bir
yardım sistemine sahiptir. /helpop komutu tamamıyla, konfigürasyon
dosyasında ki
help bloğu aracılığıyla kullanıcı tarafından düzenlenebilir. Ek olarak tüm
komutlar için bazı temel kullanımları içeren bir help.conf dosyası da dahil
edilmiştir.
Örneğin /helpop
chmodes size UnrealIRCD’in sahip olduğu bütün kanal modlarını
gösterecektir.
Eğer IRCOp veya (helpop) yardım operatörü
iseniz kelimenin başına ‘?’ karakteri koymanız gerektiğini unutmayın, bu
durumda
/helpop için /helpop ?
ve /helpop chmodes için de /helpop ?chmodes vs. kullanmanız
gerekecektir.
UnrealIRCd ‘de birkaç oper seviyesi vardır ve bunların herbirine yetki eklemesi (örneğin /gline kullanma yetkisi gibi) yapabilirsiniz, böylelikle her opere ihtiyacı olduğu erişimi sağlayabilirsiniz.
Bu oper bloğundaki oper flagları ile kontrol edilir. Daha fazla bilgi için oper bloğuna bakın.
UnrealIRCd’de, birçok etkili oper komutu vardır. Bunlar Kullanıcı & Oper Komutları kısmında açıklanmıştır, kurulumdan sonra okumak isteyebilirsiniz :).
Açılımı Secure Socket Layer olan SSL ile güvenli şifrelenmiş bağlantılar yapabilirsiniz. Bu sunucu<->sunucu trafiğini şifrelemek için kullanılabilir, fakat aynı zamanda istemci<->sunucu trafiği de şifrelenebilir. SSL özelliğini korsanlığa (veri korsanlığı) karşı korunmada veya güvenlik için kullanabilirsiniz.
Bu özelliği kullanabilmeniz için IRC sunucunuzun SSL desteği ile derlenmiş olması gerekmektedir. SSL portunu listen::options::ssl yönergesi ile belirtebilirsiniz.
SSL portundan normal bağlantı sağlayamazsınız (bu yüzden SSL portunu 6667 olarak belirtmeyin!), aynı zamanda SSL protokolunu destekleyen bir yazılım kullanmanız gerekmektedir.
SSL desteği olan yazılımlar: XChat, irssi, mIRC (6.14 ve üzeri, aynı zamanda birkaç ek adım gerektirmektedir)
SSL desteği olmayan yazılımlar için ise stunnel
gibi bir gecit kullanabilirsiniz, aşağıda örnekte bir stunnel.conf
verilmiştir
(stunnel 4.x için):
client = yes [irc] accept = 127.0.0.1:6667 connect = irc.myserv.com:6697Eğer 127.0.0.1'e 6667 portundan bağlanırsanız, trafiğiniz şifrelenecektir ve irc.myserv.com port 6697 'ye yönlendirilecektir. (SSL portu).
Aynı zamanda sunuculara bağlanırken sertifakaları doğrulamalısınız ve körü körüne onaylamamalısınız aksi takdirde "aktif veri korsanlığı" saldırılarına karşı korunmanız hala zayıf kalacaktır. Bu konu bu başlığın konusunun dışında bir konudur. (SSL hakkında bilgi edinin, bize sormayın). [mIRC ve xchat yazılımları sertifikayı onaylayıp onaylamayacağınıza dair bir pop up açmaktadır, dolayısıyle bu iyidir.]
UnrealIRCd IPv6 özelliğini, beta15'den beri devamlı
olarak desteklemektedir.
Bu özelliği kullanabilmeniz
için işletim sisteminizin IPv6 özelliğini desteklemesi ve UnrealIRCd'de
./Config
sırasında IPv6 desteğini aktif etmeniz gerekmektedir.
Microsoft'un w2k/XP için deneme aşamasında olan IPv6 uygulaması olmasına rağmen, bu (henüz) UnrealIRCd tarafından desteklenmemektedir.
Zip links sunucu<->sunucu linkleri için aktif edilebilir, bu özellikle data zlib kullanılarak sıkıştırma yapılır. Bu özellik sayesinde bant genişliğinin 60-80% 'i saklanabilir... Bu nedenle bu özellik, küçük bant genişlikli linkler için veya çok kullanıcılı linkler için oldukça kullanışlıdır.
Zip links desteğini aktif etmek için ./Config sırasında karşılaşacağınız zlib sorusuna YES cevabı vermeniz ve bunu link::options::zip ile belirtmeniz gerekmektedir.(her iki tarafta da)
3.11 - Dinamik DNS/IP link desteği
UnrealIRCd'in, dinamik DNS (blah.dyndns.org gibi) kulanan dinamik IP'li kullanıcılara yardımcı olan birkaç (yeni) güzel özellikleri vardır. Eğer iki dinamik DNS kullanan hostu linkliyorsanız, bunu link::options::nodnscache ve link::options::nohostcheck ile belirtmelisiniz.
Throttling
Throttling bir kullanıcının sunucunuzdan
bağlantısını
kesmesinin ve yeniden sunucunuza bağlanmasının ne kadar hızla
gerçekleşebileceğini sınırlayabilmenizi sağlayan bir metotdur. Bunu
konfigürasyon dosyasında ki set::throttle bloğunda belirtebilirsiniz.Burada
X,
YY saniye içinde ki aynı IP ‘ye sahip bağlantı sayısıdır.
Kanal
Modları
Aynı zamanda flood saldırılarına karşı çok etkili olan
kanal modları da vardır. Bazıları:
K = /knock kullanılamaz kanal,
N = Nick değiştirelemez kanal, C = CTCP’lerin izinli olmadığı
kanal, M = sadece kayıtlı nicklerin konuşabildiği kanal, j =
süreye ilişkin giriş kısıtlama
(kullanıcı-başına)
beta18’deki gibi aynı zamanda daha da
geliştirilmiş olan +f kanal modu vardır...
f kanal modu
Kanalı
flood
saldırılarına karşı korumak için script ve bot kullanmak yerine bu özellik
kullanılabilir.
+f modunun kullanımına bir örnek: *** Blah sets mode:
+f [10j]:15
Bunun manası bu kanal, her 15 saniye için 10 giriş
izinlidir, eğer limit aşılırsa kanal otomatik olarak +i moduna
alınacaktır.
Belirtilen flood tipleri mevcuttur:
tip: | isim: | sabit eylem: | diğer eylem(ler): | yorumlama |
c | CTCP | otomatik +C | m, M | |
j | join | otomatik +i | R | |
k | knock | otomatik +K | (sadece yerel bağlantıları kapsar) | |
m | mesaj/notice | otomatik +m | M | |
n | nickdeğişiklikleri | otomatik +N | ||
t | text | kick | b | eski +f'de olduğu gibi kullanıcı-başına mesaj/notice. kullanıcı atılır veya banlanır. |
Örnek:
*** ChanOp sets mode: +f [20j,50m,7n]:15 <ChanOp> lalala *** 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 -- snip XX lines -- *** Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has joined #test -server1.test.net:#test *** Channel joinflood detected (limit is 20 per 15 seconds), putting +i *** server1.test.net sets mode: +i <Evil2> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl <Evil12> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl <Evil15> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl <Evil10> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl <Evil8> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl -- snip XX lines -- -server1.test.net:#test *** Channel msg/noticeflood detected (limit is 50 per 15 seconds), putting +m *** server1.test.net sets mode: +m *** Evil1 is now known as Hmmm1 *** Evil2 is now known as Hmmm2 *** Evil3 is now known as Hmmm3 *** Evil4 is now known as Hmmm4 *** Evil5 is now known as Hmmm5 *** Evil6 is now known as Hmmm6 *** Evil7 is now known as Hmmm7 *** Evil8 is now known as Hmmm8 -server1.test.net:#test *** Channel nickflood detected (limit is 7 per 15 seconds), putting +N *** server1.test.net sets mode: +NGerçekte daha karışık, daha komplike bir şekil alabilir:
Ana bantipleri ve gizlenmiş
(cloaked) hostlar
UnrealIRCd +b nick!user@host gibi ana
bantiplerini
desteklemektedir.
Aynı zamanda, eğer bir kullanıcı
'rox-ACB17294.isp.com' gibi bir gizlenmiş hosta sahipse ve siz
*!*@rox-ACB17294.isp.com şeklinde bir ban belirtmişseniz, bu durumda
kullanıcı
-x (böylelikle hostu 'dial-123.isp.com' olacaktır(örneğin)) moduna geçse
dahi
belirtilen ban hala eşleşecektir. Banlar herzaman gerçek ve gizlenmiş
hostlarla
eşleşir.
Bununla birlikte IP ban da vardır (ör :
*!*@128.*).
Gizlenmiş IP’lere
ban için birkaç açıklama gereklidir:
Eğer kullanıcının
IP’si 1.2.3.4 ise gizlenmiş IP’si 341C6CEC.8FC6128B.303AEBC6.IP
olabilir.
Eğer *!*@341C6CEC.8FC6128B.303AEBC6.IP şeklinde ban
atarsanız bu ban *!*@1.2.3.4 şekline eşdeğerdir (bu açıktır...)
Eğer
*!*@*.8FC6128B.303AEBC6.IP şeklinde ban atarsanız bu
ban *!*@1.2.3.* şekline eşdeğerdir.
Eğer
*!*@*.303AEBC6.IP şeklinde ban atarsanız bu ban *!*@1.2.* şekline
eşdeğerdir.
Bu bilgilendirme atılacak bir banın ne kadarlık bir
kapsaması olduğuna karar verirken size yardımcı
olacaktır.
Genişletilmiş bantipleri
Genişletilmiş banlar
~[!]<tip>:<parametre>
şeklindedir. Mevcut tipler:
tip: | isim | açıklama: |
~q | quiet | Bu ban ile eşleşen kullanıcı kanala girebilir ancak +v veya daha yükseğine sahip değilse konuşamaz. Ör: ~q:*!*@blah.blah.com |
~n | nickchange | Bu ban ile eşleşen kullanıcı +v veya daha yükseğine sahip değilse nick değiştiremez. Ör: ~n:*!*@*.aol.com |
~c | [prefix]channel | Eğer kullanıcı belirtilen kanalda ise ban konulan kanala giremez. Bununla birlikte burada önek olarak (+/%/@/&/~) belirtilebilir.Önek belirtilirse kanalda belirtilen öneke sahip veya daha yükseğine sahip olan kullanıcı kanala giremez. Ör: +b ~c:#lamers, +e ~c:@#trusted |
~r | realname | Eğer kullanıcının realname kısmı eşleşirse
kullanıcı kanala giremez. Ör: ~r:*Stupid_bot_script* NOT: alt çizgi ('_') hem boşluk (' ') hemde ('_') ile eşleşir, bu sebepten bu ban 'Stupid bot script v1.4' ile eşleşecektir. |
Spamfilter spam,reklam,worm ve diğer türlerde ki istenmeyen durumlara karşı yeni bir sistemdir. Badwords sistemi ile benzer çalışır fakat birçok avantajı vardır.
Spamfilter kullanımı aşağıda gösterilmiştir:
/spamfilter
[add|del|remove|+|-]
[tip] [eylem] [tklsüresi] [sebep] [düzenli-ifade]
[tip] | Hedef tipini belirtir:
| |||||||||||||||||||||||||||||||||
[eylem] | Eşleşme gerçekleştiği takdirde uygulanacak eylem
(sadece 1 eylem belirtilebilir).
|
|||||||||||||||||||||||||||||||||
[tklsüresi] | Spamfilter tarafından eklenen *line/shun için geçerli olma süresidir, başlangıç değeri için '-' kullanın veya atlayın (Ör: eğer eylem = 'block' ise) | |||||||||||||||||||||||||||||||||
[sebep] | Block/*line/shun sebebidir. Burada belirtilen sebep içinde boşluk kullanamazsınız, alt çizgiler ('_') boşluk olarak değerlendirilir. Ve çift altçizgi ('__') ('_') olarak değerlendirilir. Yine aynı şekilde başlangıç değeri için, '-' kullanın. | |||||||||||||||||||||||||||||||||
[düzenli ifade] | bu kısım, hangi ifadenin veya 'yasak kelime'nin kullanıldığında belirtilen eylemin uygulanacağını bildirilen kısımdır. |
Aynı zamanda spam filtrelerini konfigürasyon dosyasından
da ekleyebilirsiniz fakat bunlar yerel sunucuda geçerli olacaktır(bütün ağ
kapsamında değil). Bu spamfilter { } bloğunun kullanımı burada açıklanmıştır.
Örnek:
spamfilter { regex "//write \$decode\(.+\|.+load -rs"; target { private; channel; }; reason "Generic $decode exploit"; action block; };
set::spamfilter::ban-time
spamfilter ile eklenen *line/shun için ban süresinin default değerini
değiştirebilmenize olanak sağlar.(default değeri: 1
gün)
set::spamfilter::ban-reason
Default değeri olarak bir sebep belirtmenize olanak sağlar.(default değeri:
'Spam/advertising')
set::spamfilter::virus-help-channel belirtilen
'viruschan' eylemi için bir kanal belirtmenize olanak sağlar. (default:
#help)
set::spamfilter::virus-help-channel-deny yukarıda
belirttiğiniz kanala yapılacak bütün normal girişleri bloklamanıza olanak
sağlar.(default değeri: no)
UnrealIRCd şimdi CIDR (Classless Interdomain Routing) özelliğini de desteklemektedir. CIDR IP dizilerine ban atmanıza olanak sağlar. Unreal CIDR desteği hem IPv4 hem de IPv6 için geçerlidir. CIDR maskeleri allow::ip, ban user::mask, ban ip::mask, except ban::mask, except throttle::mask ve except tkl::mask (gzline, gline ve shun için) yönergeleri içinde kullanılabilir. Ek olarak yine CIDR maskeleri /kline, /gline, /zline ve /shun komutları kullanılırken de belirtilebilir. Unreal standart IP/bit sözdizimini kullanır, ör. 127.0.0.0/8 (127.0.0.0 - 127.255.255.255 arasındaki bütün IP'lerle eşleşir).
UnrealIRCd şimdi belirtilen karakter grubu/dil ile o
gruba/dile ait karakterlerden oluşabilen nick kullanımını da
desteklemektedir.
Bunu set::allowed-nickchars ile yapabilirsiniz.
Bütün olası
seçeneklerin tablosu:
İsim: | Açıklama: | Karakter seti/encoding: |
catalan | Katalancaya ilişkin karakterler | iso8859-1 (latin1) |
danish | Dancaya ilişkin karakterler | iso8859-1 (latin1) |
dutch | Flemenkçeye ilişkin karakterler | iso8859-1 (latin1) |
french | Fransızcaya ilişkin karakterler | iso8859-1 (latin1) |
german | Almancaya ilişkin karakterler | iso8859-1 (latin1) |
swiss-german | İsviçre-Alman diline ilişkin karakterler (no es-zett) | iso8859-1 (latin1) |
icelandic | Izlandacaya ilişkin karakterler | iso8859-1 (latin1) |
italian | İtalyancaya ilişkin karakterler | iso8859-1 (latin1) |
spanish | İspanyolcaya ilişkin karakterler | iso8859-1 (latin1) |
swedish | İsveç diline ilişkin karakterler | iso8859-1 (latin1) |
latin1 | catalan, danish, dutch, french, german, swiss-german, spanish, icelandic, italian, swedish karakter gruplarına ilişkin bütün karakterler | iso8859-1 (latin1) |
hungarian | Macarcaya ilişkin karakterler | iso8859-2 (latin2), windows-1250 |
polish | Lehçeye ilişkin karakterler | iso8859-2 (latin2) |
romanian | Romenceye ilişkin karakterler | iso8859-2 (latin2), windows-1250, iso8859-16 |
latin2 | hungarian, polish, romanian karakter gruplarına ilişkin bütün karakterler | iso8859-2 (latin2) |
polish-w1250 | Lehçeye ilişkin karakterler, windows biçiminde(maalesef iso'ya nazaran daha çok karşılaşılır) | windows-1250 |
slovak-w1250 | Slovakçaya ilişkin karakterler, windows biçiminde | windows-1250 |
czech-w1250 | Çek diline ilişkin karakterler, windows biçiminde | windows-1250 |
windows-1250 | lehçe-w1250, slovakça-w1250, çek-w1250, macarca, romence | windows-1250 |
greek | Yunancaya ilişkin karakterler | iso8859-7 |
turkish | Türkçeye ilişkin karakterler | iso8859-9 |
russian-w1251 | Rusçaya ilişkin karakterler | windows-1251 |
belarussian-w1251 | Belarusçaya ilişkin karakterler | windows-1251 |
ukrainian-w1251 | Ukraynacaya ilişkin karakterler | windows-1251 |
windows-1251 | rusça-w1251, belarussian-w1251, ukraynaca-w1251 | windows-1251 |
hebrew | İbraniceye ilişkin karakterler | iso8859-8-I/windows-1255 |
chinese-simp | Basitleştirilmiş Çinceye ilişkin karakterler | Multibyte: GBK/GB2312 |
chinese-trad | Geleneksel Çinceye ilişkin karakterler | Multibyte: GBK |
chinese-ja | Japoncaya ilişkin karakterler (Hiragana/Pinyin) | Multibyte: GBK |
chinese | çince-* | Multibyte: GBK |
gbk | çince-* | Multibyte: GBK |
NOT 1: Bazı kombinasyonlar problemlere neden olabilir. Örneğin, latin* ve chinese-* dillerinin kombinasyonunda Unreal hata verebilir. Diğer karakter setlerinin kombinasyonu da görüntü problemlerine neden olabilir, eğer latin1/latin2/yunanca/diğer gibi uyumsuz grupların kombinasyonunu kullanırsanız Unreal bir uyarı mesajı verecektir.
NOT 2: Karakter haritaları US-ASCII tablosuna göre hazırlanmıştır, bunun manası ise şudur: o" ile O" karakterleri aynı karakterler olarak yorumlanmaz. Bu nedenle birisi B"ar nickini kullanırken aynı anda bir başkası da BA"r nickini kullanabilir. Bu kısa bir süre sonra çözülemeyecek, mevcut sistemin ve IRCd standartlarının, bir sınırlamasıdır. Kişiler bu sınırlamadan haberdar olmalılardır. Bu anlatılanlar kanal isimleri içinde geçerlidir.
NOT 3: Temel nick karakterleri (a-z A-Z 0-9 [ \ ] ^ _ - { | }) herzaman kullanılabilir ve kapsam içindedir.
Örnek 1, batı avrupa kullanıcıları için:set { allowed-nickchars { latin1; }; };Örnek 2, eğer çok sayıda çinli kullanıcınız varsa:
set { allowed-nickchars { chinese-simp; chinese-trad; }; };
UnrealIRCd CGI:IRC bağlantıları için host yanıltma özelliğini destekler. Bunun manası belirli CGI:IRC ağ geçitlerini "güvenilir" olarak işaretleyebilirsiniz böylelikle belirtilen ağ geçidinden bağlanan kullanıcıların kullandıkları CGI:IRC ağ geçidinin sahip olduğu host/ip'si yerine kullanıcıların gerçek host/ip'si görülecektir.
Yapılandırma hakkında bilgi edinmek için cgiirc bloğuna bakın.
Zamanlamanın doğru olmasının IRC sunucular açısından son derece önemlidir. Zamanlamanın sunucularda doğru olmaması, kanal arasında eş zamansızlığa, masum insanların sunucudan bağlantısının kesilmesine (kill), bazı kanalların /LIST komutu sorgusunda listede bulunmamasına sebep olabilir, kısaca istenmeyen durumlar meydana gelebilir.
UnrealIRCd kendi bünyesinde zaman senkronizasyonu özelliğine bir bakıma destekler, fakat optimal değildir (hala birkaç saniye uyumsuzluk yaşanabilir), bu da büyük zaman farklarına yol açabilir. Eğer yapabilirseniz, bir zaman senkronizyonu programı kullanmanız önerilir, *NIX platformunda ntpd gibi veya Windowsta zaman senkronizyon servisi gibi. (eğer böyle bir yazılım kullanırsanız, Unreal’in zaman senkronizasyon özelliğini devre dışı bırakabilirsiniz).
UnrealIRCd (default olarak) başlatıldığı anda zaman senkronizyonunu sağlar. Çoklu zaman sunucularına istek gönderir ve ilk aldığı cevaba göre (en hızlı olanı) dahili ircd saatini ayarlar (sistem saatini DEĞİL). Eğer herhangi bir sebepten dolayı 3 saniye içinde zaman sunucusundan cevap alınamazsa, IRCd açılmaya devam edecektir. (bu olaya nadiren rastlanır)
Zaman senkronizasyonu set::timesynch bloğu ile yapılandırılır, daha fazla bilgi için set dökümanına bakın..
UnrealIRCd buraya sığamayacak kadar çok özelliğe sahiptir... Bu özellikleri kendiniz bulacaksınız.
4.0 - unrealircd.conf dosyasının konfigürasyonu
İlk olarak, iyi bir unrealircd.conf oluşturmak biraz zaman alacaktır, 10 – 60dak gibi. Yapabildiğiniz kadar çabuk bir biçimde boot etmeyi deneyebilirsiniz ve daha sonra geniş olarak konfigürasyon dosyasını inceleyebilirsiniz, veya adım adım ana kısımları öğrenebilirsiniz ki bu tercih edilen yoldur. ;P. Eğer bir sorunla karşılaşırsanız, yardım istemeden önce yazımınızı (syntax), klavuzu ve FAQ kısmını kontrol edin.
4.1 Açıklamalı Konfigürasyon Dosyası
Yeni sistem blok-tabanlı bir format kullanır. Yeni biçimde herbir girişin, veya bloğun kendine özgü bir formatı vardır. Biçim genel olarak şu şekildedir:
<blok-ismi> <blok-değeri> { <blok-yönergesi> <yönerge-değeri>; };
<blok-ismi> bloğun tipidir, me veya admin gibi. <blok-değeri> kimi zamanlarda özel bir değer olabilir, /oper login gibi, fakat kimi zamanlarda da ban user ‘da olduğu gibi alt bir tip olacaktır.
<blok-yönergesi> bloğa özgü özel bir değişkendir ve <yönerge-değeri> ise birleşik değerdir. Eğer <yönerge-değeri> ,boşluk karakterini içeriyorsa veya bir açıklama tarzı bir ifade içeriyorsa , çift tırnak içerisinde belirtilmelidir. Eğer tırnak karakterini çift tırnak içine alınmış bir ifade içinde kullanmak istiyorsanız \" kullanın, bu tırnak karakteri olarak algılanacaktır.
Bir <blok-yönergesi> kendi içinde yönergelere sahip olabilir. Bazı bloklarda yönerge bulunmaz ve sadece <blok-değeri> ile belirtilir, include bloğunda olduğu gibi. Aynı zamanda sabit belirli bir formatı yoktur, bunun manası sözü edilen blok 1 satır olarak da görülebilir veya 1 satırdan fazla da olabilir. Normal kullanım formatı (dosyada kullanılacak format) yukarıdaki gibidir, çünkü bunun okunması kolaydır.
Not: konfigürasyon dosyası büyük ve küçük harf duyarlıdır, yani BLOK-İSMİ yazımı blok-ismi yazımıyla eş değildir. Konfigürasyon dosyasında, yapılan girişlerden bahsederken özel bir notasyon kullanılır. Örneğin, yukarıda ki örnek için bu notasyon <blok-ismi>::<blok-yönergesi> şeklindedir ve eğer bu yönergenin alt bir bloğu varsa bunun içinde diğer bir :: ekleyip ardından alt yönergenin ismini ekleyebilirsiniz.
Yönerge ismi belirtilmeden gösterim şekli ise <blok-ismi>:: şeklindedir, bu bir <blok-değeri>'de olabilir, veya alt bloklardan herhangi birini de belirtebilir.
Açıklama yaparken desteklenen 3 tip vardır:
# 1 satırlık açıklama
// 1
satırlık açıklama
/* 1 veya daha fazla
satırlık açıklama */
Şimdi konfigürasyon dosyasının nasıl işlediğini biliyorsunuz, doc/example.conf dosyasını UnrealIRCd 'in bulunduğu klasöre (ör: /home/user/Unreal3.2) kopyalayın ve unrealircd.conf olarak yeniden isimlendirin. Konfigürasyon dosyanızı oluşturmak için bütün blok tipleri ve ayarlamalar için adım adım ilerlemeniz ve bu klavuzu referans almanız önerilir.
4.2 - Me Bloğu GEREKLİ (Önceden bilinen M:Line)
Kullanımı:
me { name <sunucu-ismi>; info <sunucu-için-açıklama>; numeric <sunucu-numerik-değeri>; };
Bu değerler çok açıktır. name ile sunucu ismi belirtilir, info ile sunucu için bir açıklama belirtilir, numeric ile ise sunucuyu tanıtan sayısal bir değer belirtilir. Bu değer 0 ile 254 arasında olmak zorundadır ve burda belirtilen sayısal değere ağda ki diğer hiçbir sunucu sahip olamaz.
Örnek:
me { name "irc.foonet.com"; info "FooNet Server"; numeric 1; };
4.3 - Admin Bloğu GEREKLİ (Önceden bilinen A:Line)
Kullanımı:
admin { <metin>; <metin>; };
Admin bloğu /admin sorgusunda görüntülenecek metni belirler. Burada ki satırları istediğiniz oranda çoğaltabilirsiniz ve bu satırlar istediğiniz bilgiyi içerebilir, ancak genel olarak minimum admin nicki ile email adresi girilir. Diğer bilgiler ise yazmak istediğiniz herhangi diğer bir iletişim bilgileri de olabilir.
Örnek:
admin { "Bob Smith"; "bob"; "widely@used.name"; };
4.4 - Class Bloğu GEREKLI (Önceden bilinen Y:Line)
Kullanımı:
class <isim> { pingfreq <ping-frekansı>; connfreq <bağlantı-frekansı>; maxclients <maximum-istemci>; sendq <send-queue>; recvq <recv-queue>; };
Class blokları bağlantıların yerleştirileceği sınıfları belirler (örneğin allow bloğuyla gelen bağlantılar veya link bloğuyla gelen sunucu bağlantıları gibi.), genel olarak çoklu class blokları kullanılır.(ör: sunucular için, kullanıcılar, operler için).
name "clients" veya "servers" gibi bir tanımlayıcı isimdir, bu isim bu sınıfı allow/link/oper/vs. bloklarıyla ilişkilendirmek için kullanılır
pingfreq sunucudan gelen PING'ler arasında ki saniye olarak süredir.(90 ile 180 arasında ki bir değer önerilir.)
connfreq sunucular için kullanılır ve eğer otomatik bağlantı aktif ise bağlantı denemeleri arasında ki saniye olarak süredir
maxclients bu sınıfta maksimum (toplamda) kaç istemci/sunucu sayısı olabileceğini belirler
sendq gönderim dizisi içinde ne kadar miktarda veri olabileceğini belirtir. (düşük bant genişlikli sunucular için çok yüksektir, istemciler (clients) için ise orta bir değerdir.)
recvq alınan veri dizisinde ne kadar miktarda veri olabileceğini belirler ve bu flood kontrolu için kullanılır. (bu değer sadece normal kullanıcılara uygulanır, 3000-8000 arasında bir değeri deneyebilirsiniz, default değer 8000'dir.).
Örnekler:
class clients { pingfreq 90; maxclients 500; sendq 100000; recvq 8000; }; class servers{ pingfreq 90; maxclients 10; /* Bir kerede linkleyebileceğimiz max sunucu sayısı */ sendq 1000000; connfreq 100; /* herbir bağlantı girişimi arasında ki saniye olarak süre */ };
4.5 - Allow Bloğu GEREKLİ (Önceden bilinen I:Line)
Kullanımı:
allow { ip <kullanıcı@ip-bağlantı-maskesi>; hostname <kullanıcı@host-bağlantı-maskesi>; class <bağlantı-sınıfı>; password <bağlantı-şifresi> { <auth-tipi>; }; maxperip <ip-başına-max-bağlantı>; redirect-server <yönlendirilecek-sunucu>; redirect-port <yönlendirilecek-port>; options { <tercih>; <tercih>; ... }; };
Allow bloğu ile sunucunuza kimlerin bağlanabileceğini belirtebilirsiniz, bir veya daha fazla allow bloğunuz olabilir.
Eşleşme hakkında
Giriş kontrolu ip eşleşmeleri veya host
eşlemeleri ile
yapılır. Yani "hostname *@*" ;ve "ip *@1.2.3.4" ise bu herzaman
eşleşecektir.
Aynı zamanda allow blokları yukarıdan aşağıya doğru okunarak
değerlendirilir, bu
nedenle genel *@* allow bloklarından sonra açık host/ip 'ler
belirtmelisiniz. Ek
olarak sadece IP tabanlı eşleşme yapmasını istediğiniz bir blok oluşturmak
isterseniz, hostname kısmına geçersiz herhangi birşey belirtin, "hostname
NOBODY;" gibi, bu bloğun sadece IP tabanlı eşleşme yapmasına olanak
sağlayacaktır.
ip
IP maskesi kullanıcı@ip formundadır, kullanıcı kısmı burada
idente karşılık gelir ve genellikle * olarak belirtilir, ip ise ip
kalıbıdır.
Birkaç örnek: *@* (herhangi bi yerden), *@192.168.* (sadece ip adresi
192.168
ile başlayanlar), vs..
host
yine hostmaskesi kullanıcı@host formundadır. kullanıcı
kısmı genelde * olarak belirtilir. Birkaç örnek: *@* (heryerden),
*@*.wanadoo.fr
(sadece wanadu.fr 'den).
password (isteğe bağlı)
eğer belirtilirse bağlanabilmek için
şifre gerekir. Aynı
zamanda burada yeniden şifreleme metodu ile oluşturdugunuz bir şifre de
belirtebilirsiniz.
class
Bu allow bloğunu kullanan bağlantıların yerleştirileceği
sınıfı belirtir.
maxperip (isteğe bağlı,
ancak önerilir)
Sunucu için IP başına nekadar bağlantıya
izin verileceğini belirtir.(ör: maxperip 4;).
redirect-server (isteğe
bağlı)
Eğer belirtilen sınıf full ise, kullanıcılar
burada belirtilen sunucuya yönlendirilirler.(eğer istemci yazılımı da
destekliyorsa [mIRC 6 destekliyor]).
redirect-port (isteğe
bağlı)
Eğer redirect-server belirtilmişse bu kısma portu
belirtebilirsiniz, aksi takdirde 6667 olarak varsayılacaktır
options bloğu (isteğe
bağlı)
Geçerli tercihler:
useip
hostname yerine herzaman IP görüntülenir
noident
ident
kullanılmaz fakat client'in belirlediği username
kullanılır
ssl sadece
SSL ile bağlanan istemciler
bağlanabilir
nopasscont
eğer şifre belirtilmemişse eşleşme devam eder.
Örnekler:
allow { ip *; hostname *; class clients; maxperip 5; }; allow { ip *@*; hostname *@*.passworded.ugly.people; class clients; password "f00Ness"; maxperip 1; };
4.6 - Listen Bloğu GEREKLI (Önceden bilinen P:Line)
Kullanımı:
listen <ip:port> { options { <tercih>; <tercih>; ... }; };
Bu blok IRCD'in hangi portları dinleyeceğini belirtmenizi sağlar. Eğer seçilmesi gereken hiçbir seçenek yoksa, bu bloğu sadece listen <ip:port>; şeklinde belirtebilirsiniz.
ip and port
Kullanılabilir bütün IP'lere bağlanmak için IP
kısmını *
olarak belirtebilirsiniz, veya bağlanılacak tek IP
belirtebilirsiniz.(çoğunlukla
shell sağlayıcıları için gerekir). Belirtilecek port ise dinlemek
istediğiniz
porttur. Tek port yerine belirli port aralıklarını da belirtebilirsiniz.
Örneğin
6660-6669 şeklinde belirttiğiniz zaman 6660 dan 6669 (dahil) 'a kadar bütün
portları belirtmiş olursunuz. IPv6 kullanıcıları için aşağıda açıklama
yapılmıştır.
IPv6 kullanıcıları için
bilgi
Eğer IPv6 desteği açık bir sunucunuz varsa
IP'yi parantez ifadesi içinde belirtmelisiniz. [::1]:6667 gibi. Eğer IPv6
kullanıyorsanız ve belirli bir IPv4 adresini dinlemek istiyorsanız
::ffff:ipv4ip
şeklinde belirtme yapmalısınız. Örnek: [::ffff:203.123.67.1]:6667 ile
203.123.67.1 IP'sini 6667 portu üzerinden dinlemek için. Elbette burada
sadece *
da belirtebilirsiniz.
options bloğu (isteğe
bağlı)
Kullanılacak port için özel tercihler de
belirtebilirsiniz, geçerli tercihler:
|
sadece istemciler için |
|
sadece sunucular için |
|
CR javachat desteği |
|
SSL kullanan bağlantılar için |
Örnekler:
listen *:6601 { options { ssl; clientsonly; }; };
Veya tercih belirtilmemiş şekil:
listen *:8067;
listen
213.12.31.126:6667;
listen *:6660-6669;
4.7 - Oper Bloğu ÖNERİLİR (Önceden bilinen O:Line)
oper <isim> { from { userhost <hostmaskesi>; userhost <hostmaskesi>; }; password <şifre> { <auth-tipi>; }; class <class-ismi>; flags <flaglar>; flags { <flag>; <flag>; ... }; swhois <whois bilgisi>; snomask <snomask>; modes <modlar>; maxlogins <num>; };
Oper bloğu IRC Operatörleri atamanızı sağlar. oper:: kısmı /oper kullanımında ki login ismini belirtir. oper::from::userhost kısmı ile belirtilecek kullanıcı@host maskesi kullanıcının eşleşeceği maskedir, burada birden çok oper::from::userhost belirtebilirsiniz. oper::password kısmında belirttiğiniz şifre ise kullanıcının belirteceği şifredir, oper::password:: kısmında ise bu şifre için bir auth metodu belirtebilirsiniz, kullanılan auth tipleri: crypt, md5 ve sha1, ripemd-160. Eğer düz-metin bir şifre kullanmak istiyorsanız bu alt bloğu kullanmayın.
Lütfen login ismi kısmının ve şifre kısmının büyük-küçük harfe duyarlı olduğunu unutmayın
oper::class yönergesinde ise oper bloğunun kullanacağı daha önceden anlatılmış olan class ismi belirtilir.
oper::flags yönergesinin iki formatı vardır. Eğer eski stil oper flaglarını kullanmak istiyorsanız, örneğin; OAa, bunu flags <flags>metodu ile belirtebilirsiniz, eğer yeni stili kullanmak istiyorsanız, örneğin; services-admin, bunu flags { <flag>; } metodu ile belirtebilirsiniz. Aşağıda (her iki format için) flaglar ve işlevleri listelenmiştir.
Eski
Flag |
Yeni
Flag |
Açıklama |
o |
local |
Sizi local operator yapar |
O |
global |
Sizi global operator yapar |
C |
coadmin |
Sizi coadmin yapar |
A |
admin |
Sizi admin yapar |
a |
services-admin |
Sizi servisler admini yapar |
N |
netadmin |
Sizi ağ admini yapar |
r |
can_rehash |
/rehash komutunu kullanabilme yetkisi verir |
D |
can_die |
/die komutunu kullanabilme yetkisi verir |
R |
can_restart |
/restart komutunu kullanabilme yetkisi verir |
h |
helpop |
Opere +h (helpop) kullanıcı modunu verir |
w |
can_wallops |
/wallops ile mesaj gönderebilme yetkisi verir |
g |
can_globops |
/globops ile mesaj gönderebilme yetkisi verir |
c |
can_localroute |
Yerel /SQUIT ve /CONNECT komutlarını kullanabilme yetkisi verir |
L |
can_globalroute |
Global /SQUIT ve /CONNECT komutlarını kullanabilme yetkisi verir |
k |
can_localkill |
Yerel /kill komutu kullanabilme yetkisi verir |
K |
can_globalkill |
Global /kill komutu kullanabilme yetkisi verir |
b |
can_kline |
/kline komutunu kullanabilme yetkisi verir |
B |
can_unkline |
/kline -u@h komutunu kullanabilme yetkisi verir(kline silme yetkisi) |
n |
can_localnotice |
Yerel sunucu noticeleri gönderebilme yetkisi verir |
G |
can_globalnotice |
Global sunucu noticeleri gönderebilme yetkisi verir |
z |
can_zline |
/zline komutunu kullanabilme yetkisi verir |
t |
can_gkline |
/gline, /shun ve /spamfilter komutlarını kullanabilme yetkisi verir |
Z |
can_gzline |
/gzline komutunu kullanabilme yetkisi verir |
W |
get_umodew |
Oper açtığında kullanıcının +W modunu almasını sağlar |
H |
get_host |
Oper açtığında kullanıcının oper hostu almasını sağlar |
v |
can_override |
OperOverride kullanabilme yetkisi verir |
q |
can_setq |
+q kullanıcı modunu kullanabilme yetkisi verir |
X |
can_addline |
/addline komutunu kullanabilme yetkisi verir |
d |
can_dccdeny |
/dccdeny ve /undccdeny komutlarını kullanabilme yetkisi verir |
Belirli flaglar default olarak diğer flagları da verir:
local | global | admin/coadmin | services-admin | netadmin |
can_rehash | can_rehash | can_rehash | can_rehash | can_rehash |
helpop | helpop | helpop | helpop | helpop |
can_globops | can_globops | can_globops | can_globops | can_globops |
can_wallops | can_wallops | can_wallops | can_wallops | can_wallops |
can_localroute | can_localroute | can_localroute | can_localroute | can_localroute |
can_localkill | can_localkill | can_localkill | can_localkill | can_localkill |
can_kline | can_kline | can_kline | can_kline | can_kline |
can_unkline | can_unkline | can_unkline | can_unkline | can_unkline |
can_localnotice | can_localnotice | can_localnotice | can_localnotice | can_localnotice |
can_globalroute | can_globalroute | can_globalroute | can_globalroute | |
can_globalkill | can_globalkill | can_globalkill | can_globalkill | |
can_globalnotice | can_globalnotice | can_globalnotice | can_globalnotice | |
global | global | global | ||
can_dccdeny | can_dccdeny | can_dccdeny | ||
can_setq | can_setq | |||
admin | ||||
services-admin |
oper::swhois yönergesi oper whois bilgisine ekstra bir satır eklemenize olanak sağlar. [isteğe bağlı]
oper::snomask yönergesi ise oper açıldığında hangi snomaskların alınacağını belirlemenizi sağlar. Kullanılabilir SNOMASKlar için Bölüm 3.3'e bakın. [isteğe bağlı]
oper::modes yönergesi ise oper açıldığında alınacak modları belirlemenizi sağlar. [isteğe bağlı]
oper::maxlogins yönergesi ise belirtilen hosttan max kaç oper logini olabileceğini belirlemenizi sağlar. Örneğin bunu 1 olarak belirtmişseniz belirttiğiniz hosttan sadece tek bir kullanıcı oper açabilir. [isteğe bağlı]
Örnek:
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 "Example of a whois mask"; snomask frebWqFv; };OperOverride hakkında kısa bir bilgilendirme:
4.8 - DRpass Bloğu ÖNERİLİR (Önceden bilinen X:Line)
Kullanımı:
drpass { restart <restart-şifresi> { <auth-tipi>; }; die <die-şifresi> { <auth-tipi>; }; };
Bu blok ile /restart ve /die şifrelerini drpass::restart ve drpass::die yönergeleriyle belirtebilirsiniz. drpass::restart:: ve drpass::die:: kısımları bu şifreler için auth tipini belirtmenize olanak verir. Geçerli auth tipleri: crypt, md5 ve sha1, ripemd-160.
Örnek:
drpass { restart "I-love-to-restart"; die "die-you-stupid"; };
Kullanımı:
include
<dosya-ismi>;
Bu yönergeyle yüklenecek ayrı bir konfigürasyon dosyası belirtebilirsiniz. Bu dosya konfigürasyon bloklarından herhangi birini içerebilir veya diğer herhangi bir dosya da olabilir. Dosya isminde birçok dosyayı tek seferde yükleyebilmek için (?) (*) (!) işaretlerinin kullanımı desteklenmektedir.
örnek 1: bir network (ağ)
dosyası
include mynetwork.network;
Ayrı bir network dosyası kullanmak istiyorsanız bu şekilde belirtebilirsiniz. Network dosyası artık gerekli değildir; bütün network ayarları direkt olarak unrealircd.conf'ta belirtilebilmektedir. Veya bu ayarları include ifadesi ile belirttiğiniz, yüklenecek dosya içinde de belirtebilirsiniz.
örnek 2: aliases
include aliases/ircservices.conf
Bu yönergeye diğer bir örnek ise alias bloklarını içeren
dosyaların belirtilmesi örneğidir, UnrealIRCd bir çok servis ile uyumlu olan
aliaslar içerir:
4.10 - LoadModule Yönergesi GEREKLİ
Kullanımı:
loadmodule
<dosya-ismi>;
Modüllerin neden kullanışlı olduklarını öğrenmek için buraya tıklayın.
Unreal3.2 ile birlikte gelen standart modüller:
commands.so / commands.dll - Bütün komutlar (henüz hepsi
değil, ama sonuç olarak hepsi olacak GEREKLİ
cloak.so / cloak.dll
- Gizleme modülü GEREKLİ (veya
herhangi bir gizleme modülü)
Bu modüllerin yüklendiğinden emin olmanız gerekir:
loadmodule "src/modules/commands.so"; loadmodule "src/modules/cloak.so";
veya windows için:
loadmodule "modules/commands.dll"; loadmodule "modules/cloak.dll";
Kullanımı:
log <dosya-ismi> { maxsize <max-dosya-boyutu>; flags { <flag>; <flag>; ... }; };
Log bloğu farklı amaçlar için farklı kayıt dosyaları tahsis etmenize olanak sağlar. log:: kayıt dosyasının ismini içerir. log::maxsize ise isteğe bağlı bir yönergedir, dosya bu yönergede belirtilen boyuta ulaştığında temizlenir ve dosyaya yeniden yazım başlar. Buraya belirteceğiniz değerde megabyte için MB, kilobyte için KB, gigabyte için GB şeklinde kullanım yapabilirsiniz. log::flags ile ne tür bilginin kaydedileceğini belirtebilirsiniz. Aşağıda geçerli mevcut flagların listesi verilmiştir.
Aynı zamanda farklı şeyleri farklı kayıt dosyalarında tutmak için birden fazla log bloğu oluşturabilirsiniz.
Mevcut Flaglar:
errors | self explanatory |
kills | /kill noticelerini kaydeder |
tkl | *line, shun ve spamfilter (ekleme/kaldırma/zamanaşımı) bilgilerini kaydeder |
connects | kullanıcı giriş/çıkışlarını kaydeder |
server-connects | sunucu bağlantılarını/çıkışlarını kaydeder |
kline | /kline komutunun kullanımlarını kaydeder |
oper | oper açma denemelerini kaydeder (hem başarılı olanları hem de başarısız olanları) |
sadmin-commands | /sa* (samode, sajoin, sapart, vs.) komutlarının kullanımlarını kaydeder |
chg-commands | /chg* (chghost, chgname, chgident, vs.) komutlarının kullanımlarını kaydeder |
oper-override | operoverride kullanımlarını kaydeder |
spamfilter | spamfilter eşleşmelerini kaydeder |
Örnek:
log ircd.log { maxsize 5MB; flags { errors; kills; oper; kline; tkl; }; };
4.12 - TLD Bloğu İSTEĞE BAĞLI (Önceden bilinen T:Line)
Kullanımı:
tld { mask <hostmaskesi>; motd <motd-dosyası>; rules <kurallar-dosyası>; shortmotd <kısamotd-dosyası>; opermotd <opermotd-dosyası>; botmotd <botmotd-dosyası>; channel <kanal-ismi>; options { ssl; } };
Tld bloğu kullanıcıların hostuna göre, kullanıcılara, belirli bir motd dosyası, kurallar dosyası veya kanal ataması yapmanızı sağlar. Farklı diller için farklı motdler istiyorsanız, tld bloğu kullanışlıdır. tld::mask ile belirttiğiniz kullanıcı@host maskesi kullanıcının kullanıcı adı(username) ve host (hostname) kısmıyla uyuşmalıdır. Belirttiğiniz hostmaskesine görüntülenecek motd, kısamotd, opermotd, botmotd ve kurallar dosyalarını sırasıyla tld::motd, tld::shortmotd, tld::opermotd, tld::botmotd, and tld::rules kısımlarında belirleyebilirsiniz. tld::shortmotd, tld::opermotd ve tld::botmotd kısımları isteğe bağlıdır. tld::channel kısmı da isteğe bağlıdır, bu belirtilen hostmaskesine sahip kullanıcıların bağlandıkları anda girecekleri kanalı belirler. Eğer bu belirtilirse default oto giriş kanalı, belirtilen hostmaskesinde ki kullanıcılar için geçerli olmayacaktır. tld::options bloğu ise ek olarak seçenek belirtmenizi sağlar, şu an için tek mevcut seçenek ssl seçeneğidir.
TLD girişleri eşleşmesi yukarıdan aşağıya doğrudur.
Örnek:
tld { mask *@*.fr; motd "ircd.motd.fr"; rules "ircd.rules.fr"; };
4.13 - Ban Nick Bloğu İSTEĞE BAĞLI (Önceden bilinen Q:Line)
Kullanımı:
ban nick {
mask <nick>; reason <yasaklama-için-sebep>; };
Ban nick bloğu bir nickin sunucuda kullanımını yasaklamanıza olanak sağlar. ban::mask kısmında birden çok nick belirtilebilmesi için (*), (!), (?) işaretleri kullanılabilir ve ban::reason kısmında ise bu yasaklama için gerekçe belirtilir. Çoğunlukla bu bloklar Network Servislerinin kullandığı nicklerin kullanımını yasaklamak için kullanılır.
Example:
ban nick { mask "*C*h*a*n*S*e*r*v*"; reason "Reserved for Services"; };
4.14 - Ban User Bloğu İSTEĞE BAĞLI (Önceden bilinen K:Line)
Kullanımı:
ban user { mask <hostmaskesi>; reason <ban-için-sebep>; };
Bu blok belirtilen kullanıcı@host hostmaskesine sahip kullanıcıların sunucuya girişlerini engellemek için kullanılır. ban::mask kısmında belirtilecek kullanıcı@host maskesinde (?), (*), (!) işaretleri kullanılabilir, ve ban::reason kısmında ise ban için sebep belirtilir. Not, burada atılacak ban yerel bir bandır, kullanıcı ağdaki diğer bir sunucuya bağlantı sağlayabilir.
Örnek:
ban user { mask *tirc@*.saturn.bbn.com; reason "Idiot"; };
4.15 - Ban IP Bloğu İSTEĞE BAĞLI (Önceden bilinen Z:Line)
Kullanımı:
ban ip { mask <ipmaskesi>; reason <ban-için-sebep>; };
Ban ip bloğu belirtilen ip maskesinin sunucuya erişimini yasaklamak için kullanılır. Bu bağlantı deneyen kullanıcıları ve sunucuları da içerir. ban::mask parametresi (?), (*), (!) işaretlerini de içerebilecek bir IP'dir, ban::reason kısmında ise ban gerekçesi belirtilir. Bu ban sunucuları da kapsadığından çok dikkatli kullanılmalıdır.
Örnek:
ban ip { mask 192.168.1.*; reason "Get a real ip u lamer!"; };
4.16 - Ban Server Bloğu İSTEĞE BAĞLI (Önceden bilinen q:Line)
Kullanımı:
ban server { mask <sunucu-ismi>; reason <ban-için-sebep>; };
Bu blok belirtilen sunucunun ağa bağlantısını engellemek için kullanılır. Eğer belirtilen sunucu direkt olarak sunucunuza linklenirse, link reddedilir. Eğer belirtilen sunucu uzak sunucuya linklenirse, yerel sunucunun ağdan bağlantısı kesilir. ban::mask kısmında bağlantısı engellenecek sunucu ismi belirtilir, burada (?), (*), (!) işaretleri kullanılabilir ve ban::reason kısmında ise bu engelleme için gerekçe belirtilir.
Örnek:
ban server { mask broken.server.my.network.com; reason "Its broken!"; };
4.17 - Ban RealName Bloğu İSTEĞE BAĞLI (Önceden bilinen n:Line)
Kullanımı:
ban realname { mask <realname-maskesi>; reason <ban-için-sebep>; };
Ban realname bloğu bir kullanıcıyı, GECOS kısmı esas alınarak, banlamanıza olanak sağlar. Bu clone saldırılarını durdurmada yardımcı olacaktır, çünkü çoğunlukla saldırılarda ki clone botlar aynı realname 'e sahiptir. ban::mask kısmında banlanacak realname belirtilir. Bu kısımda (*), (?), (!) işaretleri kullanılabilir. ban::reason kısmında ise ban gerekçesi belirtilir.
Örnek:
ban realname { mask "Bob*"; reason "Bob sucks!"; };
4.18 - Ban Version Bloğu İSTEĞE BAĞLI
Kullanımı:
ban version { mask <versiyon-maskesi>; reason <ban-için-sebep>; action [kill|tempshun|shun|kline|zline|gline|gzline]; };
Ban version bloğu bir kullanıcıya, kullandığı IRC client yazılımı esas alınarak, ban atmanıza olanak verir. Bu, kullanıcıların CTCP version 'a karşı verdikleri cevap kullanılarak yapılır. Bu yüzden eğer kullanıcı CTCP version'a cevap vermezse ban işlevi geçerli olmayacaktır. Bu özellik kötü niyetli scriptleri bloke etmek için tasarlanmıştır. ban::mask kısmında banlanacak versiyon belirtilir. Bu kısımda (?), (*), (!) işaretleri kullanılabilir. ban::reason kısmında ise ban gerekçesi belirtilir. Aynı zamanda ban::action kısmında, kill default değeri olmak üzere, tempshun/shun/kline/zline/gline/gzline eylemlerini de, (*@IPADDR) şeklinde uygulanmak üzere belirtebilirsiniz. Burada atılacak banın süresi set::ban-version-tkl-time kısmında belirtilen değerdir ve default değeri 1 gündür.
Örnek:
ban version { mask "*SomeLameScript*"; reason "SomeLameScript contains backdoors"; };
ban version { mask "*w00tZombie*"; reason "I hate those hundreds of zombies"; action zline; };
4.19 - Ban Exceptions Bloğu İSTEĞE BAĞLI (Önceden bilinen E:Line)
Kullanımı:
except ban { mask <hostmaskesi>; };
Except ban bloğu, ban atılsa dahi, atılan ban kaldırılmaksızın sunucuya giriş yapabilecek kullanıcı@host 'ları belirtmenizi sağlar. Belirli bir ISP için bütün ip'lere ban atmak istediğinizde bu özellik yararlı olacaktır, çünkü o ISP üzerinden bağlantı sağlayan, sunucuya girebilmelerini istediğiniz kullanıcıların bu blok ile sunucuya girişleri mümkün olacaktır. except::mask yönergesi ile sunucuya bu şekilde girmelerine izin verilecek kullanıcıların maskelerini kullanıcı@host şeklinde belirtebilirsiniz.
Örnek:
except ban { mask myident@my.isp.com; };
4.20 - TKL Exceptions Bloğu İSTEĞE BAĞLI
Kullanımı:
except tkl { mask <hostmaskesi>; type <tip>; type { <tip>; <tip>; ... }; };
Except tkl bloğu , belirtilen tip(ler)de atılan bir ban kaldırılmaksızın, sunucuya giriş yapabilecek kullanıcı@host 'ları belirtmenizi sağlar. Eğer belirli bir ISP için bütün IPlere ban atmak istiyorsanız ve hala bu ISP üzerinden belirli kullanıcıların girebilmesini istiyorsanız bu blokla bunu mümkün kılabilirsiniz. except::mask yönergesi ile bağlantısına izin verilecek kullanıcı@host maskesi belirtilir. except::type yönergesi ile hangi bandan etkilenilmeyeceği belirtilir. Geçerli tipler: gline, gzline, qline, gqline, ve shun, eğer type {} formatı kullanılırsa birden fazla tip belirtilebilir.
Örnek:
except tkl { mask myident@my.isp.com; type gline; };
4.21 - Throttle Exceptions Bloğu İSTEĞE BAĞLI
Kullanımı:
except throttle { mask <ipmaskesi>; };
Except throttle bloğu ile throttling sisteminden etkilenmiyecek IP maskelerini belirtebilirsiniz. Bu blok ancak throttling özelliğini aktif ederseniz işlem görecektir. except::mask yönergesi ile bu sistemden etkilenmeyecek IP maskesi belirtilir.
Örnek
except throttle { mask 192.168.1.*; };
4.22 - Deny DCC Bloğu İSTEĞE BAĞLI (Önceden bilinen dccdeny.conf)
Kullanımı:
deny dcc { filename <bloke-edilecek-dosya-ismi>; reason <bloke-için-gerekçe>; soft [yes|no]; };
Deny dcc bloğu sunucu üzerinden DCC yoluyla gönderilmesine izin verilmeyecek dosya isimlerini belirtmenize olanak sağlar. Bu trojanların ve virüslerin yayılmasını engellemeye yardımcı olacaktır.
deny::filename yönergesi ile gönderimine izin verilmeyecek dosya ismi belirtilir, burada (?), (*), (!) işaretleri kullanılabilir, deny::reason yönergesi ile gönderimi bloklama gerekçesi belirtilir.
Aynı zamanda birde deny::soft seçeneği vardır, eğer bu yönerge değeri 'yes' olarak belirtilirse karşı taraf dosyayı /DCCALLOW +göndermeyi-deneyen-nick komutuyla alabilir. Daha fazla bilgi için dccallow.conf dosyasına göz atın.
Örnek
deny dcc { filename virus.exe; reason "This is a GD Virus"; }; deny dcc { filename "*.exe"; reason "Executable content"; soft yes; };
4.23 - Deny Version Bloğu İSTEĞE BAĞLI (Önceden bilinen V:Line)
Kullanımı:
deny version { mask <sunucu-ismi>; version <versiyon-numarası>; flags <derleme-flagları>; };
Bu blok, bir sunucudan gelecek linki, sunucunun kulandığı Unreal versiyonuna ve derleme zamanı flag seçeneklerine göre reddetmenize olanak sağlar. Bu blok format olarak biraz kompleks bir yapıya sahiptir ama düzenlemesi o kadar zor değildir. deny::mask yönergesi ile linki, kullandığı unreal versiyonu sebebiyle reddedilecek sunucu maskesi belirtilir, burada (?), (*), (!) işaretleri kullanılabilir. deny::version yönergesi ile sözü edilen unreal versiyonunun protokol numarası belirtilir.
Örneğin, 3.0 versiyonu için bu numara 2301, 3.1.1/3.1.2 için 2302, 3.2 için 2303 olarak belirtilebilir. Bu parametrenin ilk karakteri olarak >, <, =, ! işaretleri belirtilebilir. Bu karakterle IRCd'e, belirtilecek versiyonu nasıl yorumlağacağı bildirilir. Eğer ilk karakter olarak > işareti belirtilmişse, versiyon numarası belirtilen versiyondan büyük olan bütün versiyonların linki reddedilecektir. Eğer ilk karakter olarak < işareti belirtilmişse, versiyon numarası belirtilen versiyondan küçük olan bütün versiyonların linki reddedilecektir. Eğer ilk karakter olarak = işareti belirtilmişse sadece o versiyonun linki reddedilecektir, ve eğer ! işareti belirtilmişse ilk karakter olarak, belirtilen versiyon haricinde ki bütün versiyonların linki reddedilecektir. deny::flags yönergesi ile sunucunun olabilecek veya olamayacak derleme zamanı flagları belirtilir. Flaglar aralarında boşluk olmadan ardarda belirtilir, eğer başında ! karakteri belirtilirse, belirtilen flaglar haricindeki flaglara sahip versiyonların linki reddedilecektir. Eğer ! işareti yoksa sadece belirtilen flaglarla derlenmiş versiyona sahip sunucuların linki reddedilecektir.
4.24 - Deny Link Bloğu İSTEĞE BAĞLI (Önceden bilinen D/d:Line)
Kullanımı:
deny link { mask <sunucu-ismi>; rule <ifade>; type <reddetme-tipi>; };
Bu blok bir sunucudan gelecek linkin belirli kurallara göre reddedilmesine olanak sağlar. deny::mask yönergesi ile belirtilecek kurallarla örtüşen sunucu ismi maskesi belirtilir, burada (!),(*),(?) işaretleri kullanılabilir. deny::rule yönergesi çok kompleks bir yapıya sahiptir. Bu yönerge sayesinde linki çok büyük bir ayrıntıyla kontrol edebilirsiniz. Bu yönerge ile 4 operator belirtilebilir, connected(<sunucumaskesi>), eğer belirtilen sunucumaskesi bağlı olan bir sunucu ile eşleşirse bu yönergenin dönüş değeri lojik 1'dir, directcon(<sunucumaskesi>), eğer belirtilen sunucu maskesi direkt bağlantı ile sunucuya linkli ise bu yönergenin dönüş değeri lojik 1'dir, via(<viamaskesi>,<sunucumaskesi>), eğer belirtilen sunucumaskesi, viamaskesi ile eşleşmiş bir sunucu tarafından bağlantı kuruyorsa bu yönergenin dönüş değeri lojik 1'dir, ve directop(), eğer link /connect komutu ile direkt olarak gerçeklendiyse dönüş değeri yine lojik 1'dir. Bu operatörler && (ve) ve || (veya) karakterleri ile birleştirilebilir, öğeler gruplama sağlamak için parantez içinde de belirtilebilir. Ek olarak bir operatörden önce ! karakteri belirtilirse bu, bu karakter kullanılmadan önce ki dönüş değeri 1 ise bunu 0 yapar. Eğer dönüş değeri lojik olarak 1se link reddedilecektir. deny::type yönergesi iki farklı değere izin verir, auto (otomatik bağlantılar, /connect hala kullanılabilir) ve all (bütün bağlantı denemeleri).
4.25 - Deny Channel Bloğu İSTEĞE BAĞLI (Önceden bilinen chrestrict.conf)
Kullanımı:
deny channel { channel "<kanal-maskesi>"; reason <yasaklama-için-gerekçe>; redirect "<kanal-ismi>"; warn [on|off]; };
Deny channel bloğu, kullanıcıların belirli kanallara girmesini engellemenize olanak sağlar. deny::channel yönergesi ile girilemeyecek kanal maskesi belirtilir, burda (*),(?),(!) işaretleri kullanılabilir. deny::reason yönergesi ile kanala neden girilemeyeceğinin gerekçesi belirtilir. Ek olarak, deny::redirect yönergesini de kullanabilirsiniz. Eğer bu yönerge ile bir kanal ismi belirtirseniz, kullanıcı deny::channel yönergesi ile belirttiğiniz kanala girmeyi denerse otomatik olarak deny::redirect yönergesinde belirttiğiniz kanala yönlendirilecektir. Aynı zamanda deny::warn yönergesini de ,belirtilen kanala girme denendiğinde, operlere uyarı gitmesi için (eğer on olarak belirtirseniz) kullanabilirsiniz.
Örnek
deny channel { channel "#unrealsucks"; reason "No it don't!"; }; deny channel { channel "#*teen*sex*"; reason "You == dead"; warn on; }; deny channel { channel "#operhelp"; reason "Our network help channel is #help, not #operhelp"; redirect "#help"; };
4.26 - Allow Channel Bloğu İSTEĞE BAĞLI
Kullanımı:
allow channel { channel "<kanal-maskesi>"; };
Allow channel bloğu ile kullanıcıların girebileceği belirli kanallar belirtebilirsiniz. allow::channel yönergesi ile kanal maskesi belirtilir, burada (*),(?),(!) işaretleri kullanılabilir.
Örnek:
allow channel { channel "#something"; };
4.27 - Allow DCC Bloğu İSTEĞE BAĞLI
Kullanımı:
allow dcc { filename "<dosyaismi-maskesi>"; soft [yes|no]; };
Allow dcc bloğu , deny dcc bloğunun kapsamı dışında tutulacak dosya isimleri belirtebilmenize olanak sağlar. Burada (*),(?),(!) işaretleri kullanılabilir. Eğer allow dcc::soft yönergesini 'yes' olarak belirtirseniz 'soft dcc bans' listesi kullanılır, eğer 'no' olarak belirtirseniz normal ('hard') dcc ban listesi kullanılır.
Örnek:
allow dcc { filename "*.jpg"; /* Görüntü dosyaları genelde güvenilirdir. */ soft yes; };
4.28 - Vhost Bloğu İSTEĞE BAĞLI (Önceden bilinen vhosts.conf)
Kullanımı:
vhost { vhost <vhost>; from { userhost <hostmaskesi>; userhost <hostmaskesi>; ... }; login <login-ismi>; password <şifre> { <auth-tipi>; }; swhois "<swhois bilgisi>"; };
Vhost bloğu, /vhost komutuyla host alabilmek için kullanılacak login/şifreyi belirlemenize olanak sağlar. vhost::vhost parametre olarak user@host biçiminde olabilir veya sadece host biçiminde de olabilir. Bu yönergeyle kullanıcının /vhost komutunu kullandığında alacağı hostu belirtebilirsiniz. vhost::from::userhost yönergesiyle vhost kullanım hakkı olacak user@host 'ları belirtebilirsiniz, burda belirteceğiniz maskenin vhost komutunu kullanacak kullanıcının maskesiyle eşleşmesi gereklidir. Birden fazla hostmaskesi belirtebilirsiniz. vhost::login yönergesi ile kullanıcının girmesi gereken login ismini, vhost::password yönergesi ile kullanıcının girmesi gereken şifreyi belirtebilirsiniz. vhost::password:: yönergesi ile belirtilen şifre için auth tipini de belirtebilirsiniz. Geçerli auth tipleri: crypt, md5, and sha1, ripemd-160. Son olarak vhost::swhois yönergesi, vhost kullanacak kullanıcının whois bilgisine ekstra bir satır eklemenize olanak sağlar, kullanımı ise oper::swhois yönergesindeki kullanım şekli ile aynıdır.
Örnek:
vhost { vhost my.own.personal.vhost.com; from { userhost my@isp.com; userhost myother@isp.com; }; login mynick; password mypassword; swhois "Im Special"; };
4.29 - Badword Bloğu İSTEĞE BAĞLI (Önceden bilinen badwords.*.conf)
Kullanımı:
badword <type> { word <eşleşecek-metin>; replace <yerine-gelecek-metin>; action <replace|block>; };
Badword bloğu, kullanıcı ve kanal modu olan +G modu için gönderimi engellenecek "badwords" (kötü kelimeler) listesini yönetmenize olanak sağlar. badword:: yönergesi ile tip belirtilir, geçerli tipler: channel, message, quit ve all. channel: kanal modu +G için "badwords" listesi için, message: kullanıcı modu +G için "badwords" listesi için, quit: çıkış mesajlarını sansürlemek için, ve all: her 3 liste için kullanılabilir. badword::word yönergesi ile sade bir kelime belirtebilirsiniz veya bir ifade (regex) de belirtebilirsiniz. badword::replace ile badword::word yönergesiyle belirtilen ifade veya kelime eşleşmesi gerçekleşmesi durumunda, bu ifade veya metnin yerine gönderilecek metni belirtebilirsiniz. Eğer badword::replace yönergesi belirtilmezse, metin eşleşmesi durumunda metin <censored> ile değiştirilecektir. badword::action yönergesi ile, kötü kelimeler listesi içinde bulunan bir ifade kullanılması halinde uygulanacak eylem belirtilir. Eğer burda replace belirtilirse ifade badword::replace yönergesiyle belirtilen metinle değiştirilecektir, eğer block belirtilirse ifade bloklanacaktır. Eğer burda hiçbirşey belirtmezseniz geçerli eylem replace eylemi olacaktır.
Örnek:
badword channel { word shit; replace shoot; };
4.30 - ULines Bloğu İSTEĞE BAĞLI (Önceden bilinen U:Line)
Kullanımı:
ulines { <sunucu-ismi>; <sunucu-ismi>; ... };
Ulines bloğu, belli sunuculara ekstra yetkiler vermenize olanak sağlar. Bu sadece servisler ve stats sunucuları için kullanılmalıdır. Normal bir sunucu burda belirtilmemelidir.
Örnek
ulines { services.mynetwork.com; stats.mynetwork.com; };
4.31 - Link Bloğu İSTEĞE BAĞLI (Önceden bilinen C/N/H:Lines)
Kullanımı:
link <sunucu-ismi> { username <kullanıcımaskesi>; hostname <ipmaskesi>; bind-ip <bağlanılacak-ip>; port <bağlantı-için-kullanılacak-port>; password-connect <bağlantı-için-gereken-şifre>; password-receive <onaylanacak-şifre> { <auth-tipi>; }; hub <hub-maskesi>; leaf <leaf-maskesi>; leafdepth <depth>; class <sınıf-ismi>; ciphers <ssl-anahtarları>; options { <tercih>; <tercih>; ... }; };
Bu sunucuları linklemek için gerekli bloktur, lütfen burda yazılan açıklamaları okumaya zaman ayırın, çünkü bu zor işlemlerden bir tanesidir ve kullanıcılar genellikle bu kısımda hata yaparlar ;P
İlk olarak sunucu-ismi ile uzak sunucu ismi belirtilir, uzak sunucu ismi, o sunucunun me { } bloğunda belirtilen isimdir, hub.blah.com gibi (IP olamaz ve uzak sunucunun hostname'inden farklı olabilir).
username
Eğer kimlik denetimi için sunucunuzda identi
kullanıyorsanız bu kısmı belirtebilirsiniz, normalde "*" olarak belirtilir.
hostname
Uzak sunucunun IP'si veya hostudur. Bu hem bağlantı
hem de
kimlik denetimi/doğrulaması için kullanılır. Birkaç örnek:
1.2.3.4 | normal IP |
hub.blah.com | sadece giden bağlantılar için, gelen bağlantılarda, link::options::nohostcheckhost yönergesi ile belirtilmeden, kabul edilemez |
* | doğru şifre kullanıldığı sürece link hangi hostname'den gelirse gelsin bağlanmasına izin verilecektir |
::ffff:1.2.3.4 | ipv6 özelliğini kullanan bir sunucuyu ipv4 özelliğini kullanan bir sunucuya linklemek için kullanılır |
bind-ip (isteğe bağlı)
Belirli bir IP'ye bağlamak için
kullanılabilir (ör:
192.168.0.1) , hemen hemen neredeyse hiç kullanılmaz.
port
Link için bağlantı portu.
password-connect
Uzak sunucuya bağlanmak için gerekli olan
şifre, sade-metin
şeklinde olmalı.
password-receive
Gelen linkleri doğrulamak (onaylamak) için
gerekli şifre.
Geçerli metodların biri ile yeniden şifrelenebilir.(geçerli metodlar: crypt,
md5, sha1, ripemd-160). Şifre olarak sade-metin belirtmek için auth-tipi
parametresini kullanmayın. Bu şifre genellikle uzak sunucuya bağlanmak için
gerekli olan şifre ile aynıdır.
hub vs leaf
Birçok sunucunun linklendiği sunucu bir hubdur,
leaf ise
tek bir linke sahiptir...Bir sunucu ya hubdur, yada leafdir, bu 2 seçeneği
beraber kullanamazsınız.
hub (isteğe bağlı)
hub olarak bağlanacak sunucuların maskesidir
(ör:
*.my.net).
leaf (isteğe bağlı)
leaf olarak bağlanacak sunucuların
maskesidir.
leafdepth (isteğe bağlı)
Eğer bu belirtilirse leaf de
belirtilmelidir. Belirtilen
sunucu için sıçrama sayısıdır.
class
Sunucunun bulunacağı sınıftır (class), genellikle bunun
için ayrı bir sunucu sınıfı kullanılır (server class).
compression-level (isteğe
bağlı)
Bu link için sıkıştırma düzeyini belirtir (1-9
arasında olmalıdır). Sadece, daha önceden link::options::zip yönergesi
belirtildiyse kullanılır.
ciphers (isteğe bağlı)
Bu linkte kullanılacak SSL anahtarlarını
belirtir. Mevcut
geçerli anahtarları görmek için `openssl ciphers` komutunu kullanın.
Anahtarlar
: işareti ile ayrılarak ayrı ayrı belirtilebilir.
options bloğu
Sunucuyla bağlantı sırasında bir veya daha çok
tercih
kullanılır, bazen de gerekmez.
ssl | Eğer SSL portundan bağlanıyorsanız bu seçeneği tercih edebilirsiniz. |
autoconnect | Sunucu, bağlanmayı otomatik olarak deneyecekse (bunu tek taraflı olarak aktif etmeniz önerilir leaf->hub) bu seçeneği tercih edebilirsiniz. |
zip | Eğer sıkıştırılmış linkler istiyorsanız (derleme sırasında belirtilmeli + her iki tarafta da tercih edilmeli) bu seçeneği tercih edebilirsiniz. |
nodnscache | giden sunucu bağlantısında IP gizlemesinin olmasını istemiyorsanız bu seçeneği tercih edebilirsiniz. Bunu eğer host sık sık değişiyorsa kullanın (dyndns.org gibi). |
nohostcheck | uzakta host (link::hostname yönergesi ile belirtilen host)doğrulaması yapılsın istemiyorsanız bu seçeneği tercih edebilirsiniz. Bunu eğer host sık sık değişiyorsa kullanın (dyndns.org gibi). |
quarantine | Bu sunucuda ki operler GLOBAL oper yetkilerine sahip olamazlar, linkleri test etmek gibi eylemlerde kullanılır. |
Örnek:
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; }; };
4.32 - Alias Bloğu İSTEĞE BAĞLI
Kullanımı [standard alias]:
alias <isim> { target <yönlenilecek-nick>; type <alias-tipi>; spamfilter <yes|no>; };
(Not: aynı zamanda UnrealIRCd'in sahip olduğu standart alias dosyalarını görmek için buraya tıklayın.)
Alias bloğu [standard alias] bir kullanıcıya bir komutu
yönlendirmenize olanak sağlar, örneğin /chanserv komutu chanserv nickli
kullanıcıya mesaj gönderir. alias:: ile alias olacak komut ismi
belirtilir(ör:
chanserv), alias::target yönergesi ile hedef olarak komutun yönlendirileceği
nick veya kanal belirtilir, eğer alias:: kısmı belirtilen hedef ile aynı
olacaksa, bu durumda alias::target belirtilmeyebilir. alias::type yönergesi
ile
alias'ın tipi belirtilir, geçerli tipler: services (hedef servisler
kullanıcısı
ise), stats (hedef istatistik sunucusu kullanıcısı ise), normal (hedef
ağdaki
herhangi bir sunucudaki herhangi bir kullanıcı ise), ve channel (hedef bir
kanal
ismi ise). Eğer alias::spamfilter (isteğe bağlı) yönergesi değeri 'yes'
olarak
belirtilirse, spam filtre sistemi gönderilecek mesajı kontrol edecektir, bu
yönerge için default değeri 'no' 'dur.
Alias bloğunun,
aşağıda açıklandığı üzere, diğer bir formatı da vardır.
Kullanımı [command alias]:
alias <isim> { format <düzenli-ifade> { target <yönlenilecek-nick>; type <alias-tipi>; parameters <parametre-dizisi>; }; format <düzenli-ifade> { command <komut>; type real; parameters <parametre-dizisi>; }; format <düzenli-ifade> { ... }; type command; spamfilter <yes|no>; };
Alias bloğunun bu formatta kullanımı size daha geniş bir etki alanı sağlar. Örneğin /identify gibi bir alias oluşturabilirsiniz. alias:: yukarıda anlatıldığı ile aynı formdadır, alias komutunun ismidir. alias::format ile, alias komutuna gönderilecek metinle karşılaştırılması yapılacak ifade belirtilir, alias komutunun, gönderilecek metine göre farklı şeyler yapmasını birden fazla alias::format yönergesi belirterek sağlayabilirsiniz. alias::format::target yönergesiyle bu alias komutunun yönlendirileceği hedef belirtilir, "gerçek alias" ta bu yönerge yerine alias::format::command yönergesi kullanılır. alias::format::type ile yönlendirilecek mesajın tipini belirtebilirsiniz, burada aynı zamanda tip olarak "gerçek alias" için "real" olarak belirtme yapabiliriz. alias::format::parameters bu aliasa gönderilecek parametreleri belirtmenizi sağlar. Bu parametreleri % işaretini takip eden bir sayıyla belirtebilirsiniz, örneğin %1 ilk parametreyi temsil eder. Bütün parametreleri belirli bir parametreden sona doğru belirtmek için % işareti, ardından gelen bir sayı ve ardından da - işaretini belirterek sağlayabilirsiniz, örneğin %2- bütün parametreleri 2. parçadan itibaren sona doğru belirtir. Komutlar için alias bloğunun kullanımına örnekler için, doc/example.conf dosyasına bakın.
4.33 - Help Bloğu İSTEĞE BAĞLI
Kullanımı:
help <komut> { <metin-dizisi>; <metin-dizisi>; ... };
(Note: normally you just include help.conf)
Help bloğu /helpop komutunda kullanılmak üzere girişler oluşturmanıza olanak sağlar. help:: /helpop ile belirtilmesi gereken parametre değeridir, eğer bu kısım belirtilmezse metin dizileri tek /helpop komutu kullanımında (parametresiz kullanımında) görüntülenecektir. Bu blokta belirtilen metin dizileri /helpop komutunun belirtilen parametre ile kullanılması durumunda kullanıcıya gönderilecektir.
4.34 - Official Channels Bloğu İSTEĞE BAĞLI
Kullanımı:
official-channels { "#channel" { topic "The default topic"; }; };
Bu blokta belirtilecek kanallar; kanallarda kullanıcı bulunmasa dahi /list komutu uygulandığında kanal listesinde gözükecektir. topic ise isteğe bağlı olarak belirtilebilir. Burda belirtilen topic sadece kanalda kullanıcı bulunmadığında ve /list komutunun uygulanması durumunda gösterilecektir.
Örnek:
official-channels { "#Help" { topic "The official help channel, if nobody is present type /helpop helpme"; }; "#Home"; "#Main" { topic "The main channel"; }; };
4.35 - Spamfilter Bloğu İSTEĞE BAĞLI
Spamfilter bloğu ile lokal (yerel) spam filtreleri
ekleyebilirsiniz. (ağ çapında değil).
Spam filtreleri
hakkında daha fazla bilgi edinmek için Özellikler - Spamfilter bölümüne
bakınız.
Kullanımı:
spamfilter { regex <kelime>; target { <hedef(ler)> }; action <eylem>; reason <sebep>; ban-time <süre>; };
regex ile filtrelenecek
ifade belirtilir.
target ile
hedef(ler) belirtilir, olası hedef tiplerini görmek için buraya tıklayınız. (ör:
'channel')
action ile uygulanacak eylem
belirtilir, olası eylem tiplerini görmek için buraya tıklayınız. (ör:
'gline').
reason isteğe bağlı: yasaklama
(ban) veya bloke etme gerekçesi belirtilir. eğer belirtilmezse default
değeri
gerekçe olarak görüntülenecektir.
ban-time isteğe bağlı: *line ban
veya shun için süre
belirtmenize olanak sağlar, eğer belirtilmezse default değeri
uygulanır.(default
değeri: 1 gün).
Örnekler:
spamfilter { regex "Come watch me on my webcam"; target { private; channel; }; action gline; reason "You are infected, please go to www.antivirus.xx/blah/virus=GrrTrojan"; ban-time 6h; }; spamfilter { regex "come to irc\..+\..+"; target { private; channel; }; action gline; action gline; reason "No spamming allowed"; };
4.36 - Cgiirc Bloğu İSTEĞE BAĞLI
Cgiirc bloğu, güvendiğiniz CGI:IRC ağ gecitleri için, host spoofing özelliğini yapılandırmanıza olanak sağlar (daha fazla bilgi).
Kullanımı:
cgiirc { type <webirc|old>; username <maske>; /* isteğe bağlı */ hostname <maske>; password <şifre>; /* sadece webirc tipi için */ };
type ya 'webirc' ya da 'old'
olarak belirtilir.
username
kısmı ident ile eşleşir(eğer kullanılıyorsa). eğer belirtilmezse, değer, "*"
olarak varsayılır.
hostname
eşleşmeye karşı düşecek maskedir.
password webirc şifresidir,
sadece type kısmında
'webirc' değerinin belirtilmesi durumunda kullanılır.
'webirc' metoduyla nasıl
yapılandırılır (önerilen metod)
CGI:IRC
konfigürasyon dosyanızda (cgiirc.conf) webirc_password kısmında uygun bir
şifre
belirtin.
Daha sonra unrealircd.conf dosyanızın içinde
cgiirc bloğuna bu hostu ve şifreyi ve cgi::type yönergesiyle de "webirc"
değerini belirtin.
Örnek:
CGI:IRC konfigürasyon dosyanıza
(cgiirc.conf) ekleyeceğiniz
kısım:
webirc_password = LpT4xqPI5daha sonra, unrealircd.conf dosyanıza ekleyeceğiniz cgiirc bloğu:
cgiirc { type webirc; hostname "1.2.3.4"; password "LpT4xqPI5"; };
'old' metoduyla nasıl
yapılandırılır
NOT: İki dezavantajı olması nedeniyle
bu metod önerilmez. Dezavantajları: bu metod spoof için gönderilecek IP/host
'u
bir sunucu şifresi gibi gönderir, yani bir CGI:IRC kullanıcısı bağlantı için
bir
sunucu şifresi belirtemez. Ek olarak erişim kontrolu sadece IP-tabanlıdır ve
'webirc' metodunda olduğu gibi ekstradan bir şifre gerektirmez. Kısacası
eğer
gerçekten geçerli bir sebebiniz yoksa bu metodu kullanmayın.
CGI:IRC
konfigürasyon dosyanızda
(cgiirc.conf) set realhost_as_password kısmınının değerini 1 olarak
belirtin.
Daha sonra bu hosta izin vermek için unrealircd.conf
dosyanıza cgiirc bloğunu ekleyin.
Örnek:
CGI:IRC konfigürasyon
dosyanıza (cgiirc.conf) ekleyeceğiniz kısım:
realhost_as_password = 1Daha sonra unrealircd.conf dosyanıza ekleyeceğiniz cgiirc bloğu:
cgiirc { type old; hostname "1.2.3.4"; };
4.37 - Set Bloğu GEREKLİ (Önceden bilinen unrealircd.conf/networks file)
Tek sunuculu ağlarda, bütün set deyimlerini unrealircd.conf dosyanızda belirtebilirsiniz. Çok sunuculu ağlarda ise her bir sunucu için ayrı bir set dosyası kullanmanız önerilir.
Eğer sunucunuz bir ağa bağlı ise, bu durumda ağ ile aynı Set ayarlarını kullanacaksınız. Bu sebeple böyle bir durumda include yönergesiyle yüklenecek bir ağ dosyası oluşturmanız daha mantıklıdır. Aşağıda mevcut bütün set yönergelerini ve açıklamalarını bulabilirsiniz.
Dökümanın bu kısmında ayarların / yönergelerin <blok-ismi>::<blok-yönergesi> formatında olduğundan bahsetmek istiyoruz. Bu format direkt olarak konfigürasyon dosyasında belirtilemez. Dolayısıyla konfigürasyon dosyasında belirtilebilmesi için aşağıdaki formata çevirilmesi ZORUNLUDUR.
Kullanımı:
set { <giriş> <değer>; <giriş> <değer>; ... };
Set bloğuyla sunucuda kullanılacak özellikler/tercihler
teker teker belirtirilir. Her bir girişin farklı anlamı vardır ve bu nedenle
herbiri aşağıda açıklanmıştır. Bazı yönergelerin ise, yine açıklanacak, alt
blokları vardır. Bütün özelliklerin karşılanması için birçok set ifadesi
vardır,
bütün ifadeler aşağıda listelenmiştir, herbiri 1 set ifadesi altında
belirtilebilir.
Örnek:
set { kline-address my@emailaddress.com; auto-join #welcome; options { hide-ulines; }; hosts { local LocalOp.MyNet.com; global globalop.mynet.com; }; };
Eğer set ifadelerini ayırmak istiyorsanız, aşağıdaki
formatı kullanabilirsiniz.
Örnek:
set { options { hide-ulines;
no-stealth; }; };
set::kline-address
<email-adresi>;
Burada iletişim için,
K:line'lar ile ilgili soruların/sorunların gönderileceği, email adresi
belirtilir. Burada belirtilen adres K:line komutu uygulandığında sunucudan
bağlantısı kesilen kullanıcıya görüntülenecektir. Bu değer belirtilmek
zorundadır.
set::gline-address
<email-adresi>;
Burada iletişim için,
G:line'lar ile ilgili soruların/sorunların gönderileceği, email adresi
belirtilir.
set::modes-on-connect
<+modlar>;
Kullanıcının sunucuya bağlandığı anda alacağı
modları
belirtir.
set::snomask-on-connect
<+modlar>
Kullanıcının sunucuya bağlandığı anda alacağı
snomaskları
belirtir.
set::modes-on-oper
<+modlar>;
Oper açıldığı anda alınacak
modları belirtir.
set::snomask-on-oper <+modlar>;
Oper
açıldığı anda alınacak snomaskları belirtir.
set::modes-on-join
<+modlar>;
Kanalın, kanal ilk olarak
(oluşturulduğu) kullanıldığı anda, alacağı modları belirtir. Bu yönergeyle
mevcut bütün modlar belirtilemez, +qaohvbeOAzlLk modları bu yönergeyle
verilemez.
set::restrict-usermodes <modlar>
Burada
belirtilen modların kullanıcılar tarafından
kullanımını kısıtlar ( + veya - kullanmayın).
Örneğin
modes-on-connect kısmında +G modunu ve restrict-usermodes kısmında da yine G
modunu belirtirseniz, bütün kullanıcılar, sunucuya bağlandıkları anda +G
modunu
alacaklardır ve bu modu -G yaparak kaldıramayacaklardır.
set::restrict-channelmodes
<modlar>
Burada belirtilen kanal modlarının kullanıcılar
tarafından
kullanımını kısıtlar ( + veya - kullanmayın).
Örneğin
modes-on-join kısmında +G modunu ve restrict-channelmodes kısmında da yine G
modunu belirtirseniz, oluşturulacak bütün yeni kanallar +G modunu
alacaklardır
ve bu mod -G yaparak kaldırılamayacaktır.
set::restrict-extendedbans
<tipler|*>
Kullanıcıların kapsamlı ban (extended ban)
atmalarını
kısıtlar. Eğer ("*") belirtilirse kullanıcılar hiçbir tipte kapsamlı ban
atamaz,
eğer bir tip belirtilirse sadece belirtilen kapsamlı ban tipi
kullanılamaz.(ör:
"qc").
set::auto-join
<kanal(lar)>;
Kullanıcın sunucuya
bağlandığı anda girmeye zorlanacağı kanal(lar)ı belirtir. Birden çok kanal
belirtmek için kanalları virgül ile ayırın.
[Not: tırnak
işareti kullanmayı unutmayın, auto-join "#kanal"; gibi]
set::oper-auto-join
<kanal(lar)>;
Kullanıcının /oper açtığı
anda girmeye zorlanacağı kanal(lar)ı belirtir. Birden çok kanal belirtmek
için
kanalları virgül ile ayırın.
[Not: tırnak işareti
kullanmayı unutmayın, oper-auto-join "#kanal"; gibi]
set::anti-spam-quit-message-time
<zaman-değeri>;
/quit mesajının
görüntülenebilmesi için, bir kullanıcının sunucuya ne kadar süre bağlı
kalması
zorunda olduğunu belirtmenize olanak sağlar.(zaman değeridir). Spam'ı
engellemek
için kullanılır. Burada belirtilecek zaman değeri için; d günü, h saati, m
dakikayı ve s ise saniyeyi temsil eder. Örneğin 1d2h3m gibi bir değerin
anlamı 1
gün, 2 saat ve 3 dakikadır.
set::prefix-quit
<çıkış-mesajı-için-önek>;
Burda belirtilen
önek çıkış mesaj metninin başlangıcına eklenir. Eğer burda değer 0 olarak
belirtilirse standart olarak "Quit:" kullanılır.
set::static-quit
<çıkış-mesajı>;
Kullanıcıların, ağdan
çıkarken görüntülenen, çıkış mesajlarını sabitler. Sabitlenecek çıkış
mesajlarına HATA mesajları dahil değildir.
set::static-part
<no|yes|çıkış-mesajı>;
Eğer değer olarak
'yes' belirtilirse kanaldan çıkışlarda çıkış mesajı (part mesajı)
görüntülenmeyecektir, eğer değer olarak 'no' belirtilirse çıkışlarda
belirtilen
çıkış mesajları olağan şekilde görüntülenecektir, eğer değer olarak bir part
mesajı belirtilirse kanallardan çıkarken görüntülenecek çıkış mesajları
burda
belirtilen çıkış mesajına sabitlenecektir. (ör: static-part "Bye!")
set::who-limit
<limit>;
/who komutu kullanımında
listelenecek eşleşmelerin max sayısını belirtir. Eğer belirtilmezse
listelenecek
eşleşmelerin herhangi bir limit olmayacaktır.
set::silence-limit
<limit>;
SILENCE listesinde bulunabilecek
maksimum giriş sayısını belirler. Eğer bu yönerge belirtilmezse limit 15
olarak
varsayılır.
set::maxbans
<limit>;
Her kanal için izin verilen max
ban (+b) sayısını belirtir. Default değeri 60'dır. Eğer bunu
değiştirirseniz,
set::maxbanlength yönergesini de gözden geçirdiğinize emin olun.(bir sonraki
yönerge).
set::maxbanlength
<limit>;
Yukarıdaki yönergeye benzerdir,
ancak bütün banların toplamı için maksimum karakter sayısını belirtir,
böylelikle basit bir şekilde kanalda belirtilen bir banın (ortalama olarak)
maksimum bellekte ne kadar yer kaplayacağını sınırlar.
set::oper-only-stats
<stats-listesi>;
/stats komutunda kullanılacak, sadece oper
statüsünde olan
kullanıcıların kullanabileceği flagları belirtir. Eğer belirtilmezse statü
gözetilmeksizin bütün kullanıcılar bütün flagları kullanabilirler. Eğer *
olarak
belirtilirse bütün flaglar sadece operler tarafından kullanılabilir. Sadece
kısa
stats flaglarında kullanılabilir.
set::oper-only-stats {<stats-flagı>;
<stats-flagı>;};
/stats komutunda
kullanılacak, sadece oper statüsünde olan kullanıcıların kullanabileceği
flagları belirtir. Sadece uzun stats flagları belirtilebilir.
set::maxchannelsperuser
<kanal-sayısı>;
Bir kullanıcının aynı anda bulunabileceği
maksimum kanal
sayısını belirler.
set::maxdccallow
<giriş-sayısı>;
Kullanıcının DCCALLOW
listesinde bulunabilecek maksimum giriş sayısını belirler.
set::channel-command-prefix
<komut-önekleri>;
Servisler için "kanal
komutlarında" kullanılacak önek karakterlerini belirtmenize olanak sağlar.
Burda
belirtilen karakterlerden herhangi biriyle başlayacak mesaj kullanıcı +d
modunda
dahi olsa gönderilecektir. Default değeri "`!" olarak belirlenmiştir.
set::allowed-nickchars { <liste>
};
Nicklerde farklı karakter gruplarının / dillerin
kullanımına olanak sağlar, Nick Karakter Gruplarına bakın.
set::allow-userhost-change
[never|always|not-on-channels|force-rejoin]
(+x/-x/chghost/chgident/setident/vhost/vs)
gibi komutların
ne koşullarda kullanılabileceğini/kullanılamayacağını belirtmenizi
sağlar.
never olarak belirtilirse bu
komutlardan hiçbiri kullanılamaz, eğer always olarak
belirtilirse bu komutlar her durumda kullanılabilir, eğer
not-on-channels olarak belirtilirse kullanıcı bu
komutları sadece ve sadece hiçbir kanala bağlı değilse kullanabilir, eğer
force-rejoin belirtilirse kullanıcı bu komutlardan
herhangi birini kullandığında bulunduğu kanallardan çıkıp tekrar girmeye
zorlanacaktır.
set::options::hide-ulines;
Eğer belirtilirse
Uline olarak belirtilen sunucular, oper
statusunde olmayan kullanıcılar tarafından yapılan /links komutu sorgusunda
görüntülenmeyecektir.
set::options::flat-map;
Eğer
belirtilirse, ağdaki bütün sunucular /map ve /links komutları sorgusunda
direkt
linkli olarak görünecektir, böylelikle hangi sunucunun hangisine linkli
olduğunu
göremezsiniz. Bu (D)DoS ataklarına karşı ufak bi önlemdir çünkü kötü niyetli
kişiler bu yönergenin belirtilmesiyle 'zayıf nokta'ları kolaylıkla
göremeyeceklerdir.
set::options::show-opermotd;
Eğer belirtilirse
kullanıcılara, oper hesaplarını
açtıklarında, OPERMOTD dosyası gösterilecektir.
set::options::identd-check;
Eğer belirtilirse
kullanıcı sunucuya bağlanırken identd
sunucusu kontrolünden geçecektir ve bu kontrol kullanıcının username kısmı
cevabı olarak geri dönecektir. Eğer bu kontrol sonucunda cevap dönüşü
olmazsa
kullanıcının username kısmına ~ öneki eklenecektir. Eğer belirtilmezse böyle
bir
kontrol söz konusu olmayacaktır.
set::options::show-connect-info;
Eğer
belirtilirse, bir kullanıcı sunucuya bağlanacağı zaman
"ident request", "hostname lookup", vs. gibi ifadeler kullanıcıya
gösterilicektir.
set::options::dont-resolve;
Eğer belirtilirse,
gelen kullanıcıların hostları
çözümlenmez.
Not: Çözümleme işlemi yapılmayacaksa, host
tabanlı allow bloklarınız da olamaz.
set::options::mkpasswd-for-everyone;
/mkpasswd
bütün kullanıcılar tarafından kullanılabilmesine
olanak sağlar.
set::options::allow-part-if-shunned;
Shun'lı
kullanıcının /part komutunu kullanabilmesine olanak
sağlar.
set::options::fail-oper-warn;
Eğer
belirtilirse, /oper komutu kullanımı başarısız olduğu
takdirde, kullanıcıya oper denemesinin kayıt edildiğine dair uyarı
gönderilir.
set::dns::timeout
<zaman-değeri>;
Bir DNS sunucusunun,
bağlantısının zaman aşımı olarak değerlendirilip, kesilmemesi için, ne
kadarlık
bir zaman dilimi içerisinde yanıt göndermesi gerektiğini belirtmenize olanak
sağlar. Burada belirtilecek numerik değerde d günü, h saati, m dakikayı, s
ise
saniyeyi temsil eder, örneğin 1d2h3m olarak belirtilen zaman değeri 1 gün, 2
saat ve 3 dakikayı temsil eder. (TAMAMLANMADI)
set::dns::retries
<number-of-retries>;
DNS cozumlenmesinin basarisiz
olmasi durumda DNS cozumlemesinin kac kez tekrarlanacagini belirtir. (TAMAMLANMADI)
set::dns::nameserver
<dns-sunucu-ismi>;
DNS aramalarında kullanılacak, sunucunun
hostname'ini
belirtir. (TAMAMLANMADI)
set::dns::bind-ip
<ip>;
Çözümleyici için bağlanılacak IP'yi
belirtir, genellikle belirtilmeye gerek duyulmaz.
set::network-name
<ağ-ismi>;
Sunucunun bulunduğu ağ adını
belirtmeye olanak sağlar. Burda belirtilen ağ ismi ağ üzerinde ki bütün
sunucularda aynı belirtilmek zorundadır.
set::default-server
<sunucu-ismi>;
Sunucu full kapasitede
kullanıcıya sahip olduğunda, bağlanmayı deneyecek kullanıcılara default
sunucu
adının gösterilmesine olanak sağlar.
set::services-server
<sunucu-ismi>;
Servisler sunucusunun ismini belirtir.
Gereklidir, eğer
servis sunucunuz yoksa, services.sizinaginiz.com gibi bir sunucu ismi
belirtmeniz gerekir.
set::stats-server
<sunucu-ismi>;
Stats sunucusu botlarının
yerleştirileceği sunucu ismini belirtir. Eğer stats sunucunuz yoksa burayı
belirtmeyebilirsiniz.
set::help-channel
<ağ-yardım-kanalı>;
Ağınız için yardım
kanalını (help) belirtmenize olanak sağlar.
set::cloak-keys {
"anahtar1"; "anahtar2"; "anahtar3"; };
Hostun
gizlenmesi için, yeni hostların oluşturulmasında kullanılacak anahtarları
belirtir. Bu anahtarlar ağdaki bütün sunucular için aynı olarak
belirtilmelidir.
Her bir anahtar en az 5 en çok 100 karakter içerebilir (10-20 arası
önerilir) ve
anahtarlar küçük karakter olarak (a-z) arası harfleri, büyük karakter olarak
(A-Z) arası harfleri ve rakam olarak da (0-9) arası rakamları içerebilir. Bu
kriterlerin yüklediğiniz gizleme modülüne göre değişebileceğine dikkat
edin.
set::hiddenhost-prefix
<önek-değeri>;
Gizlenmiş hostlara eklenecek (+x) öneki
belirtmenize olanak
sağlar. Burada genellikle ağ ismini simgeleyen 3 veya 4 harf belirtilir.
set::hosts::local
<locop-hostu>;
Yerel operatör statüsüne
erişen bir kullanıcının alacağı hostu belirtmenize olanak sağlar. İsteğe
bağlı
olarak buradaki değeri kullanıcı@host olarak belirtebilirsiniz.
set::hosts::global
<globop-hostu>;
Global operatör statüsüne
erişen bir kullanıcının alacağı hostu belirtmenize olanak sağlar. İsteğe
bağlı
olarak buradaki değeri kullanıcı@host olarak belirtebilirsiniz.
set::hosts::coadmin
<coadmin-hostu>;
Co-admin statüsüne erişen
bir kullanıcının alacağı hostu belirtmenize olanak sağlar. İsteğe bağlı
olarak
buradaki değeri kullanıcı@host olarak belirtebilirsiniz.
set::hosts::admin
<admin-hostu>;
Admin statüsüne erişen bir
kullanıcının alacağı hostu belirtmenize olanak sağlar. İsteğe bağlı olarak
buradaki değeri kullanıcı@host olarak belirtebilirsiniz.
set::hosts::servicesadmin
<servicesadmin-hostu>;
Services
Administrator statüsüne erişen bir kullanıcının alacağı hostu belirtmenize
olanak sağlar. İsteğe bağlı olarak buradaki değeri kullanıcı@host olarak
belirtebilirsiniz.
set::hosts::netadmin
<netadmin-hostu>;
Net Administrator statüsüne erişen bir
kullanıcın alacağı
hostu belirtmenize olanak sağlar.İsteğe bağlı olarak burdaki değeri
kullanıcı@host olarak belirtebilirsiniz.
set::hosts::host-on-oper-up
<yes/no>;
Eğer yes olarak belirtilirse, oper yetkisini açan
kullanıcı
(eğer H/get_host flagına sahipse), otomatik olarak, statüsüne göre hostunu
alacaktır. Eğer no olarak belirtilirse host alma işlemini oper yetkisini
açtıktan sonra manual olarak gerçekleştirecektir.
set::ssl::egd
<dosya-ismi>;
EGD (Entropy Gathering
Daemon) desteğinin aktif olduğunu belirtir. Eğer OpenSSL 0.9.7 veya daha üst
bir
versiyonunu kullanıyorsanız bu durumda /var/run/egd-pool, /dev/egd-pool,
/etc/egd-pool ve /etc/entropy buradaki dosya ismi için default konumlar
olarak
kabul edilip aranacaktır. Dolayısıyla burada herhangi bir dosya ismi
belirtmeyip
set::ssl::egd yönergesine herhangi bir değer atamadan kullanabilirsiniz.
Eğer
OpenSSL 0.9.7 'den daha önceki bir versiyonu kullanıyorsanız yukarıda ki
belirtilen yerler haricinde dosya için başka yerlerde belirtebilirsiniz.
set::ssl::certificate
<dosya-ismi>;
Sunucu SSL sertifikası dosyasının yerini
belirtmenizi
sağlar.
set::ssl::key
<dosya-ismi>;
Sunucu SSL anahtarı
dosyasının yerini belirtmenizi sağlar.
set::ssl::trusted-ca-file
<dosya-ismi>;
Güvenilen CA sertifika dosyasının yerini
belirtmenizi
sağlar.
set::ssl::options::fail-if-no-clientcert;
Sertifakaya
sahip olmayan kullanıcıların bağlantısının
reddedilmeye zorlanmasını sağlar.
set::ssl::options::no-self-signed;
Self-signed
sertifikalı kullanıcıların bağlantılarına izin
vermemenizi sağlar.
set::ssl::options::verify-certificate;
Bağlantı
yetkilendirilmeden önce Unreal'in kullanılan SSL
sertifikasının geçerliliğini doğrulamasına olanak verir.
set::throttle::period
<zaman-değeri>
set::throttle::connections yönergesinde
belirtilen bağlantı
sayısı aşıldığında kullanıcının yeniden bağlanabilmesi için ne kadar süre
beklemek zorunda olduğunu belirtir.
set::throttle::connections
<miktar>;
Bağlantının throttle sistemine takılması için aynı
hosttan
kaç kez bağlantı isteği gelmesi gerektiğini belirtir.
set::ident::connect-timeout <miktar>;
Ne
kadar saniye beklendikten sonra ident sunucu
bağlantısının iptal edileceğini belirtir.(default: 10s).
set::ident::read-timeout <miktar>;
Ne
kadar saniye geçtikten sonra yanıt için vazgeçileceğini
belirtir. (default: 30s).
set::anti-flood::unknown-flood-bantime
<zaman-değeri>;
Bilinmeyen bir bağlantıdan
flood saldırısı algılandığı zaman atılacak banın süresini belirler.
set::anti-flood::unknown-flood-amount
<miktar>;
Bilinmeyen bir bağlantının
gönderdiği veri miktarı burada belirtilen miktarı (KiloByte cinsinden)
aştığı
zaman sunucudan bağlantısı kesilecektir.(kill)
set::anti-flood::away-flood
<miktar>:<periyot>
Away flood
koruması: belirtilen 'periyot' başına /away komutu kullanımını belirtilen
'sayı'ya sınırlar. Ancak bu korumanın aktif olabilmesi için config.h
dosyasında
NO_FLOOD_AWAY'in aktif edilmesi gereklidir. Örnek: away-flood 5:60s;
60 saniye süresince 5 /away komutu
kullanılabilir.
set::anti-flood::nick-flood
<miktar>:<periyot>
Nickflood
koruması: belirtilen 'periyot' başına nick değişimini belirtilen 'sayı'ya
sınırlar. Örnek: nick-flood 4:90 90 saniye süresince
4 kez nick değiştirilebilir, default değeri 60 saniye süresince 3 nick
değişimidir.
set::default-bantime <süre>
/kline,
/gline, /zline, /shun, vs gibi yasaklama (ban)
komutlarının zaman belirtilmeden kullanıldığında (/gline *@some.nasty.isp
gibi),
banın ne kadar süre geçerli olacağını belirtir. Örnek: default-bantime
90d;
set::modef-default-unsettime
<değer>
Kanalmodu +f için değişikliğin ne kadar süre
süreceğini
belirtmenizi sağlar. Eğer değer olarak örneğin 10 belirtirseniz bu durumda
+f
[5j]:15 gibi bir mod uygulaması [5j#i10]:15 şeklinde yorumlanacaktır.
set::modef-max-unsettime
<değer>
Kanalmodu +f kullanılırken (ör. +f
[5j#i<süre>]:15)
belirtilebilecek maksimum süre miktarını (dakika cinsinden) belirlemenizi
sağlar. Bu değer 0 ile 255 arasında olabilir. Default değeri ise 60'dır (=1
saat).
set::ban-version-tkl-time <değer>
Ban
version bloğunda zline/gline/vs. gibi bir 'eylem'
belirtildiğinde bu eylem ile atılacak yasaklamanın (ban) ne kadar süreli
aktif
kalacağını belirtmenize olanak sağlar. Default değeri 86400'dür (1 gün).
set::spamfilter::ban-time
<değer>
Yukarıda anlatılan ile aynıdır ancak bu sefer
belirtilecek
değer spamfilter tarafından *line/shun eylemleri uygulandığında
geçerlidir.
set::spamfilter::ban-reason
<gerekçe>
Spamfilter tarafından eklenen girişlerde
gösterilecek
sebebi belirlemenize olanak sağlar.
set::spamfilter::virus-help-channel
<kanal>
Spamfilter'da 'viruschan' eylemi için kullanılacak
kanalı
belirtir.
set::spamfilter::virus-help-channel-deny
<yes|no>
Eğer yes (veya 1) olarak
belirtilirse, virus-help-channel ile belirtilen kanala normal bir kullanıcı
girmeyi denerse kullanıcıya 'invite only' gibi bir ibare gönderilir. Sadece
operler, spamfilter sistemi tarafından saptanan kullanıcılar ve kanala
/invite
komutuyla davet edilecek kullanıcılar giriş yapabilir.
set::spamfilter::except <hedef(ler)>
Bu
yönergeyle belirtilecek hedef(ler) spam filtrelemesinden
muaf tutulacak(lar)dır, aralarına virgül konularak birden fazla hedef
belirtilebilir. Ör: except "#help,#spamreport"
set::check-target-nick-bans
<yes|no>
Kullanıcı(lar) nick(ler)ini değiştirdiği zaman,
yeni nick
için yasaklama (ban) olup olmadığının kontrol edilmesine olanak sağlar. Eğer
yeni nick adına yasaklama mevcutsa nick değişimine izin verilmeyecektir.
Default
değeri yes 'dir.
set::timesynch::enabled <yes|no>
Sunucu
başlatılırken zaman senkronizasyonu özelliğini açık
ya da kapalı olarak belirtmenize olanak sağlar. Default değeri yes’dir.
set::timesynch::server
<IP>
Senkronizasyonun sağlanacağı sunucuları belirtmenizi
sağlar. Burada 4 IP’yi aralarında virgül kullanarak belirtebilirsiniz.
Burada
belirtilen sunucular NTP protokolu versiyon 4’ü desteklemek zorundadırlar.
Default olarak 3 zaman sunucusu kullanılır (US, EU, AU). Bu sunuculara istek
paralel olarak gönderilir, en hızlı cevap gönderen kazanır.
set::timesynch::timeout <süre>
Sunucudan
gelecek cevap için maksimum bekleme süresini
belirtmenize olanak sağlar. Burada 1 ve 5 arasında bir değer
belirtilmelidir,
beşten büyük sayılar belirtilemez. Default değeri 3’tür ve eğer iyi bir
sebebiniz yoksa bunu değiştirmeyin.
set::pingpong-warning <yes|no>
NOSPOOF ozelligi aktif iken (genellikle Windows), baglanirken sorun yasayan her kullaniciya '/quote pong ..' uyarisinin
gonderilmesini ya da gonderilmemesini saglar. Default degeri no'dur.
ircd.motd | /motd komutu sorgusunda ve kullanıcı sunucuya bağlandığı an görüntülenir.(eğer ircd.smotd belirtilmediyse) |
ircd.smotd | Sadece sunucuya bağlantı sırasında görüntülenir.(kısa MOTD) |
ircd.rules | /rules komutu sorgusunda görüntülenir |
oper.motd | /opermotd sorgusunda ve kullanıcı oper açtığında görüntülenir |
bot.motd | /botmotd komutu sorgusunda görüntülenir |
Mod |
Açıklama |
Kanal
Modları | |
A |
Sadece +A kullanıcı moduna sahip kullanıcılar (admin) girebilir |
a <nick> |
Belirtilen nick kanalda kick komutuna karşı korumaya sahip olur. |
b <nick!kullanıcı@host> |
Belirtilen maske kanalda yasaklanır (ban) |
c |
Kanal icerisinde renk kullanimini engeller |
C |
CTCP içerikli metinlerin gönderimini engeller |
e
<nick!kullanıcı@host> |
Belirtilen maske kanalda yasaklı (ban) listesinde olsa dahi kanala girebilir |
f
[<numara><tip>]:<saniye> |
Kanal flood koruma modu. Daha fazla açıklama için. Daha fazla bilgi için bölüm 3.12'ye bakın |
G |
Badword Bloğunda belirtilen kötü kelimelerin (badwords) sansürleneceği kanal |
h <nick> |
Belirtilen nick halfop statüsüne sahip olur |
i |
Sadece davetle girilebilen kanal |
I <nick!kullanıcı@host> |
Belirtilen maskeye sahip olan kullanıcılar, kanal +i modunda olsa dahi kanala girebilirler |
j <giriş:saniye> |
Belirtilen saniyede bir kanala giris yapilmasini saglar |
K |
/knock komutu kullanılamaz kanal |
k <anahtar> |
Kanala giriş için anahtar gereken kanal |
l <##> |
Kanala girebilecek maksimum kullanıcı sayısını belirler |
L <kanal> |
+l ile belirtilen kanala girebilecek maksimum kullanıcı sayısı aşıldığında, kullanıcıların yönlendirileceği kanalı belirtir |
M |
Yalnızca kayıtlı ve tanıtılmış nick (+r) kullanan kullanıcıların konuşabileceği kanal |
m |
Yalnızca +v/o/h modlarına sahip kullanıcıların konuşabileceği kanal |
N |
Nick değiştirilemez kanal |
n |
Dışarıdan gönderilen mesajların kabul edilmediği kanal |
O |
Yalnızca +O modunda ki kullanıcıların (IRCOp) girebileceği kanal |
o <nick> |
Kanalda belirtilen kullanıcıya operatör statüsü verir |
p |
Özel bir kanal |
q <nick> |
Kanalda belirtilen nicke founder (kanal sahibi) statüsü verir |
Q |
Kick atılamayan kanal (U:Line sunucular atabilir) |
R |
Sadece kayıtlı (+r) kullanıcıların girebileceği kanal |
S |
Renkli yazıların, renk kodlarından arındırılıp kanala gönderilmesini sağlar |
s |
Gizli kanal |
t |
Topiğin sadece operatör statüsünde ki kullanıcılar tarafından değiştirilebileceği kanal |
T |
NOTICE komutunun kullanılamayacağı kanal |
u |
Auditorium – /names ve /who #kanal komutları sorgusunda yalnızca kanal operatörleri görüntülenir |
V |
/invite komutu kullanılamaz kanal |
v <nick> |
Kanal +m modunda olsa dahi konuşabilecek kullanıcıları belirtmenizi sağlar |
z |
Sadece Güvenli Bağlantı (SSL) kullananların girebileceği kanal |
Mod |
Açıklama |
Kullanıcı
Modları | |
A |
Server Administrator Statüsündeki kullanıcı (Oper Bloğunda belirtilir) |
a |
Services Administrator Statüsündeki kullanıcı (Oper Bloğunda belirtilir) |
B |
Bot statüsündeki kullanıcı |
C |
Co Administrator Statüsündeki kullanıcı (Oper Bloğunda belirtilir) |
d |
Kanalda yazılan mesajları görmenizi engeller |
G |
Badwords bloğunda belirtilen kötü kelimeler kullanıldığında sansürlenir |
g |
GlobOps ve LocOps mesajlarını görmenizi sağlar |
H |
IRCOp statüsüne sahipseniz /whois /who sorgusunda bu statünüz görünmez.(Sadece IRCop) |
h |
Yardim görevlisi statüsü verir.(HelpOp)(Oper Bloğunda belirtilir) |
i |
Görünmez kullanıcı (/who sorgusunda görünmeyen kullanıcı) |
N |
Network Administrator Statüsündeki kullanıcı (Oper Bloğunda belirtilir) |
O |
Local IRC Operator Statüsündeki kullanıcı (Oper Bloğunda belirtilir) |
o |
Global IRC Operator Statüsündeki kullanıcı (Oper Bloğunda belirtilir) |
p |
/whois sorgusunda bulunduğunuz kanalları gizler |
q |
Sadece U:Lines ile belirtilen sunucular tarafından kanallardan atılabilirsiniz.(Sadece Services Administrator Statüsündeki kullanıcılar kullanabilir) |
R |
Sadece nicki kayitli (+r) olan kullanıcılardan mesaj almanızı sağlar |
r |
Kayıtlı kullanıcı |
S |
Servisler için koruma modu |
s |
Sunucu mesajlarını görmenizi sağlar (daha fazla bilgi için bölüm 3.3'e bakın) |
T |
CTCP metinlerinin size gönderimini engeller |
t |
/vhost kullandığınızı belirtir |
V |
Kullanıcının WebTV kullandığını belirtir |
v |
Bloke edilmiş DCC mesajlarını görmenizi sağlar |
W |
Size /whois çekildiğinde whois çekeni görmenizi sağlar. (Sadece IRCOp statüsündeki kullanıcılar kullanabilir) |
w |
Wallop mesajlarını görmenizi sağlar |
x |
Gizlenmiş host kullandığınızı belirtir |
z |
Güvenli bağlantı (SSL) kullanıldığını belirtir |
7 – Kullanıcı & Oper Komutları Tablosu
NOT: /helpop dökümanı bu dökümandan daha günceldir, bir komut hakkında bilgi almak için the /helpop komut (veya operseniz /helpop ?komut) komutunu kullanın.
Komut |
Açıklama |
Kimler
Kullanabilir |
nick <yeninick> | Sunucudaki rumuzunuzu degistirir. Bulundugunuz
butun kanallarda rumuzunuzun degisimi haber verilir |
Herkes |
whois <nick> | Belirtilen nick için; kullanıcı ismi, host,
bulunduğu kanallar vs. gibi bilgileri görüntüler |
Herkes |
who <maske> | Kullanıcılarla ilgili bilgileri gösterir. Maske
kısmına nick, #kanal, hostmaskesi (*.attbi.com gibi) belirtilebilir |
Herkes |
whowas <nick> <max cevap sayısı> | Sunucudan çıkmış bir nick için geçmiş whois
bilgilerini görüntüler. <max cevap sayısı> kısmı isteğe göre
belirtilebilir ve kaç tane kaydın görüntüleneceğini belirler. |
Herkes |
ison <nick1 nick2 nick3 ...> | Belirtilen kullanıcı veya kullanıcıların online
olup olmadıklarını gösterir |
Herkes |
join <kanal1,kanal2, ...> | Belirtilen kanal yada kanallara girmenize olanak sağlar. Birden fazla kanal belirterek birdefada belirttiğiniz bütün kanallara girebilirsiniz. /join 0 komutu ise bütün kanallardan ayrılmanızı sağlar. | Herkes |
cycle <kanal1, kanal2, ...> | Belirtilen kanal(lar)da çık-gir (cycle) yapmanıza olanak sağlar. | Herkes |
motd <sunucu> | Belirtilen sunucu için motd dosyasının
görüntülenmesine olanak sağlar. |
Herkes |
rules <sunucu> | Belirtilen sunucunun kurallar(rules) dosyasının görüntülenmesine olanak sağlar | Herkes |
lusers <sunucu> | Belirtilen sunucu için çevrimiçi (online)
kullanıcı sayısı, en fazla baglanan kullanıcı sayısı bilgileri yerel
sunucu ve de tum ağ icin belirtir. |
Herkes |
map | Ağ haritasını görüntüler | Herkes |
quit <sebep> | Belirtilen sebep ile IRC oturumunuzun sonlandırılmasına olanak sağlar. Eğer bir sebep belirtirseniz bu bulundugunuz bütün kanalda görüntülenir | Herkes |
ping <kullanıcı> | Belirtilen kullanıcıya PING göndermenize olanak
sağlar. Bağlantıyı ve gecikmeyi kontrol etmek için kullanılır. |
Herkes |
version <nick> | Belirtilen nicke CTCP Version sorgusu gönderir.
Eğer client bunun için yapılandırılmışsa nickden versiyon cevabı
alınır. |
Herkes |
links | Ağa linkli bütün sunucuların listesini görüntüler | Herkes |
Admin <sunucu> | Belirtilen sunucu hakkında yöentimsel bilgi
görüntülenir. |
Herkes |
userhost <nick> | Belirtilen nickin kullanıcı hostu görüntülenir |
Herkes |
topic <kanal> <topic> | Topic <kanal> belirtilen kanalın o anki
topic bilgisini görüntüler. Topic <kanal> <topic> ise
belirtilen kanalın topic bilgisinin değiştirilmesine olanak sağlar. |
Herkes |
invite <nick> <kanal> | Belirtilen kanala belirtilen nicki davet etmek
için kullanılır. (komutu kullanın kanalda operator olması şarttır.) |
Kanal Operatorleri |
kick <kanal, kanal> <kullanıcı, kullanıcı> <sebep> | Belirtilen kullanıcıyı yada kullanıcıları
belirtilen kanaldan yada kanallardan belirtilen sebepten dolayı
atmanıza
olanak sağlar. |
Kanal Operatorleri |
away <sebep> | Sebep ile kullanıldığında sizi (away), yani
uzakta olarak belirtir. Eğer sebep belirtmezseniz (away) den çıkmış
olursunuz. |
Herkes |
Watch +-<nick> +-<nick> |
Watch UnrealIRCd 'de yeni bir uyarı sistemidir.
Bu sistem eski-stil uyarı sistemine nazaran daha hızlıdır ve ağ
kaynaklarını daha az kullanır. Watch (izleme) listenize eklediğiniz
nick
IRC oturumu açtığında veya kapadığında sunucu size uyarı mesajı
gönderecektir. İzleme listeniz her oturum açıp kapamanızda sıfırlanır,
bu
sebepten sunucuya her bağlandığınızda izleme listenizi yeniden
düzenlemelisiniz. |
Herkes |
helpop ?<komut> or
!<komut> |
HelpOp IRC Sunucu yardımı almak için yeni bir sistemdir. /HELPOP ? <komut> veya /HELPOP ! <soru> şeklinde kullanabilirsiniz. /HELPOP komutunda "?" kullanılmasıyla yardım sistemine bilgi isteği gönderilir eğer bir sonuca ulaşamazsanız '!' işareti ile kullanmayı deneyin. Bu durumda belirttiğiniz konu veya soru direkt olarak çevirimiçi help operatörlerine iletilecektir. Eğer ne ? işareti ne de ! işareti kullanmazsanız, bu durumda bilgi isteğiniz yardım sistemine gönderilecek ve eğer sonuç alınamazsa direkt olarak çevirimiçi help operatörlerine iletilecektir. | Herkes |
list <dizgi> | Eğer bir maske belirtmezseniz, aktüel kanal
listesi görüntülenir. Aşağıda kullanabileceğiniz dizgiler ve bunların
kullanılması durumunda görüntülenecek kanal listesinde hangi
kanalların
görüntüleneceği açıklanmıştır. >sayı içerisinde belirttiğiniz <sayı>'dan fazla kullanıcıya sahip olan kanallar listelenir. <sayı içerisinde belirttiğiniz <sayı>'dan az kullanıcıya sahip olan kanallar listelenir. C>sayı son <sayı> dakika içerisinde oluşturulmuş kanalları listeler. C<sayı son <sayı> dakikanın öncesinde oluşturulmuş kanalları listeler. T>sayı kanal topiği son <sayı> dakikadan önce atılmış kanalları listeler. T<sayı kanal topiği son <sayı> dakika içerisinde atılmış olan kanalları listeler. *maske* belirtilen *maske* ile eşleşen kanalları listeler !*maske* belirtilen *maske* ile eşleşmeyen kanalları listeler |
Herkes |
Knock <kanal> <mesaj> |
Davetsel (invite only) konumunda olan bir kanal
için knock komutunu kullanarak, kanala giriş için sizi kanala davet
etmelerini isteyebilirsiniz. Eğer kanal +K +V modlarında ise bu komut
işlem görmeyecektir. Aynı zamanda kanaldan banlı iseniz bu komut yine
işlem görmeyecektir |
Herkes |
setname | Sunucuya tekrar bağlanmaya gerek kalmadan
kullanıcıların isim kısımlarını değiştirmelerine olanak sağlar |
Herkes |
vhost <login> <şifre> | Hostname kısmınızı daha önceden belirtilen,
sunucu tarafından sağlanan bir sahte hostla gizlemenize olanak
sağlar. |
Herkes |
mode <kanal/nick> <mod> |
Belirtilen kanal veya nick için kullanılan
modları düzenlemeye/değiştirmeye olanak sağlar. Mevcut kullanıcı ve
kanal
modları listesi için Kullanıcı & Kanal Modları kısmına bakın. |
Herkes |
credits | UnrealIRCd'in oluşturulmasında yardımı bulunan
kişilerin listesini görüntüler |
Herkes |
license | GNU lisansını görüntüler | Herkes |
time <sunucu> | Belirtilen sunucunun tarihini ve zamanını
gösterir. |
Herkes |
botmotd <sunucu> |
Sunucunun bot.motd dosyasını görüntüler | Herkes |
identify <şifre> | Nickinizi tanıtmanız için servisler sistemine
şifrenizi gönderir. |
Herkes |
identify <kanal> <şifre> | Belirtilen kanalın founderi olarak tanıtılmanız
için servisler sistemine şifrenizi gönderir. |
Herkes |
dns <tercih> | Sunucunun DNS önbelleklemesi hakkında bilgi görüntülenir. Birçok yazılım DNS komutuna sahiptir (bu dns komutu değildir fakat), bu yüzden /raw DNS yazarak kullanın. Operler l karakterini DNS önbellekleme girişlerinin listesini görebilmek için ilk parametre olarak belirtebilirler. | Herkes |
userip <nick> |
Belirtilen nickin IP Adres bilgisini gösterir. | Herkes |
oper <kullanıcı adı>
<şifre> |
Oper Bloğunda belirtilen nick ve şifre ile bu
komutla belirtilen kullanıcı adı ve şifre uyuştuğu takdirde
kullanıcının
oper statüsüne geçmesine olanak sağlar |
IRC Operatörler |
wallops <mesaj> | +w kullanıcı modunda olan bütün kullanıcılara belirtilen mesajı gönderir | IRC Operatörler |
globops <mesaj> | Bütün IRC Operatörlere belirtilen mesajı gönderir | IRC Operatörler |
chatops <mesaj> | +c kullanıcı modununda olan bütün IRC Operatörlere belirtilen mesajı gönderir | IRC Operatörler |
locops <mesaj> | Yerel (local) IRC Operatörlere belirtilen mesajı gönderir | IRC Operatörler |
adchat <mesaj> | Bütün adminlere belirtilen mesajı gönderir | IRC Operatörler |
nachat <mesaj> | Net Admin statüsündeki bütün adminlere belirtilen mesajı gönderir | IRC Operatörler |
kill <nick> <sebep> | Belirtilen nickin ağdan bağlantısını keser | IRC Operatörler |
kline [+|-]<kullanıcı@host | nick> [<ban süresi> <gerekçe>] | Belirtilen hostmaskesini sunucudan banlar. Kline
global bir yasaklama (ban) değildir. ban süresi a) saniye cinsinden bir değer, b) bir zaman değeri, '1d' gibi (1 gün) veya c) kalıcı olması için '0' gibi bir değer olabilir. Süre ve sebep isteğe bağlıdır, eğer belirtilmezlerse set::default-bantime yönergesi ile belirlenmiş olan süre ban süresi olarak geçerlidir ve sebep olarak da 'no reason' görüntülenecektir. Bir kline'ı kaldırmak için /kline -kullanıcı@host komutunu kullanın |
IRC Operatörler |
zline [+|-]<*@ip> [<ban süresi> <gerekçe>] | Belirtilen IP adresini yerel sunucudan banlar
(global değildir). Daha fazla kullanım bilgisi için kline kısmına
bakın.
Bir zline'ı kaldırmak için /zline -*@ip komutunu kullanın |
IRC Operatörler |
gline [+|-]<kullanıcı@host |
nick> [<ban süresi> <gerekçe>] |
Belirtilen kullanıcı@host ile eşleşme
gerçekleştiği sürece ağda bulunan hiç bir sunucuya bağlantı
sağlanamaz.
Daha fazla kullanım bilgisi için kline kısmına bakın. Bir gline'ı
kaldırmak için /gline -kullanıcı@host komutunu kullanın. |
IRC Operatörler |
shun [+|-]<kullanıcı@host | nick>
[<shun süresi> <gerekçe>] |
Belirtilen maskenin hiçbir komutu kullanamamasını
ve hiçbir şekilde mesaj gönderememesini sağlar. Shun bütün ağın bütün
sunucularında geçerlidir (gline gibi). Daha fazla kullanım bilgisi
için
kline kısmına bakın. Bir shun'ı kaldırmak için /shun -kullanıcı@host
komutunu kullanın. |
IRC Operatörler |
gzline [+|-]<ip> <ban
süresi> :<gerekçe> |
Ağın bütün sunucularında geçerli olacak bir zline
ekler. Daha fazla kullanım bilgisi için kline kısmına bakın. Bir
gzline'ı
kaldırmak için /gzline -*@ip komutunu kullanın. |
IRC Operatörler |
rehash <sunucu> –<flaglar> | Belirtilen sunucunun konfigürasyon dosyasının
yeniden okunmasını sağlar. Mevcut flaglar: -motd - Sadece bütün MOTD ve RULES dosyaları yeniden okunur. (tld {} bloğu kapsamında ki dosyalar) -opermotd - Sadece OPERMOTD dosyası yeniden okunur -botmotd - Sadece BOTMOTD dosyası yeniden okunur -garbage - Çöp toplaması yapılır | IRC Operatörler |
restart <şifre>
<gerekçe> |
IRCD işlemini yeniden başlatır. Eğer drpass { }
bloğu belirtilmişse şifrenin de belirtilmesi gereklidir. Aynı zamanda
gerekçe kısmı ile bir sebep de belirtebilirsiniz. |
IRC Operatörler |
die <şifre> |
IRCD işlemini sonlandırır. Eğer drpass { } bloğu belirtilmişse şifrenin de belirtilmesi gereklidir. | IRC Operatörler |
lag <sunucu> |
Bu komut IRC Sunucusu için bir Traceroute veya
Sonar gibi düşünülebilir. Örnek olarak /LAG irc.fyremoon.net olarak bu
komutu belirttiğinizde belirtilen sunucuya ulaşmak için geçilen bütün
sunuculardan komut cevaplanacaktır. Bu komut gecikmenin hangi
sunucudan
kaynaklandığını bulmak için faydalıdır |
IRC Operatörler |
sethost <yenihost> | Kullandığınız host kısmını (vhost) istediğiniz
bir host ile değiştirebilmenize olanak sağlar. |
IRC Operatörler |
setident <yeniident> |
Kullandığınız ident kısmını istediğiniz bir ident
ile değiştriebilmenize olanak sağlar |
IRC Operatörler |
chghost <nick>
<yenihost> |
Sistemde bulunan bir kullanıcının kullandığı host
kısmını değiştirebilmenize olanak sağlar |
IRC Operatörler |
chgident <nick>
<yeniident> |
Sistemde bulunan bir kullanıcının kullandığı
ident kısmını değiştirebilmenize olanak sağlar |
IRC Operatörler |
chgname <nick>
<yeniisim> |
Sistemde bulunan bir kullanıcının kullandığı isim
kısmını değiştirebilmenize olanak sağlar |
IRC Operatörler |
squit <sunucu> |
Belirtilen sunucunun ağdan bağlantısını keser |
IRC Operatörler |
connect <sunucu> <port> <sunucu> | Eğer sadece tek sunucu belirtilirse bulunduğunuz
sunucuyu belirtilen sunucuya bağlamayı deneyecektir. Eğer iki sunucu
belirtilirse, belirtilen iki sunucuyu birbirlerine bağlamayı
deneyecektir.
İlk olarak leaf olan sunucuyu ikinci olaraksa hub olan sunucuyu
belirtin. |
IRC Operatörler |
dccdeny <dosya-maskesi>
<gerekçe> |
Belirtilen maskeyle eşleşen dosya isimleri için
DCC engeli koyar. Bu dosyaların gönderimi engellenir. |
IRC Operatörler |
undccdeny <dosya-maskesi> |
Belirtilen maskeyle eşleşen dosya isimleri için DCC engelini kaldırır | IRC Operatörler |
sajoin <nick> <kanal>,
<kanal> |
Bir kullanıcıyı belirtilen kanal(lar)a girmeye zorlar. Sadece Services & Network Admin statüsünde ki IRC operatörler kullanabilir | IRC Operatörler |
sapart <nick> <kanal>,
<kanal> |
Bir kullanıcıyı belirtilen kanal(lar)dan
ayrılmaya zorlar. Sadece services & network Admin statüsünde ki
IRC
operatörler kullanabilir. |
IRC Operatörler |
samode <kanal> <mod> |
Network & Services Admin statüsünde ki IRC
Operatörlerin kanalda operatör olmadan kanal modlarını
değiştirebilmelerine olanak sağlar. |
IRC Operatörler |
rping <sunucumaskesi> |
Sunucular arasında ki var olan gecikmeyi
milisaniyeler mertebesinde görüntülenmesine olanak sağlar |
IRC Operatörler |
trace <sunucumaskesi|nick> |
Bir kullanıcı (nick) için kullanıldığında,
belirtilen nick için gecikme ve sınıf bilgisini görüntüler. Eğer bir
sunucu için kullanılırsa, belirtilen sunucu için sınıf/versiyon/link
bilgisini görüntüler. |
IRC Operatörler |
opermotd |
Sunucunun OperMotd dosyasını görüntüler |
IRC Operatörler |
addmotd :<metin> |
Motd dosyasının sonuna belirtilen metni ekler |
IRC Operatörler |
addomotd :<metin> |
OperMotd dosyasının sonuna belirtilen metni
ekler |
IRC Operatörler |
sdesc <açıklama> |
Server Admin statusunde ki IRC Operatörlerin,
sunucunun yeniden başlatılması gerekmeden, açıklama satırını
değiştirebilmelerine olanak sağlar. |
IRC Operatörler |
addline <metin> |
unrealircd.conf'a belirtilen metni ekler |
IRC Operatörler |
mkpasswd <şifre> |
Sade metin halindeki bir şifreyi,
unrealircd.conf'a eklemek için, yeniden şifreler (encrypt) |
IRC Operatörler |
tsctl offset +/- <zaman> |
IRCD'in dahili saatini ayarlar (Ne işe yaradığını
TAM ANLAMIYLA bilmiyorsanız KULLANMAYIN) |
IRC Operatörler |
tsctl time |
TS Raporunu görüntüler | IRC Operatörler |
tsctl alltime | Bütün sunucular için TS Raporunu görüntüler | IRC Operatörler |
tsctl svstime <timestamp> |
Bütün sunucular için TS zamanını belirtmenize
sağlar (Ne işe yaradığını TAM ANLAMIYLA bilmiyorsanız KULLANMAYIN) |
IRC Operatörler |
htm <tercih> |
Yüksek trafik moduna ilişkin özelliklerin kontrol
edilmesini sağlar. Yüksek Trafik Modu (HTM) list whois who vs. gibi
belirli kullanıcı komutlarını deaktif eder. tercih kısmında: -ON Sunucuyu Yüksek Trafik Moduna (HTM) girmeye zorlar -OFF Sunucuyu Yüksek Trafik Modundan (HTM) çıkmaya zorlar -NOISY Sunucunun HTM'ye girişinde ve HTM'den çıkışında kullanıcılara/yöneticilere bildiri mesajı gönderilmesini sağlar -QUIET Sunucunun HTM'ye girişinde ve HTM'den çıkışında kullanıcılara/yöneticilere bildiri mesajı gönderilmemesini sağlar -TO <değer> Sunucuya HTM'yi hangi gelen veri hızında aktif edeceğini belirtir |
IRC Operatörler |
stats <flag> |
B - banversion - Yasaklı versiyonların
listelenmesini sağlar b - badword - Kötü kelimelerin (badwords) listelenmesini sağlar C - link - Link bloğunda (bloklarında) belirtilmiş içerikler görüntülenir d - denylinkauto - deny link (otomatik olarak reddedilen) bloğunda (bloklarında) belirtilmiş içerikler görüntülenir D - denylinkall - deny link (hepsi) bloğunda (bloklarında) belirtilmiş içerikler görüntülenir e - exceptthrottle - except throttle bloğunda (bloklarında) belirtilmiş içerikler görüntülenir E - exceptban - except ban ve except tkl bloklarında belirtilmiş içerikler görüntülenir f - spamfilter - filtrenen içeriklerin listesi görüntülenir (spamfilter) F - denydcc - Deny dcc bloğu (blokları) içerikleri görüntülenir G - gline - gline ve gzline listesi görüntülenir Genişletilmiş Flaglar: [+/-mrs] [maske] [sebep] [ekleyen] m belirtilen maskeyle eşleşen/eşleşmeyen (+ veya - belirtilmesine göre) gline'lar listelenir r belirtilen sebep ile eşleşen/eşleşmeyen gline'lar listelenir s belirtilen [ekleyen] ile eşleşen/eşleşmeyen gline'lar listelenir I - allow - Allow bloğu (blokları) içerikleri görüntülenir j - officialchans - Resmi kanallar (official channels) listesi görüntülenir K - kline - ban user/ban ip/except ban blokları içerikleri listelenir. Ayrıca bu bloklarda belirtilmemiş ancak kline zline vs. gibi ban komutlarıyla atılmış *line'larda listelenir. l - linkinfo - link bilgisi görüntülenir L - linkinfoall - Mevcut bütün linklerin bilgileri görüntülenir M - command - Kullanılan her komutun ve kaç kez kullanıldıklarının listesi görüntülenir n - banrealname - Ban realname bloğu (blokları) içeriği görüntülenir O - oper - Oper bloğu (blokları) içeriği görüntülenir P - port - Portlarla ilgili bilgi görüntülenir q - sqline - SQLINE listesi görüntülenir Q - bannick - Ban nick bloğu (blokları) içeriği görüntülenir r - chanrestrict - channel deny/allow blokları içerikleri görüntülenir R - usage - Kullanım bilgisi görüntülenir S - set - Set bloğu içeriği görüntülenir s - shun - Shun listesi görüntülenir Genişletilmiş Flaglar: [+/-mrs] [maske] [sebep] [ekleyen] m belirtilen maskeyle eşleşen/eşleşmeyen (+ veya - belirtilmesine göre) shun'lar listelenir r belirtilen sebep ile eşleşen/eşleşmeyen shun'lar listelenir s belirtilen [ekleyen] ile eşleşen/eşleşmeyen shun'lar listelenir t - tld - tld bloğu (blokları) içeriği görüntülenir T - traffic - Sunucu Trafik bilgisi görüntülenir u - uptime - Sunucunun ne kadar süredir hizmet verdiği ve bağlantı sayısı görüntülenir U - uline - Uline bloğu içeriği görüntülenir v - denyver - Deny version bloğu içeriği görüntülenir V - vhost - Vhost bloğu içeriği görüntülenir X - notlink - Link bloğunda var olan fakat henüz linki gerçekleşmemiş sunucular listesi görüntülenir Y - class - Class bloğu içeriği görüntülenir z - zip - SZiplinked sunucular hakkında ki sıkıştırma bilgisi görüntülenir Z - mem - Bellek kullanım bilgisi görüntülenir |
Herkes |
module |
Yüklü olan bütüm modüllerin listesinin görüntülenmesini sağlar | Herkes |
close |
Tanımlanamayan bütün bağlantıların IRC Sunucusu ile bağlantılarını kesmenize olanak sağlar. | IRC Operatörler |
8 – Güvenlik İçin Tavsiyeler/Kontrol Listesi
Eğer güvenlik ile ilgileniyorsanız (ki ilgilenmelisiniz!), bu bölüm mevcut riskler hakkında genel bir bilgi edinmenize yardımcı olacaktır. Bu sebeple ağınızı daha güvenli bir hale getirmek amacıyla adım adım ilerleyeceğiniz bir "kontrol listesi" kullanabilirsiniz.
Listedeki öğeler popularite/risk düzeyi/genelde kullanılan saldırı metodları sırasıyla dizilmiştir:
8.2 Ircd ile alakalı olmayan zayıflıklar
8.3 Konfigürasyon dosyası ve yetkilendirme
8.4 Kullanıcı kaynaklı problemler
8.6 Denial of Service attacks (DoS) [or: veya: hubumu
nasıl
koruyabilirim?]
9 – Sıkça sorulan Sorular (FAQ)
FAQ kısmına çevirimiçi olarak buradan ulaşabilirsiniz.
Düzenli ifadeler Unreal'de bir çok yerde kullanılır, badwords, spamfilter ve aliases'lerde olduğu gibi. Düzenli ifadeler kalıp eşleşmesi için kullanılan çok kompleks araçlardır. Bunlar bazen "regexp" bazen de "regex" olarak kullanılır. Unreal bu ifadeler için TRE düzenli ifadeler kütüphanesini kullanır. Bu kütüphane çok kompleks ve kimi zaman karışık olabilecek ileri düzey ifadeleri destekler. Aşağıda anlatılanlar regexp'nin çalışma mantığı hakkında size bilgi verecektir. Eğer regexp kullanımı hakkında daha fazla bilgiye sahip olmak istiyorsanız ve bu konuyla ilgileniyorsanız burayı tıklayın (TRE homepage).
Değişmezler bir regexp'nin en temel bileşenidir. Basit olarak değişmezler sade-metinde görülen karakterlerdir. Örneğin; "test" ifadesi 4 adet değişmez içerir: "t", "e", "s", "t". Unreal'de değişmezler büyük-küçük karakter duyarlı değildir, dolayısıyla örnekde verilen ifade "TEST" ile de eşdeğerdir. "Meta karakter" olmayan bütün karakterler değişmez sayılır. Aynı zamanda bir karakteri tersbölü (\) karakterini kullanarak da değişmez yapabilirsiniz. Örneğin nokta (.) bir metakarakterdir. Eğer . 'yı bir değişmez olarak kullanmak isterseniz yapmanız gereken .'yı \. olarak belirtmektir ve Unreal bunu nokta olarak yorumlayacaktır. Aynı zamanda ASCII karakter 3 (renk) gibi bir karakteri de kontrol etmek isteyebilirsiniz. Bunu \x şeklinde bildiri yaparak sağlayabilirsiniz. Örneğin \x3 olarak bildiri yaptığınızda bu ASCII karakter 3'e (renk). Burada \x ifadesinden sonra onaltılık bir sayıda belirtebilirsiniz ve bu \x0'dan \xFF 'e kadar belirtilebilir.
Nokta işleci (.) "herhangi bir karakter"le eşleşme için kullanılır. Herhangi bir değere sahip tek bir karakterle eşleşir. Örneğin, "a.c" düzenli ifadesi "abc", "adc" vs. gibi ifadelerle eşleşecektir. Fakat "abd" ile eşleşemeyecektir çünkü "a" ve "c" birer değişmezdir ve karşılaştıracak ifadeyle bunların eşleşmesi zorunludur.
Regex'de ençok yapılan hatalardan biri yineleme işleçlerinin tam anlamıyla joker karakterler olarak kullanılmasıdır. Bu doğrudur, * ve ? karakterleri joker karakterler olarak kullanılabilir ancak bunların regexdeki manası tam anlamıyla joker karakterler değildir. Ek olarak, düzenli ifadeler daha ileri düzeyde yineleme metodlarını da destekler.
En temel yineleme işleci ? işlecidir. Sıfır veya bir kere eşleşme işlecidir. Joker karakter olarak kullanımında, örneğin "a?c" ifadesinde yineleme işleci "a"yı takip eden ve "c"den önce gelen herhangi bir karakterle eşleşecektir. Fakat regexdeki kullanımında anlamı farklıdır. Bu durumda "a?c" ifadesi "ac" ifadesi ve "c" ifadesi haricinde hiçbir ifadeyle eşleşmeyecektir. Dolayısıyle ? işleci; belirtilen düzenli ifadede kendinden önce gelen karakterin eşeleşecek ifadede var olup olmamasına göre eşleşme yapacaktır. Eğer düzenli ifadede bu işleç joker karakter olarak kullanılmak istenirse bu durumda aynı ifadeyi "a.?c" şeklinde belirtmeniz gerekir. Bu durumda ? işleci "a"yı takip eden ve "c"den önce gelen herhangi bir karakterle eşleşecektir.
Bir yineleme işleci de * işlecidir. Aynı şekilde bu işleçte joker karakter olarak kullanılabilir. Aynı zamanda sıfır veya daha fazlasıyla eşleştirme işlecidir. * işleci; belirtilen düzenli ifadede kendinden önce gelen karakterin 0 ya da daha fazla bulunması durumlarıyla eşleşir. Örneğin "a*c" düzenli ifadesi "c" ile sonlandırılmış 0 veya daha fazla "a" içeren ifadelerle işleşecektir. Misal "aaaaaac" ifadesiyle eşleşir. Eğer joker karakter olarak kullanılmak istenirse "a.*c" şeklinde belirtmeniz gerekecektir.
+ işlecinin yorumlanması * işlecinin yorumlanmasına çok benzer. Ancak sıfır veya daha fazlazıyla değil 1 veya daha fazlasıyla eşleştirme işlecidir. "a+c" düzenli ifadesi "ac" veya daha fazla ardarda "a" içeren "aaaaaaaaac" gibi bir ifadeyle eşleşecektir.
En ileri düzeyde yineleme işleci ise sınırlı sayıda yineleme işlecidir. Bir sınırlı sayıda yineleme işleciyle kendinden önce gelen karakterin kaç kez tekrarlanacağını kesin olarak belirtebilirsiniz. Örneğin, 8 a içeren veya en az 8 a bulunduran veya 3-5 a bulunduran bir ifadeyle eşleştirme yapabilirsiniz. Temel kullanımı {M,N} şeklindedir, burada M sınırlamada belirtilecek sayılardan küçüğünü, N ise büyüğünü temsil etmektedir. Örneğin 3 ve 5 arasındaki bir sayıda a içeren bir eşleşme için "a{3,5}" şeklinde belirtmelisiniz. Bununla birlikte M sayısı N sayısına eşit olamaz. Bu durumda eğer tam 8 a içeren bir eşleşme için "a{8]" şeklinde belirtmelisiniz. Bu "aaaaaaaa" ile eşleşmeye denktir. En az 8 a içeren bir ifadeyle eşleşme için "a{8,}" şeklinde belirtmelisiniz.
Default olarak, bütün yineleme işleçleri aç gözlüdür. Temel olarak bunun anlamı bir yineleme işleci olabildiğince çok karakterle eşleşir. Bu bir örnekle daha iyi açıklanabilir.
Aşağıdaki ifade gibi bir metnimiz olsun:
HELLO
Belirtilen düzenli
ifade de
aşağıdaki olsun:
.+L
Bu örnekte, .+ işlecinin "HE." ile eşleşeceğini düşünmelisiniz. Bununla birlikte bu doğru değildir. Çünkü + işleci aç gözlüdür, dolayısıyla "HEL." ile eşleşecektir. Bunun sebebi, bu işlecin giriş metninde bulunan eşleşecek en büyük parçayı seçmesidir. Bu örnekte bu işleç "HEL" parçasıyla eşleşti. Metin "HELLO" olduğundan, "HEL" ifadesini bir "L" takip ettiğinden, eşleşme gerçekleşti. Bununla birlikte bazen de bir işleç, yineleme işlecinden sonra ? karakteri kullanılarak bu durumdan kurtarılabilir. Yukarıdaki örneğe göre düzenli ifade ".+?L" şeklinde değiştirilirse bu durumda .+? işleci "HE" ile eşleşecektir. ? karakteri herhangi bir yineleme işlecine eklenebilir: ??, *?, +?, {M,N}?.
Bu ifadeler uygulamada ençok bir harf veya bir rakam kontrolunde kullanılır. Birer birer belirtmekten, yani "[0123456789]" şeklinde belirtmekten daha ziyade parantez ifadeleri içinde aralık belirtebilirsiniz. Bu aralıkları başlangıç değeri ve bitiş değeri arasına - karakteri koyarak belirtebilirsiniz. Böylelikle bir rakam kontrolu için en basit şekliyle "[0-9]" şeklinde belirtme yapabilirsiniz. Bu türdeki belirtme harfler için ve ASCII değerleri içinde geçerlidir. Eğer bir harf eşleşmesi yapmak istiyorsanız basitçe "[a-z]" şeklinde belirtebilirsiniz, Unreal büyük-küçük harf duyarlılığına sahip olmadığından bu bütün (büyük/küçük) karakterleri kapsayacaktır. Aynı zamanda aynı ifadede çoklu aralıklar da belirtebilirsiniz. Bir harfle veya bir rakamla eşleşme yapmak istiyorsanız, "[0-9a-z]" şeklinde belirtmelisiniz. - karakterinin parantez ifadelerinde özel bir karakter olduğunu unutmayın. - değişmeziyle bir eşleşme yapmak istiyorsanız, bu değişmezi parantez ifadesinin ya ilk karakteri olarak ya da son karakteri olarak belirtin. Örneğin "[0-9-]" ifadesi herhangi bir rakam veya - karakteriyle eşleşecektir.
Bunları daha da sadeleştirmek için, parantez ifadelerinde kullanılmak üzere "karakter sınıfları" vardır. Bu karakter sınıfları ihtiyaç duyulan belirli aralıkları tanımlamak için kullanılır. Karakter sınıfları parantez ifadesi içinde, isimlerinin başına ve sonuna : karakteri eklenerek kullanılır. Örneğin "[0-9]" gibi bir ifade "[:isdigit:]" şeklinde yazılabilir. Aşağıda mevcut karakter sınıfları ve işlevler belirtilmiştir:
Parantez ifadelerinin son özelliği olumsuzlamadır. Bazı zamanlarda "bu karakterler haricinde herhangi bir karakter" gibi bir ifadeyi belirtmek isteyebilirsiniz. Örneğin eğer "harf olmayan" bir karakteri kontrol etmek isterseniz, burada a-z harici karakterlerden bahsedildiği açıktır, bunu ifadenin başına ^ karakterini ekleyerek belirtebilirsiniz. Dolayısıyla bu durumda "[^a-z]" ifadesi harf olmayan herhangi bir karakterle eşleşir. - karakterinde olduğu gibi, eğer ^ karakterini bir değişmez olarak belirtmek isterseniz, bu değişmezi ilk karakter pozisyonunda kullanmayın, "[a-z^]" ifadesinde olduğu gibi kullanın. Karakter sınıfları içinde aynı uygulama geçerlidir, "[^[:isdigit:]]" ifadesiyle rakam olmayan bütün karakterler belirtilmiştir.
^ karakteri belirtilecek düzenli ifadenin başında kullanıldığında, eşleşme yalnızca kontrol edilen metnin belirtilen düzenli ifade ile başlamasıyla gerçekleşecektir. Örneğin düzenli ifade "test" olarak belirtilirse bu ifade "test" ifadesini içerdiğinden, "this is a test" metni ile eşleşecektir. Ancak düzenli ifadeyi "^test" olarak belirtirseniz bu sefer eşleşme gerçekleşebilmesi için metin "test" ile başlamak zorundadır. Ek olarak $ karakteri ise belirtilecek düzenli ifadenin sonunda kullanıldığında, eşleşme yalnızca kontrol edilen metnin belirtilen düzenli ifade ile sonlandığı durumlarda gerçekleşecektir. Örnek olarak "^test$" düzenli ifadesi, yalnızca "test." metniyle eşleşecektir.
Diğer bütün demirleme işleçleri belirli bir karakterin başına \ konulmasıyla kullanılır. Örneğin, bir kelimenin başını ve sonunu kontrol etmek için, \< ve \> kullanabilirsiniz.
Geriye kalan demirleme işleçleri ise biri pozitif biri negatif değeri temsil etmek üzere 2 formdadır. Bu işleçler aşağıda listelenmiştir:
A.7 Gruplama İşleçleri (Alt İfadeler)
9 tane grup adresleme işleci olduğundan (?:) notasyonu kullanışlıdır. Bu size grup adresleme işleci boşa kullanılmaksızın alt ifade oluşturmanıza izin verir.
A.9 Büyük/Küçük Harf Duyarlılığı