m_gec (Girişte JOIN-NICK-MSG Komut Engelleme) - IRCForumu.Net - IRC ve mIRC Tutkunlarının Forum Sitesi


IRCForumu.Net - IRC ve mIRC Tutkunlarının Forum Sitesi reklam alanı

IftagramHIKAYE EKLE
Hikayeleri sadece üyelerimiz görüntüleyebilir.
Paylasimlari görmek için üye girisi yapiniz!


Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 02 Nisan 2019, 18:42   #1
Çevrimdışı
 
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
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..
__________________
Kendi yangınında kavrulup külünden kendi doğan adamın,
Sahte dostluğa eyvallahı, namerde minneti olmaz.

A S L A . G E R İ . B A K M A
  Alıntı ile Cevapla

Cevapla

Etiketler
engelleme, girişte, joinnickmsg, komut, mgec, m_gec

Seçenekler
Stil

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




Görsel Yükle!

Görselleri seç ya da sürükle

Resimler Eklendi!