myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
История благодарностей участнику Enyby. Спасибо сказали: 239
Дата поста: В теме: За сообщение: Спасибо сказали:
22.2.2013, 12:17 Определение использования прокси
Различные варианты определения прокси
1. Можно выдавать информацию для тех у кого найден прокси. Пусть они связываются с админом. Или добавить информацию, о том, чтобы они могли нормально зайти - доступ к их прокси серверу должен быть закрыт фаерволом от хоста хаба. Если человек поднял прокси - он сможет это сделать. Если прокси не у него или он не знает о том, что у него есть прокси - ему на хабе не место.

2. Руками всех не перебанишь. Можно менять прокси быстрее чем 1 человек способен банить. А так включил и ушел.

3. Если хаб от какой-то локалки, то можно создать доверенные диапазоны сетей, где точно никогда не будет прокси.
мамин_парень
19.1.2013, 12:40 Определение использования прокси
Различные варианты определения прокси
Собственно сабж. Это как идея. Заниматься я этим не буду, но может кто-то сделает для себя.

Итак варианты:
  1. Проверка тэга на режим с прокси.
    Собственно, даже не вариант как таковой, поскольку тэг подменяется на раз-два.
  2. Проверка IP адреса на страны.
    Тоже не всегда помогает. То ли контингент интернациональный на хабе, то ли прокси находятся, которые попадают в разрешенные страны.
  3. Проверка IP адреса по базе прокси.
    Тоже не очень хорошо. Либо надо самому держать и обновлять эту базу, либо пользоваться сторонним сервисом. На стороннем сервисе надо еще не часто запрашивать, чтобы не забанили. Ну и есть прокси, которых нет ни в каких базах.
  4. Проверка самого IP адреса.
    Это самый интересный и сложный вариант. Надо просканировать порты хоста и если на каком-то порте висит прокси, то результат ясен. Теоретически можно вызывать nmap, а результат ложить в базу mysql на будущее. Лучше всего такие вещи делать отложенно. Например при авторегистрации пользователя, ставить IP в очередь, а после успеха проверки валидировать аккаунт.
мамин_парень
13.10.2012, 22:43 Ваши Вопросы И Предложения По Поводу Форума
http://webcache.googleusercontent.com/sear...mp;client=opera

Цитата
Warning: array_keys() [function.array-keys]: The first argument should be an array in /var/www/www/mydc.ru/cache/skin_cache/cacheid_9/skin_profile.php on line 1209

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /var/www/www/mydc.ru/cache/skin_cache/cacheid_9/skin_profile.php on line 1209
Nickolya
20.5.2012, 7:08 Greylink API userinfo
гг.
Код
dcpp = {}
function dcpp.OnPublicMessage(uid, data)
  local user = DC():GetUserInfo(uid)
  DC():SendPublicMessage(user.HL, "test")
  dcpp = {}
end


или
Код
dcpp = {}
flag = true
function dcpp.OnPublicMessage(uid, data)
  if flag then
    local user = DC():GetUserInfo(uid)
    DC():SendPublicMessage(user.HL, "test")
    flag = false
  end
end
Lamo
17.5.2012, 10:12 Url Info
Код
function get_title(url)
    local data, http_status = http.request(url)
    if http_status and http_status == 200 then
        return data:match("<title>(.-)</title>"):gsub("&", "&".."#38;"):gsub("%$", "&".."#36;"):gsub("|", "&".."#124;")
    end
end


PS:
Чертов форум пожирает эйскейпированный вариант. Пришлось разбить строку конкатенацией.
Saymon21
17.5.2012, 9:46 Greylink API userinfo
гг.
1. http://inethub.olvi.net.ua/greylink/lua.html
2.
Код
local hub_name = dc_huburl -- "127.0.0.1"
local users = DC():GetUsers(hub_name)
local user = DC():GetUserInfo(users[math.random(1,#users)])
DC():SendPublicMessage(hub_name, '---------------------------')
for k,i in pairs(user) do
    DC():SendPublicMessage(hub_name, k..' = '..i)
end
DC():SendPublicMessage(hub_name, '---------------------------')


3.
ME - флаг того, что этот юзер - ты.
NI - ник юзера.
DE - описание
VE - версия клиента
TAG - тэг клиента
SSshort - краткое название шары
SS - шара в байтах
LOC - строка месторасположения
I4 - IPv4 адрес
HL - адрес хаба
OP - флаг оператора
EM - e-mail
SL - слоты

4. Вот еще описание этих значений:
http://mydc.ru/index.html?showtopic=1983&a...ost&p=15998


UPD:
Долго писал. Setuper обскакал. big_smile.gif
Saymon21, Lamo
23.4.2012, 20:48 IP2Country
База адресов
Исправил.
Alexey
19.4.2012, 0:14 IP2Country
База адресов
new-ip-to-country.zip

Недостающие поля забил пустыми.
Alexey
5.3.2012, 12:38 Defend PM
API 2 | Полностью автоматическая защита ЛС от спама
Чтобы сделать блокировку сообщений достаточно:
Код
                if iCount >= iBanLimit then
                    BanMan.TempBanIP(tUser.sIP, iTimeBan, "Спам по ЛС", sBot, true)
                    local sTimeBan = os.date("%d.%m.%Y %R", os.time() + iTimeBan*60)
                    sReport = sReport.."Пользователь забанен до "..sTimeBan..". "
                    local tUsers = Core.GetUsers(tUser.sIP)
                    if tUsers ~= nil then
                        for _, tSpamUser in pairs(tUsers) do
                            Core.SendToUser(tUser, "<"..sBot.."> *** Вы были забанены до "..sTimeBan.." за спам по ЛС.")
                            Core.Disconnect(tSpamUser)
                        end
                    end
                    tSpamUsers[tUser.sIP] = nil
                    sReport = sReport.."Отключено "..#tUsers.." пользователей."
                end
                if sReport ~= "" then
                    Core.SendToOps("<"..sBot.."> "..sReport)
                end
заменить на:
Код
                if iCount >= iBanLimit then
                    sReport = sReport.."Сообщение заблокировано. "
                end
                if sReport ~= "" then
                    Core.SendToOps("<"..sBot.."> "..sReport)
                end
                if iCount >= iBanLimit then
                    return true
                end


ADD:
Улучшенная детекция IP адреса:
Код
"[0-9]?[0-9]?[0-9].+[0-9]?[0-9]?[0-9].+[0-9]?[0-9]?[0-9].+[0-9]?[0-9]?[0-9]",
заменить на:
Код
"[^%d]%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d[^%d]",
"^%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d[^%d]",
"^%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d$",
"[^%d]%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d$",
вариант чуть по проще:
Код
"%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d[^%d]+%d?%d?%d",
rival, AfLc
5.3.2012, 8:35 Defend Hub
API 2 | Полностью автоматическая защита хаба от активности ботов
Новая версия скрипта. Улучшено определение ботов. Добавлена опция отключения детекции очень старых клиентов как ботов. Скрипт перезалит.
AfLc
4.3.2012, 3:01 Несколько Слов О Захватах И Регулярных Выражениях
исключительно для разработчиков
Слева направо. Но тебе никто не мешает сделать реверс строки (string.reverse), а потом гонять регулярки. К найденным кусками потом снова применить реверс и будет поиск справа налево.
MIKHAIL
4.3.2012, 2:22 Несколько Слов О Захватах И Регулярных Выражениях
исключительно для разработчиков
"[^/]+$"
MIKHAIL
3.3.2012, 15:19 Defend PM
API 2 | Полностью автоматическая защита ЛС от спама
Посмотрим. Если уж совсем заняться нечем будет, может и сделаю.
Tsd
3.3.2012, 13:58 Defend Hub, RusHub edition
Полностью автоматическая защита хаба от активности ботов
Скрипт оптимизирован под RusHub. Перезалит в шапке.
ShadoWx
3.3.2012, 2:54 Defend Hub, RusHub edition
Полностью автоматическая защита хаба от активности ботов
Название скрипта: Defend Hub, RusHub edition
Версия скрипта: 1.02_rushub
Платформа: RusHub
Версия API: N/A
Автор: Enyby

Описание: Скрипт предназначен для полностью автоматической защиты чата хаба от активности ботов. Не пускает от ботов сообщения в чат и личку. При желании функционал запретов можно расширить. Например, запрещать искать ботам, если на вас идет атака флудом поиска. Для этого нужно править код скрипта.

Принципы работы скрипта:
Боты определяются на основе отличия их общения с хабом в рамках протокола. Подробности расписывать не стану, кому надо, все увидят в коде.

Боты определяются не все. Но для большей части этого будет достаточно.

Настройки скрипта содержат опции:
- использование тихого запрета активности ботов;
- запрет детекции очень старых клиентов как ботов.
Об активности ботов никто не уведомляется.

[attachment=6377:DefendHub_RusHub.lua]

P. S. Если у вас нет регистрации на этом форуме, а значит вы не можете качать вложения, то скачать этот скрипт, равно как и другие, можно по ссылке Мои скрипты.
ShadoWx, CrazyKiller, Saymon21, ke(x)one, AfLc
3.3.2012, 2:26 Defend Hub
API 2 | Полностью автоматическая защита хаба от активности ботов
Название скрипта: Defend Hub
Версия скрипта: 1.01
Платформа: PtokaX
Версия API: API2
Автор: Enyby

Описание: Скрипт предназначен для полностью автоматической защиты чата хаба от активности ботов. Не пускает от ботов сообщения в чат и личку. При желании функционал запретов можно расширить. Например, запрещать искать ботам, если на вас идет атака флудом поиска. Для этого нужно править код скрипта.

Принципы работы скрипта:
Боты определяются на основе отличия их общения с хабом в рамках протокола. Подробности расписывать не стану, кому надо, все увидят в коде.

Боты определяются не все. Но для большей части этого будет достаточно.

Настройки скрипта содержат опции:
- использование тихого запрета активности ботов;
- запрет детекции очень старых клиентов как ботов.
Об активности ботов никто не уведомляется.

[attachment=6376:DefendHub.lua]

P. S. Если у вас нет регистрации на этом форуме, а значит вы не можете качать вложения, то скачать этот скрипт, равно как и другие, можно по ссылке Мои скрипты.
Nickolya, Tsd, rival, Egerj1, AfLc
2.3.2012, 0:09 Defend Chat, RusHub edition
Полностью автоматическая защита чата от спама
Название скрипта: Defend Chat, RusHub edition
Версия скрипта: 1.00_rushub_beta
Платформа: RusHub (port)
Версия API: N/A
Автор: Enyby

Описание: Скрипт предназначен для полностью автоматической защиты чата хаба от спама. Глушит сообщения со спамом.

Принципы работы скрипта:
Обычные пользователи отличаются от спамеров тем, что у обычные пользователи, если и кидают ссылку на хаб, IP адрес или что-то подобное, то это будет не первое сообщение после входа на хаб. На этом и основана работа скрипта.

Чисто теоретически, можно сделать таймаут на все или же попавшие под паттерн сообщения. Т. е. если пользователь на хабе меньше 5 минут, то ссылку в чат он не отправит. Но подобные скрипты уже есть.

Каждое сообщение проверяется таблицей паттернов на принадлежность к "плохим". Если сообщение плохое, то оно пройдет только в том случае, если пользователь перед этим отправил не менее 5 "хороших" сообщений в чат. Т. е. при этом скрипте нельзя писать в чат ссылки, если не участвуешь в разговоре. После перезахода нужно снова отправить не менее 5 сообщений без ссылок, чтобы ссылка прошла в чат. Причем, при ошибочных попытках, счетчик "хороших" ссылок обнуляется. Также блокируется отправка одинаковых сообщений в чат, даже от разных пользователей.

Операторы игнорируются, кроме случая отправки повторных сообщений. Также они уведомляются о том, что хотел сказать пользователь.

Особенности: Представляет собой слепой порт с PtokaX версии. Не тестировался.

[attachment=6355:DefendChat_RusHub.lua]

P. S. Если у вас нет регистрации на этом форуме, а значит вы не можете качать вложения, то скачать этот скрипт, равно как и другие, можно по ссылке Мои скрипты.
Setuper, ShadoWx, CrazyKiller, Saymon21, AfLc
1.3.2012, 23:47 Defend Chat
API 2 | Полностью автоматическая защита чата от спама
Название скрипта: Defend Chat
Версия скрипта: 1.00
Платформа: PtokaX
Версия API: API2
Автор: Enyby

Описание: Скрипт предназначен для полностью автоматической защиты чата хаба от спама. Глушит сообщения со спамом.

Принципы работы скрипта:
Обычные пользователи отличаются от спамеров тем, что у обычные пользователи, если и кидают ссылку на хаб, IP адрес или что-то подобное, то это будет не первое сообщение после входа на хаб. На этом и основана работа скрипта.

Чисто теоретически, можно сделать таймаут на все или же попавшие под паттерн сообщения. Т. е. если пользователь на хабе меньше 5 минут, то ссылку в чат он не отправит. Но подобные скрипты уже есть.

Каждое сообщение проверяется таблицей паттернов на принадлежность к "плохим". Если сообщение плохое, то оно пройдет только в том случае, если пользователь перед этим отправил не менее 5 "хороших" сообщений в чат. Т. е. при этом скрипте нельзя писать в чат ссылки, если не участвуешь в разговоре. После перезахода нужно снова отправить не менее 5 сообщений без ссылок, чтобы ссылка прошла в чат. Причем, при ошибочных попытках, счетчик "хороших" ссылок обнуляется. Также блокируется отправка одинаковых сообщений в чат, даже от разных пользователей.

Операторы игнорируются, кроме случая отправки повторных сообщений. Также они уведомляются о том, что хотел сказать пользователь.

[attachment=6354:DefendChat.lua]

P. S. Если у вас нет регистрации на этом форуме, а значит вы не можете качать вложения, то скачать этот скрипт, равно как и другие, можно по ссылке Мои скрипты.
Nickolya, Артём, rival, Saymon21, AfLc, мамин_парень
29.2.2012, 12:11 Defend PM, RusHub edition
Полностью автоматическая защита ЛС от спама
Название скрипта: Defend PM, RusHub edition
Версия скрипта: 1.01_rushub_beta
Платформа: RusHub (port)
Версия API: N/A
Автор: Enyby

Зависимости: Модуль банов.

Описание: Скрипт предназначен для полностью автоматической защиты ЛС пользователей от спама. Выдает бан, при обнаружении спама.

Принципы работы скрипта:
Обычные пользователи отличаются от спамеров тем, что у обычных пользователей, если и пройдет ссылка на хаб, IP адрес или что-то подобное, то это будет разово. На этом и основана работа скрипта.
При получении ЛС оно проверяется на наличие стоп слов. Если стоп слова найдены, то список спамера пополняется очередным ником. Если ников стало больше предела уведомления операторов, то операторы уведомляются. Если больше предела предупреждений - пользователь предупреждается. Если больше либо равно пределу бана - пользователь уходит в бан.
Периодически запускается очистка, которая убирает по одному нику из списка спамера.
Таким образом идет учет количества отспамленных в интервале проверки. Чтобы спамить безнаказанно, нужно писать новым пользователям не чаще 1 раза в интервал. По умолчанию интервал 5 минут.

Особенности: Представляет собой слепой порт с PtokaX версии. Не тестировался.

[attachment=6353:DefendPM_RusHub.lua]

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

ADD:
Исправлена ошибка выдачи бана в формате времени.
Setuper, ShadoWx, KT315, CrazyKiller, Saymon21, AfLc
19.2.2012, 16:28 NMDC Extensions
Расширения и новые команды NMDC протокола
А я знаю, что биты нумеруются справа налево...
Код
00100000
87654321
gif-t
8.2.2012, 0:11 ip-to-country.csv
База стран | Обновляемая
Исправил. Базы перекомпилировал.

И да, Артем, воткни, пожалуйста, ссылку в первый пост темы, а то люди теряются в обилии ссылок и не находят нужную, пока носом не ткнешь.
Артём
4.2.2012, 1:06 Вопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
Код
tTable["nick"] = {nick,ip}
LoT
2.2.2012, 19:28 Instahub
Instant PtokaX-based Hub with scripts (API2)
О да. Нет. Как же. А строчку откуда я вытащил? Из прикрепленного файла выше. 46 строка.
Booth
2.2.2012, 11:55 Public PHP hublist (Хаблист) by Enyby
Публичный открытый хаблист на PHP
Ну, во-первых, я не вижу никаких особых проблем с русхабом: http://inethub.olvi.net.ua/dc/hub.php?id=789 http://hublist.godc.ru/hub.php?id=1
В будущем я собираюсь переделать публичную версию на пингование раз в час с графиками на флеш. Это собираюсь. Но дел очень много, так что не факт что соберусь или что это будет скоро.

Вопрос: вот когда пингую хабы, имя бота Hublist, где его изменить на своё имя?
Ответ: Файл dc.php:
Код
function getInfo() {
    $my = new stdClass();
    $my->nick = "Hublist"; //(mt_rand(0, 100) < 50 ? "H" : "Нў)."ub".(mt_rand(0, 100) < 50 ? "l" : "I").(mt_rand(0, 100) < 50 ? "i" : "Уў)."st"; //substr(md5(mt_rand(0, 100000)), 0, 10);
    $my->desc = "Visit http://inethub.olvi.net.ua for more information.". //substr(md5(mt_rand(0, 100000)), 0, 10).
    '<FlylinkDC++ V:(r396),M:P,H:1/0/0,S:15>';
    $my->email = "Enyby@ya.ru"; //substr(md5(mt_rand(0, 100000)), 0, 10);
    $my->share = mt_rand(100*1024, 120*1024)*mt_rand(1024*1024,2*1024*1024);
    $my->conn = 'LAN(T3)';
    return $my;
}


Вопрос: Где показывает сколько юзеров на хабе, там через палку / стоит 0,1,2,3 и т. д. как это убрать?
Ответ: Это среднее число юзеров на хабе за неделю. Через неделю будет нормальные числа.
Это параметр адекватно отражающий число юзеров хаба, так как текущее значение меняется быстро. Можно убрать в выводе, но на него много чего завязано, включая дефолтную сортировку.
в index.php:
Код
                <td class="numeric"><span<?php echo ($row['max_users'] != '') ?
                    ' tooltip="Пик юзеров: '.htmlspecialchars($row['max_users']).'"' : '';
                    ?>><?php echo intval($row['users']); ?>/<?php echo intval($row['avg_users']);
                ?></span></td>
удалите эту часть:
Код
/<?php echo intval($row['avg_users']);
                ?>


Вопрос: Где поменять шару бота?
Ответ: Там же где и ник. Чуть ниже.

Вопрос: Как изменить сортировку по умолчанию?
Ответ: В файле index.php:
Код
if(isset($_GET['name'])) {
    $order = "name";
}
elseif(isset($_GET['host'])) {
    $order = "host";
}
elseif(isset($_GET['status'])) {
    $order = "status.sort, avg_users DESC";
}
elseif(isset($_GET['users'])) {
    $order = "users DESC";
}
elseif(isset($_GET['avg_users'])) {
    $order = "avg_users DESC";
}
elseif(isset($_GET['share'])) {
    $order = "share DESC";
}
elseif(isset($_GET['avg_share'])) {
    $order = "avg_share DESC";
}
else {
    $order = "status.sort, avg_users DESC";
}
в этом коде последнюю часть меняем на:
Код
else {
    $order = "status.sort, users DESC";
}
это будет сортировка по числу пользователей. Остальные варианты сортировок осуществляются аналогично.
dj hoodo, ke(x)one
31.1.2012, 23:28 Вопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
Hexhub. Вот тебе такой "скрипт". Там встроенный фаервол есть.

Или любой другой фаервол.
MIKHAIL
30.1.2012, 3:17 С Днюхой Тебя!
поздравления
Поздравляю! big_smile.gif
Setuper
28.1.2012, 23:15 Вопросы Разработчикам Скриптов
вопросы по скриптам (мелкие вопросы)
tmr является глобальным значением. Если указать
Код
function OnStartup()
    local tmr = TmrMan.AddTimer(60000)
end
то переменная tmr будет утеряна после выхода из функции и идентификатора таймера у вас не будет. Это не существенно, если таймер один, и важно, если таймеров несколько. В последнем случае можно использовать именованую функцию таймера.
MIKHAIL
28.1.2012, 9:34 Домены Для Вашего Хаба
Как думаете?
Нет. Это просто еще одно имя.
Nickolya, GULAM33
27.1.2012, 19:48 User Mode Fixer
API 2 | Исправление режима подключения пользователя
Новая версия 2.05.
По идее должна быть совместимость с экзекутором. А на деле - черт его знает.
Ameet, AfLc
27.1.2012, 12:04 User Mode Fixer
API 2 | Исправление режима подключения пользователя
Цитата(Ameet @ 27.1.2012, 10:19) *
+TimeoutWaitCTM = 782 (0.20715231788079 в секунду или 1 за 4.8273657289003 секунд)

Это плохой признак. Следует увеличить iTimeout. Поставьте 600 для начала.
Цитата(Ameet @ 27.1.2012, 10:19) *
+ConnectedDuplicateUser = 16 (0.0042384105960265 в секунду или 1 за 235.9375 секунд)

Это вообще очень круто.
В общем это вызов UserConnected для одного ника несколько раз, без UserDisconnected между вызовами.
Попробуйте остальные скрипты отрубить или поставить этот выше всех.
Выше не должно быть скриптов, которые возвращают return true в UserDisconnected, а ниже - скриптов, которые отключают юзера в UserConnected.

ADD:
Версия 2.04.
Улучшен отладочный вывод. Никаких критичных ихменений.

Ameet, ставь новую версию и присылай снова лог ошибки. Там будет чуть больше информации. Так же проверь другие скрипты на предмет совместимости с этим.
AfLc

5 страниц V   1 2 3 > » 
RSS Сейчас: 27.4.2024, 15:44