В материале описывается появившийся в девятой Opera встроенный блокировщик рекламы, его недостатки и методы их обхода средствами самого браузера. Стандартный блокировщик Вызывается он из контекстного меню страницы, пунктом "Заблокировать содержимое". После нажатия на него, мы попадаем в режим блокирования, в котором можно заблокировать как конкретные элементы, так и использовать маски. Поясню на примере. В случае картинки с адресом «http://site.ru/reklama/ads.gif», обычный клик заблокирует все картинки в адресе которых присутствует «http://site.ru/reklama/», а Shift+клик заблокирует только саму картинку. Повторный клик, в любом случае, разблокирует элемент(ы). При всех преимуществах готового решения (простота использования, удобное управление и хорошая скорость вплоть до десятка тысяч правил), стандартный блокировщик имеет и недостатки. Это отсутствие готового списка правил, который бы сразу убирал большинство рекламы, отсутствие "белого списка" и известные сложности с блокированием js-рекламы и (в меньшей степени) флэша. Описанные ниже дополнения в той или иной степени избавляют от указанных недостатков и позволяют более эффективно блокировать рекламу. Но предварительно пара замечаний: - Opera не имеет команды позволяющей блокировать картинки и фреймы из контекстного меню, но это несложно реализовать с помощью vbs-скрипта. В Opera 9.5+ можно обойтись расширенным меню.
- Скрипты (с их помощью обычно создаётся плавающая реклама) можно заблокировать, добавив их адреса в Инструменты->Дополнительно->Заблокированное содержимое. Но для этого адреса нужно знать. Opera 9.5+ сама показывает их в боковой панели "Инфо", а для предыдущих версий можно воспользоваться кнопкой Info. Также см. Scriptblock.js
Urlfilter.ini Этот файл используется стандартным блокировщиком Opera. Формат его несложен - в разделе [exclude], в каждой строке прописывается блокируемый адрес. Поддерживаются маски: «?» для произвольного символа и «*» для любого количества произвольных символов. Простой текстовый формат позволяет без проблем добавить правила, сразу убирающие большинство рекламы. При закрытом браузере просто скопируйте правила из списка в ваш файл urlfilter.ini. Упомяну два готовых списка: Fanboy's AdBlock List - Достаточно большой (~1600 правил) и эффективный набор правил, основанный на списке фильтров Adblock Plus. Базовые правила блокировщика рекламы - Небольшой (и быстро работающий на любом компьютере) список основан на Tamil-овском и адаптирован к российским условиям. Фильтр в основном включает универсальные правила, наподобие «*/reclama/*». Используется в Opera AC. Css-фильтры Исторически это первый способ блокирования рекламы, появившийся ещё в Opera 7. А так как Opera, в отличие от других браузеров не загружает скрытое с помощью «display: none» содержимое, то css-фильтры остаются вполне практичными и сейчас. К тому же их можно легко отключать (аналогичная возможность для urlfilter.ini появилась только в Opera 9.5). Установка сводится к копированию файла (при закрытом браузере) в папку пользовательских стилей и выбору нужного стиля в меню Вид->Стиль. hidecertainsizes.css - Блокирует рекламу по размеру. url-block.css - Блокирует рекламу по адресу (используются маски из css3). anti-banner.css - Блокирует рекламу по адресу и размеру. Блокировка с помощью UserJS Пользовательские скрипты позволяют эффективно бороться с рекламой реализованной на JavaScript, число которой только увеличивается. Равно как и создавать самостоятельные блокировщики рекламы. Напомню, что для установки UserJS, нужно скопировать файл в вашу папку UserJS. Если её ещё нет, то создайте папку (например, Opera\userjs) и укажите её в Настройки->Дополнительно->Содержимое->Настройки Javascript. adblock.js - Блокировщик (текстовой) рекламы. Жмёте Alt+Shift+B и кликаете на рекламу. Если кликать с зажатым Alt-ом, то при блокировании не будут учитываться номера элементов на странице, что иногда полезно. Alt+Shift+E позволяет отредактировать или удалить стили. Работает в Opera 8-10 и любой ОС. block-external-scripts.js - Блокирует загрузку скриптов с других доменов. Это убирает рекламу реализованную на js, например, Google AdSense или "всплывающие окна v2.0", наподобие этого. Чтобы отключить блокирование скриптов на текущем сайте, наведите мышь на нижний правый угол страницы и нажмите на выехавшую кнопку. BlockIt - Блокирует внешние скрипты, изображения и флэшки. Ближайший (из имеющегося) аналог FireFox-ового расширения NoScript. hide-js-popups.js - Скрывает плавающие окна созданные с помощью javascript. Remove_it_permanently-for_Opera.js - Позволяет заблокировать любой элемент страницы, просто кликнув на него. Как должно быть ясно из названия, блокируются элементы навсегда, в отличие от известной кнопки Kill. Установка скрипта не совсем тривиальна, так что опишу её подробно. Во-первых, вы как обычно должны сохранить этот файл в вашу папку UserJS, после чего создать с помощью любого генератора кнопку с таким кодом (см. скриншот): Execute program, "Полный_путь_к_файлу_Remove_it_permanently-for_Opera.js", "%u", "Блокировать", "Transfer Stopped" & Go to page, "javascript: opera.cleanHash()" Перетаскиваем кнопку на любую панель, перезагружаем страницу, чтобы подхватился скрипт и зажимаем Ctrl+Shift. Теперь при движении мышью, на странице будут выделяться её элементы. Кликаем на (не)нужный и жмём кнопку "Блокировать". Готово, элемент заблокирован. Если же вместо блокировки у вас открылся текстовый редактор с этим скриптом, отключите в нём (редакторе) открытие файлов с расширением «js». Они должны выполняться интерпретатором wscript.exe. Для того чтобы сохранить изменённую скриптом страницу на диск, можно использовать convert2phf.js или кнопку отсюда. Блокировка флэша Для блокирования флэша, в основном используются два метода: глобальное отключение плагинов в меню по F12, выключающее, в том числе и флэш. И отдельный FlashBlocker который позволяет загружать флэшки кликом по иконке, которая показывается на их месте и имеющий "белый список". Также доступна версия флэшблокера в виде userjs: FlashBlock.js. При её использовании, отключить блокирование флэша на текущем сайте, можно с помощью хоткея Ctrl+Shift+F. Оба способа предотвращают загрузку флэша, а не просто скрывают загруженный. И напоследок, несколько конкретных рекомендаций: - Правила для urlfilter.ini, при прочих равных условиях, предпочтительней чем css-фильтры, т.к. быстрее и позволяют блокировать скрипты.
- Если вы часто посещаете сайты околоварезной направленности, то вам пригодится block-external-scripts.js. К тому же он несколько повышает безопасность.
- Если вам нужна тонкая правка страниц, с удалением элементов разметки, то AdBlock+ или Remove_it_permanently-for_Opera.js это ваш выбор.
Отдельные утилиты В конце, коротко о внешних утилитах. Работают они как локальный прокси-сервер, подключенный между браузером и интернетом и фильтрующий трафик. Они могут быть полезны, например, если вы используете несколько браузеров и хотите иметь одинаковую блокировку рекламы во всех. AdMuncher - Простая в использовании и обеспечивающая очень хорошее качество блокирования утилита. Платная. HandyCache - Вообще говоря, это кэширующий HTTP прокси-сервер, предназначенный для ускорения загрузки страниц и уменьшения трафика, но он также имеет и некоторые возможности по блокированию рекламы, в связи с чем здесь и упомянут. Proxomitron - Универсальный web-фильтр, работающий по принципу прокси-сервера. Очень широкие возможности, но требуется достаточная квалификация для написания своих фильтров. Существует готовая сборка Proxomitron - Russian Edition. Privoxy - В известной степени это open source аналог Proxomitron-а с некоторыми дополнительными возможностями. Кроссплатформенный. © А. Рузанов, 23.04.2008 (обновлено 17.01.2009)
|