IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet odaları

>
+
Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 20 Ekim 2006, 00:06   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Join-Part saldirilari icin module




Join part saldirilari icin jointhrottle üzerinden çalışmış olduğum module'dur. Join part yapan botları tespit edip gzline atıyor. /mode #kanal +J 1:10
olarak ayarlamamız gerekiyor. Bu modu sadece ircop ve adminler kullanabiliyor...

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/* * AlwaysGooD ( ALTUĞ KARAALİ) tarafından düzenlenmiştir. */ #include "config.h" #include "struct.h" #include "common.h" #include "sys.h" #include "numeric.h" #include "msg.h" #include "proto.h" #include "channel.h" #include <time.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef _WIN32 #include <io.h> #endif #include <fcntl.h> #include "h.h" #ifdef STRIPBADWORDS #include "badwords.h" #endif #ifdef _WIN32 #include "version.h" #endif #ifndef EXTCMODE #error "This module requires extended channel modes to be enabled." #error "See the EXTCMODE macro in include/config.h for more information." #error "Compilation aborted." f #endif #define FLAG_joinpart 'J' #define ERR_TOOMUCHJOINS 496 #define HasJoinLimit(x) ((x)->mode.extmode & MODE_joinpart) #define ClearMem(x) memset(&(x), 0, sizeof (x)) #define DelCmode(x) if (x) CmodeDel(x); x = NULL #define DelHook(x) if (x) HookDel(x); x = NULL /* Backward compatibility */ #ifndef EX_DENY #define EX_DENY 0 #define EX_ALLOW 1 #define EX_ALWAYS_DENY 0 #endif #ifndef HOOK_CONTINUE #define HOOK_CONTINUE 0 #define HOOK_ALLOW -1 #define HOOK_DENY 1 #endif typedef struct { EXTCM_PAR_HEADER int joins; long seconds; } aModeJTEntry; typedef struct _joinflood JoinFlood; struct _joinflood { JoinFlood *prev, *next; aChannel *chptr; aClient *sptr; int joins; TS last; }; static Cmode *AddCmode(Module *module, CmodeInfo *req, Cmode_t *mode); static int ModeJT_is_ok(aClient *, aChannel *, char *, int, int); static CmodeParam *ModeJT_put_param(CmodeParam *, char *); static char *ModeJT_get_param(CmodeParam *); static char *ModeJT_conv_param(char *); static void ModeJT_free_param(CmodeParam *); static CmodeParam *ModeJT_dup_struct(CmodeParam *); static int ModeJT_sjoin_check(aChannel *, CmodeParam *, CmodeParam *); static int cb_channel_destroy(aChannel *); static int cb_join(aClient *, aChannel *, char *[]); static int cb_quit(aClient *, char *); static void InitConf(); static void FreeConf(); Cmode_t MODE_joinpart = 0L; JoinFlood *JFlist; ModuleHeader MOD_HEADER(joinpart) = { "Join+Part Flood", "v1.0", "Kanal mod +J join flood banned Administrator.", "3.2-b8-1", NULL }; DLLFUNC int MOD_TEST(joinpart)(ModuleInfo *modinfo) { CmodeInfo ModeJT; ClearMem(ModeJT); ModeJT.flag = FLAG_joinpart; ModeJT.paracount = 1; ModeJT.is_ok = ModeJT_is_ok; ModeJT.put_param = ModeJT_put_param; ModeJT.get_param = ModeJT_get_param; ModeJT.conv_param = ModeJT_conv_param; ModeJT.free_param = ModeJT_free_param; ModeJT.sjoin_check = ModeJT_sjoin_check; ModeJT.dup_struct = ModeJT_dup_struct; AddCmode(modinfo->handle, &ModeJT, &MODE_joinpart); return MOD_SUCCESS; } DLLFUNC int MOD_INIT(joinpart)(ModuleInfo *modinfo) { ModuleSetOptions(modinfo->handle, MOD_OPT_PERM); InitConf(); HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_JOIN, cb_join); HookAddEx(modinfo->handle, HOOKTYPE_CHANNEL_DESTROY, cb_channel_destroy); HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_QUIT, cb_quit); HookAddEx(modinfo->handle, HOOKTYPE_REMOTE_QUIT, cb_quit); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(joinpart)(int module_load) { return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(joinpart)(int module_unload) { FreeConf(); return MOD_SUCCESS; } static void InitConf() { JFlist = NULL; } static void FreeConf() { JoinFlood *J; ListStruct *next; for (J = JFlist; J; J = (JoinFlood *) next) { next = (ListStruct *) J->next; DelListItem(J, JFlist); MyFree(J); } } static Cmode *AddCmode(Module *module, CmodeInfo *req, Cmode_t *mode) { Cmode *cmode; *mode = 0; cmode = CmodeAdd(module, *req, mode); if (ModuleGetError(module) != MODERR_NOERROR || !cmode) { config_error("Error adding channel mode +%c when loading module %s: %s", req->flag, MOD_HEADER(joinpart).name, ModuleGetErrorStr(module)); return NULL; } return cmode; } static int cb_channel_destroy(aChannel *chptr) { JoinFlood *J; ListStruct *next; for (J = JFlist; J; J = (JoinFlood *) next) { next = (ListStruct *) J->next; if (J->chptr == chptr) { DelListItem(J, JFlist); MyFree(J); } } return 0; } static int cb_quit(aClient *sptr, char *comment) { JoinFlood *J; ListStruct *next; for (J = JFlist; J; J = (JoinFlood *) next) { next = (ListStruct *) J->next; if (J->sptr == sptr) { DelListItem(J, JFlist); MyFree(J); } } return 0; } static int cb_join(aClient *sptr, aChannel *chptr, char *parv[]) { JoinFlood *J; aModeJTEntry *p; TS now = TStime(); if (!HasJoinLimit(chptr)) return HOOK_CONTINUE; for (J = JFlist; J; J = J->next) if ((J->chptr == chptr && J->sptr == sptr)) break; if (!J) { J = (JoinFlood *) MyMallocEx(sizeof(JoinFlood)); J->sptr = sptr; J->chptr = chptr; J->last = now; J->joins = 1; AddListItem(J, JFlist); } else { p = (aModeJTEntry *) extcmode_get_struct(chptr->mode.extmodeparam, FLAG_joinpart); if (now - J->last >= p->seconds) { J->last = now; J->joins = 1; } else { J->joins++; if (J->joins > p->joins && now - J->last < p->seconds) { #ifndef NO_OPEROVERRIDE if (IsOper(sptr) && OPCanOverride(sptr)) { sendto_snomask(SNO_EYES, "*** OperOverride -- %s (%s@%s) joined %s (overriding +%c).", sptr->name, sptr->user->username, sptr->user->realhost, chptr->chname, FLAG_joinpart); return HOOK_CONTINUE; } #endif place_host_ban(sptr, BAN_ACT_GZLINE, "Join+Part Saldirisi yaptığınız tespit edilmiştir. [MTS]", 864000); sendto_one(sptr, ":Join Part yaptiniz" "[Reksnet Protection Systems].", me.name, ERR_TOOMUCHJOINS, parv[0], chptr->chname, J->last + p->seconds - now); return HOOK_DENY; } } } return HOOK_CONTINUE; } static int ModeJT_is_ok(aClient *sptr, aChannel *chptr, char *param, int type, int what) { char *p; int num; long sec; int ok; if (type == EXCHK_ACCESS || type == EXCHK_ACCESS_ERR) { if (!IsPerson(sptr) || IsULine(sptr)) return EX_ALLOW; if (!IsOper(sptr)) { if (type == EXCHK_ACCESS_ERR) sendto_one(sptr, err_str(ERR_CHANOPRIVSNEEDED), me.name, sptr->name, chptr->chname); sendto_one(sptr, "Chanserv notice %s :Bu mod sadece operlar tarafindan kullanilmaktadir.", me.name, sptr->name); return EX_DENY; } return EX_ALLOW; } else if (type == EXCHK_PARAM) { ok = 1; p = strchr(param, ':'); if (!p) { ok = 0; sendnotice(sptr, "Kanal modu +%c giris:saniye seklinde olacaktir.", FLAG_joinpart); } else { *p = '\0'; num = atoi(param); sec = config_checkval(p+1, CFG_TIME); if (num < 1 || sec < 1 || num > 10000 || sec > 86400) { ok = 0; sendnotice(sptr, "Parameter for channel mode +%c is out of range", FLAG_joinpart); } *p = ':'; } return ok; } return 0; } static CmodeParam *ModeJT_put_param(CmodeParam *param, char *text) { aModeJTEntry *m = (aModeJTEntry *) param; char *p; if (!m) { m = (aModeJTEntry *) MyMallocEx(sizeof(aModeJTEntry)); m->flag = FLAG_joinpart; } p = strchr(text, ':'); *p = '\0'; m->joins = atoi(text); m->seconds = config_checkval(p+1, CFG_TIME); *p = ':'; return (CmodeParam *)m; } static char *ModeJT_get_param(CmodeParam *param) { aModeJTEntry *m = (aModeJTEntry *)param; static char text[64]; if (!m) return NULL; ClearMem(text); sprintf(text, "%d:%ld", m->joins, m->seconds); return text; } static char *ModeJT_conv_param(char *in) { int joins; long seconds; static char text[64]; char *p; p = strchr(in, ':'); *p = '\0'; joins = atoi(in); seconds = config_checkval(p+1, CFG_TIME); *p = ':'; ClearMem(text); sprintf(text, "%d:%ld", joins, seconds); return text; } static void ModeJT_free_param(CmodeParam *param) { MyFree(param); } static CmodeParam *ModeJT_dup_struct(CmodeParam *in) { aModeJTEntry *m = MyMalloc(sizeof(aModeJTEntry)); memcpy(m, in, sizeof(aModeJTEntry)); m->prev = m->next = NULL; return (CmodeParam *) m; } static int ModeJT_sjoin_check(aChannel *chptr, CmodeParam *ours, CmodeParam *theirs) { aModeJTEntry *o = (aModeJTEntry *)ours; aModeJTEntry *t = (aModeJTEntry *)theirs; if ((o->joins == t->joins) && (o->seconds == t->seconds)) return EXSJ_SAME; if (o->seconds < t->seconds) return EXSJ_THEYWON; else if (o->joins < t->joins) return EXSJ_THEYWON; else return EXSJ_WEWON; }


 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklamver bizimmekan
Alt 21 Ekim 2006, 01:46   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Yanıt: Join-Part saldirilari icin module




Guzel oLmus eline saglikda cok ban atiyor yanliz

 
Alıntı ile Cevapla

Alt 22 Ekim 2006, 01:26   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Yanıt: Join-Part saldirilari icin module




Sadece saldırın anında atması gerekiyor test edilmişti...

 
Alıntı ile Cevapla

Alt 22 Ekim 2006, 02:03   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Yanıt: Join-Part saldirilari icin module




bilmem beLkide bende problem vardir bende surekli atmalar yapiyordu kaldirdim

 
Alıntı ile Cevapla

Alt 22 Ekim 2006, 02:04   #5
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Yanıt: Join-Part saldirilari icin module




Anladım 1:10 limitini yükseltmeyi deneyebilirsin. Çünkü devamlı /hop yapan userlarda atılmaktadır. Belki ona rast gelmişsin, bilemiyorum.

 
Alıntı ile Cevapla

Alt 18 Şubat 2007, 16:06   #6
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Join-Part saldirilari icin module




Selamun aleykum.
Bu modulün nasıl kuralacağını anlatabilirmisiniz lütfen?
Teşekkürler..
vesselam.

 
Alıntı ile Cevapla

Alt 18 Şubat 2007, 16:39   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Join-Part saldirilari icin module




Module kurulumu şeklinde aratın forumda mevcut.

 
Alıntı ile Cevapla

Alt 18 Şubat 2007, 17:18   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Join-Part saldirilari icin module




2 sefer denedim olmadı. Acaba yanlış bişiymi yapıyorum?

Yaptıklarım ;

önce joinpart olarak adlandırdım modulu.Sonra modulesin içine joinpart.c olarak attım. telnnetten make custommodule MODULEFILE=joinpart yazıp enter yaptım. sonra unrealircd.conf içinde loadmodule "src/modules/joinpart.so"; yaptım ve sunucuya rehash cektiğimde hata iletisi verdi.

[17:17] -Irc.sunucuismi.com- *** Notice -- unrealircd.conf:258: loadmodule src/modules/joinpart.so: failed to load: tmp/9C74A645.joinpart.so: cannot open shared object file: No such file or directory

 
Alıntı ile Cevapla

Alt 19 Şubat 2007, 23:24   #9
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Join-Part saldirilari icin module




Test Amacli Kurdum Modulu Herhangi ßir Sorun Görmedim + Modul Calisiyor sağLamdir. Saygılar.. zaten sağLam oLmassa buraya konuLmaz mantikli düşünecek olursak test edilmeden konulurmu siz kurulumda hata yapıor olmalisiniz..

 
Alıntı ile Cevapla

Alt 20 Şubat 2007, 00:35   #10
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Join-Part saldirilari icin module




delisinsen Nickli Üyeden Alıntı
Test Amacli Kurdum Modulu Herhangi ßir Sorun Görmedim + Modul Calisiyor sağLamdir. Saygılar.. zaten sağLam oLmassa buraya konuLmaz mantikli düşünecek olursak test edilmeden konulurmu siz kurulumda hata yapıor olmalisiniz..


nasıl kurdugunuzu anlatırmısınız lütfen?

 
Alıntı ile Cevapla

Cevapla

Etiketler
icin, joinpart, module, saldirilari


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Badnick Join Module v2 toXic Hazır_kodlar 15 31 Mayıs 2016 16:52
join part OperServ mIRC Scripting Sorunları 9 22 Ekim 2009 01:48
/join /part TİGeR mIRC Scripting Sorunları 3 07 Temmuz 2009 15:15
Join / Part Dæemon mIRC Scripting Sorunları 2 20 Ekim 2008 20:54
Join - Part MoRtaL_ mIRC Scripting Sorunları 6 08 Şubat 2008 17:22