Дополнение Adblock Plus для Mozilla Firefox: блокируем рекламу. Adblock Plus — как убрать рекламу из браузера Видео в помощь

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

Где найти и принцип действия

Плагин adblock для яндекс браузера блокирует назойливую рекламу, но есть небольшое исключение. Так, реклама, которая попадает под термин «ненавязчивая», все же присутствует, однако она, по идее, не должна вас раздражать. Кстати, избавиться и от нее тоже очень просто, достаточно изменить соответсвующие настройки плагина.

Что касается непосредственно назойливой рекламы, то этот термин включает в себя и всплывающие баннеры, и окна, и даже видео, причем независимо, зашли вы на Фейсбук или в YouTube, принцип действия приложения распространяется на все сайты без исключения. А как еще можно убрать всплывающую рекламу без установки плагина вы узнаете .

Как настроить adblock plus

После того, как у вас получилось установить adblock для яндекс браузера, нужно заняться настройкой данного приложения. Для начала определитесь, хотите ли вы видеть так называемую «ненавязчивую» рекламу или же нет. Если же вы хотите оградить себя от рекламы на все 100%, нужно зайти в настройки плагина, оттуда – в «Список фильтров». В самом низу открывшегося окна будет строчка «Разрешить некоторую ненавязчивую рекламу», уберите галочку напротив нее.

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

К слову, все заблокированные элементы в любой момент можно просмотреть и при желании разблокировать. Это возможно благодаря активной кнопке с надписью ABP в верхней части Яндекс браузера, которая появится там сразу после установки плагина.

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

Видео в помощь

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

Зачем? Затем, что без всего вышеперечисленного сайты грузятся быстрей, трафик экономится куда лучше, а серфинг по интернету становится значительно комфортнее и безопаснее. Да и глаза реклама не мозолит. Рассматривать будем на примере Firefox , но вообще плагин работает в любом браузере.

Ну что, к делу.

Как установить и настроить Adblock Plus

Остальные же могут читать статью ниже в традиционно-текстовом формате со скриншотами.

Само собой, что предварительно нужно было установить Mozilla Firefox , т.е. тот самый браузер к которому этот аддон (плагин) идет. Если Вы еще (о боже! :-)) не сделали, то переходите вот по этой и скорее устанавливайте этот замечательный браузер.

Теперь о процессе установки и настройке сего замечательного плагина:


  • Поможет нам в нелегком деле удаления рекламы Adblock Addon , а именно Adblock Plus;
  • Чтобы установить его переходим на его страничку, а именно ;
  • Жмем на кнопочку "Добавить в FireFox ";
  • Во всплывшем окошке нажмите кнопочку "Разрешить "
  • После завершения установки надавите в кнопочку "Перезапустить FireFox " или перезапустите браузер вручную;
  • Во всплывшем после установки окошке выберите EasyList .
  • Готово. Только что Вы установили плагин. Дело за малым, научиться им пользоваться.

Adblock Plus is the most popular browser extension available for Mozilla Firefox, Google Chrome, Opera and Android. Its primary purpose is to remove all intrusive advertisements from your browsing experience: YouTube video ads, Facebook ads, banners, pop-ups, pop-unders, background ads etc.

How does Adblock Plus work?

In order to block ads, Adblock Plus requires the so-called filters to "tell" it which requests to block. Out of the box, Adblock Plus comes without any filters, but, it will offer you to add a filter subscription on first start. With these filters enabled, it can block specific requests from websites, usually the requests to serve an ad. Blocked ads often leave blank spaces or "Advertising Tags" on webpages. Adblock Plus is still able to remove these with a functionality called "element-hiding": based on certain specific characteristics, Adblock Plus is able to hide certain elements from the webpage.

Installing Adblock Plus

For Firefox

If you use the Mozilla Firefox browser, click the install button on the Firefox installation page . Firefox will prompt you to allow Adblock Plus to install the add-on: Click on "Allow".

Firefox will start the installation of our ad block, and will ask you to confirm that you trust the author. Click on "Install Now" to add Adblock Plus to your Firefox browser.


You are now protected against all intrusive ads!

For Chrome

Google Chrome allows two ways to install our ad block software. The easiest way is through our website, the second way is through the Chrome Webstore.

Installation through our website in two steps

It is important to note that you should not add too many filterlists to Adblock Plus. This will slow down the adblocker, therefore, your browsing. As a rule of thumb, it is highly recommended to not use overlapping filterlists (e.g. choose either EasyList OR Fanboy"s List).

You can also use filterlists to protect yourself against tracking, malware, social media tracking etc. Read more about this .

How to add a filterlist

If you want to remove a filterlist again check out this tutorial .

In Firefox

In Firefox select "Firefox" >> "Add-ons" (for Mac OS X / Linux, select "Tools" from the menubar >> "Add-Ons"), this will open your Firefox Add-ons Manager.

On Windows:
On Mac OS X / Linux

In the Add-ons Manager under the "Extensions" tab, you will find Adblock Plus:


Please select "Preferences" to access the Adblock Plus profile, and click on "Filter Preferences":


This will open the Adblock Plus Filter Preferences menu:


Please click on "Add filter subscription", and open the drop-down menu for the filterlist subscriptions to add new/more filters. Select the list you want to subscribe to, Adblock Plus automatically enable these lists by default. This menu only shows the most popular and recommended filters. Please go for more filter lists.

In Google Chrome

To add a filter subscription to Google Chrome, please select "Settings" from the menu in the top right corner. This menu can be found under the small icon with three horizontal bars:

In the drop-down menu, select "Settings". Next, go to the tab "Extensions" on the left side of the screen. This will open the extension window of Google Chrome, where you will find Adblock Plus.


Under the description, you can find the "Options" hyperlink. Please click on this link to open our adblock for Chrome"s menu:


In the Adblock Plus Options menu, you can see an overview of the installed and enabled filter lists. To add a new subscription for our adblocker, select "Add filter subscription".


This will open a drop-down menu with the recommended and most popular filterlists. Please select the filterlist you want to enable, and click "Add". If your desired filter is not showing amongst these pre-selected filters, please go .

In Opera

To add a new filterlist in Opera, please go to "Menu" button (for Mac OS X / Linux, "Tools"), select "Extensions" >> "Manage Extensions" . This will open your currently installed extensions, including Adblock Plus:

To access the filter preferences menu, please click on the small tool-icon on the right side. This will open your "Adblock Plus Options" menu, where you can add your subscriptions.


Click on "Add filter subscription" to access the drop-down menu with the recommended and most popular filterlists.


Here you can select your desired filter, and click "Add".

On Android

For Android, it is not possible to select multiple filterlists. In order to change your filterlist subscription, please open the Adblock Plus application, and select "Filter Subscription". This will open the menu where you can change your subscription.

Disabling Adblock Plus on frequently used sites

Many web sites depend on advertising income, and if you visit a web site frequently you might want to allow their advertising - provided that this advertising isn"t too annoying. To do that, navigate to that site and click the arrow symbol next to the Adblock Plus icon in toolbar. From the menu you can choose "Disable on ..." (you can undo that choice in the same way by unchecking this menu line).

Uninstalling Adblock Plus

In Firefox

To uninstall Adblock Plus in Mozilla Firefox, please access your "Add-ons Manager" by going to "Firefox" >> "Add-ons" (for Mac OS X / Linux, select "Tools" from the menubar >> "Add-Ons"). Here you will find an overview of your currently installed add-ons. Find Adblock Plus here, and simply click on "Remove". For more detailed information on how to remove add-ons, please visit Firefox" page .

It is important to note that Adblock Plus saves your preferences settings, so if you would reinstall ABP in a later stage, you do not have to reconfigure your settings. If you want a clean start with Adblock Plus you should remove the directory "adblockplus" in your user profile (). Also, you should go to about:config and reset all preferences starting with "extensions.adblockplus" (to reset right-click a preference and choose Reset from the context menu).

In Google Chrome

To uninstall our Chrome adblock version, please go to "Settings" in the menu in the top right corner. Then, select "Extensions" on the left side. Please find Adblock Plus here, and select the small trashcan icon on the right side. Adblock Plus for Chrome will be completely removed from your browser.

In Opera

To uninstall Adblock Plus for Opera, please go to the "Menu" button (for Mac OS X / Linux, "Tools" in the menubar), select "Extensions" >> "Manage Extensions". This will open your Extensions menu. Find Adblock Plus here, select "Uninstall", and confirm this.

On Android

Uninstalling Adblock Plus for Android is similar to any other app you have downloaded:

  1. Navigate to Menu > Settings > Applications > Manage applications (on devices running Android 4.x, Settings > Apps).
  2. Scroll through the list of apps to find the one you"d like to uninstall.
  3. Tap on the app you"d like to uninstall.
  4. Tap "Uninstall".

Solving problems

What if Adblock Plus blocks too much?

It might happen that Adblock Plus prevents some site from functioning correctly. Usually, this is not a bug in Adblock Plus but a problem with the filters (or filter subscription) you are using, these filters tell Adblock Plus to block something that shouldn"t be blocked. You verify this by temporarily disabling Adblock Plus , if this "fixes" the problem you are dealing with a bad filter. Please report bad filters by using "Report issue on this webpage" feature that will automatically collect important data of the current web page:

When asked about issue type, please choose "Adblock Plus is blocking too much":

What if Adblock Plus doesn"t block an advertisement?

If you found an advertisement that Adblock Plus doesn"t block, please check first whether you are using . For example, expecting a French filter subscription to block advertisements on a Bulgarian website is unrealistic - you should add a Bulgarian filter subscription for that job. If the filter subscription is right, then the subscription maintainer is probably simply unaware of the problem and you should tell him by using "Report issue on this webpage" feature that will automatically collect important data of the current web page:

When asked about issue type, please choose "Adblock Plus doesn"t block an advertisement":

Your report will be automatically sent to the maintainers of the filter list that you use. Please have understanding that filter maintainers don"t reply to or act upon each of the many reports they receive. Your report will be more likely to be considered if you provide additional information to make the problem more obvious and reproducible.

Итак, Адблок… Но здесь я буду говорить не столько о блокировке рекламы, сколько об оптимизации и правильном использовании этого интересного своей универсальностью дополнения. Не отношусь к тем, кого раздражает сама реклама - меня раздражает способ ее доставки. Точнее, меня раздражает вот что :
- утяжеление страниц и усложнение процесса их загрузки, как следствие - замедление ее;
- рост трафика (в корпоративной среде);
- шпионские скрипты, сбор личной информации;
- когда при загруженном HTML документе я еще не вижу страницы из-за задержек с подгрузкой какой-то пакости с левых серверов;
- появление процесса plugin-container, кушающего память в объемах, соизмеримых с самим браузером.
Помимо, собственно, рекламы данные проблемы создают в не меньшем объеме различные счетчики и «социальные виджеты» (новое зло, о котором веб 1.0 не знал), ведь страницы даже без рекламы содержат несколько скриптов счетчиков, а для каждой кнопки типа «мне нравится» каждой соцсети грузится свой скрипт! Потому моя стратегия будет в корне отличаться от стратегии создателей стандартных подписок для Adblock:
1) главное - не устранить рекламу, цель - уменьшение времени загрузки страниц, потребления памяти, трафика и т.п. - оптимизация "от машины ", поэтому фокус внимания - на скрипты и флэш, а просто скрывать элементы директивой ## - интересно меньше всего,
2) принцип Парето-эффективности: 20% правил блокируют 80% нежелательного контента,
3) (следствие п.1 и п.2) универсальные правила, насколько это возможно!
4) сайты, на которые я не хожу / неактуальные в Этой Стране - пусть себе содержат кучу нежелательного контента, я категорически не хочу, чтобы при запросе каждого элемента с часто посещаемого сайта мой центральный процессор пробегал по мегабайту правил, которые никогда не сработают (или сработают раз в год).

Исследование

Адблок (исследованию подверглась версия для firefox) представляет из себя упакованный xpi (не распаковывается при установке), весящий 786 кб. Большая часть из этого архива (468 кб в сжатом виде, 1,3 Мб в распакованном) приходится на локализации, которые (ненужные) легко удалить из xpi тем же 7-zip. (Забегая вперед: сокращения потребления памяти в результате этой процедуры обнаружено не было, так же не повлияла и распаковка аддона).

Правила блокировки хранятся в папке профиля ФФ, в подпапке adblockplus или аналогичной по названию аддона (прочие настройки аддона хранятся в стандартном «реестре настроек» браузера). Заглянув туда, я обнаружил 2 огромных файла - INI и CSS, вместе весящих около 1,8 Мб (это «открытие» и стало причиной настоящего исследования). Понятно, что даром такие объемы (особенно CSS!) не обойдутся, даже если бы наш браузер был написан на чистом ассемблере. Чтобы понять, насколько именно Адблок обременителен для системы, были проведены замеры потребления памяти с последними, на момент написания статьи, версиями аддонов семейства Adblock в разных конфигурациях: без подписок, с подпиской против счетчиков (cnt), и 3 подписками - дефолтным RuAdlist+Easylist, BitBlock против виджетов соцсетей и cnt против счетчиков. Замечу, что RuAdlist+Easylist составляет в последней конфигурации около 90% объема файлов, поэтому последняя колонка справедлива и для установленного по дефолту без каких-либо дополнительных действий Adblock Plus.

Потребление памяти браузером Firefox 17.0.1 (в мегабайтах) с разными аддонами семейства Adblock

подписки 0 1(cnt) 3(ruad+easy,bitblock,cnt)
adblock lite 1.4.3
blank 58 58 68
yandex.ru 73 73 139
прирост 15 15 71
adblock edge 2.0.2
blank 56 57 119
yandex.ru 73 69 129
прирост 17 12 10
adblock plus 2.2.1
blank 56 57 116
yandex.ru 70 69 128
прирост 14 12 12
Что видно из таблицы (кроме того, что результаты, в целом, озадачивают): изначальные предположения об оптимизированности и легковесности, на практике подтверждаются с точностью до наоборот: самый обычный, мэйнстримовый Adblock plus оказывается самым экономным, а lite-версия, несмотря на своё название, потребляет памяти больше всех, и, кроме того, заметно замедляет прорисовку тяжелых страниц, вроде поиска изображений в Яндексе.
Почему так получается? Всё дело в версиях Adblock plus, явившихся основой альтернативных аддонов - все они более старые, а новые - лучше оптимизированы (нечасто встречающееся явление в мире ПО). В версиях 1.x использовался кэш правил в виде javascript-файла, это решение оказалось неудачным в плане производительности и от него отказались.

Заглянем внутрь XPI. В chrome/locale лежат локализации для всевозможных языков, упомянутые выше. Наибольший интерес представляет папка defaults. Модификацией файла prefs.js можно автоматизировать выставление Адблоку всех настроек что удобно при массовом развертывании. Синтаксис стандартный - как у настроек самого браузера. Рекомендуются следующие настройки:
pref("extensions.adblockplus.savestats", false);
pref("extensions.adblockplus.hideContributeButton", true);
pref("extensions.adblockplus.patternsbackups", 2);
pref("extensions.adblockplus.subscriptions_exceptionsurl", ""); //обнуляем урл белого списка "приемлемой рекламы"
pref("extensions.adblockplus.subscriptions_exceptionscheckbox", false); // бесполезно: не отключает подписку приемлемой рекламы, а только показывает белый список явно как подписку вместо галки
(Подробнее об этих и других параметрах в prefs.js читайте здесь: adblockplus.org/ru/preferences)
К сожалению, параметры аддона нельзя заранее задать в файле настроек самого браузера (например, как в ) - при первой загрузке аддона, он перезаписывает все заранее заданные параметры на дефолтные. Задача решается только подкладыванием измененного prefs.js обратно в XPI.

Свои правила игры

Стандартные подписки не только тяжеловесны, они не блокируют тяжелые и злоупотребляющие шпионажем скрипты google analytics, которые есть практически на каждом сайте, а значит - вручную хоть одно правило, но придется писать. А если писать одно - то почему бы (зная рег. выражения) и не все?
Правила было удобно сгруппировать по темам: в случае нарушения юзабилити страниц легче локализовать проблему, отключая правила поблочно. В основу нижеприведенных списков легли как готовые подписки, так и собственные наработки в области «анти-баннерных» правил для Squid. Интерфейс Адблока хорошо дружит с буфером обмена - позволяет копировать выделенные правила в виде текстовых строк или вставлять скопированный текст в виде правил.

custom

///rs?\.mail\.ru// ||radar.imgsmail.ru^ /images.rambler.ru/(n|upl)// ||rl0.ru$domain=~rambler.ru ||hhcdn.ru/nposter/* ||pics.top.rbc.ru/top_pics/v2/jslib/ch2.js ||pics.rbc.ru/js/api.js |http://pics.rbc.ru/*/afm/img.gif? ||pics.rbc.ru/banners/* ||loadup.ru/*$third-party ||myuniques.ru^$third-party ||oskale.ru^$third-party ||partner.pladform.ru^$third-party ||ningme.ru/*video2*$third-party ||klonedaset.org^$third-party ||vmblock.net^$third-party ||wigetmedia.com/$script,third-party @@||adv.magna.ru/$script @@||swa.mail.ru/cgi-bin/*$script ||backromy.com^$script,third-party ||cs.sopital.com^$third-party ||awaps.yandex.ru^ ||stream.traflux.info^$third-party ||corcon.ru/style/* ||beats.palaven.info^ ||cdn.vidigital.ru/media/$object-subrequest ||pay-hit.com^$script,third-party ||ucoz.net/ads_w*.js ||ucoz.net/src/*$script,stylesheet ||spotsniper.ru/?*$script,third-party ||themodules.ru^$third-party ||bs.yandex.ru/show/*$script,third-party ||am10.ru^$script ||cedexis$script,third-party ||mythings.com^$third-party ||criteo.$third-party ||image.subscribe.ru/advert/


counters

//count(er)?\[\?\.]/$third-party /counters? ||google-analytics.com/*.js$third-party,script ||google-analytics.com/__utm.gif? ||bs.yandex.ru/informer ||tns-counter.ru/V /top100^ /xtcore.js /xgemius.js ///cnt\*\./$third-party /cnt.$third-party ||kiks.yandex. ||mc.yandex.ru^ ||yandex.ru/cycounter?* counter.rambler.ru/ ||yabs.yandex.ru/count/ ||an.yandex.ru^ ||top$third-party ||i.bigmir.net/cnt/ ||count.ru/c$third-party ||hit.gemius.pl ||c.bigmir.net^ ||spylog.$third-party ||hotlog.$third-party ||openstat.net/$third-party ||web-visor.com/c.js ||b.scorecardresearch.com/$third-party ||atdmt.com^$third-party ||amung.us^$third-party ||montblanc.rambler.ru^$script ||top-fwz1.mail.ru^ ###counters


uni-banners

/\D(?:3\\[-_x]88|88\[-_x]3\)\D/$domain=~money.yandex.ru /\[.-/]1\0\[-x_]600?\[.-/]/ /\[.-/]468\[-x_]\0\[.-/]/ /\[.-/]300\[-x_]250\[.-/]/ /\[.-/]728\[-x_]90\[.-/]/ /240x400*.swf /200x300*.swf /(200|468)_1\.swf/ ///ad\?\?\./ //e?rle\.cgi/ /erle.js ||reklama.$script,subdocument,object ||advert$third-party ||banner$third-party ||adserv$third-party /informer^$third-party ||pagead$third-party /advert. /\banner\.js/$script ^banner$third-party /pagead^$third-party //ad\?// ^adfox$script ^adriver$script ||*ads.*/$third-party /awaps.html ^krutilka/$third-party ##.b-banner ###left_ads ###top-ads ###bn-bot-wrap /*popunder$third-party,script ^popunder$image,~image,popup /show_ads.js /pop?$popup ||*pop*/$third-party,popup *teaser*/*$third-party,script ||tizer$third-party


banners

||yabs.yandex.ru/resource/ ||adriver.ru/$third-party ||googleadservices.com^$third-party ||autocontext.begun.ru/ ||bn.adblender.ru ||doubleclick.net/$third-party ||directadvert.ru$third-party ||tbn.ru$third-party ||adwolf.$third-party ||dt00.net/$third-party ||goodadvert.ru/$third-party ||marketgid.com/$third-party ||luxup.ru/$third-party ||zorkabiz.ru/$third-party ||novoteka.ru/$third-party ||arbocontext.ru/$third-party ||videoclick.ru/$third-party ||looksmart.com/$third-party ||rorer.ru/$third-party ||mixmarket.biz/$third-party ||adonweb.ru/$third-party ||1100ad.com/$third-party ||b2bvideo.ru/js/video.js.php? ||molodejj.tv/$third-party ||richmedia.yimg.com/ ||content.medialand.ru/*$third-party ||medialand.ru/*$third-party,~script ||magna.ru/fcgi/*$third-party ||engine.video-link.ru/$third-party ||videoclick.ru/$third-party ||videoclik.$third-party ||b.kavanga.ru/exp?* ||rotaban.ru^$third-party ||post.rmbn.ru^ ||intellitxt.com^$script,third-party ||content.relax.ru^$third-party ||target.smi2.net/client/target.js ###sape_okn


anti-social

//icon?\[_-](rss|facebook|twitter|gplus|vk)\[-.]/ /icons/facebook$domain=~facebook.com /addthis_widget. ||api-public.addthis.com/url/shares.json |http://userapi.com/js/api/ /rss.png ||facebook.com/widgets/like$third-party ||facebook.com/plugins/*.php?$third-party,subdocument ||*.ak.facebook.com/connect/*$subdocument /facebook.gif|$domain=~facebook.com ||api.facebook.com^$third-party ||api.qip.ru$third-party ||connect.mail.ru^$third-party ||odnoklassniki.ru^$third-party,~stylesheet ||stg.odnoklassniki.ru/share/$third-party ||odnoklassniki.ru/dk?st.cmd=extOneClickLike ||connect.ok.ru/connect.js$third-party ||connect.facebook.net/*/all.js$third-party ||mystatus.skype.com^ ||vkontakte.ru/widget_$domain=~vk.com ||vk.com/widget_$third-party ||vk.com/share.php?*$script,third-party ||vk.com/images/upload.gif|$domain=~vk.com ||vkontakte.ru/share.php?* ||userapi.com^$third-party,domain=~vk.com ||stg.odnoklassniki.ru/share/odkl_share.js$third-party plusone.js|$third-party ||plus.google.com/$subdocument,domain=~google.ru,google.com ||google.*/cse/brand?form= ||apis.google.com/_/+1/*$third-party ||platform.twitter.com/widgets.js$third-party ||yandex.st/share/$domain=~yandex.ru /widget.js$third-party /share.js$third-party,domain=~mail.ru ||share.pluso.ru/$third-party ||platform.twitter.com/widgets/*$third-party ||surfingbird.ru/share/share.min.js ||surfingbird.ru/button?* ##.g_blank_likes ##.googleplus ##.g-plus ##.twitter ##.twitter-follow-button ~facebook.com###facebook ##.facebook ##.fb-like ##.vkontakte ##.yashare-auto-init ##.social-links ##.fb-like-box ##.gmt-social-buttons ##.post_share ##.share-button ##.share_block ##.sharebar ##.social-links ###social-media ###b_soc ~mts.ru##.social ##.addthis_toolbox


Anti-Adblock

/blockblock*$script /anti_ab. /adb*_detector. /*adblock$script,domain=~adblockplus.org


Группа custom - это правила для определенных сайтов и своего рода свалка для новых правил, создаваемых визуально через контекстное меню «Adblock plus: заблокировать изображение...»: новое правило, созданное таким путем, добавляется в первую по счету группу фильтров в конец списка.

Итак, всё это, казалось бы, немалое количество правил на деле превращается в INI и CSS, в сумме весящие всего 9,5 кб. Что примерно в 200 раз(!) меньше варианта с тремя подписками. При том же результате.

Возможна и «ленивая» реализация этой стратегии: добавляется стандартная подписка против счетчиков ruadlist.googlecode.com/svn/trunk/cntblock.txt - весит скромные 12 кб и, что хорошо, обновляется разработчиком, и пишется несколько правил вручную: против google analytics, несколько универсальных правил против баннеров и против 1-2 самых распространенных скриптов соцсетей:

пример очень простого набора правил

||google-analytics.com/$third-party /pagead^$third-party ||googleadservices.com^$third-party ///adv??\./$third-party ||*ads.*/$third-party //e?rle\./ banner$third-party /informer^$third-party ^adfox$script ^adriver$script ||adfox.$third-party ||adriver.$third-party ||adwolf.$third-party ||connect.facebook.net/*/all.js ||google.com/js/plusone.js$third-party ||doubleclick.net^$third-party ||autocontext.begun.ru^$third-party ||directadvert.ru^$third-party /blockBlock*$script


В сети организации возможно создание собственной подписки. Это несложно: берется результирующий patterns.ini из папки adblockplus, в нем содержимое каждой секции выкладывается на веб-сервер в виде отдельного TXT файла с заголовком в первой строке. Автоматически подключить свои подписки можно, например, подложив patterns.ini в папку adblockplus на каждой машине. patterns.ini (например, самый минимальный) можно запихнуть и прямо в XPI - в ту же папку defaults, где мы (см. выше) заменяли prefs.js.

This guide is designed to help you write and maintain your own Adblock Plus filters. Creating your own filters gives you more control over the things you want to see and don’t want to see on the websites that you visit, including ads, images, requests, and scripts.

Important : All filter examples in this guide are only examples and are not meant to be used.

Table of contents

About Adblock Plus filters

The following filter lists come pre-installed with Adblock Plus:

  • Acceptable Ads
  • EasyList (+ bundled language filter list - depending on your browser’s language setting)
  • ABP Anti-circumvention filter list

In addition to these pre-installed filter lists, you can create your own filters. A filter is simply a rule that tells your browser which elements to block. A filter list is a set of rules that tells your browser what to block.

Creating filters

There are several types of filters, or filter rules, including:

Blocking filters Applied on the network level to decide whether a request should be blocked. Hiding filters (oftentimes referred to as element hiding filters) Hide particular elements on a page, including element hiding with extended selectors (emulation) as well as snippets. Exception filters Used to unblock certain requests or unhide certain elements on certain websites. Additionally, they can allow certain network requests despite filters that would otherwise block the requests.

Note : Blocking and hiding filters can be set to negate or reverse the effects of other filters. These are then considered exception filters .

You can easily create your filter(s) via the Adblock Plus Settings page.

Adblock Plus (version 3.4 and higher) for all browsers that support WebExtensions API like Chrome, Edge, Firefox, Opera and Yandex Browser:

  1. Click the Adblock Plus icon and then click the gear icon in the upper-right corner.
    The Adblock Plus Settings tab opens.
  2. Select the Advanced tab and scroll to the Create and edit your filter list section.
  3. Click Start creating my filter list .
  4. Enter your filter and click Save .

Basic filter rules

The most trivial filter you can define is the address of the request you want to block. However, this address often changes every time you open a page. For example, it could be http://example.com/ads/banner123.gif where 123 is a random number. Here, blocking the complete address won"t help. You’ll need a more general filter, like http://example.com/ads/banner*.gif , or even http://example.com/ads/ , which blocks everything in the “ads” directory.

Note : Make sure that you don’t replace too much with wildcards. The filter http://example.com/ will block all banners, but it’ll also block everything else from example.com that you still might want to see.

Defining exception rules

If you notice that your filter is blocking something it shouldn"t, you might consider using an exception rule rather than removing or matching the filter. Exception rules allow you to define cases where filters shouldn"t be applied. Exception rules are no different from filter rules; you can use wildcards or regular expressions.

Example : If you are unhappy with your filter adv blocking http://example.com/advice.html , you can define an exception rule @@advice . You only need to precede it by @@ to indicate an exception rule.

Exception rules can do more, however. For example, if you specify $document option , you’ll get an exception for the entire page. If your exception rule is @@||example.com^$document and you open a page from example.com , Adblock Plus will be turned off on this page and nothing will be blocked.

Matching at the beginning or end of an address

Adblock Plus typically treats each filter as if it has a wildcard at its beginning and end (i.e. there’s no difference between the filters ad and *ad*). While this is usually unproblematic, sometimes you might want the filter you defined to only match at the beginning or the end of an address.

Example : You want to block all Flash, but if you add the filter swf , the address http://example.com/swf/index.html is also blocked. The solution is to add a pipe symbol (|) to the filter to show that there should be a definite end at this point. For example, the filter swf| blocks http://example.com/annoyingflash.swf but not http://example.com/swf/index.html . And the filter |http://baddomain.example/ blocks http://baddomain.example/banner.gif but not http://gooddomain.example/analyze?http://baddomain.example .

You might want to block http://example.com/banner.gif as well as https://example.com/banner.gif and http://www.example.com/banner.gif . You can do this by putting two pipe symbols in front of the filter. This ensures that the filter matches at the beginning of the domain name: ||example.com/banner.gif , and blocks all of these addresses while not blocking http://badexample.com/banner.gif or http://gooddomain.example/analyze?http://example.com/banner.gif .

Marking separator characters

Sometimes, you might need to accept any separator character in a filter. For example, you might write a filter that blocks http://example.com/ and http://example.com:8000/ but not http://example.com.ar/ . Here, the symbol ^ can be used as a placeholder for a single separator character, http://example.com^ . The separator character can be anything but a letter, a digit, or one of the following: _ , - , . , % . The end of the address is also accepted as a separator.

In the following example, all separator characters are shown bolded in blue:

http: // example.com : 8000 / foo.bar ? a = 12 & b = %D1%82%D0%B5%D1%81%D1%82

This address can be blocked with the filters ^example.com^ or ^%D1%82%D0%B5%D1%81%D1%82^ or ^foo.bar^ .

Comments

Any rule that starts with an exclamation mark (!) is considered a comment. Adblock Plus ignores this rule for actual blocking, so it’s safe to write whatever you want in the comment. You can place a comment rule above a filter to describe its purpose or function, or you can place a comment above your filter list stating your authorship (most filter list authors do this).

Advanced features

Specifying filter options

Adblock Plus allows you to specify a number of options to modify the behavior of a filter. These options should be separated with a comma (,) after a dollar sign ($) at the end of the filter.

Example : /ads/*$script,match-case

Here, /ads/* is the actual filter, and script and match-case are its options. Currently, the following options are supported:

Type options

These determine which types of elements a filter can block (or whitelist in case of an exception rule). Multiple type options can be specified to indicate that the filter should be applied to several types of elements. Possible types include:

Inverse type options

These specify which requesttypes the filter should not be applied to. Possible inverse type options include ~script, ~image, ~stylesheet, ~object, ~xmlhttprequest, ~subdocument, ~ping, ~websocket, ~webrtc, ~document, ~elemhide, ~other

Restriction to third-party/first-party requests

If the third-party option is specified, the filter is only applied to requests from a different origin than the currently viewed page. Similarly, ~third-party restricts the filter to requests from the same origin as the currently viewed page.

Domain restrictions

The option domain=example.com means that the filter should only be applied on pages from the example.com domain. Multiple domains can be specified using | as the separator. For the option domain=example.com|example.net , the filter is only applied on pages from example.com or example.net domains. If a domain name is preceded with ~ , the filter should not be applied on pages from this domain. For example, domain=~example.com means that the filter should be applied on pages from any domain but example.com and domain=example.com|~foo.example.com restricts the filter to the example.com domain with the exception of foo.example.com subdomain.

Sitekey restrictions

The option sitekey=abcdsitekeydcba means that the filter should only be applied on pages that provide a public key and a signature that can be verified by that very same public key that is also contained in the filter (but without the trailing =). Multiple sitekeys can be specified using | as a separator. For example, the option sitekey=abcdsitekeydcba|bcdesitekeyedcb only allows the filter to be applied on pages providing either sitekey abcdsitekeydcba or bcdesitekeyedcb . This is similar to domain restrictions, but allows for scenarios where a single filter should apply to a very large number of domains. Note : Sitekey restrictions require .

Content Security Policies

The option csp=script-src: "none" causes a Content Security Policy header of script-src: "none" to be injected into HTTP responses for requested documents matching the filter (assuming that exception rules with the same option don"t also match and that the document isn’t whitelisted). The Content Security Policy script-src: "none" blocks all scripts, including inline, in the document. This filter option should generally be avoided, except as a last resort to counter advanced circumvention. (Adblock Plus 3.1 or higher is required.)

Redirecting requests to internal resources

The rewrite= option allows the rewriting of URLs (or redirecting requests) to an internal resource in order to deactivate it without causing an error. Indicate the internal resource by name and prefix abp-resource: in order to be recognized. For example $rewrite=abp-resource:blank-js sends an empty JavaScript. (Adblock Plus 3.5 or higher required.) Available internal resources are:

  • blank-text - empty text
  • blank-css - empty stylesheet
  • blank-js - empty JavaScript
  • blank-html - empty HTML document
  • blank-mp3 - a 0.1s silent MP3 audio file
  • 1x1-transparent-gif - 1x1 pixel transparent GIF image
  • 2x2-transparent-png - 2x2 pixels transparent PNG image
  • 3x2-transparent-png - 3x2 pixels transparent PNG image
  • 32x32-transparent-png - 32x32 pixels transparent PNG image

Any other value will make the filter have no effect and let the request pass through.

A few notes about using the rewrite option

Using regular expressions

Adblock Plus supports filters written in regular expressions (regex). For example, the filter /banner\d+/ matches banner123 and banner321 but not banners . We recommend checking out Mozilla’s documentation on regular expressions to learn how to write them.

Note : For performance reasons, we recommend avoiding regular expressions if possible.

Special comments

Special comments only have an effect in downloaded filter lists, not in custom filters. They can set a number of parameters for the filter list:

  • ! Homepage: http://example.com/ - This comment determines which webpage should be linked as filter list homepage.
  • ! Title: FooList - This comment sets a fixed title for the filter list. If this comment is present, the user is no longer able to change the title.
  • ! Expires: 5 days - This comment sets the update interval for the filter list. The value can be given in days (e.g. 5 days) or hours (e.g. 8 hours). Any value between 1 hour and 14 days is possible. Note that the update will not necessarily happen after this time interval. The actual update time is slightly randomized and depends on some additional factors to reduce server load.
  • ! Redirect: http://example.com/list.txt - This comment indicates that the filter list has moved to a new download address. Adblock Plus ignores any file content beyond that comment and immediately tries downloading from the new address. In case of success, the address of the filter list is updated in the settings. This comment is ignored if the new address is the same as the current address, meaning that it can be used to enforce the "canonical" address of the filter list.
  • ! Version: 1234 - This comment defines a numerical version of the filter list. This version number is displayed in issue reports and can be used to verify that the report refers to the current version of the filter list.

Element hiding

Basic rules

Unfortunately, there are some advertisements that can"t immediately be blocked. This is because they’re embedded as text in the webpage itself. If you look at the source code of the webpage, you might find something like this:

Cheapest tofu, only here and now!
Really cheap tofu, click here!
Only here you get the best tofu!

You’ll need to download the webpage in order to download the advertisements. After the webpage is downloaded, you can hide the advertisement(s) that you don’t want to see.

The example advertisement above is contained inside an element with the class attribute textad . The rule ##.textad hides any such element. Here ## marks an element hiding rule while the rest is a selector identifying the elements that need to be hidden. You can hide elements by their ID attribute (similarly, ###sponsorad hides the second advertisement) and by their name (e.g. ##textad for the third advertisement).

Limiting rules to certain domains

Typically, you may want to hide a specific ad on one site, but don"t want your rule to be applied to another site. For example, the rule ##.sponsor might hide valid code on some sites. But, if you write it as example.com##.sponsor , it will be applied on http://example.com/ and http://something.example.com/ , but not on http://example.org/ . You can also specify multiple domains by simply separating them with commas: domain1.example , domain2.example , domain3.example##.sponsor .

If a domain name is preceded with ~ , the rule is not applied on pages from this domain. For example, ~example.com##.sponsor is applied on pages from any domain, but "example.com" and example.com,~foo.example.com##.sponsor make the rule apply on the "example.com" domain with the exception of the "foo.example.com" subdomain.

Note : Because of how element hiding is implemented, you can limit it only to full domain names. You cannot use any other part of the address and you cannot use domain as a replacement for domain.example,domain.test .

Attribute selectors

Some advertisers don"t make it easy for you - their text advertisements have neither an ID nor a class attribute. You can use other attributes to hide those, for example ##table hides tables with a width attribute set to 80%. If you don"t want to specify the full value of the attribute, ##div hides all div elements with a title attribute containing the string "adv" . You can also check the beginning and the end of an attribute, for example ##div hides div elements with title starting with "adv" and ending with "ert" . As you see, you can also use multiple conditions - table matches tables with a width attribute set to 80% and bgcolor attribute set to white.

Advanced selectors

In general, any CSS selector supported by your browser can be used for element hiding. For example the following rule hides anything following a div element with class "adheader": ##.adheader + *. For a full list of CSS selectors, refer to W3C’s CSS selectors documentation . Please keep in mind that browsers are slower to process these types of selectors than selectors based on class or ID attribute only.

Note : This functionality is recommended for advanced users. You should be comfortable with CSS selectors to use it. Adblock Plus won’t accept your custom filter if you use an invalid CSS syntax.

Extended CSS selectors (Adblock Plus-specific)

Sometimes the standard CSS selectors aren"t powerful enough to hide an advertisement. For those cases, we’ve added some new selectors, namely:

  • :-abp-has()
  • :-abp-contains()
  • :-abp-properties() (Adblock Plus 1.13.3 or higher for Chrome and Opera is required.)

When writing an element hiding filter that makes use of these extended selectors, you must use the #?# csyntax, e.g. example.com#?#selector . It"s important to note, however, that doing so creates a performance impact, so do so sparingly and make sure those filters are specific to as few domains and elements as possible.

:-abp-has() The:-abp-has(selector) selector selects elements based on their content. For example, :-abp-has(> div > a.advertiser) selects elements that contain, as a direct descendant, a

that contains an with the class advertiser. The inner selector can be relative to the element scope and can use any pseudo-selectors, including:-abp-has() , to determine whether the selection will occur.

Note : The filter example.com#?#:-abp-has(.sponsored) hides all pages because the class is also contained somewhere in the . To avoid hiding all pages, simply add > or + .

Example : If you add the filter eyeo.com#?#:-abp-has(code) on https://help.eyeo.com/en/adblockplus/how-to-write-filters and hard refresh, everything is blocked. This is because the contains . To fix this, change the filter to eyeo.com#?#:-abp-has(> code) . After a hard refresh, only parent elements of are blocked.

:-abp-contains() The:-abp-contains(text) selector selects elements based on their text content. For example, div.sidebar > span:-abp-contains(Advertisement) selects the elements within a

, with a class of sidebar that contains the word "Advertisement". In practice, you"d want to combine this with a:-abp-has() to select the outer container (something like div.sidebar > div:-abp-has(span:-abp-contains(Advertisement)) to select the container that contains an advertisement label).

Example : If you add the filter eyeo.com#?#:-abp-contains(filters) on https://help.eyeo.com/en/adblockplus/how-to-write-filters and hard refresh, nothing changes. If you change the filter to eyeo.com#?#div:-abp-contains(filters) and hard refresh, div.outer (which contains the middle section of the page) is blocked because somewhere within the is the word "filters". To fix this, change the filter to eyeo.com#?#.article-heading:-abp-contains(filters) . After a hard refresh, only the headings of each article are hidden.

:-abp-properties() The:-abp-properties(properties) selector selects elements based on stylesheet properties. For example, :-abp-properties(width:300px;height:250px;) selects elements that have a corresponding CSS rule in a stylesheet which sets the width and height to the values 300px and 250px, respectively. Property names are matched case-insensitively. Furthermore, wildcards can be used so that:-abp-properties(width:*px;height:250px;) matches any width specified in pixels and a height of 250 pixels.

Example : If you add the filter ##aside.info on https://help.eyeo.com/en/adblockplus/how-to-write-filters, eyeo.com#@#aside will not whitelist anything. If you add the filter ##aside , eyeo.com#@#aside.info will not whitelist anything. The filters must be exactly the same, i.e. eyeo.com#@#aside.info .

Generic / Specific filters

With the $generichide and $genericblock filter options, the distinction between generic and specific filters becomes important.

We classify a filter to be specific if it matches one or more domains, or matches a sitekey. If a filter has no domains specified (or only domain exceptions) and no sitekey, it then counts as generic . For example, example.com##.textad is a specific filter, whereas both ##.textad and ~example.com##.textad are generic.

Note that when working with blocking rules the domain must be specified under the $domain option for them to be considered specific. For example, ||example.com^ is considered generic whereas /ads/*$domain=example.com is site-specific.

Implementing a sitekey on the server

To apply a , a webpage needs to return base64-encoded versions of the public key and a signature that Adblock Plus can validate. Currently, this means including them in both the HTTP response header (X-Adblock-Key: abcdpublickeydcba_abcdsignaturedcba) and the root tag of the document ().

You must create a private RSA key (preferably 512 bit to keep the transfer volume low) and then a DER representation of the public key. The data used for creating the signature is a concatenated list of request variables (namely URI, host, and user agent) separated by the NUL character "\0". For example, /index.html?q=foo\0www.example.com\0Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0 .

To generate the signature for this string, use the signature algorithm SEC_OID_ISO_SHA_WITH_RSA_SIGNATURE (default when using OpenSSL).

Похожие статьи