Новые инициативы провайдеров

Общение админов хабов и их юзеров.
Барсук

Сообщение Барсук »

о да я уже на суку давно *LOL*
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

По поводу борьбы с порнографическими и экстремистскими материалами идею полностью поддерживаю. Это реально нужно.

Самый простой способ профилактики распространения это действительно фильтр по текстовому поиску. Такую штуку внедрял, но привело это к тому, что пронеры стали имена файлов менять на совсем безобидные. Вот сейчас помню года 2 назад переписку с одной мамашей, которая скачала ребёнку фильм с именем "В ГОСТЯХ У СКАЗКИ.avi" там такая "немецкая сказка" оказалась что ололо. Пришлось убирать этот фильтр дабы уж шарили с названиями описывающими содержимое. И я пришел к выводу, что фильтровать надо не только текстовые запросы, но и поиск по TTH, а для этого нужна база с запрещенными хэшами, которой нет в природе нигде(( Т.е. нужен комплексный подход.

Если уж действительно провайдеры в купе с отделом "К" решили всерьез взяться за борьбу с распространением. То как вариант, это создание онлайн-базы где будут храниться нежелательные шаблоны имён файлов, а также хеши запрещенных файлов в md5, TTH, ссылки на запрещенные файлы в разных файловых хостингах, хэши торрент-файлов и т.п. уникальные сигнатуры (с удобоваримым интерфейсом, например простенькие запросы по HTTP) куда скрипты буду отправлять на проверку сообщения из чатов (ссылки), текстовые поисковые запросы и запросы на поиск по TTH.

Если провайдеры объединятся и будет персонал который базу в актуальном состоянии поддерживать начнет, вот тогда дело реально сдвинется с мёртвой точки.

Су довольствием поучаствовал бы в развитии этого проекта. Уже размышлял неоднократно о построении такой системы.

Технически реализовать очень просто:
-Несколько баз данных с системой репликации для балансировки нагрузки (oracle, mysql, pgsql).
-Несколько WEB фронтэндов для обработки запросов (nginx)
-Несколько наипростейших скриптов (python или php)

Формат передачи данных: HTTP запросы.
Формат сообщений: json или yaml ну или xml



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

Кто может предоставить хостинг-площадку? Провайдеры аууу!!???
Последний раз редактировалось Meloun 30 окт 2011, 01:36, всего редактировалось 1 раз.
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

Ты опоздал. У нас уже все есть и все работает.
-Несколько наипростейших скриптов (python или php)
Вот тут только ты немного не прав. Надо все-таки реализовать протокол DC++, да еще и обеспечить пассивный и активный поиск. Я сейчас как раз пишу подобное, но как надстройку над EiskaltDCPP-Daemon. А сейчас подобное реализовано как скрипты-плагины для Русхаба и Птоки.
Последний раз редактировалось mariner 30 окт 2011, 10:14, всего редактировалось 1 раз.
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

Аэм я имел ввиду не скрипты на стороне хаба, а единую базу запрещенного контента в виде отдельного проекта с помощью которого можно чекать ссылки и хеши. Скрипты хабов это уже другая история и тут единого подхода нет. Я вот например чужого бота с правами раздачи банов не стал бы пускать на свой хаб, но вот своего бота (скрипт, плагин) который бы сам запросы к базе делал и далее бананы раздавал, напилил ручками с удовольствием.

То что у вас уже всё это реализовано вообще прекрасно! А можно воспользоваться вашей базой для чеканья без запуска ваших ботов у себя? Есть ли возможность самостоятельно пополнять базу хешами новых порно файлов которые вычислил у себя на хабе?
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

Можно. Тем долее у скриптов и ботов открытый код. Смотри сколько хочешь.

Но именно самой базой нельзя. Только своя, стоящая локально.
Последний раз редактировалось mariner 30 окт 2011, 11:24, всего редактировалось 1 раз.
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

Своя локальная база у каждого это как раз и есть то чему не рад. Каждому владельцу хаба приходится повторять одну и ту же работу по прочёсыванию просторов файлопомойки хаба.

Вынести бы базочку как отдельный даемон, разработать единый API запросов, напилисть скриптов под разные хабы и радоваться жизни. Причем даемон базы сделать по иерархии с кешированием на нижних узлах. Т.е. есть несколько глобальных узлов которые реплицируются между собой как мастер-мастер и есть локальные слэйв-узлы (по сути те же самые даемоны только запущенные у владельцев хаба или у провайдера), которые тянут базу к себе в кэш.

Где можно с твоими наработками ознакомиться?
Последний раз редактировалось Meloun 30 окт 2011, 11:38, всего редактировалось 1 раз.
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

Вынести бы базочку как отдельный даемон
чем же тебя mysql не устраивает?
разработать единый API запросов
чем же тебя mysql не устраивает?
Где можно с твоими наработками ознакомиться?
mydc.ru
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

мускуль это скажем-так универсальная реляционная база данных. непосредственно использовать ее API для этой задачи неразумно ибо усложняет скрипты, да и кроме мускуэля есть ряд других замечательных реляционных баз, и в общем даже объектных. нужно универсальную обёрточку сделать со своим API заточенным под конкретную задачу. Скриптики станут проще, народ потянется.
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

Что мешает использовать mysql-функции, создав с его помошью API?

Опять же, для создания апи, как библиотеки, тебе надо будет еще сделать все биндинги её к 5-7 языкам программирования. Не вижу смысла усложнять.
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

Я не про библиотеку говорю а про отдельного даемона который постоянно будет болтаться отдельно от хаба держать в базе кеша кусок базы с хешами и слушать свой порт. Режим работы асинхронный клиент-сервер, удобно использовать HTTP протокол. Данные в виде строкового JSON. Одним запросом можно скажем массив
из 20 хэшей отправлять и затем массив ответов получать.

Скрипты хаба упрощаются во много раз, любой мало мальски умеющий кодить сможет без труда сам написать скрипт или плагин для хаба, который будет общаться с даемоном не нагружая хаб лишней работой. Даемон можно вообще вынести на отдельную машину или сделать единым для группы хабов. Разделяй и властвую))
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

нагружая хаб лишней работой.
Как?) Если поиск реализован на стороне хаба? Смысл тогда вообще ускользает. Кроме того, в том же lua сокеты не могут быть многопоточными, так уж реализованы. Поэтому 2 хаба на одной машине будут падать при использовании этого расширения.
удобно использовать HTTP протокол.
Вэбпрограммист головного мозга? Зачем http если есть удобный xml-rpc
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

Мдаа)))

Поиск-то на стороне хаба, а верификация и валидация поисковых запросов может быть вынесена куда угодно. Можно конечно дополнительно в функционал даемона добавить бота, который будет цепляться к хабу как обычный клиент и ловить поисковые запросы и далее бананить пользователей, но во-первых бананить не всегда удобно, во-вторых если даемон-верификатор запущен у кого-то еще не многие рискнут давать ему такие полномочия на хабе.

Более гибко создать скрипт или плагин который будет частью хаба он будет перенаправлять пакеты с хешами к даемону с кешем или базой и смотреть ответ, разрешенные они или нет, ну а далее принимать действия к тем кто шлет такие поисковые запросы на хаб или просто их фильтровать.

Что у всех по два хаба на машине запущено? Это частный и относительно редкий случай. Луа это вообще то еще поделие.

НаСИльник? Или наСЯльник?))
Я пример привёл что достаточно хорошо подходит как тривиальный асинхронный протокол, готовые библиотеки для работы с которым помоему есть уже везде. XML мне не нравится в принципе, перегружен тегами, существенная избыточность по трафику получается. JSON подходит много лучше.

И вообще как-бе чужое мнение надо уважать, ну и стремиться понять собеседника. Уподобляться "красноглазым" субъектам с ЛОРа не айс. Опыт в прикладном кодинге у меня тоже имеется ;)
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

XML мне не нравится в принципе, перегружен тегами
Окей. Но видимо ты не видел xml-rpc. Вот пример

Код: Выделить всё

xmlrpc http://localhost:8080/eiskaltdcpp hub.say s/"hub.mydc.ru" s/"Hello"
Где перегруженность тэгами? Готовые библиотеки есть везде.
Поиск-то на стороне хаба, а верификация и валидация поисковых запросов может быть вынесена куда угодно.
Не нужно этого. У нас ищется напрямую TTH. Она берется из проверенной базы, это означает , что не нужна верификация и валидация, т.к. надо уже банить "клиентов" и возвращать список забаненных.
перенаправлять пакеты с хешами к даемону с кешем или базой и смотреть ответ, разрешенные они или нет,
Это уже из разряды "highload". Это приведет к усложнению демона. Обработка самим хабом удобнее. Но вообще, как я писал выше, у нас "адресные" выезды.
Последний раз редактировалось mariner 30 окт 2011, 13:02, всего редактировалось 1 раз.
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

С xmlrpc действительно не работал ибо не вэб программер. Но что-то мне подсказывает, что за кажущейся простотой вызова, кроется скрытый от программиста протокол, в котором сообщения всервно передаются по сети в xml-формате.))

Ясно, это локальная реализация исключительно под вас заточено.

Вот как раз и хочется сделать универсальное решение и доступную базу для всех желающих с открытым API. Усложнить даемон, но разгрузить хаб, дабы не в ущерб производительности. Надо заинтересовать владельцев сотрудничеством, а не угрожать: либо ставите скрипт или бота, который будет кушать память сервера под базу, либо "адресный" выезд.
Последний раз редактировалось Meloun 30 окт 2011, 13:21, всего редактировалось 1 раз.
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

Вот, кстати, пример

Код: Выделить всё

#!/usr/bin/env python2.6
# -*- coding: utf-8 -*-

import xmlrpclib

server = xmlrpclib.ServerProxy("http://localhost:8080/eiskaltdcpp")
server.show.version()
Вот как работаем с xml-rpc в питоне. В результате получаем сразу клиента-бота.
С xmlrpc действительно не работал ибо не вэб программер. Но что-то мне подсказывает, что за кажущейся простотой вызова, кроется скрытый от программиста протокол, в котором сообщения всервно передаются по сети в xml-формате.))
Но в конечном счете какая разница - это удобный интерефейс. Стандартизированный и рабочий. Почему бы его не использовать. Конечно, ямл дергать удобнее,но там надо писать геты, посты и прочее-прочее. Тут же все реализается заметно проще.
Последний раз редактировалось mariner 30 окт 2011, 13:25, всего редактировалось 1 раз.
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

В питоне и с http не сложнее работать)) Там вообще со всем легко работать. Питон это шедевр, за несколько часов можно простенький хаб написать. У меня хаб полностью на нем как раз и написан.
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

Ну это да, проблема в том, что питон относительно медленный язык программирования. Собственно поэтому я и писал про то, что демона надо будет "подготавливать" к хайлоаду. То есть использовать потоки и мутэксы.
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

Интерфейс это конечно хорошо. Но вот в питоне интерфейс удобен, а вот в других скриптовых языках не удобен, в некоторых его вообще нет)

В схеме которую я описал трафик к даемону будет достаточно большой, если несколько хабов будут обслуживаться. Зачем избыточность? Кстати json много шустрее парсится, чем хмл ИМХО. Более того не просто так сейчас стало популярным АПИ к базам данных делать как раз по HTTP протоколу в json формате (или другом подмножестве языка yaml). Питон с ямлом вообще замечательно дружит.

Для рассматриваемой схемы более чем достаточно GET и POST Усё.
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

даемону будет достаточно большой
Это немного не то. Важна, в данном случае, скорость обработки. DC++ интерактивный протокол.
Кстати json много шустрее парсится
А yaml и того быстрее. Yaml и xml-rpc в питоне, кстати, либами идут сишными, а json- просто как *.py модуль.
популярным АПИ к базам данных делать как раз по HTTP протоколу в json формате (или другом подмножестве языка yaml)
Я в теме, на работе сейчас как раз пишем подобную штуку. Но тут скорее дело в том, что многие фрэймворки в php и ruby имеют для этого строенные средства, а вот языках типо си этого нет и удобно использовать xml-rpc по той же принине. Проблема еще в том,что xml-rpc удобнее использовать. Для конечного пользователя он лаконичнее + встроенные средства авторизации, поддержка "вложенности". Но тут, в общем то, каждому своё.
Последний раз редактировалось mariner 30 окт 2011, 13:46, всего редактировалось 1 раз.
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

Ну скажем любой интерпретируемый язык "не быстрый", но во всех популярных хабах скрипты-то как раз на на них, соотв будь хаб написаным хоть на ассемблере выигрыша много не будет если юзать скрипты. Соотв я пришел к выводу, что всякие холивары о том на чем лучше писать хаб можно свести к тому, что берите тот язык на котором проще разрабатывается и пишите. Время это деньги))

Кстати у меня при ~700 пользователях на хабе, процессора кушается где-то 1-2 % (машина - один из таких юнитов, фотки которого выкладывал) хаб полностью на питоне.

К хайлоаду ради прикола готовлюсь. хаб изначально разрабатывался для работы в облаке. потихоньку допиливаю функционал. набиваю руку на новых технологиях. Разработка на питоне одно удовольствие.

М.б. когда-нбудь и наберётся достаточно юзеров чтобы проверить свою работу на хороших нагрузках.
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

М.б. когда-нбудь и наберётся достаточно юзеров чтобы проверить свою работу на хороших нагрузках.
Это несложно устроить хоть сейчас. У нас есть стрэсс-тест для хабов.
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

Протокол-то интерактивный, НО! во всех нормальных хабах поисковые запросы сразу не шлются юзерам, а периодически высылаются порциями и плюс жмутся. Уйма времени есть.

Настоящих джедаев которые всё пилят на Сях меньше и меньше :) Процессорные мощности дешевеют и растут. Много быстрее и качественнее всё разрабатывается на .NET, Java и Питоне.
Си это постоянная головная боль с поиском мемликов. Объектно-ориентированный кодинг там вообще жесть. иногда неделями ищешь источник мемликов((
mariner писал(а):М.б. когда-нбудь и наберётся достаточно юзеров чтобы проверить свою работу на хороших нагрузках.
Это несложно устроить хоть сейчас. У нас есть стрэсс-тест для хабов.
:) Если не трудно. Самому интересно :)
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

Настоящих джедаев которые всё пилят на Сях меньше и меньше
Только благодаря им существуют эти ваши бсд, линуксы, венды и ваши скриптовые язычки. Совтвенно если надо сделать мощно и на веки - пишу на си, если быстро слабать за 2-3 часа - то питон.
Объектно-ориентированный кодинг там вообще жесть. иногда неделями ищешь источник мемликов((
Чаще наоборот, спасает от мемликов. Все от стиля написания зависит.

На счет тестов, то тебе сюда
Аватара пользователя
Meloun
Сообщения: 79
Зарегистрирован: 19 окт 2011, 19:35
Хаб: dchub://dc.sungate.su

Сообщение Meloun »

mariner писал(а):На счет тестов, то тебе сюда
Ну это точно не сейчас. Я думал реальный ботнет есть.
Аватара пользователя
mariner
Сообщения: 336
Зарегистрирован: 30 май 2010, 19:27
Хаб: dchub://dc.klan-hub.ru
Откуда: Королев
Контактная информация:

Сообщение mariner »

Вообще-то данный тест эмитирует вполне себе полноценного клиента. Для синтетики - достаточно.
Последний раз редактировалось mariner 30 окт 2011, 14:04, всего редактировалось 1 раз.
Ответить