IRC’de spam kontrolü yapmak, kanalınızı istenmeyen mesajlardan korumanın en etkili yollarından biridir. Aşağıda, spam önleme ve yönetimi için çeşitli komutlar ve bunların nasıl kullanılacağına dair açıklamalar bulunmaktadır.
1. Nick Spam Kontrolü
IRC’de belirli bir süre içinde bir kullanıcının kaç kez nick değiştirebileceğini sınırlayabilirsiniz.
Örn: /spamfilter add u gzline +0 Girisiniz_Yasaklanmıştır ^(.Nick.*!+@.+:.+)$
Not: “Nick” Yazan Bölüme Yasaklamak iStediğiniz Nicki Yazınız.Böylelikle Spamfilter komutu ile belirlediğiniz nickin sunucunuza girmesini engellemiş olacaksınız.
a. Nick Değiştirme (Nick Flood) Kısıtlaması
Komut:
/mode #kanal +f [nick değişim sayısı]:[saniye]
Örnek:
Bu komut, 30 saniye içinde 3’ten fazla nick değiştiren kullanıcıyı kanaldan uzaklaştırır.
b. Belirli Nick Desenlerini Engelleme
Bazı nicklerin kanala girmesini engelleyebilirsiniz.
Komut:
Örnek:
Bu komut, “ReklamNick” ile başlayan tüm nickleri engeller.
2. Ident Spam Kontrolü
Örn: /spamfilter add u gzline +0 YaSaK ^(.+!Yasaklanacakident@.+:.+)$
Not: Yukarıdaki Spamfilter Komutunu Kullandığınızda, “Yasaklanacakident” Bölümüne Yazdığınız ident ile Sunucunuza Girmek isteyen kullanıcıların girişini yasaklamış olursunuz..
Ident, kullanıcıların IRC sunucularında kimliklerini tanımlamak için kullandıkları bir parametredir. Belirli ident desenlerini engelleyebilirsiniz.
Komut:
Örnek:
/mode #Sohbet +b *spammer@*
Bu komut, ident kısmında “spammer” olan tüm kullanıcıları engeller.
3. Tek Harf Spam Kontrolü
/spamfilter add cNp block – Tek_Harf_Kullanmak_Yasaktir ^[a-zA-Z]{1}$
Tek harf veya kısa mesajlarla spam yapan kullanıcıları engellemek için bu yöntemi kullanabilirsiniz.
Komut:
Açıklama: Bu komut, kanalda sadece +v (voice) veya +o (operator) olan kullanıcıların mesaj göndermesine izin verir. Bu sayede kısa mesajlar ve tek harf spamler engellenebilir.
4. Metin (Text) Spam Kontrolü
Kullanıcıların belirli bir süre içinde gönderebileceği mesaj sayısını sınırlayabilirsiniz.
Komut:
/mode #kanal +f [mesaj sayısı]:[saniye]
Örnek:
Bu komut, 10 saniye içinde 5’ten fazla mesaj atan kullanıcıları kanaldan uzaklaştırır.
5. Mass Join/Part Spam Kontrolü
Birden fazla kullanıcının hızlı bir şekilde bir kanala girip çıkmasını (join/part) engellemek için kullanılır.
Komut:
/mode #kanal +j [join sayısı]:[saniye]
Örnek:
Bu komut, 60 saniye içinde 4’ten fazla kez kanala girip çıkan kullanıcıyı engeller.
6. URL ve Reklam Spam Kontrolü
Belirli kelimeler veya URL’leri içeren mesajları otomatik olarak engelleyebilirsiniz.
Komut:
/addbadword #kanal kelime/url
Örnek:
/addbadword #Sohbet www.spamsite.com
Bu komut, “www.spamsite.com” URL’sini içeren tüm mesajları otomatik olarak engeller.
7. Kanal Genel Spam Koruması
Kanala gelen mesajların kontrolünü genel olarak artırmak için çeşitli modlar uygulayabilirsiniz:
- +r: Sadece kayıtlı kullanıcıların kanalda konuşmasına izin verir.
- +q: Sadece kanal operatörlerinin mesaj göndermesine izin verir.
- +z: Sadece SSL kullanan kullanıcıların kanala girmesine izin verir (güvenli bağlantı için).
Örnek:
Bu komut, sadece kayıtlı (authenticated) kullanıcıların mesaj göndermesine izin verir.
8. Kanal Operatörleri İçin Özel Komutlar
Kanal operatörleri, spamle mücadele ederken aşağıdaki komutları kullanabilir:
- /kick [nick] [sebep]: Belirli bir kullanıcıyı kanaldan atar.
- /ban [nick]: Belirli bir kullanıcıyı kanaldan banlar.
- /quiet [nick]: Belirli bir kullanıcıyı susturur (kanalda mesaj gönderemez).
- /unban [nick]: Banlanan bir kullanıcıyı yeniden kanala kabul eder.
9. Anti-Spam Bot Kullanımı
Birçok IRC kanalında spam engellemek için botlar kullanılır. Bu botlar, yukarıdaki komutları otomatik olarak uygulayabilir, belirli kullanıcıları izleyebilir ve spam yaptıklarında otomatik işlem yapabilirler.
Önerilen Botlar:
- Eggdrop: Oldukça esnek ve özelleştirilebilir bir IRC botu.
- mIRC Scripting: Kendi anti-spam botunuzu yazmak için mIRC scriptleri kullanabilirsiniz.
10. Spam Kontrolünü Etkin Kılma ve Kaldırma
Eğer bir spam kontrol modunu etkinleştirmek veya kaldırmak istiyorsanız:
- Aktifleştirme:
/mode #kanal +mod
- Kaldırma:
/mode #kanal -mod
Örnek:
Bu komut, mesaj sayısı kısıtlamasını kaldırır.
11. Gelişmiş Spam Algoritmaları
Bazı IRC sunucuları, belirli spam algoritmalarını destekler. Örneğin, “Mass Highlight Protection” gibi bir özellik, bir kullanıcının çok fazla kullanıcıyı aynı anda @mention yapmasını engeller.
12. Spam Engelleme Komutlarıyla İlgili Yardım
Herhangi bir spam kontrol komutuyla ilgili yardım almak için:
Örnek:
Bu komut, mesaj sayısı kısıtlaması (+f) hakkında daha fazla bilgi verir.
Spam ile Kelime Yasaklama
Örn:
/spamfilter add p block – yasakli_kelime *kelime*
Sadece bir kelimeyi yasaklamak icin kelimeyi ^kelime$ seklinde yasaklamamiz gerekmektedir
MeseLa Eggdrop botlara kendinimiz tanitmak icin deneme kelimesini kullaniriz bu kelimeyi eğer
/spamfilter add p block – yasakli_kelime deneme seklinde yasaklarsak ozelde yazilan ve
icinde deneme gecen her kelimeyi yasaklar bu durum kullanıcıların sohbettini engeleyebilir
/spamfilter add p block – yasakli_kelime ^deneme$ daha saglikli bir yasaklama sekli olur.
Ancak Bunların Dışında MeseLa, “Lan” Kelimesini Yasaklamak iStiyorsunuz.Yasaklıyorsunuz, Ancak Bu Sefer iÇerisinde Lan Kelimesi Geçen Başka Kelimelerinde (oLan, Yapılan, Sanılan, Duyulan,Faydalanmak vS. Gibi) Kullanımını Yasaklıyor oLabilirsiniz.Bunun Önüne Geçmek için iSe,
\slan ==> “naber lan” yakalar ancak “olan, yapılan, sallanmak, sulanmak, kullanmak” gibi kelimeleri yakalamaz.
^lan ==> cümle “lan” ile başlarsa yakalar, gerisini yakalamaz. “Lan Sus” Yakalar.. “Kes Lan” Yakalamaz..
mIRC Spam Koruma Remotesi
on *:TEXT:*:#: {
; Mesajın uzunluğunu kontrol eder
if ($len($1-) > 200) {
kick $chan $nick Çok uzun mesajlar spam olarak algılanır.
halt
}
; Aynı mesajın tekrar tekrar gönderilmesini engeller
if ($($+(%,flood,$nick),2) == $1-) {
inc -u5 %flood.count.$nick
if (%flood.count.$nick >= 3) {
kick $chan $nick Spam yapmaktan dolayı uzaklaştırıldınız.
unset %flood.*
}
}
else {
set -u5 %flood.$nick $1-
set -u5 %flood.count.$nick 1
}
; Hızlı mesaj göndermeyi engeller
if ($($+(%,msgflood,$nick),2) >= 5) {
kick $chan $nick Çok hızlı mesaj gönderdiğiniz için uzaklaştırıldınız.
unset %msgflood.*
halt
}
else {
inc -u3 %msgflood.$nick
}
; Çok sayıda büyük harf içeren mesajları engeller
if ($len($removecs($1-, A-Z)) <= $calc($len($1-) / 2)) {
kick $chan $nick Mesajınız çok fazla büyük harf içeriyor, bu spam olarak algılanır.
halt
}
; Belirli kelimeleri engeller (örneğin reklam içerikli kelimeler)
var %badwords = www, http, spamkelime
if ($istok(%badwords, $1-, 44)) {
kick $chan $nick Reklam veya istenmeyen içerik tespit edildi.
halt
}
}
Scriptin Açıklaması:
- Mesaj Uzunluğu Kontrolü:
- Eğer bir mesaj 200 karakterden uzunsa, bu mesaj spam olarak değerlendirilir ve kullanıcı kanaldan atılır.
- Tekrar Eden Mesajları Engelleme:
- Kullanıcı aynı mesajı 5 saniye içinde 3 kez gönderirse, bu spam olarak kabul edilir ve kullanıcı kanaldan atılır.
- Hızlı Mesaj Gönderimini Engelleme:
- Bir kullanıcı 3 saniye içinde 5 veya daha fazla mesaj gönderirse, bu spam olarak kabul edilir ve kullanıcı kanaldan atılır.
- Büyük Harf Kullanımını Engelleme:
- Eğer bir mesajın %50’sinden fazlası büyük harf içeriyorsa, bu spam olarak değerlendirilir ve kullanıcı kanaldan atılır.
- Reklam İçerikli Kelimeleri Engelleme:
- Eğer bir mesaj “www”, “http” veya belirli bir spam kelimesi içeriyorsa, bu mesaj spam olarak kabul edilir ve kullanıcı kanaldan atılır.
BİR BAŞKA MİRC SPAM EKLENTİSİ
menu * {
Spamfilter Uygulaması:dialog -m spam spam
}
on ^$*:hotlink:/(“?”)/:@Spamfilter:return
on *:hotlink:*:@Spamfilter: {
spamfilter del $noqt($gettok($hotLine,3,32)) $noqt($gettok($hotLine,6,32)) $noqt($gettok($hotLine,9,32)) $noqt($gettok($hotLine,12,32)) $noqt($gettok($hotLine,15,32))
}
dialog spam {
title “SpamFilter Ayarları/Yasaklamaları | Coder By uFuK irc.unutma.net”
size -1 -1 223 165
option dbu
radio “Z-Line”, 4, 33 67 39 10
radio “G-Zline”, 5, 33 79 42 10
radio “Block”, 6, 33 90 41 10
radio “Shun”, 1, 94 80 42 10
radio “DCC Block”, 2, 94 91 44 10
radio “G-Line”, 3, 94 68 44 10
radio “Temp Shun”, 7, 161 80 44 10
radio “KİLL”, 8, 161 91 39 10
radio “K-Line”, 9, 161 68 41 10
box “Ceza Türleri”, 10, 26 58 187 47
text “Asama 2”, 11, 1 76 24 8
check “Kanala Gön. Mesajlar”, 12, 31 10 68 10
check “Özele Gön. Mesajlar”, 13, 31 23 63 10
check “Topic Mesajı”, 14, 31 36 43 10
check “Kisiye Gön. Noticeler”, 15, 100 23 63 10
check “DCC Mesajı”, 16, 169 36 41 10
check “Kanala Gön. Noticeler”, 17, 100 10 62 10
check “Part Mesajı”, 18, 169 23 41 10
check “Away Mesajı”, 19, 100 36 43 10
check “Quit Mesajı”, 20, 169 10 41 10
text “Asama 1”, 21, 1 24 23 8
box “Ceza Seçenekleri”, 22, 26 1 188 53
edit “”, 23, 47 132 10 10, autohs
text “Gün”, 24, 34 132 12 8
edit “”, 25, 78 131 54 10, autohs
box “Ceza Süresi”, 26, 32 120 37 25
box “Ceza Nedeni”, 27, 73 120 64 25
edit “”, 28, 152 131 50 10, autohs
box “Cezai Kelime”, 29, 144 120 64 25
box “Ceza Süre/Neden ve Cezai Kelime”, 30, 26 110 187 54
text “Asama 3”, 31, 1 128 24 8
button “Ekle”, 32, 31 150 35 10
button “Sil”, 33, 72 150 35 10
button “Listele”, 34, 113 150 35 10
button “Tüm Spamlari Sil”, 35, 155 150 49 10
}
on *:dialog:spam:*:*: {
if $devent == sclick {
if $did == 35 { set %tspamsil on | spamfilter }
if $did(4).state == 1 { set %yaptirim zline }
if $did(3).state == 1 { set %yaptirim gline }
if $did(9).state == 1 { set %yaptirim kline }
if $did(5).state == 1 { set %yaptirim gzline }
if $did(1).state == 1 { set %yaptirim shun }
if $did(7).state == 1 { set %yaptirim tempshun }
if $did(6).state == 1 { set %yaptirim block }
if $did(2).state == 1 { set %yaptirim dccblock }
if $did(8).state == 1 { set %yaptirim kill }
if $did(12).state == 1 { set %yaptirim1 c }
else { unset %yaptirim1 }
if $did(17).state == 1 { set %yaptirim2 N }
else { unset %yaptirim2 }
if $did(20).state == 1 { set %yaptirim3 q }
else { unset %yaptirim3 }
if $did(13).state == 1 { set %yaptirim4 p }
else { unset %yaptirim4 }
if $did(15).state == 1 { set %yaptirim5 n }
else { unset %yaptirim5 }
if $did(18).state == 1 { set %yaptirim6 p }
else { unset %yaptirim6 }
if $did(14).state == 1 { set %yaptirim7 t }
else { unset %yaptirim7 }
if $did(19).state == 1 { set %yaptirim8 a }
else { unset %yaptirim8 }
if $did(16).state == 1 { set %yaptirim9 d }
else { unset %yaptirim9 }
if $did(23) != $null { set %ssure $did(23) }
if $did(25) != $null { set %ssebep $did(25) }
if $did(28) != $null { set %skelime $did(28) }
if $did == 34 { /spamfilter }
if $did == 33 { /spamfilter del $$?”Parametreyi Yazınız. Yani Neleri Yasakladıgınızı Özel Msg Kanal Msg Quit,Topic Vb.” $$?”Ceza Türünü Yazınız Zline,Gline Vb.” – – $$?”Cezai Kelimeyi(Sileceğiniz Kelimeyi) Yazınız” }
if $did == 32 { spamfilter add %yaptirim1 $+ %yaptirim2 $+ %yaptirim3 $+ %yaptirim4 $+ %yaptirim5 $+ %yaptirim6 $+ %yaptirim7 $+ %yaptirim8 $+ %yaptirim9 %yaptirim $did(23) $+ d $did(25) $did(28) }
if $did == 35 { set %tspamsil on | spamfilter }
}
if $devent == init {
if %yaptirim == zline { did -c $dname 4 }
if %yaptirim == gline { did -c $dname 3 }
if %yaptirim == kline { did -c $dname 9 }
if %yaptirim == gzline { did -c $dname 5 }
if %yaptirim == shun { did -c $dname 1 }
if %yaptirim == tempshun { did -c $dname 7 }
if %yaptirim == block { did -c $dname 6 }
if %yaptirim == dccblock { did -c $dname 2 }
if %yaptirim == kill { did -c $dname 8 }
did -a $dname 23 %ssure
did -a $dname 25 %ssebep
did -a $dname 28 %skelime
}
if $devent == close {
unset %yaptirim*
}
}
raw 229:*: {
if %tspamsil == on {
/spamfilter del $3 $4 $7 $8 $10-
.timerufuk2 1 2 unset %tspamsil
.timerufuk 1 2 echo -as 4Tüm Spamlar Silindi. Eğer Silinmeyen Varsa Unrealircd.Conf’tan Kaldırmalısınız.
}
$iif(!$window(@SpamFiLter),window -nC @SpamFiLter) {
echo -e @SpamFilter 12Atılan Parametreler: 4 $qt($3) 12Ceza Türü: 4 $qt($4) 12Atılma Süresi: 4 $qt($6) 12Atılma Sebebi: 4 $qt($8) 12Atılan Kelime: 4 $qt($remove($10,:)) 12Atan Nick: 4 $qt($gettok($9,1,33)) $qt( 10SPAMI SİL)
haltdef
}
}
on ^*:snotice:*: {
if $2 == removed && $3 == spamfilter {
$iif(!$window(@biLgi),window -nC @biLgi) {
echo -et @biLgi 7»º» 10[Spamfilter] 1Hareket: 12[KALDIRMA] 1Kaldıran Nick: 4 $gettok($1,1,33) 1Kaldırılan Kelime: 4 $remove($4,’) | halt
}
}
if $2 == Spamfilter && $3 == added: {
$iif(!$window(@biLgi),window -nC @biLgi) {
echo -et @biLgi 7»º» 10[Spamfilter] 1Hareket: 12[Aktif Etme] 1Atan Nick: 4 $gettok($19,1,33) 1Atılan Parametreler: 4 $remove($6,]) 1 1Atılma Sebebi: 4 $remove($10,]) 1Atılan Kelime: 4 $remove($4,’) | halt
}
}
if $1 == [Spamfilter] && $3 == matches && $4 == filter {
$iif(!$window(@biLgi),window -nC @biLgi) {
echo -et @biLgi 7»º» 10[SPAMFİLTER TAKILMA] 12Takılan Nick: 4 $gettok($2,1,33) 12Takılan İp: 4 $gettok($2,2,64) 3Spamdaki Ekli Kelime: 4 $remove($5,:,’) 7Userin Yazdığı Kelime: 4 $remove($8-,’,]) | halt
}
}
IRC’de spam kontrolü, kanalınızı güvenli ve temiz tutmak için kritik öneme sahiptir. Yukarıdaki komutları kullanarak, hem manuel olarak hem de otomatik sistemler aracılığıyla spamle etkin bir şekilde mücadele edebilirsiniz. Bu komutlar, kanalda huzurlu ve düzenli bir sohbet ortamı sağlamanıza yardımcı olacaktır.
Kategoriler
Türkiye nin en iyi sohbet ve chat odalarında sizde yerinizi alın. Kesintisiz sohbet edin.
Son Yazılar