The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Борьба с баннерами используя Squid

13.10.2004 16:27

Вниманию общественности предлагается метод вырезания банеров на клиентских машинах, получающих доступ к Интернет посредством прокси сервера Squid.

Для начала расскажу алгоритм работы. Чтобы долго не расписывать, напишу как можно короче:

  1. Пакет с запросом проходит через Squid и направляется к пункту назначения;
  2. Из пункта назначения, пакет возвращается и несёт в себе всю информацию (сам код для браузера) для построения страницы;
  3. В этом коде сквид находит нужную ему информацию smile.gif , а именно баннер и заменяет его на тот, который вы укажете при его настройки;
  4. Изменённый код сквид посылает на клиентскую машину, на которой браузер строит сраницу.

Думаю понятно ... теперь практика =)

  1. Главная ссылка к новости (http://www.na.net.ua/forums/in...)
Автор новости: JackSoft
Тип: яз. русский / Практикум
Короткая ссылка: https://opennet.ru/4495-squid
Ключевые слова: squid, banner, filter
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Nikolai (??), 17:40, 13/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уже год Rejik пашет, беспроблемно работает, тем более сделали что теперь он может работать и через авторизаию в домене виндавозки
     
     
  • 2.18, Jonatan (?), 09:58, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Вы хотели сказать Squid авторизует. Редиректору по-барабану, как прокси это делает (через логин/пароль или домен).
     
     
  • 3.33, Nikolai (??), 16:26, 16/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Вы хотели сказать Squid авторизует. Редиректору по-барабану, как прокси это делает (через
    >логин/пароль или домен).
    Нет я сказал именно то что сказал. Т.е. он теперь понимает не только IP адреса, но и имена пользователей. Естественно что реализовано всё это в тесной связке со SQUID, но более ранние версии REJIK не могли работать с именами пользователей (не смотря на поддержку этих фич в SQUID)

     
     
  • 4.37, Jonatan (?), 09:44, 18/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >>Вы хотели сказать Squid авторизует. Редиректору по-барабану, как прокси это делает (через
    >>логин/пароль или домен).
    >Нет я сказал именно то что сказал. Т.е. он теперь понимает не
    >только IP адреса, но и имена пользователей. Естественно что реализовано всё
    >это в тесной связке со SQUID, но более ранние версии REJIK
    >не могли работать с именами пользователей (не смотря на поддержку этих
    >фич в SQUID)


    Виноват, уточняю. Squid аутентифицирует пользователя (например, в домене), а Режик - авторизует. Вот теперь правильно :)

     

  • 1.2, Nickolay (??), 18:16, 13/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ДжекСофт, Вы издеваетесь? принцип работы редиректора в факе по сквиду расписан нормально, без этих заумностей. зачем изобретать велосипед? зачем переписывать то, что и так написано на сайте режика?
     
  • 1.3, A.V. Lisovoy (?), 18:50, 13/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а на сайте режика посещаемость как ?? Такая же как на опеннете ??
    Просто заметил, что люди здесь неблагодарные ...
    Есть много деталей ... есть руки, но никто не знает где достать эти самые детали.
    Разве плохо, что я расписал настройку под нужды юзеров ?? Разве обязательно здесь показывать своё "отцовство", типа, зачем писать маны, если они писаны. Тогда зачем пишут русский перевод манов на FreeBSD ??? Они же на английском прекрасно читаются ... не пойму такого ходы мыслей ...
    Знаю по себе, что из всего, что предлагается в Инете я нашёл достойным внимания только режик, так как он неплохо заточен под х-СССРовские баннеры.
    Хотя перепробовал около десятка ему подобных.
     
     
  • 2.12, keepver (?), 01:05, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    критику нужно уметь воспринимать, ничего страшного в ней нет. детали ? "кое-что из головы, кое - что из того, как написано на ихнем сайте" - это они ? а в остальном - удачи !

    ЗЫ. "Тщательнее надо..." (с) Жванецкий

     
  • 2.19, Jonatan (?), 10:03, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    > так как он неплохо заточен под х-СССРовские баннеры
    Берем бан листы от режика (за которые отдельное спасибо автору) и прикручиваем к любому другому редиректору (например, squidGuard). При чем здесь заточенность самого режика?
     

  • 1.5, Армянин (?), 18:56, 13/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а я поддерживаю автора статьи. Например я и не знал о режике. Всегда пользовался программами, которые есть на сайте squid'a. Побольше бы таких статей. Все мы ламеры в каком-то отношении.
     
     
  • 2.15, Junior (ok), 08:38, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Удивительно, но если уж Вы получаете информацию из opennet, то в разделе для прокси-серверов ДОЛЖНЫ были натолкнуться на упоминание/обсуждение/описание редиректора режик :) Уже давно.
    По крайней мере именно там (если мне не изменяет память, потому как давно было) я натолкнулся на него.
     
     
  • 3.20, Nickolay (??), 10:16, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Своим постом я имел в виду тоже самое что и Джуниор, распальцовка тут ни причем(её нет вообще). Я сам узнал о режике через опеннет, за что ему спасибо.
    но то что Вы повторяетесь - факт.
    Вы говорите, что будете писать о режике пока это кому-то будет нужно.
    Скажите, какой толк будет, если в разделе редиректоров тысячу раз будет написано Rejik?

    просто умейте искать информацию на том сайте, который посещаете.

     
     
  • 4.22, JackSoft (??), 10:31, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >просто умейте искать информацию на том сайте, который посещаете.
    Вот это я понимаю здоровая критика. :)

     

  • 1.6, JackSoft (??), 19:16, 13/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я писал и писать буду пока это нужно хотя бы одному человеку. А обругать можно все, а вот самому написать или ответить что-то кроме man...
     
  • 1.7, Аноним (7), 19:18, 13/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Под какой лицензией распространяется Rejik? На сайте -- не нашёл, качать исходники лениво... Внутри-то лицензия есть?

    ----

    Вообще редиректоры сквида даже не vaporware, а активно (вы|за)мирающий софт. Был squirm - не обновляется, из него появился jesred - тоже давно не обновляется. СквидГварда тоже, наверное, касается... Заработало, автор поправил, чего на глаза попалось, ну, для [внешних] пользователей чего ещё добавил, оно стало "просто" работать -- запускается и работает, не видно и не слышно её. --> Программа перестаёт обновляться. ... Может оно так и надо...

    Про режик одно странн -- на зачем было /новый/ редиректор писать, да ещё объединять его (проект) с базой-резалкой... squirm, jesred, тот же squidguard, ещё ку-у-уча всего (большинство, правда, - "трёхстрочники" на перле). Зачем?.. Ну, разве что, как упражнение в программировании. Да денег на-вебмани-ть.

     
     
  • 2.8, JackSoft (??), 19:23, 13/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Под какой лицензией распространяется Rejik? На сайте -- не нашёл, качать исходники
    >лениво... Внутри-то лицензия есть?

    GNU GENERAL PUBLIC LICENSE

     
  • 2.26, screepah (??), 10:39, 15/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    > большинство, правда, - "трёхстрочники" на перле

    Именно за этим и надо было писать редиректор на сях.
    Денег автор за это не получает - чистый альтруизм. Режик работает в разы быстрее и безглючнее, чем тот же spamGuard и прочие барахло. Режик разработан нашим соотечественником и приспособлен для наших реалий, в частности описалово по-русски хотя бы и бан-литы рунета. Автор существует и ему можно писать, короче просто удачная реализация редиректора.
    Вот за этим и пишут разный софт под одни цели - найти удачную реализацию.

     
     
  • 3.28, Jonatan (?), 13:00, 15/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное squidGuard, а не spamGuard?
    Такое "медленное и глючное барахло" как Squirm, Jesred, squidGuard сразу были написаны на С. Здесь можете посмотреть сравнение скорости работы этих прог
    http://cri.univ-tlse1.fr/documentations/cache/squidguard_en.html#Comparison
    Большой плюс squidGuard в том, что он использует хэши (Berkeley DB) для хранения black-листов, в которых поиск, по сравнению с обчными текстовыми файлами, ведется очень быстро и скорость слабо зависит от размера базы. Сравните:
    100 Urls database tooks 6 seconds
    11000 Urls database tooks 9 seconds
    У нас сейчас в базе более 300000 Urls. squidGuard работает 3-й год. За все это время не было НИ ОДНОЙ проблемы с squidGuard.
    Пол-года назад решили проверить, что интересного вышло из бесплатных редиректоров. Пробовали и Режик. Очень неплохая прога. Но поиск ведет в текстовых файлах. Плюс в squidGuard есть ACL. А black-листы от Режика давно прикручены к squidGuard ;)
    > "описалово по-русски хотя бы и бан-литы рунета"
    Это единственное, чего нет у других редиректоров :)
     
     
  • 4.30, anonymous (??), 16:25, 15/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >> "описалово по-русски хотя бы и бан-литы рунета"

    >Это единственное, чего нет у других редиректоров :)

    Во-первых, этого "единственного" -- два. См. по обе стороны от союза "и".

    А во-вторых,
       http://squid.opennet.ru/redirect.shtml
       http://squid.opennet.ru/no.shtml
       http://squid.opennet.ru/

    По-русски. "Упор" на SquidGuard; squirm, jesred, rejik представлены. Куча ссылок, местами мёртвых, на статьи по-русски.

    "Статья Андрея Бешкова", например, нашлась тут: http://www.asmodeus.com.ua/library/soft/squid/squidguard/squid/squidguard.htm

     
     
  • 5.32, keepver (??), 18:52, 15/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    на onix.opennet.ru указан refresh с урлом на несуществующий сайт. с этим разберусь позже. остальное поправил
     
     
     
     
     
    Часть нити удалена модератором

  • 9.44, Jonatan (?), 12:33, 18/10/2004 [ответить]  
  • +/
    Жаль, что opennet ru постепенно превращается в филиал linux org ru ... текст свёрнут, показать
     
     
  • 10.45, Maxim Chirkov (ok), 14:53, 18/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Жмите Сообщить модератору , если считайте что-либо неприемлимым Все прочитать ... текст свёрнут, показать
     
  • 6.40, screepah (??), 10:46, 18/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    > Все это Вы скажите 2screepah, для него это так важно

    Для меня важно - как работает и какая есть поддержка.
    Не знаю как Вам, но мне приходится поддерживать не одну и не две больших сетки и с кучку маленьких, и отвлекаться на торможение инета (ой, а у меня что-там медленно открывается) из-за торможения сквида, редикректора и прочего - времени нет. Режик полностью устраивает, нагрузку до 250 юзеров держит на pIII 866 c 512 и винтом на 10Гб без тормозов. Разбираться с squidGuard'ом и прочими - мне не хочется и некогда.

     
     
  • 7.42, Jonatan (?), 11:53, 18/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Не знаю как Вам, но мне приходится поддерживать не одну и не
    >две больших сетки и с кучку маленьких, и отвлекаться на торможение
    >инета (ой, а у меня что-там медленно открывается) из-за торможения сквида, редикректора и прочего - времени нет.
    Так могут говорить юзеры, но не админ. Настройка прокси, редиректора и прочего входит в понятие "поддержка". Если Вы не можете разобраться из-за чего у Вас тормозит Инет, то это проблема не конкретной программы, а Вашего уровня как админа.

    >Разбираться с squidGuard'ом и прочими - мне не хочется и некогда.
    Вот и все Ваши аргументы, сразу бы так и сказали. Получается, что со squidGuard Вы не работали, но при этом утверждаете следующее
    > Режик работает в разы быстрее и безглючнее, чем тот же spamGuard и прочие барахло.

    Еще раз повторяю. Никто не говорит, что Режик плохой. Но зачем хаить программы, о которых знаешь только название?

     
     
  • 8.46, screepah (??), 10:00, 19/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Настройка входит в понятие настройки, а потом можно только патчить - это поддерж... текст свёрнут, показать
     
     
  • 9.47, Jonatan (?), 13:46, 20/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее всего Вы просто невнимательно прочитали документацию To convert a domainl... текст свёрнут, показать
     
  • 3.29, anonymous (??), 13:01, 15/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    > > большинство, правда, - "трёхстрочники" на перле

    > Именно за этим и надо было писать редиректор на сях.

    Именно за этим и были написаны squirm и jesred, например...

    > быстрее и безглючнее, чем тот же spamGuard и прочие барахло.

    Хорошо, хорошо, только не ругайтесь! Ваше барахло быстрее и безглючнее, чем прочее.

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

    "Об особенностях национального редиректа" просто-таки. %)

     
     
  • 4.31, screepah (??), 16:31, 15/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Ерничение никчему, работает он прекрасно, настраивается тоже.
    Листы пополнить без проблем, короче да - особенности русского редиректа.
    Я кстате автора режика знаю, учились вместе. Грамотный перец. :)
     

  • 1.9, Дмитрий (??), 21:03, 13/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не хочется отбивать у автора желание делиться с публикой опытом, но не могу оставить без внимания следующие ошибки/недочеты:

    > 11. Переименовуем файл redirector.conf.dist в файл  redirector.conf коммандой: cp redirector.conf.dist redirector.conf

    Во-первых "Переименовываем" :), а во-вторых это делается командой "mv", а не "cp".

    > (найдите где у вас установлен режик и дайте комманду: chmod 777 /ваш/путь/до/redirector)

    Ни в коем случае не следует устанавливать такие разрешения на файлы, а именно право записи для "others". Разрешения "chmod 755 /ваш/путь/до/redirector" вполне достаточно.

    > 127.0.0.1 www.ukr.net/bnr/pig_coins.swf

    Таким методом можно "закрыть доступ" только ко всему хосту ("www.ukr.net" в данном случае). Указывать путь в файле hosts бесполезно. :)

    А в остальном - нормальная статья. :)

     
     
  • 2.10, A.V. Lisovoy (?), 21:52, 13/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    1. Ну, я мог бы написать cat redirector.conf.dist>redirector.conf =]]] Это не существенно ...
    2. чмод 755 .. здесь вопрос спорный ... Скажем так, это не аргумент для того, чтобы на него можно было указывать (ИМХО есть вещи пострашнее программки redirector =]]] поверьте мне на слово ... =)) И то, что кто-то сможет "закилить" процесс редиректора не особо страшно, так как он запустится опять при каждом баннере ..
    3. Попробуйте на виндовой машине прописать путь баннерного хоста и Вы увидите результат ... Укрнет, согласен, не особо подходит для примера, но у меня получилось редиректить флешевый файл на 127.0.0.1 . Врядли это только у меня получилось. Очистите свой кеш и увидите.
    4. Спасибо что хоть кто-то признал мою статью неплохой (не знаю как полезной) =]]

    Вопреки тому, что здесь пишут, я буду продолжать писать свои статьи. Те, кому это будет не интересно будут обходить её стороной.
    И как говорил JackSoft, у которого на форуме я написал статью, "пока это нужно хотя бы одному человеку - ЭТО УЖЕ ПОЛЕЗНО".

     
     
  • 3.24, neru (??), 13:26, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Ужас! Это chmod 777 на редиректор не страшно? Желаете, чтобы кажый мимо проходящий мог устроить вам "подставу", в смысле распоряжаться что и куда будет редиректиться? Если у вас есть вещи и пострашнее, то статьи писать вам не надо. И поясните, что значит в данном контесте нижеследующая цитата:

    > И то, что кто-то сможет "закилить" процесс редиректора не особо страшно, так как он запустится опять при каждом баннере ..

    Да, кстати:

    > И как говорил JackSoft, у которого на форуме я написал статью, "пока это нужно хотя бы одному человеку - ЭТО УЖЕ ПОЛЕЗНО".

    Человек, которому нужно найдет нормальную документацию. Такие же статьи лишь  тараканов разводят в головах у новичков. Резюме - сначала матчасть, потом статьи...

     

  • 1.11, Дмитрий Ю. Карпов (?), 23:35, 13/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Насчёт "пакетов" A.V. Lisovoy круто загнул... ему бы немного про TCP почитать - тут не два пакета ("запрос" и "ответ"), а как минимум:
    - клиент: запрос на открытие TCP-сессии;
    - сервер: ответ на запрос об открытии TCP-сессии;
    - клиент: пакет (или несколько) с запросом "GET путь/к/файлу HTTP/1.0";
    - сервер: подтверждение получения пакетов с запросом (одно подтверждение м.б. на 64 килобайта);
    - сервер: ответ (та самая HTML-страница или картинка);
    - клиент: подтверждение получения пакетов ответа сервера;
    - сервер: пакет закрытия сессии;
    - клиент: подтверждение закрытия сессии.

    Что касается целесообразности написания статьи... ну, пусть пишет, а то как же он писАть научится? Даже Кнут когда-то писАть учился...

     
     
  • 2.13, keepver (?), 01:10, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    слабо отражена работа  tcp/ip. усугубим ?
     
  • 2.17, Jonatan (?), 09:31, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем придираться? Автор явно имел ввиду протокол HTTP, который работает по принципу запрос/ответ.
    Не совсем понял следующее:
    > - сервер: подтверждение получения пакетов с запросом (одно подтверждение м.б. на 64 килобайта);
    О чем идет речь? Если подверждение TCP (ACK), то оно может прийти уже с HTTP-ответом сервера (той самой HTML-страницей или картинкой). Если отдельно - почему 64кБ?
    > - сервер: пакет закрытия сессии;
    Большинство web-серверов работает с поддержкой keep-alive, а клиенты - persistent connections
     
     
  • 3.21, keepver (?), 10:26, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    не обращай внимания, это стиль общения у человека такой. бывает...
     

  • 1.14, Князь (?), 06:43, 14/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А можно вырезать коды баннеров из страницы (Аналог: адблок в Мозилле)?
     
  • 1.16, jackill (?), 09:25, 14/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня вопрос есть. Стоит сквид, стоит режик. Кто-нить пробовал подцеплять туда dansguardian с clamav?
     
  • 1.23, Kiev1.org (?), 12:47, 14/10/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    squidGuard калешный - он тормозит диииико при большой нагрузке, а режик правильный, но и от него отказался при большой загрузке
     
     
  • 2.25, Jonatan (?), 16:54, 14/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Могу судить только по тому, что у нас.
    Сервер: CPU Celeron 1100, 256Мб.
    На нем: squid2.4.STABLE7+squidGuard (множество black-листов и ACL), pptp, HTB (нарезаем полосу), apache, iptables, RAID1 (soft).
    Примерно 300 клиентов.
    squidGuard работает отлично уже 3-й год.
    Интересно узнать Вашу конфигурацию.
     
  • 2.27, tigrisha (??), 11:42, 15/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Говорите SquidGuard тормозит. :) А базу на Berkley DB для хранения списеов сайтов к нему прикрутили или все списки так и хранятся в текстовых файликах?

     
     
  • 3.34, Дмитрий Ю. Карпов (?), 22:08, 17/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    > Говорите, SquidGuard тормозит. :)
    > А базу на Berkley DB для хранения списков сайтов к нему прикрутили
    > или все списки так и хранятся в текстовых файликах?

    А смысл? Текстовый файл можно прочитать в hash-массив (IMHO, впервые эта структура возникла в AWK, а известность приобрела благодаря Perl и PHP; наверняка и в C есть библиотеки для работы с hash-массивами).

    Хотя и у Berkley DB есть прелесть в том, что она, в отличие от hash-массива, не будет свопиться в swap-область, а будет подкачиваться из файла...

     
     
  • 4.36, Jonatan (?), 09:35, 18/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    А смысл в достижении максимальной скорости работы, поиска в базе и, при всем при этом, стабильной работы. Вот выдержка из доки squidGuard, где указано, как и за счет чего все это достигается.

    The efficiency is achieved by:
    * storing all lists in B-trees.
    * compiling/optimizing all regular expressions at startup.
    * using a cursor to check the previous key in B-trees to speed up substring matching.

    The robustness is achieved by:
    * using the well proven Berkeley DB library to achieve much with simple code.
    * using lex and yacc to make a simple and flexible configuration file parser that is easy to modify and extend.

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

     
     
  • 5.48, Дмитрий Ю. Карпов (?), 22:32, 24/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    > The efficiency is achieved by:
    > * storing all lists in B-trees.

    Тот, кто говорит про эффективность двоичных деревьев (если я правильно понял "B-trees"), просто не знает математики. Почитайте книгу Никлауса Вирта "Алгоритмы и структуры данных" - там хорошо рассказывается про hash-массивы, у которых время поиска в БД практически не зависит от размера массива данных.

     
  • 4.39, Jonatan (?), 10:05, 18/10/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Если интересно, здесь можете почитать про Berkley DB.
    http://www.osp.ru/os/2000/11/050.htm

    Выдержка из статьи.
    Berkeley Database (Berkeley DB) – встроенная система баз данных, которую можно использовать в приложениях, нуждающихся в высокопроизводительном механизме хранения и извлечения пар ключ-значение, поддерживающем одновременный доступ.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру