URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 4450
[ Назад ]

Исходное сообщение
"OpenNews: Борьба с баннерами используя Squid"

Отправлено opennews , 13-Окт-04 17:40 
Вниманию общественности предлагается метод вырезания банеров на клиентских машинах, получающих доступ к Интернет посредством прокси сервера Squid.

Для начала расскажу алгоритм  работы. Чтобы долго не расписывать, напишу как можно короче:
<ol>
-  Пакет с запросом проходит через Squid и направляется к пункту назначения;
-  Из пункта назначения, пакет возвращается и несёт в себе всю информацию (сам код для браузера) для построения страницы;
-  В этом коде сквид находит нужную ему информацию smile.gif , а именно баннер и заменяет его на тот, который вы укажете при его настройки;
-  Изменённый код сквид посылает на клиентскую машину, на которой браузер строит сраницу.
</ol>


Думаю понятно ... теперь практика (http://www.na.net.ua/forums/index.php?showtopic=128) =)

URL: http://www.na.net.ua/forums/index.php?showtopic=128
Новость: https://www.opennet.ru/opennews/art.shtml?num=4495


Содержание

Сообщения в этом обсуждении
"Борьба с баннерами используя Squid"
Отправлено Nikolai , 13-Окт-04 17:40 
Уже год Rejik пашет, беспроблемно работает, тем более сделали что теперь он может работать и через авторизаию в домене виндавозки

"Борьба с баннерами используя Squid"
Отправлено Jonatan , 14-Окт-04 09:58 
Вы хотели сказать Squid авторизует. Редиректору по-барабану, как прокси это делает (через логин/пароль или домен).

"Борьба с баннерами используя Squid"
Отправлено Nikolai , 16-Окт-04 16:26 
>Вы хотели сказать Squid авторизует. Редиректору по-барабану, как прокси это делает (через
>логин/пароль или домен).
Нет я сказал именно то что сказал. Т.е. он теперь понимает не только IP адреса, но и имена пользователей. Естественно что реализовано всё это в тесной связке со SQUID, но более ранние версии REJIK не могли работать с именами пользователей (не смотря на поддержку этих фич в SQUID)


"Борьба с баннерами используя Squid"
Отправлено Jonatan , 18-Окт-04 09:44 
>>Вы хотели сказать Squid авторизует. Редиректору по-барабану, как прокси это делает (через
>>логин/пароль или домен).
>Нет я сказал именно то что сказал. Т.е. он теперь понимает не
>только IP адреса, но и имена пользователей. Естественно что реализовано всё
>это в тесной связке со SQUID, но более ранние версии REJIK
>не могли работать с именами пользователей (не смотря на поддержку этих
>фич в SQUID)


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


"Борьба с баннерами используя Squid"
Отправлено Nickolay , 13-Окт-04 18:16 
ДжекСофт, Вы издеваетесь? принцип работы редиректора в факе по сквиду расписан нормально, без этих заумностей. зачем изобретать велосипед? зачем переписывать то, что и так написано на сайте режика?

"Борьба с баннерами используя Squid"
Отправлено A.V. Lisovoy , 13-Окт-04 18:50 
а на сайте режика посещаемость как ?? Такая же как на опеннете ??
Просто заметил, что люди здесь неблагодарные ...
Есть много деталей ... есть руки, но никто не знает где достать эти самые детали.
Разве плохо, что я расписал настройку под нужды юзеров ?? Разве обязательно здесь показывать своё "отцовство", типа, зачем писать маны, если они писаны. Тогда зачем пишут русский перевод манов на FreeBSD ??? Они же на английском прекрасно читаются ... не пойму такого ходы мыслей ...
Знаю по себе, что из всего, что предлагается в Инете я нашёл достойным внимания только режик, так как он неплохо заточен под х-СССРовские баннеры.
Хотя перепробовал около десятка ему подобных.

"Борьба с баннерами используя Squid"
Отправлено keepver , 14-Окт-04 01:05 
критику нужно уметь воспринимать, ничего страшного в ней нет. детали ? "кое-что из головы, кое - что из того, как написано на ихнем сайте" - это они ? а в остальном - удачи !

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


"Борьба с баннерами используя Squid"
Отправлено Jonatan , 14-Окт-04 10:03 
> так как он неплохо заточен под х-СССРовские баннеры
Берем бан листы от режика (за которые отдельное спасибо автору) и прикручиваем к любому другому редиректору (например, squidGuard). При чем здесь заточенность самого режика?

"Борьба с баннерами используя Squid"
Отправлено Армянин , 13-Окт-04 18:56 
а я поддерживаю автора статьи. Например я и не знал о режике. Всегда пользовался программами, которые есть на сайте squid`a. Побольше бы таких статей. Все мы ламеры в каком-то отношении.

"Борьба с баннерами используя Squid"
Отправлено Junior , 14-Окт-04 08:38 
Удивительно, но если уж Вы получаете информацию из opennet, то в разделе для прокси-серверов ДОЛЖНЫ были натолкнуться на упоминание/обсуждение/описание редиректора режик :) Уже давно.
По крайней мере именно там (если мне не изменяет память, потому как давно было) я натолкнулся на него.

"Борьба с баннерами используя Squid"
Отправлено Nickolay , 14-Окт-04 10:16 
Своим постом я имел в виду тоже самое что и Джуниор, распальцовка тут ни причем(её нет вообще). Я сам узнал о режике через опеннет, за что ему спасибо.
но то что Вы повторяетесь - факт.
Вы говорите, что будете писать о режике пока это кому-то будет нужно.
Скажите, какой толк будет, если в разделе редиректоров тысячу раз будет написано Rejik?

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


"Борьба с баннерами используя Squid"
Отправлено JackSoft , 14-Окт-04 10:31 
>просто умейте искать информацию на том сайте, который посещаете.
Вот это я понимаю здоровая критика. :)


"Борьба с баннерами используя Squid"
Отправлено JackSoft , 13-Окт-04 19:16 
Я писал и писать буду пока это нужно хотя бы одному человеку. А обругать можно все, а вот самому написать или ответить что-то кроме man...

"Лицензия rejik ?"
Отправлено Аноним , 13-Окт-04 19:18 
Под какой лицензией распространяется Rejik? На сайте -- не нашёл, качать исходники лениво... Внутри-то лицензия есть?

----

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

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


"Лицензия rejik ?"
Отправлено JackSoft , 13-Окт-04 19:23 
>Под какой лицензией распространяется Rejik? На сайте -- не нашёл, качать исходники
>лениво... Внутри-то лицензия есть?

GNU GENERAL PUBLIC LICENSE


"Лицензия rejik ?"
Отправлено screepah , 15-Окт-04 10:39 
> большинство, правда, - "трёхстрочники" на перле

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


"Лицензия rejik ?"
Отправлено Jonatan , 15-Окт-04 13:00 
Наверное squidGuard, а не spamGuard?
Такое "медленное и глючное барахло" как Squirm, Jesred, squidGuard сразу были написаны на С. Здесь можете посмотреть сравнение скорости работы этих прог
http://cri.univ-tlse1.fr/documentations/cache/squidguard_en....
Большой плюс 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 ;)
> "описалово по-русски хотя бы и бан-литы рунета"
Это единственное, чего нет у других редиректоров :)

"'описалово'"
Отправлено anonymous , 15-Окт-04 16:25 
>> "описалово по-русски хотя бы и бан-литы рунета"

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

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

А во-вторых,
   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/squ...


"'описалово'"
Отправлено keepver , 15-Окт-04 18:52 
на onix.opennet.ru указан refresh с урлом на несуществующий сайт. с этим разберусь позже. остальное поправил

"'описалово'"
Отправлено Jonatan , 18-Окт-04 12:33 
Жаль, что opennet.ru постепенно превращается в филиал linux.org.ru :(

"'описалово'"
Отправлено Maxim Chirkov , 18-Окт-04 14:53 
>Жаль, что opennet.ru постепенно превращается в филиал linux.org.ru :(

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


"'описалово'"
Отправлено screepah , 18-Окт-04 10:46 
> Все это Вы скажите 2screepah, для него это так важно

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


"'описалово'"
Отправлено Jonatan , 18-Окт-04 11:53 
>Не знаю как Вам, но мне приходится поддерживать не одну и не
>две больших сетки и с кучку маленьких, и отвлекаться на торможение
>инета (ой, а у меня что-там медленно открывается) из-за торможения сквида, редикректора и прочего - времени нет.
Так могут говорить юзеры, но не админ. Настройка прокси, редиректора и прочего входит в понятие "поддержка". Если Вы не можете разобраться из-за чего у Вас тормозит Инет, то это проблема не конкретной программы, а Вашего уровня как админа.

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

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


"'описалово'"
Отправлено screepah , 19-Окт-04 10:00 
> Настройка прокси, редиректора и прочего входит в понятие "поддержка".

Настройка входит в понятие настройки, а потом можно только патчить - это поддержка.

> Если Вы не можете разобраться из-за чего у Вас тормозит Инет, то это
> проблема не конкретной программы, а Вашего уровня как админа.

Где-то написанно, что у меня инет тормозит? Наоборот, у меня то как раз ничего не тормозит. Отвлекаться времени нет, поэтому и было выбрано наиболее правильное для меня решение. Читайте внимательнее.

> Но зачем хаить программы, о которых знаешь только название?

Была попытка прикрутить squidGuard, возможно у меня руки кривые :) но работать так, как мне нужно было - четко и быстро он не стал под большой нагрузкой. Прикручивать Berkley DB к нему и прочий напильник - это не есть правильно.

П.С. Вы слишком быстро делаете выводы.


"'описалово'"
Отправлено Jonatan , 20-Окт-04 13:46 
> Была попытка прикрутить squidGuard, возможно у меня руки кривые
Скорее всего Вы просто невнимательно прочитали документацию
> Прикручивать Berkley DB к нему и прочий напильник - это не есть правильно Это Berkley DB напильник? Ну дела. Все "прикручивание" выполняется следующим образом (выдержка из доки).
To convert a domainlist or urllist from plain text file to a prebuilt database use:
    squidGuard -C listfile
Все!
Никто не спорит, что в Вашем случае достаточно возможностей Режика. Но если конкретно у Вас не получилось настроить squidGuard (или еще что-нибудь), то это не повод говорить, что это  - "барахло". Не получается - спросите на форуме. Уверен Вам помогут. Ну и я чем смогу :)

"Лицензия rejik ?"
Отправлено anonymous , 15-Окт-04 13:01 
> > большинство, правда, - "трёхстрочники" на перле

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

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

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

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

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

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


"Лицензия rejik ?"
Отправлено screepah , 15-Окт-04 16:31 
Ерничение никчему, работает он прекрасно, настраивается тоже.
Листы пополнить без проблем, короче да - особенности русского редиректа.
Я кстате автора режика знаю, учились вместе. Грамотный перец. :)

"Недочеты"
Отправлено Дмитрий , 13-Окт-04 21:03 
Не хочется отбивать у автора желание делиться с публикой опытом, но не могу оставить без внимания следующие ошибки/недочеты:

> 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 бесполезно. :)

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


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

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


"Недочеты"
Отправлено neru , 14-Окт-04 13:26 
Ужас! Это chmod 777 на редиректор не страшно? Желаете, чтобы кажый мимо проходящий мог устроить вам "подставу", в смысле распоряжаться что и куда будет редиректиться? Если у вас есть вещи и пострашнее, то статьи писать вам не надо. И поясните, что значит в данном контесте нижеследующая цитата:

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

Да, кстати:

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

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


"Борьба с баннерами используя Squid"
Отправлено Дмитрий Ю. Карпов , 13-Окт-04 23:35 
Насчёт "пакетов" A.V. Lisovoy круто загнул... ему бы немного про TCP почитать - тут не два пакета ("запрос" и "ответ"), а как минимум:
- клиент: запрос на открытие TCP-сессии;
- сервер: ответ на запрос об открытии TCP-сессии;
- клиент: пакет (или несколько) с запросом "GET путь/к/файлу HTTP/1.0";
- сервер: подтверждение получения пакетов с запросом (одно подтверждение м.б. на 64 килобайта);
- сервер: ответ (та самая HTML-страница или картинка);
- клиент: подтверждение получения пакетов ответа сервера;
- сервер: пакет закрытия сессии;
- клиент: подтверждение закрытия сессии.

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


"Борьба с баннерами используя Squid"
Отправлено keepver , 14-Окт-04 01:10 
слабо отражена работа  tcp/ip. усугубим ?

"Борьба с баннерами используя Squid"
Отправлено Jonatan , 14-Окт-04 09:31 
Зачем придираться? Автор явно имел ввиду протокол HTTP, который работает по принципу запрос/ответ.
Не совсем понял следующее:
> - сервер: подтверждение получения пакетов с запросом (одно подтверждение м.б. на 64 килобайта);
О чем идет речь? Если подверждение TCP (ACK), то оно может прийти уже с HTTP-ответом сервера (той самой HTML-страницей или картинкой). Если отдельно - почему 64кБ?
> - сервер: пакет закрытия сессии;
Большинство web-серверов работает с поддержкой keep-alive, а клиенты - persistent connections

"Борьба с баннерами используя Squid"
Отправлено keepver , 14-Окт-04 10:26 
не обращай внимания, это стиль общения у человека такой. бывает...

"Борьба с баннерами используя Squid"
Отправлено Князь , 14-Окт-04 06:43 
А можно вырезать коды баннеров из страницы (Аналог: адблок в Мозилле)?

"Борьба с баннерами используя Squid"
Отправлено jackill , 14-Окт-04 09:25 
У меня вопрос есть. Стоит сквид, стоит режик. Кто-нить пробовал подцеплять туда dansguardian с clamav?

"Борьба с баннерами используя Squid"
Отправлено Kiev1.org , 14-Окт-04 12:47 
squidGuard калешный - он тормозит диииико при большой нагрузке, а режик правильный, но и от него отказался при большой загрузке

"Борьба с баннерами используя Squid"
Отправлено Jonatan , 14-Окт-04 16:54 
Могу судить только по тому, что у нас.
Сервер: CPU Celeron 1100, 256Мб.
На нем: squid2.4.STABLE7+squidGuard (множество black-листов и ACL), pptp, HTB (нарезаем полосу), apache, iptables, RAID1 (soft).
Примерно 300 клиентов.
squidGuard работает отлично уже 3-й год.
Интересно узнать Вашу конфигурацию.

"Борьба с баннерами используя Squid"
Отправлено tigrisha , 15-Окт-04 11:42 
Говорите SquidGuard тормозит. :) А базу на Berkley DB для хранения списеов сайтов к нему прикрутили или все списки так и хранятся в текстовых файликах?


"Борьба с баннерами используя Squid"
Отправлено Дмитрий Ю. Карпов , 17-Окт-04 22:08 
> Говорите, SquidGuard тормозит. :)
> А базу на Berkley DB для хранения списков сайтов к нему прикрутили
> или все списки так и хранятся в текстовых файликах?

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

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


"Борьба с баннерами используя Squid"
Отправлено Jonatan , 18-Окт-04 09:35 
А смысл в достижении максимальной скорости работы, поиска в базе и, при всем при этом, стабильной работы. Вот выдержка из доки 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.

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


"Борьба с баннерами используя Squid"
Отправлено Дмитрий Ю. Карпов , 24-Окт-04 22:32 
> The efficiency is achieved by:
> * storing all lists in B-trees.

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


"Борьба с баннерами используя Squid"
Отправлено Jonatan , 18-Окт-04 10:05 
Если интересно, здесь можете почитать про Berkley DB.
http://www.osp.ru/os/2000/11/050.htm

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