
IRC (Internet Relay Chat) sunucularında spam filtreleri (spamfilters), spam mesajları, flood saldırılarını ve kötüye kullanımları engellemek için kullanılır. Spamfilter komutları genellikle UnrealIRCd, InspIRCd, Bahamut gibi popüler IRCd (IRC Daemon) yazılımlarında kullanılır. Aşağıda UnrealIRCd için spamfilter komutlarını detaylı şekilde açıklıyorum.
Spamfilter Komutları ve Kullanımı (UnrealIRCd)
Spamfilter Ekleme
Yeni bir spam filtresi eklemek için:
css
/spamfilter add [gkü] [tip] [ceza] [zaman] :[desen]
Parametre Açıklamaları:
[gkü] → Filtrenin uygulanacağı yerleri belirtir:
g → Genel mesajları filtreler (kanallar, özel mesajlar).
k → Kanal mesajlarını filtreler.
u → Özel mesajları (private message – PM) filtreler.
[tip] → Filtrenin uygulanacağı mesaj türü:
c → Kanal mesajı.
p → Özel mesaj.
n → Nick değişiklikleri.
t → TOPIC değişiklikleri.
d → Kanal modları.
x → Text floodlarını yakalar.
[ceza] → Uygulanacak ceza:
block → Mesaj engellenir.
warn → Kullanıcıya uyarı verilir.
gline → Kullanıcı belirli bir süreliğine yasaklanır.
zline → IP adresi yasaklanır.
shun → Kullanıcının yazması tamamen engellenir.
[zaman] → Ceza süresi (örneğin 1h = 1 saat, 2d = 2 gün).
[desen] → Spam filtresi için regex veya düz metin içeriği.
Spamfilter Kullanımları
Kanal içi kötü kelimeleri engelleme
bash
/spamfilter add k c block – :küfür|hakaret|yasaklıkelime
k → Kanal mesajlarını hedef alır.
c → Kanal içindeki yazıları tarar.
block → Mesajları engeller.
küfür|hakaret|yasaklıkelime → Belirtilen kelimeler içerikte varsa mesaj engellenir.
Örnek 2: Private Message (PM) üzerinden reklam engelleme
ruby
/spamfilter add u p gline 2h :http://
u → Özel mesajları kontrol eder.
p → Özel mesajlar için geçerli olur.
gline 2h → Kullanıcıyı 2 saat boyunca yasaklar.
http:// → Özel mesajlarda URL paylaşımını engeller.
Örnek 3: Nickname değişikliklerinde reklam yasaklama
bash
/spamfilter add g n warn – :reklamnick
g → Genel olarak filtre uygular.
n → Nick değişikliklerini kontrol eder.
warn → Kullanıcıyı uyarır.
reklamnick → Eğer kullanıcı bu ismi alırsa uyarı alır.
Örnek 4: Konu (TOPIC) spamı engelleme
ruby
/spamfilter add g t block – :reklam|spam|yasaklıkelime
g → Genel olarak filtre uygular.
t → Kanal başlığı (TOPIC) için geçerlidir.
block → Mesajı engeller.
reklam|spam|yasaklıkelime → Yasaklı kelimeler içeren topic değişiklikleri engellenir.
Örnek 5: IP bazlı yasaklama (ZLINE)
ruby
/spamfilter add g c zline 1d :bot|flood
g → Genel mesajları kontrol eder.
c → Kanal içi mesajları tarar.
zline 1d → Kullanıcıyı IP üzerinden 1 gün yasaklar.
bot|flood → Eğer mesaj içeriği bot veya flood içeriyorsa yasaklama uygulanır.
3. Spamfilter Listesi Görüntüleme
Mevcut spam filtrelerini listelemek için:
bash
/spamfilter list
Sunucuda aktif olan tüm spam filtrelerini gösterir.
4. Spamfilter Silme
Belirli bir spam filtresini kaldırmak için:
css
/spamfilter del [ID]
[ID] → /spamfilter list komutu ile görülen spamfilter ID’si girilir.
Örneğin:
Bash
/spamfilter del 2
ID’si 2 olan spam filtresini kaldırır.
Alternatif olarak, belirli bir kelimeyi içeren spam filtresini kaldırmak için:
bash
/spamfilter del g c block – :yasaklıkelime
g → Genel filtre.
c → Kanal içi mesajları kontrol eder.
block → Engellenen kelime.
yasaklıkelime → Yasaklı kelimeyi içeren filtre kaldırılır.
5. Spamfilter Güncelleme
Mevcut bir spam filtresini değiştirmek için önce kaldırıp tekrar eklemek gerekir:
Mevcut filtreden kurtulma
css
/spamfilter del [ID]
Yeni filtreyi ekleme
css
/spamfilter add [gkü] [tip] [ceza] [zaman] :[desen]
Ekstra Bilgiler
UnrealIRCd sürümüne bağlı olarak bazı parametreler değişebilir.
Spam filtresi düzenli ifadeler (regex) kullanabilir. Örneğin:
sql
/spamfilter add g c block – :\b(free money|click here)\b
\b → Kelime sınırlarını belirler.
(free money|click here) → “free money” veya “click here” kelimelerini içeren mesajlar engellenir.
Spamfilter’i dikkatli kullanın! Yanlış bir desen sunucudaki birçok mesajı yanlışlıkla engelleyebilir.
Eğer belirli bir ihtiyacınız varsa veya özel bir spam filtresi yazmak istiyorsanız, detayları paylaşabilirsiniz! 😊