/* UnrealIRCd 6 için yapılandırma dosyası * Türkçe Çeviri: Diablo - (Serkan Sepetçi) * İletişim: irc.turkirc.net:6667 - diablo@unrealircd.org * * Biz buna basit bir 'unrealircd.conf' dosyası diyoruz. * Bu dosyası satır satır editleyip conf/ dizinine kopyalayınız. (düzenleyin!) * * Önemli: Satırların hepsi, açılış başına { satır sonuna ; * }; dahil edin. Bu çok önemli, eğer siz ayrıştırıcıyı ; * eksik koyarsanız yapılandırma dosyası hata verecek * ve dosya doğru işlemde olmayacaktır! * Bu sizin UnrealIRCd yapılandırması ile ilk deneyiminiz ise * dosyayı okumanız için birkaç dakika ayırmanızı öneniriz, * bu size bilgi edinmeniz açısından yardımcı olacaktır: * https://www.unrealircd.org/docs/Configuration#Configuration_file_syntax * * UnrealIRCd 6 belgeleme (çok geniş!): * https://www.unrealircd.org/docs/UnrealIRCd_6_documentation * * Sıkça Sorulan Sorular: * https://www.unrealircd.org/docs/FAQ * */ /* Bu bir açıklamadır, burada tüm metin göz ardı edilir (açıklama tipi #1) */ // Bu da bir açıklamadır, bu satır göz ardı edilir (açıklama tipi #2) # Bu da bir açıklamadır, bu satır yine göz ardı edilir (açıklama tipi #3) /* UnrealIRCd yoğun modul kullanımını kolaylaştırır. UnrealIRCd'de * etkinleştirmek istediğiniz özellikleri tamamen moduller ile aktif edebilirsiniz. * Görmek için; https://www.unrealircd.org/docs/Modules * * Biz 'modules.default.conf' dosyasını okumak için IRCd talimatı altında kullanarak * UnrealIRCd ile birlikte gelen 150'den fazla modülleri yükleyecektir. * Başka bir deyişle: Bu sadece UnrealIRCd'de mevcut tüm özelliklerini yükleyecektir. * İlk kez UnrealIRCd kuruyorsanız size bunu kullanmanızı öneririz. * UnrealIRCd'yi ilk kez kuruyorsanız bunu kullanmanızı öneririz. * Daha sonra her şey hazır olduğunda ve çalışıyorsa (eğer isterseniz) * listeyi özelleştirmek için geri dönebilirsiniz. */ include "modules.default.conf"; /* Şimdi de diğer bazı dosyaları dahil edelim: * - help/help.conf /HELPOP sistemi * - badwords.conf kanal ve kullanıcı modu için +G * - spamfilter.conf için örnek olarak spamfilter kullanımı * - operclass.default.conf oper bloklarında kullanabileceğiniz * oper sınıflarını görüntüler. */ include "help/help.conf"; include "badwords.conf"; //include "spamfilter.conf"; include "operclass.default.conf"; include "snomasks.default.conf"; /* Load the default cloaking module (2021 onwards): */ loadmodule "cloak_sha256"; /* Or load the old module from UnrealIRCd 3.2/4/5 instead: */ //loadmodule "cloak_md5"; /* me { } bloğu genelde kim olduğumuzu belirtir. * Sunucumuz için isim, birkaç satır bazı bilgileri belirler "sid". * Sunucu kimliği (sid) iki basamağı veya harf tarafından izlenen bir rakam ile * başlamalıdır. Sid IRC ağı için benzersiz olmalıdır (her sunucu için * kendi sid olmalıdır). */ me { name "irc.example.org"; info "ExampleNET Server"; sid "001"; } /* admin { } bloğu /ADMIN sorgusunda kullanıcılara görüntülenecek metni belirler. * Normalde yöneticiye ulaşma konusunda bilgi içerir. */ admin { "Bob Smith"; "bob"; "email@example.org"; } /* Kullanıcılar ve sunucular için class { } bloğu belirtilir. * Class blokları aşağıdaki işlemlerden oluşur: * - pingfreq: kullanıcı/sunucu için ping'ler arası zaman belirtir (saniyede) * - connfreq: sunucuya bağlanmaya çalıştığınızda tekrar için zaman belirtir (saniyede) * - sendq: bir bağlantı için maksimum veri boyutu * - recvq: bir bağlantı için maksimum alınan veri boyutu (flood kontrol) */ /* Kullanıcılar için varsayılan class ayarları */ class clients { pingfreq 90; maxclients 1000; sendq 200k; recvq 8000; } /* IRCOp'lar için varsaylan yüksek limitli özel class ayarları */ class opers { pingfreq 90; maxclients 50; sendq 1M; recvq 8000; } /* Sunucular için varsayılan class ayarları */ class servers { pingfreq 60; connfreq 15; /* Her 15 saniyede bir bağlanmayı dener */ maxclients 10; /* maksimum kullanıcı */ sendq 20M; } /* Allow blockları sunucunuza kimlerin bağlanabileceğini belirtir. * Bir sunucu şifresi eklenebilir veya belirlitilen bir IP adresi için * giriş izini verilebilir. Ayrıca IP başına ne kadar bağlantıya izin * verileceğini belirtir. * Görmeniz için: https://www.unrealircd.org/docs/Allow_block */ /* IP başına sadece 3 bağlantı izini verir */ allow { mask *; class clients; maxperip 3; } /* Örnek olarak özel bir IP bloğu izini: * Bu IP bir şifre ile bağlantı yapması olduğunu gerektirir. * Şifre doğru ise o zaman bu IP 20 bağlantıya izin verecektir. */ allow { mask 192.0.2.1; class clients; password "somesecretpasswd"; maxperip 20; } /* Oper bloğu, IRC Operatorleri tanımlar. * IRC Operatörler, diğer kullanıcılara göre "ekstra haklara" sahip kullanıcılardır. * örneğin diğer kullanıcılara /KILL uygulayabilmesi, sunucu birleştirmesinin başlatılması, * /JOIN yaptığı odalardan banlansa bile tekrar giriş yapabilmesi, vs. * * IRCOp olmak ve nasıl Admin olunacağı hakkında daha fazla bilgi için * https://www.unrealircd.org/docs/IRCOp_guide * * Oper {} bloğunun kendisi ile ilgili ayrıntıları görmeniz için * https://www.unrealircd.org/docs/Oper_block */ /* Örnek bir oper bloğu için 'bobsmith' ile şifresi 'test'. * Bunu değiştirmeniz GEREKİR!! */ oper bobsmith { class opers; mask *@*; password "test"; /* Oper izinleri bir "operclass 'bloğunda tanımlanır. * Görmeniz için: https://www.unrealircd.org/docs/Operclass_block * UnrealIRCd varsayılan bloklar makalesi için, * tam listesine bakınız. Buradan 'netadmin' seçiyoruz. */ operclass netadmin; swhois "is a Network Administrator"; vhost netadmin.example.org; } /* Listen blokları sunucu portu için gereken bağlantı noktalarını tanımlar. * Diğer bir deyişle: Bu portlar kullanıcılar ve serverlar için * sunucuya bağlantı kurmasını sağlar. * * Kullanımı: * listen * { * ip ; * port ; * options { * ; * } * } */ /* Standard IRC port 6667 */ listen { ip *; port 6667; } /* Standard IRC SSL/TLS port 6697 */ listen { ip *; port 6697; options { tls; } } /* Özel SSL/TLS sadece sunucuları bağlamak için port */ listen { ip *; port 6900; options { tls; serversonly; } } /* DiKKAT: Eğer bir çok IP barındıran bir IRCd Shell kullanıyorsanız * logunuzda olası 'Address already in use' hatasını alacaksınız * ve ircd başlamayacaktır. * Bunun anlamı '*' yerine belirli bir IP yazmanız GEREKİR anlamına gelir: * listen 1.2.3.4:6667; * Açıkçası, IP yi önceden koyduğunuz IP ile değiştirin. */ /* * Link blockları bir ağ oluşturmak için birden fazla sunucu bağlamaya izin verir. * Görmek için: https://www.unrealircd.org/docs/Tutorial:_Linking_servers */ link hub.example.org { incoming { mask *@something; } outgoing { bind-ip *; /* veya açıkça bir IP */ hostname hub.example.org; port 6900; options { tls; } } /* Kimlik doğrulaması için diğer sunucunun SPKI parmak izini kullanıyoruz. * Kullanmamız için diğer tarafda './unrealircd spkifp' uygulayıp çalıştırıyoruz. */ password "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUV=" { spkifp; } class servers; } /* Servis'ler için bağlantı bloğu genellikle çok daha basittir. * Servis'lerin ne olduğu hakkında daha fazla bilgi için, * https://www.unrealircd.org/docs/Services */ link services.example.org { incoming { mask 127.0.0.1; } password "changemeplease"; class servers; } /* U-lines satırları sunuculara daha güç/komut kazandırır. * Eğer hizmetlerini kullanmak istiyorsanız onları buraya eklemeniz gerekir. * ASLA buraya (normal) UnrealIRCd sunucunun adını yazmayınız!!! */ ulines { services.example.org; } /* Bu blok /DIE ve /RESTART için şifre tanımlamanızı sağlar. Sadece IRCOp'lar içindir. * Bu genelde kazara sunucuyu yeniden başlatma ve kapanmasına karşı biraz * koruma sağlamak içindir. */ drpass { restart "restart"; die "die"; } /* Bu log bloğu hangi dosyaya ve nelerin olması gerektiğini tanımlar. * Görmeniz için: https://www.unrealircd.org/docs/Log_block */ /* Bu iyi bir varsayılandır, hata ayıklama ve * join/part/kick dışındaki her şeyi günlüğe kaydeder. */ log { source { all; !debug; !join.LOCAL_CLIENT_JOIN; !join.REMOTE_CLIENT_JOIN; !part.LOCAL_CLIENT_PART; !part.REMOTE_CLIENT_PART; !kick.LOCAL_CLIENT_KICK; !kick.REMOTE_CLIENT_KICK; } destination { file "ircd.log" { maxsize 100M; } } } /* Bazı kullanıcılara veya botlara bir mesaj göndermek için "aliases" * takma ad oluşturmanızı sağlar. Genellikle servisler için kullanılır. * * Biz önceden ayarlanmış bir takma adı dosyaları dizini oluşturduk, alias/ dizini kontrol ediniz. * Örnek olarak, burada anope servisler ve kullanılan tüm diğer servisler adları bulunmaktadır. */ include "aliases/anope.conf"; /* Ban nick bloğu bir nickin sunucuda kullanımını yasaklamanıza olanak sağlar */ ban nick { mask "*C*h*a*n*S*e*r*v*"; reason "Servisler için ayrılmış"; } /* Ban ip. * Normalde bunun için /KLINE, /GLINE ve /ZLINE kullanıldığını unutmayınız. */ ban ip { mask 195.86.232.81; reason "Senden nefret ediyorum"; } /* Ban server - bir sunucunun bağlanmasını devredışı kılar */ ban server { mask eris.berkeley.edu; reason "Defol git buradan."; } /* Ban user - normalde /KLINE veya /GLINE kullanıldığını unutmayınız */ ban user { mask *tirc@*.saturn.bbn.com; reason "Salak"; } /* Ban realname bloğu bir kullanıcıyı, GECOS kısmı esas alınarak * banlamanıza olanak sağlar. */ ban realname { mask "Swat Team"; reason "mIRKFORCE"; } ban realname { mask "sub7server"; reason "sub7"; } /* Ban ve TKL istisnaları. Kullanıcıları / makineleri gözetmeksizin * KLINE, GLINE, gibi banlardan muaf tutmanıza olanak sağlar. * Eğer statik IP (ve bu IP üzerinde güvenilmeyen kişiler) ile bir IRCOp * iseniz o zaman kendinizi burada eklemenizi öneririz. Yanlışlıkla kendinize * bir *LINE ban koyarsanız bile yinede muaf tutulacaksınız. */ /* except ban bloğu, sizi KLINE ve ZLINE gibi banlardan koruyacaktır */ except ban { mask *@192.0.2.1; // burada daha fazla mask girdileri ekleyebilirsiniz.. } /* except ban bloğu, sizi 'tüm' GLINE, GZLINE, QLINE, SHUN gibi banlardan koruyacaktır */ except ban { mask *@192.0.2.1; type all; } /* Deny dcc bloğu, sunucu üzerinden DCC yoluyla dosya gönderilmesine izin vermeyecektir */ deny dcc { filename "*sub7*"; reason "Olası Sub7 Virüsü"; } /* Deny channel bloğu, kullanıcıların belirtilen kanallara girmesini engeller */ deny channel { channel "*warez*"; reason "Warez is illegal"; class "clients"; } /* VHosts (Virtual Hosts) bloğu, kullanıcının yeni bir host alabilmesine olanak sağlar. * Görmeniz için; https://www.unrealircd.org/docs/Vhost_block */ /* Kullanabileceğiniz örnek vhost. IRC tipi: /VHOST test test * DiKKAT: Güvenlik açısından aşağıdaki vhost::mask yönergesinde * maske 'unrealircd.com' olarak belirlenmiştir. */ vhost { vhost i.hate.microsefrs.com; mask *@unrealircd.com; login "test"; password "test"; } /* Blacklist blokları, bir kullanıcı bağlandığında IP adresinin drone saldırılarına * neden olduğunu, bilinen bir saldırıya uğramış bir makine olup olmadığını görmek * için harici bir DNS Kara Liste hizmetinden sorgulayacaktır. * Belgeleme: https://www.unrealircd.org/docs/Blacklist_block * veya aşağıdaki bloklar satırına bakınız. */ /* DroneBL, muhtemelen IRC Sunucuları tarafından kullanılan en popüler kara liste. * Belgeler ve cevap (reply) tiplerin anlamlarını görmek için https://dronebl.org/ * adresine bakınız. Bu zamanda aşağıdaki cevap (reply) tiplerini kullanıyoruz: * 3: IRC Drone, 5: Bottler, 6: Unknown spambot or drone, * 7: DDoS Drone, 8: SOCKS Proxy, 9: HTTP Proxy, 10: ProxyChain, * 11: Web Page Proxy, 12: Open DNS Resolver, 13: Brute force attackers, * 14: Open Wingate Proxy, 15: Compromised router / gateway, * 16: Autorooting worms. */ blacklist dronebl { dns { name dnsbl.dronebl.org; type record; reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; } } action gline; ban-time 24h; reason "Proxy/Drone belirlendi. Ayrıntılar için https://dronebl.org/lookup?ip=$ip adresine bakınız."; } /* EFnetRBL, belgeler ve cevap (reply) tiplerini görmek için https://rbl.efnetrbl.org/ * adresine bakınız. * Yazma sırasında: 1 is open proxy, 4 is TOR, 5 is drones/flooding. * * NOT: Sunucunuzda TOR proxy'lerine izin vermek istiyorsanız, * cevap (reply) tiplerinden '4;' öğesini kaldırmanız gerekiyor. */ blacklist efnetrbl { dns { name rbl.efnetrbl.org; type record; reply { 1; 4; 5; } } action gline; ban-time 24h; reason "Proxy/Drone/TOR belirlendi. Ayrıntılar için https://rbl.efnetrbl.org/?i=$ip adresine bakınız."; } /* Diğer yapılandırma dosyalarını dahil edebilirsiniz */ /* include "klines.conf"; */ /* Ağ yapılandırması */ set { network-name "ExampleNET"; default-server "irc.example.org"; services-server "services.example.org"; stats-server "stats.example.org"; help-channel "#Help"; cloak-prefix "Clk"; prefix-quit "Quit"; /* Gizleme anahtarları ağ üzerindeki bütün sunucularda aynı olmalı. * Bu anahtarlar maskeli hostlar yaratmak ve bunları saklamak için kullanılır. * Anahtarlar 80 karakterlik 3 rastgele diziden oluşmalı ve küçük harf (a-z), * büyük harf (A-Z) ve rakamlardan (0-9) meydana gelmelidirler.. [ilk örneğe bakınız]. * IPUCU: './unreal gencloak' Unreal sizin için rastgele 3 adet dizin oluşturur. * Bunu NIX üzerinde çalıştırabilirsiniz. */ cloak-keys { "Oozahho1raezoh0iMee4ohvegaifahv5xaepeitaich9tahdiquaid0geecipahdauVaij3zieph4ahi"; "ve diğeri"; "ve diğeri"; } } /* Sunucunun kendine özgü yapılandırması */ set { kline-address 'set.this.to.email.address'; /* bir kullanıcı banlandığında e-mail yada URL satırı gösterir */ modes-on-connect "+ixw"; /* kullanıcılar bağlandığında, bu modları alacaktır */ modes-on-oper "+xws"; /* Birisi IRC Operatör olduğunda bu modları alacaktır */ modes-on-join "+nt"; /* yeni bir kanal oluşturulduğunda varsayılan kanal modlarını alacaktır */ oper-auto-join "#opers"; /* IRCoplar bu kanala otomatik olarak giriş yapacaktır */ options { hide-ulines; /* U-lines satırları /MAP ve /LINKS komutunda gözükmez */ show-connect-info; /* sunucuya bağlanırken "looking up your hostname" mesajı görüntülenecektir */ } maxchannelsperuser 10; /* bir kullanıcının maksimum girebileceği kanal sayısı */ /* QUIT mesajının görüntülenebilmesi için, bir kullanıcının sunucuya bağlı kalması * gereken süre. Bu durum umarım spamları durdurmak için yardımcı olacaktır. */ anti-spam-quit-message-time 10s; /* Kullanıcı sunucudan ayrılırken çıkış sebebini sabitler. /QUIT sebeb gözardı edilecektir. */ /* static-quit "Client quit"; */ /* static-part /PART komutu ile aynı işi görür */ /* static-part yes; */ /* Anti flood Koruması * Bunun için birçok ayarları vardır ve çoğu iyi varsayılanlara sahiptir. * Görmeniz için: https://www.unrealircd.org/docs/Set_block#set::anti-flood */ anti-flood { } /* Spam filter Ayarları */ spamfilter { ban-time 1d; /* varsayılan spamfilter tarafından ban süresini belirtir */ ban-reason "Spam/Advertising"; /* varsayılan sebep */ virus-help-channel "#help"; /* 'viruschan' eylemi için kullanılacak kanal */ /* except "#help"; Spamfilter'den muaf tutulacak kanal */ } } /* Belirli komutları kısıtlayın. * See https://www.unrealircd.org/docs/Set_block#set::restrict-commands */ restrict-commands { list { except { connect-delay 60; identified yes; reputation-score 24; } } invite { except { connect-delay 120; identified yes; reputation-score 24; } } /* Yukarıda gösterildiği gibi herhangi bir komutu kısıtlama * yeteneğine sahiptir. Ayrıca kısıtlayabileceğiniz 4 * özel tip vardır. Bunlar "private-message", * "private-notice", "channel-message" ve "channel-notice". * Bu örnekte olduğu gibi (kapalı) yorumlanmıştır: */ //private-message { // except { connect-delay 10; } //} //private-notice { // except { connect-delay 10; } //} } } /* * Aşağıdaki ayar "bilinmeyen kullanıcılar" için bağlantı kısıtlamasını yapılandıracaktır. * * UnrealIRCd, IP adreslerinden bağlanan çok sayıda kullanıcı tespit ettiğinde * daha önce görülmemişse, yeni IP'lerden gelen bağlantılar ayarlanan * hızın üzerinde reddedilir. örneğin 10:60'ta dakikada sadece 10 kullanıcı daha önce * görülmemiş şekilde bağlanabilir. Bilinen IP adresleri, ayarlanan orandan bağımsız olarak * her zaman girebilir. SASL kullanarak giriş yapan kullanıcılar için de aynıdır. * * Ayrıntılar için https://www.unrealircd.org/docs/Connthrottle adresine bakınız. * Veya aşağıdaki varsayılan yapılandırma ayarlarını okumaya devam edin: */ set { connthrottle { /* ilk önce "bilinen kullanıcılar" dediğimiz şeyi yapılandırmalıyız. * Varsayılan olarak bunlar, IP adresleri üzerinde 24 veya * daha yüksek puana sahip kullanıcılardır. 24 puan IP'nin geçen ay * en az 2 saat (veya kayıtlıysa en az 1 saat) boyunca bu sunucuya * bağlı olduğu anlamına gelir. * Sasl-bypass seçeneği başka bir ayardır. Bu ayar * SASL aracılığıyla hizmetlere kimlik doğrulaması yapan * kullanıcıların da bilinen kullanıcılar olarak kabul edildiği anlamına gelir. * "known-users" grubundaki kullanıcılar (herhangi bir reputation * veya SASL) modülleri tarafından her zaman izin verilir. */ except { reputation-score 24; identified yes; /* daha fazla seçenek için bkz. * https://www.unrealircd.org/docs/Mask_item */ } /* Yeni kullanıcılar, aşağıdakilere ait olmayan tüm * bilinen-kullanıcılar grubundandır. Bunlar "yeni" ve * bu tür yeni kullanıcıların çok sayıda bağlanması durumunda * bağlantı hızı sınırlamasına tabidirler. * Varsayılan bu oran dakikada 20 yeni yerel kullanıcı * ve dakikada 30 yeni global kullanıcı olarak belirlenmiştir. */ new-users { local-throttle 20:60; global-throttle 30:60; } /* Bu modülün ne zaman aktif OLMAYACAĞINI yapılandırır. * Varsayılan ayarlar, şu durumlarda modülü devre dışı bırakacaktır: * - Reputation modülü 1 haftadan kısa bir süredir çalışıyor ise. * 1 haftadan az çalışıyorsa, kimin "bilinen kullanıcı" * olduğunu düşünmek için yeterli veri yoktur. * - Sunucu yeni açıldı (ilk 3 dakika). */ disabled-when { reputation-gathering 1w; start-delay 3m; } } } /* KANAL GEÇMİŞİ: * UnrealIRCd, kullanıcılar tarafından bir kanala katılmadan önce * kanal geçmişini okumak için, kullanılabilen +H kanal moduna sahip olmalıdır. * Bu özellik hakkında bilgi için bkz. https://www.unrealircd.org/docs/Channel_history * * Geçmiş limitleri set::history aracılığıyla yapılandırılabilir. Varsayılan ayarlar * muhtemelen sizin için zaten iyidir, ancak düşük bellekli bir sistemdeyseniz veya * binlerce kanalınız varsa, iki kez kontrol etmek isteyebilirsiniz. Seçenekler için * https://www.unrealircd.org/docs/Set_block#set::history adresine bakın. * * Buna ek olarak "kalıcı kanal geçmişine" sahip olabilirsiniz. Bu kanal * geçmişinin diskte şifreli olarak depolandığı ve böylece IRC sunucusu yeniden * başlatılması halinde korunması anlamına gelir. * bkz. https://www.unrealircd.org/docs/Set_block#Persistent_channel_history * Kalıcı geçmiş özelliği varsayılan olarak ETKİNLEŞTİRİLMEMİŞTİR bunun için * bir secret { } bloğu yapılandırmanız gerekir. Aşağıdaki yapılandırma dosyasında * saklanan parolalar doğrudan bunlara basit bir örnektir. * Daha iyi güvenlik elde etmek için https://www.unrealircd.org/docs/Secret_block * adresini okuyun böylece şifreleri doğrudan yapılandırmada saklamazsınız. */ //secret historydb { password "somepassword"; } //set { history { channel { persist yes; db-secret "historydb"; } } } /* Son olarak, bir MOTD'ye (Günün Mesajı) sahip olmak isteyebilirsiniz, bunu * conf/ dizininizde bir 'ircd.motd' metin dosyası oluşturarak yapabilirsiniz. * Bu dosya bağlantıda kullanıcılarınıza gösterilecektir. * Daha fazla bilgi için bkz. https://www.unrealircd.org/docs/MOTD_and_Rules */ /* * Sorun mu yaşıyorsunuz veya daha fazla yardıma mı ihtiyacınız var? * 1) https://www.unrealircd.org/docs/UnrealIRCd_4_documentation * 2) https://www.unrealircd.org/docs/FAQ <- sorularınızın %80 ini kapsamakta! * 3) Eğer probleminiz hala devam ediyorsa: * - Forums: https://forums.unrealircd.org/ * - IRC: irc.unrealircd.org (SSL on port 6697) / #unreal-support * İlk önce Dökümantasyon ve FAQ kısmını okumanızı gerektirdiğini unutmayın! */