IP Takip Sistemi

tarafından
486
IP Takip Sistemi

Addona girdiğiz ipler sunucuya girdiğinde size uyarı verir ve geçici olarak shun atar açılan ekranda istefiğiniz işlemi yapabilirsiniz. Admin ve ircopların işine yarayabilecek bir kod.

on *:start:{ 
  if (!$hget(ips)) { .hmake ips | .hload ips ips.mercy }
  if (!$hget(muafn)) { .hmake muafn | .hload muafn muafn.mercy }
}

alias ips { if !$dialog(ips) { .dialog -ms ips ips } }

alias islem { if !$dialog(işlem) { .dialog -ms işlem işlem } }
dialog işlem {
  title "İşlem Merkezi"
  size -1 -1 109 150
  option dbu
  text " Nick :", 1, 6 6 25 8
  edit "", 2, 40 4 65 13, read
  text " ident :", 3, 6 22 25 8
  edit "", 4, 40 20 65 13, read
  text " iP :", 5, 6 38 25 8
  edit "", 6, 40 36 65 13, read
  text " Şehir :", 7, 4 54 37 8
  edit "", 8, 40 52 65 13, read
  box "", 12, 3 -2 105 69
  text "Şuan Bu Kişiye Shun Atıldı", 15, 3 68 102 8, center
  button "Gline At", 9, 3 79 48 17
  button "Shun Kaldır", 10, 55 79 48 17
  button "Yardım'a Çek", 11, 3 98 48 17
  button "Özel'e Al", 13, 55 98 48 17
  button "Bu kişiyi Muaf Nicklere Ekle", 14, 3 117 100 12
  box "", 16, 1 74 106 58
  button "Kapat", 17, 2 133 104 15, ok
}

on *:dialog:işlem:init:*: {
  ;mdx MarkDialog $dname
  ; mdx SetDialog $dname bgcolor $rgb(237,351,219)
  ; mdx SetColor $dname 1 textbg $rgb(237,241,219)
  ;mdx SetColor $dname 1 background $rgb(287,291,219)
  ;mdx SetFont $dname 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 13 900 Verdana
  ; mdx SetColor $dname 1,2,3,4,5,6,7,8,15 background $rgb(237,241,219)
  ;mdx SetColor $dname 1,2,3,4,5,6,7,8,15 textbg $rgb(237,241,219)
  ;mdx SetColor $dname 15l text $rgb(199,92,2)
}

on *:dialog:işlem:sclick:13: { query $did(2).text }
on *:dialog:işlem:sclick:14: {
  if $hget(muafn,$did(2).text).item { noop $input(Bu Nick Muaf Listede Mevcut,o,Muaf Uyarı) }
  else { 
    if !$hget(muafn) { .hmake muafn 100 | .hadd -m muafn $did(2).text 1 | .hsave muafn muafn.mercy | shun $+(-*@,$did(6).text) | return $input(Nick Muaf Listeye Eklendi ve Shunu Kaldırıldı,o,Muaf Uyarı) } 
    else { .hadd -m muafn $did(2).text 1 | .hsave muafn muafn.mercy | shun $+(-*@,$did(6).text) | return $input(Nick Muaf Listeye Eklendi ve Shunu Kaldırıldı,o,Muaf Uyarı) } 
  }
}

dialog ips {
  title "Sorunlu IP Tespit Merkezi"
  size -1 -1 159 156
  option dbu
  list 1, 6 13 64 74, size
  text " IP'ler", 2, 7 5 63 7
  text " Muaf Nick'ler", 3, 88 5 64 8
  list 4, 88 13 64 74, size
  edit "", 5, 6 91 64 12, multi autohs
  button "IP Ekle", 6, 6 107 64 12, flat
  edit "", 7, 88 91 64 12, multi autohs
  button "Muaf Nick Ekle", 8, 88 107 64 12, flat
  button "« « KAPAT » »", 15, 2 139 154 15, flat
  box "", 16, 2 -1 72 124
  box "", 17, 84 -1 72 124
  box "", 9, 2 122 154 16
  text " Silmek için üstüne Çift tıklayınız", 10, 9 127 125 8
}

on *:dialog:ips:*:*: {
  if $devent == init { 
    mdx MarkDialog $dname
    mdx SetDialog $dname bgcolor $rgb(237,241,219)
    mdx SetFont $dname 1,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18 +b Turkish 13 950 Verdana
    mdx SetColor $dname 1,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18 textbg $rgb(237,241,219)
    mdx SetColor $dname 1,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18 background $rgb(237,241,219)
    mdx SetColor $dname 1,2,3,4,6,8,9,10,11,12,13,14,15,16,17,18 text $rgb(0,0,0)
    mdx SetColor $dname 9,10,12,13,14,15 background $rgb(237,241,219)
    mdx SetColor $dname 9,10,12,13,14,15 textbg $rgb(237,241,219)
    mdx SetFont $dname 2,5,6,7,9,10,11,14 13 950 Verdana
    mdx SetColor $dname 9,10,15 textbg $rgb(237,241,219)
    mdx SetFont $dname 9,10,15 13 950 Verdana
    mdx SetColor $dname 2,3,10l text $rgb(199,92,2)
    var %:ips = 1 | while %:ips <= $hget(ips,0).item { .did -a $dname 1 $hget(ips,%:ips).item | inc %:ips }
    var %:muafn = 1 | while %:muafn <= $hget(muafn,0).item { .did -a $dname 4 $hget(muafn,%:muafn).item | inc %:muafn }
  }
  if $devent == sclick {
    if $did == 6 { if (*.* iswm $did(5)) { if $hget(ips,$did(5)) { return } | if !$hget(ips) { .hmake ips 100 | .write ips.mercy | return } | .hadd -ms ips $did(5) $rand(10,999) | .hsave -o ips ips.mercy | did -a $dname 1 $did(5) | did -r $dname 5 } }
    if $did == 8 { if $did(7) { if #* iswm $did(7)  || *.* iswm $did(7)  { return } | if !$hget(muafn) { .hmake muafn 100 | .write muafn.mercy | return } | if $hget(muafn,$did(7)) { return } | .hadd -ms muafn $did(7) $rand(10,9999) | .hsave muafn muafn.mercy | .did -a $dname 4 $did(7) | did -r $dname 7 } }
    if $did == 10 { if %:nick { .sajoin %:nick #0,0 | unset %:nick | unset %:ipp } }
    if $did == 12 { if %:nick { .shun $+(-*@,%:ipp) | unset %:nick | unset %:ipp } }
    if $did == 11 { if %:ipp {  gline $+(*@,%:ipp) - Sorunlu | unset %:ipp | unset %:nick } }
    if $did == 13 { if %:nick { var %:com = 1 | while %:com <= $comchan(%:nick,0) { ban -k $comchan(%:nick,%:com) %:nick Sorunlu | inc %:com } unset %:nick | unset %:ipp } }
    if $did == 15 { unset %:nick | unset %:ipp | .dialog -c $dname }
  }
  if $devent == dclick {
    if $did == 1 { .hdel ips $hfind(ips,$did(1).seltext,1,W).item | .hsave -o ips ips.mercy | .hload ips ips.mercy | .did -d $dname 1 $did(1).sel }
    if $did == 4 { .hdel muafn $hfind(muafn,$did(4).seltext,1,W).item | .hsave -o muafn muafn.mercy | .hload muafn muafn.mercy | .did -d $dname 4 $did(4).sel }

  }
}

on *:dialog:işlem:*:*: {
  if $devent == init { renklendirici 20 }
  if $devent == sclick {
    if $did == 9 { gline $+(*@,$did(6).text) Sorunlu | dialog -c $dname }
    if $did == 10 { .shun $+(-*@,$did(6).text) | return $input(Shun Kaldırıldı,o,İşlem Merkezi) }
    if $did == 11 { sajoin $did(2).text #Yardim }
  }
}


on *:snotice:*Client connecting on port*:{ 
  if $hget(muafn,$9) { return } 
  .enable #ips | .who +I $9
  var %:ip = 1 | while %:ip <= $hget(ips,0).item { if $+($hget(ips,%:ip).item,*) iswm $token($token($10,2,64),1,41) { .islem | set %:nick $9 | set %:ipp $token($token($10,2,64),1,41) | .shun %:nick - Sorunlu | .splay $mircdirsounds\uyar.wav | break } | inc %:ip } 
}

#ips off
raw 352:*:{ haltdef
  var %:ip = 1 | while %:ip <= $hget(ips,0).item { 
    if $+($hget(ips,%:ip).item,*) iswm $4 {
      if !$dialog(işlem) { .dialog -ms işlem işlem }
      var %:rand $rand(10,9999999)
      .sockopen $+(bul,%:rand) anonymouse.org 80 | .sockmark $+(bul,%:rand) $4
      .did -a işlem 2 $6 | did -a işlem 4 $3 | did -a işlem 6 $4 | did -a işlem 8 Bekleyin..
      break 
    }
    inc %:ip
  }
  .disable #ips
}
#ips end
alias htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } } 
on *:sockopen:bul*:{ 
  var %:city sockwrite -n $sockname
  %:city GET /cgi-bin/anon-www.cgi/http://whatismyipaddress.com/ip/ $+ $sock($sockname).mark HTTP/1.1
  %:city Accept: text/html, application/xhtml+xml, */*
  %:city Accept-Language: tr-TR
  %:city User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
  %:city Host: anonymouse.org
  %:city DNT: 1
  %:city Connection: Keep-Alive
  %:city $crlf
  if $dialog(işlem) { .did -r işlem 8 | .did -a işlem 8 Siteye Baglanıldı.. }
}
on *:sockread:bul*:{
  if ($sockerr) { .sockclose $sockname | if $dialog(işlem) { .did -r işlem 8 | .did -a işlem 8 Hata.. | return } }
  var %city | sockread %city 
  if (Country: isin %city) { if $token($htmlfree(%city),2,58) != Turkey { if $dialog(işlem) { sockclose $sockname | .did -r işlem 8 | .did -a işlem 8 Yurt Dışı... | return } } }
  if (City: isin %city) { if $dialog(işlem) { .did -r işlem 8 | .did -a işlem 8 $token($htmlfree(%city),2,58) | sockclose $sockname } }
}