IRCForumu.NET - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum muhabbet


ircforumu reklam ircforumu reklamdamlasu bizimkiler sihirlisohbet sohbetelit


Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 02 Nisan 2019, 18:42   #1
Çevrimdışı
Gelme, burası çok derin.

immortaL - ait Kullanıcı Resmi (Avatar)
m_gec (Girişte JOIN-NICK-MSG Komut Engelleme)


Merhaba,
Sunucuya girişlerde JOIN-NICK-MSG komutlarını engeller ve /gec NICK komutunu uygulamadan AUTOJOIN kanallarına giremez. Bunu biz proxy koruma botunda kullanıyorduk, proxy botu tarayıp proxy ise ban atıyor değil ise /gec NICK komutu olarak kullanılıyor sizde aynı taktik de kullanabilirsiniz.

İlk baş Unreal3.*2'da UMODE oluşturalım.

Klasör: -> Unreal3.2*/src/
Dosya: -> (umodes.c)



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
long UMODE_BOT = 0L; /* User is a bot */


ALTINA

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
long UMODE_IGS = 0L;

EKLEYIN,

YINE AYNI DOSYADA BULUN

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'B', UMODE_GLOBAL, NULL, &UMODE_BOT);


ALTINA

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'Y', UMODE_GLOBAL, NULL, &UMODE_IGS);


EKLEYIN,


Klasör: -> Unreal3.2*/include/
Dosya: -> (h.h)


BULUN


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
extern MODVAR long UMODE_BOT; /* 0x400000 User is a bot */


ALTINA

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
extern MODVAR long UMODE_IGS;


EKLEYIN,


Klasör: -> Unreal3.2*/
Dosya: -> (unrealircd.conf)


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
modes-on-join "+nt";


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
modes-on-join "+ntY";


Son olarak alttaki modulu kurunuz;


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#include "config.h" #include "struct.h" #include "common.h" #include "sys.h" #include "numeric.h" #include "msg.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 #define DelOverride(cmd, ovr) if(ovr && CommandExists(cmd)) CmdoverrideDel(ovr); ovr = NULL; #define MSG_IGS "GEC" #define TOK_IGS "G3C" DLLFUNC int m_nojoin(aClient *sptr, aChannel *chptr, char *parv[]); DLLFUNC int m_gec(aClient *cptr, aClient *sptr, int parc, char *parv[]); DLLFUNC char *m_notext(aClient *, aClient *, aClient *, char *, int); DLLFUNC char *m_noptext(aClient *, aClient *, aClient *, char *, int); static int m_nonickchange(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]); Cmdoverride *ovrcmd; ModuleInfo notext; ModuleHeader MOD_HEADER(m_notext) = { "m_igs", "Giriste komut engeli", "by Toprak", "3.2-b8-1", NULL }; DLLFUNC int MOD_INIT(m_notext)(ModuleInfo *modinfo) { HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, m_notext); HookAddPCharEx(modinfo->handle, HOOKTYPE_USERMSG, m_noptext); HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_JOIN, m_nojoin); add_Command(MSG_IGS, TOK_IGS, m_gec, 1); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(m_notext)(int module_load) { ovrcmd = CmdoverrideAdd(notext.handle, "NICK", m_nonickchange); return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(m_notext)(int module_unload) { DelOverride("NICK", ovrcmd); return MOD_SUCCESS; } DLLFUNC int m_nojoin(aClient *sptr, aChannel *chptr, char *parv[]) { if (chptr && !IsMember(sptr, chptr)) { if ((sptr->umodes & UMODE_IGS)) { if (!IsServer(sptr) && !IsOper(sptr) && !IsULine(sptr)) { if ((sptr->listener->port != 7005) && (sptr->listener->port != 1985) && (sptr->listener->port != 2018)) { return HOOK_DENY; } } } } return HOOK_CONTINUE; } DLLFUNC int m_gec(aClient *cptr, aClient *sptr, int parc, char *parv[]) { aClient *acptr; if (!IsNetAdmin(sptr)) { sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]); return 0; } if (parc < 2) { sendto_one(sptr, ":%s NOTICE %s :Hatalı komut kullanımı.", me.name, sptr->name); sendto_one(sptr, ":%s NOTICE %s :4Örnek: /GEC NICK", me.name, sptr->name); return 0; } if (!(acptr = find_person(parv[1], NULL))) { sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0], parv[1]); return 0; } if (!MyConnect(acptr)) { sendto_one(sptr, ":%s NOTICE %s :Şuan sunucuda %s nickli kimse yok.", me.name, parv[0], acptr->name); return 0; } if (!(acptr->umodes & UMODE_IGS)) { sendto_one(sptr, ":%s NOTICE %s :%s taramalardan geçiş yapmış.", me.name, parv[0], acptr->name); return 0; } sendto_one(acptr, ":%s MODE %s -Y", acptr->name, acptr->name); acptr->umodes &= ~UMODE_IGS; if (!BadPtr(AUTO_JOIN_CHANS) && strcmp(AUTO_JOIN_CHANS, "0")) { char *chans[3] = { acptr->name, AUTO_JOIN_CHANS, NULL }; do_cmd(acptr, acptr, "JOIN", 3, chans); } return 0; } DLLFUNC char *m_notext(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice) { if ((sptr->umodes & UMODE_IGS)) { if (!IsServer(sptr) && !IsOper(sptr) && !IsULine(acptr)) { if ((sptr->listener->port != 7005) && (sptr->listener->port != 1985) && (sptr->listener->port != 2018)) { sendnotice(sptr, "*** Mesaj göndermeniz şuan için engellendi."); return NULL; } } } return text; } DLLFUNC char *m_noptext(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice) { if ((sptr->umodes & UMODE_IGS)) { if (!IsServer(sptr) && !IsOper(sptr) && !IsULine(acptr)) { if ((sptr->listener->port != 7005) && (sptr->listener->port != 1985) && (sptr->listener->port != 2018)) { sendnotice(sptr, "*** Mesaj göndermeniz şuan için engellendi."); return NULL; } } } return text; } static int m_nonickchange(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]) { if ((sptr->umodes & UMODE_IGS)) { if (MyConnect(sptr) && !IsServer(sptr) && !IsUnknown(sptr) && !IsOper(sptr) && !IsULine(sptr)) { if ((sptr->listener->port != 7005) && (sptr->listener->port != 1985) && (sptr->listener->port != 2018)) { sendnotice(sptr, "*** /NICK komutunu kullanmanız şuan için engellendi."); return 0; } } } return CallCmdoverride(ovr, cptr, sptr, parc, parv); }


Kırmızı yerler MUAF PORT, o portlardan giren kişiler herhangi bir engele takılmazlar.
Unreal3.2.* ana dizininde make ve ./unreal restart komutlarını uygulayınız.

Eğer restart'da sunucu başlamaz hata verir ise UMODE dosyasına tekrar giriş yaparak

BULUN

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'v', UMODE_GLOBAL, umode_allow_opers, &UMODE_VICTIM);



DEGISTIRIN

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//UmodeAdd(NULL, 'v', UMODE_GLOBAL, umode_allow_opers, &UMODE_VICTIM);


Bu kadar..
Merhaba,
Sunucuya girişlerde JOIN-NICK-MSG komutlarını engeller ve /gec NICK komutunu uygulamadan AUTOJOIN kanallarına giremez. Bunu biz proxy koruma botunda kullanıyorduk, proxy botu tarayıp proxy ise ban atıyor değil ise /gec NICK komutu olarak kullanılıyor sizde aynı taktik de kullanabilirsiniz.

İlk baş Unreal3.*2'da UMODE oluşturalım.

Klasör: -> Unreal3.2*/src/
Dosya: -> (umodes.c)



Kod:   Kodu kopyalamak için üzerine çift tıklayın!
long UMODE_BOT = 0L; /* User is a bot */


ALTINA

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
long UMODE_IGS = 0L;

EKLEYIN,

YINE AYNI DOSYADA BULUN

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'B', UMODE_GLOBAL, NULL, &UMODE_BOT);


ALTINA

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'Y', UMODE_GLOBAL, NULL, &UMODE_IGS);


EKLEYIN,


Klasör: -> Unreal3.2*/include/
Dosya: -> (h.h)


BULUN


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
extern MODVAR long UMODE_BOT; /* 0x400000 User is a bot */


ALTINA

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
extern MODVAR long UMODE_IGS;


EKLEYIN,


Klasör: -> Unreal3.2*/
Dosya: -> (unrealircd.conf)


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
modes-on-join "+nt";


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
modes-on-join "+ntY";


Son olarak alttaki modulu kurunuz;


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
#include "config.h" #include "struct.h" #include "common.h" #include "sys.h" #include "numeric.h" #include "msg.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 #define DelOverride(cmd, ovr) if(ovr && CommandExists(cmd)) CmdoverrideDel(ovr); ovr = NULL; #define MSG_IGS "GEC" #define TOK_IGS "G3C" DLLFUNC int m_nojoin(aClient *sptr, aChannel *chptr, char *parv[]); DLLFUNC int m_gec(aClient *cptr, aClient *sptr, int parc, char *parv[]); DLLFUNC char *m_notext(aClient *, aClient *, aClient *, char *, int); DLLFUNC char *m_noptext(aClient *, aClient *, aClient *, char *, int); static int m_nonickchange(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]); Cmdoverride *ovrcmd; ModuleInfo notext; ModuleHeader MOD_HEADER(m_notext) = { "m_igs", "Giriste komut engeli", "by Toprak", "3.2-b8-1", NULL }; DLLFUNC int MOD_INIT(m_notext)(ModuleInfo *modinfo) { HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, m_notext); HookAddPCharEx(modinfo->handle, HOOKTYPE_USERMSG, m_noptext); HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_JOIN, m_nojoin); add_Command(MSG_IGS, TOK_IGS, m_gec, 1); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(m_notext)(int module_load) { ovrcmd = CmdoverrideAdd(notext.handle, "NICK", m_nonickchange); return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(m_notext)(int module_unload) { DelOverride("NICK", ovrcmd); return MOD_SUCCESS; } DLLFUNC int m_nojoin(aClient *sptr, aChannel *chptr, char *parv[]) { if (chptr && !IsMember(sptr, chptr)) { if ((sptr->umodes & UMODE_IGS)) { if (!IsServer(sptr) && !IsOper(sptr) && !IsULine(sptr)) { if ((sptr->listener->port != 7005) && (sptr->listener->port != 1985) && (sptr->listener->port != 2018)) { return HOOK_DENY; } } } } return HOOK_CONTINUE; } DLLFUNC int m_gec(aClient *cptr, aClient *sptr, int parc, char *parv[]) { aClient *acptr; if (!IsNetAdmin(sptr)) { sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]); return 0; } if (parc < 2) { sendto_one(sptr, ":%s NOTICE %s :Hatalı komut kullanımı.", me.name, sptr->name); sendto_one(sptr, ":%s NOTICE %s :4Örnek: /GEC NICK", me.name, sptr->name); return 0; } if (!(acptr = find_person(parv[1], NULL))) { sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, parv[0], parv[1]); return 0; } if (!MyConnect(acptr)) { sendto_one(sptr, ":%s NOTICE %s :Şuan sunucuda %s nickli kimse yok.", me.name, parv[0], acptr->name); return 0; } if (!(acptr->umodes & UMODE_IGS)) { sendto_one(sptr, ":%s NOTICE %s :%s taramalardan geçiş yapmış.", me.name, parv[0], acptr->name); return 0; } sendto_one(acptr, ":%s MODE %s -Y", acptr->name, acptr->name); acptr->umodes &= ~UMODE_IGS; if (!BadPtr(AUTO_JOIN_CHANS) && strcmp(AUTO_JOIN_CHANS, "0")) { char *chans[3] = { acptr->name, AUTO_JOIN_CHANS, NULL }; do_cmd(acptr, acptr, "JOIN", 3, chans); } return 0; } DLLFUNC char *m_notext(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice) { if ((sptr->umodes & UMODE_IGS)) { if (!IsServer(sptr) && !IsOper(sptr) && !IsULine(acptr)) { if ((sptr->listener->port != 7005) && (sptr->listener->port != 1985) && (sptr->listener->port != 2018)) { sendnotice(sptr, "*** Mesaj göndermeniz şuan için engellendi."); return NULL; } } } return text; } DLLFUNC char *m_noptext(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice) { if ((sptr->umodes & UMODE_IGS)) { if (!IsServer(sptr) && !IsOper(sptr) && !IsULine(acptr)) { if ((sptr->listener->port != 7005) && (sptr->listener->port != 1985) && (sptr->listener->port != 2018)) { sendnotice(sptr, "*** Mesaj göndermeniz şuan için engellendi."); return NULL; } } } return text; } static int m_nonickchange(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]) { if ((sptr->umodes & UMODE_IGS)) { if (MyConnect(sptr) && !IsServer(sptr) && !IsUnknown(sptr) && !IsOper(sptr) && !IsULine(sptr)) { if ((sptr->listener->port != 7005) && (sptr->listener->port != 1985) && (sptr->listener->port != 2018)) { sendnotice(sptr, "*** /NICK komutunu kullanmanız şuan için engellendi."); return 0; } } } return CallCmdoverride(ovr, cptr, sptr, parc, parv); }


Kırmızı yerler MUAF PORT, o portlardan giren kişiler herhangi bir engele takılmazlar.
Unreal3.2.* ana dizininde make ve ./unreal restart komutlarını uygulayınız.

Eğer restart'da sunucu başlamaz hata verir ise UMODE dosyasına tekrar giriş yaparak

BULUN

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'v', UMODE_GLOBAL, umode_allow_opers, &UMODE_VICTIM);



DEGISTIRIN

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//UmodeAdd(NULL, 'v', UMODE_GLOBAL, umode_allow_opers, &UMODE_VICTIM);


Bu kadar..
  Alıntı ile Cevapla

IRCForumu.Net - Reklam Alanı

Cevapla

Etiketler
engelleme, girişte, joinnickmsg, komut, mgec, m_gec
IRCForumu.Net - Sponsor Bağlantılar



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 Açık
Pingbacks are Açık
Refbacks are Açık