• Türkiye'nin En Güncel IRC Forumuna Hoş Geldin
    İçerikleri görebilmek ve topluluğumuza katılmak için lütfen oturum açın.

3.x Modül Unrealırcd Port Koruması

Konu sahibi son olarak 10 saat önce görüldü

IFGT

IFGT System
Katılım
2 Mar 2023
Mesajlar
263
Son 450x120.png
Merhaba​

Modül adı: m_portkontrol.c

Amacı: Modül uzantısı -> m_portkontrol.c olup, çalışma sistemi tamamen modül içerisine belirtilen PORT'(lar) doğrultusun da haraket eder, port girişine göre de #Güvenlik kanalına alınır ve o esnada hiçbir komutu uygulayamaz..

NOT: Birden fazla port için, if satırlarının // başından kaldırınız.
Kod:
#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 _WIN32
#include "version.h"
#endif

#define ACIKLAMA  "Port korumasi by Entrance"

/* -> Oper kanalına bilgi. */
#define RAPOR "#Opers"

/* -> Kullanıcıya gönderilecek uyari.*/
#define Kullanici "Kullanmış olduğunuz PORT sunucumuz üzerinde yasaktır, bu nedenle güvenlik kanalına alındınız.."

/* -> Korumaya takilanlarin alinacagi kanal. */
char *knl = "#Güvenlik";
char *ent[3], channels[512];


DLLFUNC int m_portkontrol(aClient *, aChannel *);

ModuleHeader MOD_HEADER(m_portkontrol)
= {
     "m_portkontrol.c",
     ACIKLAMA,
     ACIKLAMA,
     "3.2-b8-1",
     NULL
};

DLLFUNC int MOD_INIT(m_portkontrol)(ModuleInfo *modinfo)
{

   HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_portkontrol);
   return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(m_portkontrol)(int module_load)
{
   return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(m_portkontrol)(int module_unload)
{
   return MOD_SUCCESS;
}


DLLFUNC int m_portkontrol(aClient *sptr, aChannel *E) {


if (MyConnect(sptr) || !IsULine(sptr) || !IsServer(sptr)) {
  if (sptr->listener->port != 1988)
//if (sptr->listener->port != 1986)
//if (sptr->listener->port != 1987)
//if (sptr->listener->port != 1988)
//if (sptr->listener->port != 1989)
return 0;

SetShunned(sptr);
if ((E = find_channel(RAPOR, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, E, ":PORT PRIVMSG %s :Korumasına takılan, NICK: -> \2%s\2 IDENTD: -> \2%s\2 IP: -> \2%s\2", RAPOR, sptr->name, sptr->user->username, sptr->user->realhost);
sendto_one(sptr, ":UYARI PRIVMSG %s :%s", sptr->name, Kullanici);
strlcpy(channels, knl, sizeof(channels));
ent[0] = sptr->name;
ent[1] = channels;
ent[2] = NULL;
return do_cmd(sptr, sptr, "JOIN", 2, ent);
 }
return 0;
}
 
Geri
Üst Alt