Страниц: [1] 2 3  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Двусписочная система: классификатор трафика и политика фильтрации  (Прочитано 32059 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« : 31 Январь 2007, 08:16:20 »

Попытался сформулировать запросы к программе от конечного пользователя-неспециалиста (но и не совсем чайника). Получился список вида: хочу чтобы <определенный контент> на <Н-ском сайте> был доступен <следующим образом>. Контент - картинки, видео, звуки, флеш, статический, динамический, большого размера и т.д. и т.п. в различных сочетаниях. <Н-ский сайт> - URL. <Доступ> - глаза бы мои его не видели, возможность чтения без доступа к сети, обновлять раз в <срок>, включая <всегда> и <никогда>, не брать из сети и т.д.
Отсюда получается ровно два списка.
Первый описывает контент по любым (в идеале, конечно) параметрам исходящих и входящих заголовков.
Второй описывает что делать с контентом на том или ином сайте (или группе сайтов, в том числе .*).
Преимущества подхода
1. Первым списком можно легко делиться между пользователями и безболезненно его обновлять, так как он НЕ определяет никаких действий, а уточнение понятия "картинка" принесет пользу ВСЕМ, вне зависимости от того, желают ли их видеть, кешировать и обновлять!
2. Второй список делает редактирование похожим на аналогичные настройки браузеров с возможностью настройки кеширования как в целом, так и для отдельных узлов  (например, настройки кеширования для Оперы) только с намного более широкими возможностями.
3. На нижнем уровне могут оставаться существующие списки - они однозначно формируются из двух описанных. Более того, большинству пользователей хватит перевого списка по умолчанию или скачанного у "гуру".
Например, помните, почему на руборде не хотели делиться черным списком? Да потому, что там был разнородный контент! Со списком же контента можно спокойно вести и распространять отдельно "реклама", "чаты", "порно", "P2P", "развлечения" и т.д. А решать что делать каждый пользователь сможет сам.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #1 : 05 Февраль 2007, 07:47:42 »

Странно... Ни одного отзыва, хотя бы разгромного, хотя рядышком идут горячие дебаты по теме настройки кеширования Подмигивающий
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #2 : 05 Февраль 2007, 08:28:36 »

Странно... Ни одного отзыва, хотя бы разгромного
Ты слишком расплывчато изложил - не понятно ни что именно тебе видится, ни зачем это нужно.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #3 : 05 Февраль 2007, 12:50:36 »

2 Rick
Хм...
Проблема нынешних списков - они сделаны на уровне "что делать".
Тот же черный список - туда включается ЛЮБАЯ нежелательная ссылка, а критерии нежелательности у каждого свои. Одни режут порно, другие чаты, третьи флеш, четвертые рекламу, пятые все это вместе. В результате списки одного пользователя малоценны для другого. Далее, в ряде ситуаций, рассмотренных на этом же форуме, пользователи вынужденны дублировать строки в нескольких списках.
Поэтому я предлагаю ввести список, в котором определяется только содержимое, но не определяется, что с ним делать!
В каждой строке списка находится название категории содержимого, его URL, дополнительные условия (referrer, Content-type, размер, IP-адрес и т.д. и т.п.)
Например:
№  Категория               URL                                                     Условия
1   Большие картинки   .*\.(bmp|gif|img|ipg|jp(e)?g|png|cur)$     Content-length>64000
2   Картинки                .*\.(bmp|gif|img|ipg|jp(e)?g|png|cur)$
3   Флеш                     .*\.(swf)$
4   Звуки                    .*\.(mid(i)?|mp3)$
5   Реклама                 .*google-analytics\.com/urchin\.js$
6   Реклама                 .*adv\.directad\.ru/\?
8   Счетчики               .*counter\.mystat-in\.net/cgi-bin/.+\.cgi\?
9   Большие загрузки   .                                                          Content-length>1000000
10  Все                        .
Для каждой категории может быть задано несколько строчек в списке.
А в списках, которые определяют, что делать с тем или иным содержимым, указывается уже категория Улыбка
Это позволяет избежать дублей, но не только!
Список категорий содержимого не зависит от политики кеширования, а значит подходит всем пользователям и его можно совершенно безболезненно раздавать всем желающим!
Сообщить модератору   Записан
Death_Master
Beta tester
*****

Репутация: +1/-1
Offline Offline

Сообщений: 81


« Ответ #4 : 16 Февраль 2007, 05:41:34 »

Попробуй написать алгоритм того, как это должно работать и посмотреть, есть ли гемор с написанием и выполнением такого алгоритма Улыбка
Сообщить модератору   Записан
taimael
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #5 : 21 Апрель 2007, 09:27:56 »

пример:

пусть, в куче правил используется конструкция
(userpic|photo|image|pic|showpic|foto|thumb|img|picshow)
допустим, попался сайт с буквосочетанием userfoto, которое теперь необходимо добавить во все правила с этой конструкцией
а далее сидишь немаленькое время плюешься и правишь Грустный
или не правишь ибо лень Улыбка


предлагаю:

1. реализовать в HC принцип "типовых конструкций"
2. создать для "типовых конструкций" отдельный список

пример:

в списке "типовые конструкции" для конструкции
(userpic|photo|image|pic|showpic|foto|thumb|img|picshow)
задаем идентификатор #1#
теперь во всех правилах, использующих эту конструкцию, заменяем ее на #1#
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #6 : 21 Апрель 2007, 10:24:09 »

пусть, в куче правил используется конструкция
(userpic|photo|image|pic|showpic|foto|thumb|img|picshow)

А разве нельзя всю эту "кучу правил" объединить в 1 универсальное?
Сообщить модератору   Записан
taimael
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #7 : 21 Апрель 2007, 15:58:52 »

А разве нельзя всю эту "кучу правил" объединить в 1 универсальное?

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

кстати, еще в + к моему предложению то, что правила станут короче и понятнее
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +291/-14
Offline Offline

Сообщений: 5177



« Ответ #8 : 26 Апрель 2007, 21:02:55 »

Проблема нынешних списков - они сделаны на уровне "что делать".
Тот же черный список - туда включается ЛЮБАЯ нежелательная ссылка, а критерии нежелательности у каждого свои. Одни режут порно, другие чаты, третьи флеш, четвертые рекламу, пятые все это вместе. В результате списки одного пользователя малоценны для другого. Далее, в ряде ситуаций, рассмотренных на этом же форуме, пользователи вынужденны дублировать строки в нескольких списках.
Поэтому я предлагаю ввести список, в котором определяется только содержимое, но не определяется, что с ним делать!
В каждой строке списка находится название категории содержимого, его URL, дополнительные условия (referrer, Content-type, размер, IP-адрес и т.д. и т.п.)
Для каждой категории может быть задано несколько строчек в списке.
А в списках, которые определяют, что делать с тем или иным содержимым, указывается уже категория Улыбка
Это позволяет избежать дублей, но не только!
Список категорий содержимого не зависит от политики кеширования, а значит подходит всем пользователям и его можно совершенно безболезненно раздавать всем желающим!
Полностью поддерживаю. Чрезвычайно полезная, на мой взгляд, идея. Жаль, что как-то ушла в забвение.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #9 : 26 Апрель 2007, 23:07:36 »

Идея то сама-по-себе красивая. Но зависит от конкретного воплощения (опиши алгоритм), и, главное, не стыкуется с нынешним интерфейсом HC.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #10 : 27 Апрель 2007, 12:15:51 »

Цитировать
Идея то сама-по-себе красивая. Но зависит от конкретного воплощения (опиши алгоритм), и, главное, не стыкуется с нынешним интерфейсом HC.
Почему не стыкуется? Те же списки с регулярными выражениями и URL... Кто разбирается в нынешних - легко поймет и новые, а для новичков новые списки проще и легче.

Конкретное воплощение с алгоритмом:
1. При поступлении запроса от браузера просматривется список категорий (по порядку) с проверкой условий по URL и параметрам исходящего заголовка. Составляется упорядоченный (в порядке занесения) список сработавших категорий, включая также те, которые требуют дополнительной проверки входящего заголовка.
2. Просматривается список действий - по порядку ТОЛЬКО по отмеченным категориям с учетом URL. Составляется упорядоченный список подходящих записей.
3. Если для категории в этой записи не требуется уточнение входящего заголовка - запрос обрабатывается в соответсвии с указанными в списке действиями. Если действия в списке противоречат друг другу - приоритет имеет находящееся выше по списку.
4. Если требуется обработка входящего заголовка - то список действий проверяется дальше до первой подходящей записи с учетом данных входящего заголовка.

Списки по виду и настройке очень похожи на нынешние - список категорий на большинство из них, список действий - на белый.
С точки зрения пользователя - в большинстве случаев не надо менять список действий, можно легко настроить особое поведения для конкретного сайта. Освоение новой функциональности при обработке URL куда удобнее - добавляются прежде всего варианты действий, а структура списков не меняется.
С точки зрения реализации - поиск по списку категорий можно распараллелить (по нити для каждой категории), поиск по списку действий - ускорить за счет фильтрации по категориям и индексирования по URL как в Proxomiton'e (ведь все сложные регулярные выражения - в списке категорий, а тут можно вообще оставить адреса в привычном виде).
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #11 : 27 Апрель 2007, 13:37:05 »

Кирилл

Приведи пример списка "Действий".
В частности интересует состав колонок и пример настройки нескольких не противоречащих друг другу действий (скажем, "запись в кэш" и "не обновлять") для одной Категории.

Где будут задаваться критерии свежести для "Не обновлять"?
Что будет со списками "Переадресация" и "Преобразование URL"?
Где брать/хранить входящие заголовки? В какой момент их проверять?
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #12 : 02 Май 2007, 14:43:47 »

DenZZZ

Колонки списка действий.
1. URL: лучше всего только в простом виде - для ускорения поиска с помощью индексирования.
2. Категория: одна из категорий, определенных в соответствующем списке.
3. Действие: одно из возможных действий ((Не) блокировать, (Не) загружать из сети, (Не) брать из кеша, (Не) обновлять и т.д.) Наличие двух вариантов каждого действия (с "не" и без) позволит уменьшитиь размер белого списка или вообще без него обойтись.
4. Условие - дополнительное условие исполнения действия. Например, срок хранения для действия Не обновлять.
Несколько не противоречащих друг другу действий задается просто включением нескольких строк в список Улыбка

Списки "Переадресация" и "Преобразование URL" трогать не нужно - они работают отдельно от остальных. Разве что в них полезно добавить поля "Сайт" и "Исключение".

Входящие заголовки - с них начинается ответ http-сервера. Проверять - в момент получения этого ответа. В большинстве случаев этого можно избежать, например блокирование рекламы условий, зависящих от входящего заголовка, не содержит, а значит сработает без запроса к серверу.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #13 : 24 Май 2007, 15:44:10 »

Жалко, что опять тема заглохла...
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +215/-4
Offline Offline

Сообщений: 6186


« Ответ #14 : 24 Май 2007, 16:07:53 »

Кирилл
Цитировать
Несколько не противоречащих друг другу действий задается просто включением нескольких строк в список
Получается, что список твоих действий можно конверитировать в набор нынешних списков?
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #15 : 25 Май 2007, 07:43:06 »

mai62
Цитировать
Получается, что список твоих действий можно конверитировать в набор нынешних списков?
Можно. Что и радует Улыбка
Список категорий+список действий можно конвертануть в нынешние списки.
Разница: никаких дубликатов в разных списках - все регулярные выражения входят в список категорий по одному разу; список действий сравнительно короткий - масса рекламных URL входит в список категорий.
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +215/-4
Offline Offline

Сообщений: 6186


« Ответ #16 : 25 Май 2007, 11:28:09 »

Значит для начала это можно попробовать реализовать в виде отдельной программы. Eсли это дело получит положительный резонанс, то я это встрою в НС.
Сообщить модератору   Записан
taimael
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #17 : 26 Май 2007, 15:03:27 »

идея хорошая
было бы интересно ее потыкать

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

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


предлагаю для начала сделать обсуждаемый список "категория-url-условие"
чтоб при составлении правил, например, с правой кнопки мыши отображался столбец "категория", и можно было выбрав какое-то из забитых в нем значений, вставить его в правило
т.е. манипулированить "категориями" при создании правил в имеющихся сейчас списках
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #18 : 28 Май 2007, 07:44:35 »

Цитировать
- убьется наглядность, уже сейчас сложно найти чтото в разросшихся списках, а если все будет в одной куче...
То ничего страшного не произойдет Подмигивающий Давно уже пора вводить поиск и фильтрацию (по категории, например) при просмотре списков. А наглядность, наоборот, появится - сейчас порядок срабатывания списков из интерфейса неочевиден (без блоксхемы не разобраться). Со списком действий все будет намного прозрачнее - срабатывает то, что выше в списке.
Цитировать
- в ряде случаев исчезнет простота, например, вместо быстрого закидывания урла в черный список, теперь нужно будет еще и найти/выставить подходящие категории/параметры
Это еще почему? Что мешает иметь в контекстном меню команду "Добавить URL с категорией XXX"?
Простота добавится - если раньше один и тот же URL в нескольких вариантах требовалось добавлять в несколько разных списков, то теперь достаточно занести его только в список категорий.
Сообщить модератору   Записан
Кирилл
Beta tester
*****

Репутация: +5/-1
Offline Offline

Сообщений: 124


« Ответ #19 : 21 Июнь 2007, 14:42:24 »

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

PS: Очень бы хотелось во второй версии HC увидеть именно эту схему... Реализовав автоматическое обновление классификатора с этого сайта, можно сделать программу вообще практически иделаьной с точки зрения неопытного конечного пользователя.
Сообщить модератору   Записан
Страниц: [1] 2 3  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: