Страница 1 из 1

Сумашедшие идеи

СообщениеДобавлено: 16 авг 2010 06:54
Spoofing
оффтоп: идеи не сумашедшие, - назвал так для 'изюминки'; в _Заказ скриптов_ для каждой идеи создавать тему = флудить, поэтому решил все, что придумаю - писать тут. Благо иногда идеи ударяют меня в голову :}


Рано или поздно встанет задача сделать скрипт защиты канала (маты, флуд, спам, выделения, неадекватное поведение) - все должен будет определять бот самостоятельно. Пока еще остаются проблемы с написанием ИИ, можно лишь "плавающе" / "примерно" / "на глаз" писать алгоритм определения всего, что творится на канале.

Как правило многие делают нечто вроде "3 мата = бан"; я предлагаю сделать систему баллов, от 0 до 50 - текстовые предупреждения, от 50 до 100 - кики, а уже свыше 100 баллов следует бан пользователя и сброс баллов на 0. Таким образом мы можем более _точно_ определить каждый момент нарушения, вплоть до того, что конкретно - за слово "хуй" штрафовать на 5 баллов, а за слово "блядь" всего на 2, например.
Так со всеми нарушениями (флуд, спам) - штрафовать на баллы.

И немножко о конкретно нарушениях...
С матами все ясно, осталось придумать где раздобыть клевую базу (и если нужно - исключения) матов, а то самому составлять очень не хочется.
С флудом, ну, нужно лишь определить лимиты, сколько событий за какое время допустимо. Хочется сделать все универсально для любых ситуаций.
Спам - тут уже алгоритмы, которые нужно придумывать и продумывать, чтобы наказывать за "ааааааааааааааааааааааа", "слово.слово.слово.слово.слово.слово" и прочую фигню. Тоже самое относится к "неадекватному поведению", который будет определять бот.
Выделения (контрольные коды) - и так понятно.

Re: Сумашедшие идеи

СообщениеДобавлено: 16 авг 2010 22:50
tvrsh
Вот скрипт для защиты канала и бота от всего на свете: allprotection4.6b9
У кого-то была версия работающая с русскими никами/каналами. Если нужно поищу.

Re: Сумашедшие идеи

СообщениеДобавлено: 21 авг 2010 11:06
tvrsh
Если кто захочет использовать данный скрипт, то замените строку
   if {[set caps [regexp -all {[A-Z]} $arg]] > 0} {
 
на
   if {[set caps [regexp -all {[A-Z]} $arg]] > 0 || [set caps [regexp -all {[А-Я]} $arg]] > 0} {
 

Так он будет проверять на капсы еще и русские слова.
Не тестировалось.

Re: Сумашедшие идеи

СообщениеДобавлено: 08 дек 2010 02:09
Бриллиант
У кого-то была версия работающая с русскими никами/каналами. Если нужно поищу.

Нужно. Или можно эту поправить.

Re: Сумашедшие идеи

СообщениеДобавлено: 08 дек 2010 12:19
tvrsh
Бриллиант писал(а):
У кого-то была версия работающая с русскими никами/каналами. Если нужно поищу.

Нужно. Или можно эту поправить.

viewtopic.php?p=936#p936

Re: Сумашедшие идеи

СообщениеДобавлено: 08 дек 2010 12:45
Бриллиант
это лишь реакция на русский капс, на каналах содержащие русские заглавные буквы скрипт не работает. Бот с патчем.

Re: Сумашедшие идеи

СообщениеДобавлено: 04 янв 2011 15:41
Spoofing
Создание списка приема/отправки файлов. Я просто оставлю это здесь.
Код: Выделить всё
$0 $1: '$2' $3 of $4 [$8] $9 ($5) $6kB/s ETA: $7

    $0 = GET/SEND
    $1 = nick
    $2 = filename
    $3 = transferred amount
    $4 = full filesize
    $5 = percent
    $6 = speed
    $7 = ETA
    $8 = progressbar
    $9 = rotator thingy :)

GET Pooh-Bah: 'eggdrop' 1.75MB of 5.54MB [###>------] \ (31.6%) 162.83kB/s ETA: 00:00:54

Re: Сумашедшие идеи

СообщениеДобавлено: 05 янв 2011 10:42
Spoofing
Хочу написать скрипт, но незнаю как его правильно назвать.

"Вобщем суть такова":
Все слова сказанные в канале проверять на наличие ":" (двоеточия) и в зависимости от того, что стоит перед ним - выполнять действие. <scheme>:<scheme-specific part> - это может быть URI, URL или URN, в зависимости от типа данных выполнять действие. Например для http: сообщать информацию по ссылке.

Еще к этому хочу добавить IPv6 т.к. адреса содержит двоеточия. И еще добавить IPv4, раз уж есть IPv6.
Для последних двух действий не много. Если (Cлово == IPv6), бот автоматически сообщит развернутый и сокращенный формат, - ::1 = 0:0:0:0:0:0:0:1. В случае с IPv4 - уже показать его в Long виде, а также в Hex. Вот какую можно сделать реакцию бота на : и . в слове - проверка, является ли это IP адресом. Сообщение DNS и другие сетевые плюшки, какие можно сделать с IP адресом - по желанию.

Вернемся к схемам. Самым популярным сейчас остается сообщение информации по http: ссылкам, начиная от заголовка страницы, заканчивая любыми изображениями и аудио/видео форматами. Это лишь одна из многих схем, все их не реализовать за раз, но наиболее актуальные все-таки можно. data:, ftp: например. Как назвать такой огромный скрипт? (у меня кончились мысли, обкурился мануалом http://www.php.net/manual/en/wrappers.php)

Re: Сумашедшие идеи

СообщениеДобавлено: 05 янв 2011 21:53
tvrsh
catchurl.tcl например.

Re: Сумашедшие идеи

СообщениеДобавлено: 13 янв 2011 11:32
Spoofing
\x14\x27\x46 <Spoofing> я в последнии дни думаю как решать вопрос бана со всякими [censored]ми через прокси. банить адрес или девойсить вообще не панацея
\x14\x28\x02 <Spoofing> к счастью придумал. в руснете есть проверка nickserv status nick1 nick2 nick3 ... nick16 за раз можно проверить 16 ников. и не зарегистрированные просто банить. а чтобы зарегить ник, нужно не просто команду написать, а еще активировать его по e-mail. поэтому троллям не только ники придумывать, а еще мыла регать придется
\x14\x29\x08 <Spoofing> и собственно имеем фильтрацию по зарегенным никам - его зарегить достаточно хлопотно. + уже только тогда баним, хлопоты вдвойне!
\x14\x29\x33 <Spoofing> что сводит действия всяких [censored]в к нулю :3

Re: Сумашедшие идеи

СообщениеДобавлено: 06 май 2011 13:50
Spoofing
Небольшая идейка небольшого скрипта.

При входе пользователя на канал бот ставит +m, делает /whois пользователя и проверяет к какому он серверу подключен, а также подключен ли через SSL. Если нет - банит/кикает пользователя. И снимает -m на канале.


Это необходимо для исключения возможности снифферить трафик и читать канал, используя какого-либо пользователя на канале. Пускай ты подключен через SSL - твой трафик шифруется, но тем кто к серверу подключен без него - твои сообщения доставляются как есть, открыто.
+m нужен чтобы никто случайно ничего не написал, в промежутке пока пользователь не будет проверен /whois'ом.
И собственно сервер тоже должен быть одинаковый у всех, кто на канале. Это для того, чтобы исключить возможность снифферить трафик между серверами.

Пускай канал будет открыт для всех, но все должны использовать безопасное, шифрованное соединение одного сервера, чтобы на канале находиться :)

Re: Сумашедшие идеи

СообщениеДобавлено: 07 май 2011 11:44
tvrsh
Идея интересная, и вроде как не сложная. Как освобожусь придумаю что-нибудь.
Кстати, проблема со спойлером была именно в спойлере а не в раскраске кода. Надо будет найти хороший, чтобы и с ракраской и многократными вложениями срабатывал.