EpicNet.Ru - Форум IRC Чата

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » EpicNet.Ru - Форум IRC Чата » MIRC SCRIPTS - Сборник mIRC скриптов » "Abuse IP" - Инфо об IP со статистикой злоупотреблений


"Abuse IP" - Инфо об IP со статистикой злоупотреблений

Сообщений 1 страница 2 из 2

1

Название: Abuse IP
Версия: 1.0
Автор: Epic
Программа: mIRC
Скрипт: AbuseIP.mrc
Описание: Этот скрипт помогает извлекать с веб-сайта информацию об IP адресе (вместе со статистикой злоупотреблений и негативными отзывами) для отображения на канале.

Требования: Необходимо зарегистрировать новую учётную запись с вашим аккаунтом на сайте "https://www.abuseipdb.com", чтобы получить возможность создать свой индивидуальный API ключ, для поддержания ежедневной работы скрипта, с независимым суточным лимитом. Бесплатный лимит составляет "1000" проверок IP в сутки. Важно: - Вы должны держать свой API ключ в секрете и никогда никому его не показывать, т.к. он будет привязан к вашему аккаунту со всей статистикой и лимитом на использование.

Настройка: Вы можете изменить настройки параметров скрипта через алиас "abuseip_set" на необходимые вам значения:

  • %aip_link - содержит прямую ссылку на сайт, с помощью которой будет извлекаться информация об IP адресе.

  • %aip_apikey - содержит уникальный API ключ. Для максимальной работоспособности и безопасности вы должны использовать свой ключ, созданный в вашем аккаунте.

  • %aip_param - содержит дополнительные параметры через пробел для проверки IP адресов. Подробнее: https://docs.abuseipdb.com/#check-endpoint.

  • %aip_path - содержит путь к папке со скриптом, куда будут сохраняться временные текстовые файлы с полученной информацией.

  • %aip_comm - содержит список команд через запятую, которые можно использовать для проверки IP адреса.

  • %aip_color* - содержит цвета для раскраски сообщения, отправляемого на канал.

  • %aip_operprefix - содержит префиксы операторов канала, которым разрешено использовать команду скрипта.

  • %aip_timelimit - содержит время (в секундах) для установки ограничения на пользователя для использования команды. Для снятия ограничения установите: <0>.

  • %aip_echodata - позволяет включить в боте эхо-сообщение с необработанной строкой данных, получаемой с сайта информации (для разбора). Возможные значения: <yes|no>.

  • %aip_showdata - содержит параметры через запятую, говорящие о том, в каком порядке и какие данные с информацией об IP следует отображать в строке для канала.

Управление: Правильный синтаксис команды: !abuse ‹ip›


Установка:

  • Откройте редактор скриптов вашего клиента при помощи комбинации клавиш "ALT+R" (откроется вкладка "Remote").

  • Выберите в верхнем меню пункт "File/New", чтобы открыть новый файл в редакторе скриптов и разместите в нём этот код.

  • Выберите в верхнем меню пункт "File/Save As..." и сохраните код в папке "scripts/AbuseIP/AbuseIP.mrc" (название из описания).

  • Если уже была установлена предыдущая версия, то замените на новый код. Не оставляйте предыдущие версии воизбежании конфликтов.

Скрипт: 💾 AbuseIP_v1.0.zip

Код:
#####################################################################
#  Название: Abuse IP v1.0
#  Автор: Epic (http://epicnet.ru, irc.epicnet.ru:6667 #Code)
#  Описание: Извлекает с веб-сайта информацию об IP адресе (вместе со статистикой злоупотреблений и негативными отзывами) для отображения на канале.
#  Требование: Необходимо зарегистрировать новую учётную запись с вашим аккаунтом на сайте "https://www.abuseipdb.com", чтобы получить возможность создать свой индивидуальный API ключ, для поддержания ежедневной работы скрипта, с независимым суточным лимитом по ограничению. Бесплатный лимит составляет "1000" просмотров (проверок) IP в сутки.
#####################################################################

alias -l abuseip_set {
  %aip_link = https://api.abuseipdb.com/api/v2/check
  %aip_apikey = Here_Your_API_Key
  %aip_param = maxageindays=90 verbose accept=application/json
  %aip_path = scripts\AbuseIP\
  %aip_comm = !abuse,!ip,!info,!loc,!check
  %aip_color1 = 10 | %aip_color2 = 06 | %aip_color3 = 14 | %aip_color4 = 07 | %aip_color5 = 04
  %aip_operprefix = [+%@&~!]
  %aip_timelimit = 10
  %aip_echodata = no
  %aip_showdata = ipAddress,hostnames,countryCode,countryName,isp,usageType,isPublic,isWhitelisted,abuseConfidenceScore,numDistinctUsers,totalReports,lastReportedAt
}
---------------------------------------------------------------------
on *:TEXT:*:#:{
  abuseip_set | if ($istok(%aip_comm,$strip($1),44)) {
    var %aip_pnick $remove($nick($chan,$nick).pnick,$nick) | if (%aip_pnick !isin %aip_operprefix) { .notice $nick 14Нет доступа. У вас нет необходимого статуса на канале. | halt }
    if ($2) {
      if (%aip_timelimit > 0) {
        if ($hget(timelimit,$nick) != $null) { .notice $nick 14Установлено ограничение на использование команды. Подождите:07 $hget(timelimit,$nick) 14сек. | halt }
        .hadd -mz timelimit $nick %aip_timelimit
      }
      abuseip $2 $nick $chan
    }
    else .notice $nick Правильный синтаксис:12 %aip_comm <ip>
  }
}
alias -l abuseip {
  var %ww_num = $+(abuseip_,$rand(1,100000),_,$ticks)
  var %ww_ip = $strip($1) | var %ww_nick = $2 | var %ww_chan = $3
  var %ww_file = $+(%aip_path,%ww_num,.txt)
  var %ww_domen = $remove($gettok(%aip_link,2,47),$chr(47))
  var %ww_sreq = $+(%aip_link,?ipAddress=,%ww_ip,&key=,%aip_apikey,&,$replace(%aip_param,$chr(32),&))
  if (https: isin %aip_link) { var %ww_flag -e | var %ww_port 443 } | else var %ww_port 80
  ;---------------
  if ($sock(%ww_num)) .sockclose %ww_num | if ($exists(%ww_file)) .remove %ww_file
  .sockopen %ww_flag %ww_num %ww_domen %ww_port
  .sockmark %ww_num %ww_ip %ww_nick %ww_chan %ww_domen %ww_file %ww_sreq
}
on *:SOCKOPEN:abuseip_*:{
  if ($sockerr) { echo -s Domen: $gettok($sock($sockname).mark,4,32) -> Server is not available. | return }
  .sockwrite -nt $sockname GET $gettok($sock($sockname).mark,6,32) HTTP/1.1
  .sockwrite -nt $sockname Host: $gettok($sock($sockname).mark,4,32)
  .sockwrite -nt $sockname User-Agent: */*
  .sockwrite -nt $sockname $str($crlf,2)
  .sockwrite -nt $sockname
}
on *:SOCKREAD:abuseip_*:{
  if ($sockerr > 0) { echo -s Domen: $gettok($sock($sockname).mark,4,32) -> $error | return }
  :1 | .sockread %tempcip | if ($sockbr == 0) return | if (!%tempcip) goto 1
  if (!%wfile) var %wfile $gettok($sock($sockname).mark,5,32)
  if ("data": isin %tempcip) {
    .write -i %wfile $mid(%tempcip,1,2000)
    var %sm1 $gettok($sock($sockname).mark,1,32)
    var %sm2 $gettok($sock($sockname).mark,2,32)
    var %sm3 $gettok($sock($sockname).mark,3,32)
    var %sm4 $gettok($sock($sockname).mark,4,32)
    var %sm5 $gettok($sock($sockname).mark,5,32)
    .sockclose $sock($sockname) | abuseip_mess %sm1 %sm2 %sm3 %sm4 %sm5 | halt
  }
  goto 1
}
alias -l abuseip_mess {
  var %mes_str $replace($remove($read($5,1),{"data":{,}},"),\/,/)
  if (%aip_echodata == yes) .echo -s %mes_str
  var %i 1 | while (%i <= $numtok(%aip_showdata,44)) {
    var %mes_tok $gettok(%aip_showdata,%i,44) | var %mes_find $+(%mes_tok,$chr(58))
    var %mes_val $gettok($matchtok(%mes_str,%mes_find,1,44),2,58)
    if (ipAddress == %mes_tok) %mes_text = %mes_text $+(%aip_color1,IP:,$chr(32),%aip_color4,%mes_val)
    if (hostnames == %mes_tok) %mes_text = %mes_text $+(%aip_color1,Host:,$chr(32),%aip_color2,%mes_val)
    if (domain == %mes_tok) %mes_text = %mes_text $+(%aip_color1,Domain:,$chr(32),%aip_color2,%mes_val)
    if (countryCode == %mes_tok) %mes_text = %mes_text $+(%aip_color1,Zone:,$chr(32),%aip_color2,%mes_val)
    if (countryName == %mes_tok) %mes_text = %mes_text $+(%aip_color1,Country:,$chr(32),%aip_color2,%mes_val)
    if (isp == %mes_tok) %mes_text = %mes_text $+(%aip_color1,ISP:,$chr(32),%aip_color2,%mes_val)
    if (usageType == %mes_tok) %mes_text = %mes_text $+(%aip_color1,Type:,$chr(32),%aip_color2,%mes_val)
    ;----------------
    if (isPublic == %mes_tok) %mes_text = %mes_text $+(%aip_color1,Public:,$chr(32),%aip_color2,%mes_val)
    if (isWhitelisted == %mes_tok) {
      if (%mes_val == false) var %mc %aip_color5 | else var %mc %aip_color2
      %mes_text = %mes_text $+(%aip_color1,WhiteList:,$chr(32),%mc,%mes_val)
    }
    if (abuseConfidenceScore == %mes_tok) {
      if (%mes_val > 0) var %mc %aip_color5 | else var %mc %aip_color2
      %mes_text = %mes_text $+(%aip_color1,Negative:,$chr(32),%mc,%mes_val,$chr(37))
    }
    if (numDistinctUsers == %mes_tok) {
      if (%mes_val > 0) var %mc %aip_color5 | else var %mc %aip_color2
      %mes_text = %mes_text $+(%aip_color1,Users:,$chr(32),%mc,%mes_val)
    }
    if (totalReports == %mes_tok) {
      if (%mes_val > 0) var %mc %aip_color5 | else var %mc %aip_color2
      %mes_text = %mes_text $+(%aip_color1,Reports:,$chr(32),%mc,%mes_val)
    }
    if (lastReportedAt == %mes_tok) %mes_text = %mes_text $+(%aip_color1,Last:,$chr(32),%aip_color2,%mes_val)
    if (%i < $numtok(%aip_showdata,44)) %mes_text = $+(%mes_text,%aip_color3,$chr(44))
    inc %i
  }
  msg $3 %mes_text | unset %mes_text %tempcip | if ($exists($5)) .remove $5
}

P.S. Если у вас возникли вопросы, вы столкнулись с трудностями по установке скрипта, или вы обнаружили ошибки, а может быть у вас появились новые идеи по модификации данного скрипта, то обязательно напишите здесь об этом.

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4897E7;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="http://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]

2

working just great five stars addon , well done Epic friend


Вы здесь » EpicNet.Ru - Форум IRC Чата » MIRC SCRIPTS - Сборник mIRC скриптов » "Abuse IP" - Инфо об IP со статистикой злоупотреблений