Kahkaha

Bayıldım

Cool

Kızgın

Mahcup

Öğretici

Şaşkın

Suskun

Tatlı

Üzgün

Süper

UnrealIRCd – Oper Açanlara Bilgi mesajlari ve Oper Host

Ana Sayfa » internet » IRC » UnrealIRCd – Oper Açanlara Bilgi mesajlari ve Oper Host
UnrealIRCd – Oper Açanlara Bilgi mesajlari ve Oper Host

UnrealIRCd üzerinde çeşitli kodlar yazılır ve C bilen herkes için çok kolaydir.

UnrealIRCd dosyalarini biraz inceleyip, işlemleri kafaya yatirip birazda c bildikten sonra birçok şeyi gerçekleştirebilirsiniz. Örneğin, Bir kullanici Oper açinda özeline kurallar metni gelsin ve #Kontrol Kanalina alinsin.
Bu Makalemizde bunu örnek alalim.

Kod:

cd Unreal** işareti, Unreal ile baslayan herhangi bir dosyaya girer. Varsayalim ki Unreal3.2 dosyamiz var, cd Unreal* yaptiğimizda Unreal3.2 dizinine girer.

Oper işlemler, m_oper.c üzerinden yapilmaktadir. UnrealIRCd üzerindeki tüm moduller, src/modules/ dizini içerisindedir.

Bizim işlem yapicağimiz dosyaya ulaşmak, girmek için, pico -w src/modules/m_oper.c yazip girebiliriz.

Kod:
pico -w src/modules/m_oper.cile dosyamiza girdik..

Şimdi, kod yazicağiz ama nereye yazicağiz? Kod yazmak öylesine bir complier açip içerisine kod yazmaktan ibaret değildir sadece. Bunu herkes kolay gibi görebilir. Bu Marketten su almaya benzer. Örneğin, Bir insan marketten su almak için evden cıkar suyunu alir gelir. Yani düşüncesi budur. Fakat Codere göre, Kişi evden cıktı. Sonra Hangi yoldan gidecek? Kestirme yol varmi? Nerelerde başina bir iş gelebilir? Neresi daha güvenli? Yolda yürürken birşey olurmu? Tüm bunlari düşünür.

Örneğin suanda; oper açanlarin açiş kodlarini bulmamiz gerekir.
Bu Modulu incelediğiniz zaman, kişinin operi yok diyebilir.

Kod:

if (FAILOPER_WARN)
sendto_one(sptr,
“:%s %s %s :*** Your attempt has been logged.”, me.name,
IsWebTV(sptr) ? “PRIVMSG” : “NOTICE”, sptr->name);UID Hatasi verebilir.

Kod:
(SNO_OPER, “Failed OPER attempt by %s (%s@%s) using UID %s [host doesnt match]”,
parv[0], sptr->user->username, sptr->sockhost, name);maxlogins verebilir.

Kod:
sendto_snomask_global
(SNO_OPER, “Failed OPER attempt by %s (%s@%s) using UID %s [maxlogins reached]”,
parv[0], sptr->user->username, sptr->sockhost, name);vs. vs. yani derin düşünülmüş..

Şimdi bize doğru olan kişinin oper açilişini doğrulayan kodlari bulalim, eğer bulamiyorsakta zekamızı calisitirp, kişi oper açinca oper hostu veriliyor bu yoldan bulmak daha kolay olabilir.

Kod:
if (IsOper(sptr) && !IsHideOper(sptr))
IRCstats.operators++;Buradan işlem yapabiliriz.

Veya, buradanda yapabiliriz.

Kod:
if (announce != NULL)
sendto_snomask_global(SNO_OPER,
“%s (%s@%s) [%s] %s”,
parv[0], sptr->user->username, GetHost(sptr),
parv[1], announce);Önemli olan, doğru yeri bulmak..

biz, 2. sini alalim.

Kod:
/* Coded By toXic */
aChannel *chptr;
#define tox “#Opers”
if ((chptr = find_channel(tox, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, “:Koruma PRIVMSG %s \2%s\2 Rumuzu \2 %s\2 ID ile \2 Oper\2 acti, gerekli bilgiler ozeline yollandi..”,
tox, parv[0], name);
}burada, aChannel = Kanali; #define tox ise kanali alir.
#define tox “#opers” yaptiğinizda, kodda tox geçenm heryeri #opers olarak kabul eder ve döngü ile kullanabilirsiniz.

Kod:
if ((chptr = find_channel(tox, NullChn)) != NullChn) {Burasida yansitilacak kanali bulmaya yarayan kodlarimiz.

Kod:
sendto_channel_butone(&me, &me, chptr, “:Koruma PRIVMSG %s \2%s\2 Rumuzu \2 %s\2 ID ile \2 Oper\2 acti, gerekli bilgiler ozeline yollandi..”,
tox, parv[0], name);burasi ise, #kanal’a bildirim. yani opers’e bildiriyor.

Kodumuz;

Kod:
aChannel *chptr;
#define tox “#Opers”
if ((chptr = find_channel(tox, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, “:Koruma PRIVMSG %s \2%s\2 Rumuzu \2 %s\2 ID ile \2 Oper\2 acti, gerekli bilgiler ozeline yollandi..”,
tox, parv[0], name);
}Şimdi, Oper açan kullaniciya bilgi vericez.

Altindan devam ediyoruz;

Kod:
sendto_one(sptr, “:mIRCTR PRIVMSG %s #####################################################################”, sptr->name);
sendto_one(sptr, “:mIRCTR PRIVMSG %s Merhabalar, %s”, parv[0], parv[0]);
sendto_one(sptr, “:mIRCTR PRIVMSG %s Suanda Aktif yonetici Konumuna Gectiniz..”, sptr->name);

sendto_one(sptr, “:mIRCTR PRIVMSG %s #####################################################################”, sptr->name);
sendto_one(sptr, “:mIRCTR PRIVMSG %s \2”, sptr->name);
ekliyoruz..

/****************************************/

parv[0] = oper açan kullanici. Nick’i herne ise..

Kod:
sendto_one(sptr, “:mIRCTR PRIVMSG %s Suanda Aktif yonetici Konumuna Gectiniz..”, sptr->name);Burada, Kullaniciya veri gönderimini mIRCTR nicki yapar. Ahmet olsa idi ahmet yapardi. Mesela sunucumuz göndericek deseydik;

Kod:
sendto_one(sptr, “:%s PRIVMSG %s Suanda Aktif yonetici Konumuna Gectiniz..”, me.name, sptr->name);Şeklinde olmasi lazimdi. me.name unrealircd.conf taki name’yi temsil eder. Orda sunucu adi ne ise, onu alir yazar.

Şimdi gelelim host yazmaya..

Kod:
char ibohost[]=”root.administrator.ircforumlari.net”;Bu şekil host olusturuyoruz..

Düzenli olmasi içinde;

Kod:
DLLFUNC int m_oper(aClient *cptr, aClient *sptr, int parc, char *parv[]);satiri altina koyuyoruz yani kodlama baslamadan önce baslangicta..

Kod:

if (!stricmp(“toXic”, name))
{
sptr->user->virthost = strdup(ibohost);
}
Bu sekilde host verme işlemini yapiyoruz. Burada name, kullanicinin nickini değil oper açtiği zaman, mesela nicki abc ama oper nicki toXic, /oper toXic sifre yaptiği zaman eğer doğru ise toXic’i muhattap alir.

mesela;

Kod:
sendto_one(sptr, “%s PRIVMSG %s selam %s”, me.name, sptr->name, sptr->name);yaptiğinizda kullanicinin nicki ne ise onu muhattap alir, kullanici abcd nicki ile oper açtiysa, selam abcd der, ama name kullanirsak, oper açtiğimiz nick abcd olsa bile, operi açilan nick toXic oldugu için selam toXic diyecekti.
name burada oper açilan nicki temsil etmesi için kullanilmis, diğer dosyalarda farkli şeyler için kullaniliyor.

Kod:
/*
** m_oper
** parv[0] = sender prefix
** parv[1] = oper name
** parv[2] = oper password
*/Yani kişi toXicin operini açtiği zaman, belirlediğimiz hostu verecektir.

Umarım Gayet açiklayici olmuştur ilk makalemiz, ve çoğu kişinin kafasina bir mentalite oturmustur…

UnrealIRCd – Oper Açanlara Bilgi mesajlari ve Oper Host - Yorumlar

YORUMLARINIZI PAYLAŞIN

 

Yapılan Yorumlar

BENZER İÇERİKLERİlginizi çekebilecek diğer içerikler

irc invex komutu

irc invex komutu 17 Ocak 2011

irc notify kullanımı

irc notify kullanımı 17 Ocak 2011

SOSYAL MEDYADA BİZSitemizin sosyal medya hesapları

RASTGELE İÇERİKLER

Web Sohbet Güncellendi Yassı tavuk Zerrin Özer ASP?nin Unsurları Kelebek şok çeşitleri ve tedavisi Korsan yazılımda zirve Türkiye’nin

FACEBOOK'TA BİZ

Hoşgeldiniz

kelebek.gen.tr – kelebek mirc - Tüm Hakları Saklıdır