The OpenNET Project / Index page

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

Блокировка рекламы и вредоносных сайтов через /etc/hosts
Проект github.com/StevenBlack/hosts предлагает простой подход для блокировки
рекламы и вредоносных сайтов, не требующий установки дополнений и работающий в
любых операционных системах и браузерах. Суть метода в размещении черного
списка с доменами рекламных сетей в файле /etc/hosts. При попытке загрузки
рекламного блока имя связанного с ним домена резолвится в несуществующий адрес
0.0.0.0 и реклама не отображается из-за недоступности сервера.

Адрес 0.0.0.0 используется вместо обычно практикуемого 127.0.0.1 так как
попытка соединения с ним сразу возвращает ошибку без ожидании истечения
таймаута. В настоящее время в БД находится более 27 тысяч записей, составленных
на основе популярных публичных списков блокировки, в том числе  adaway.org, mvps.org,
malwaredomains.com, someonewhocares.org и yoyo.org. При этом
разработчики пытаются добиться разумного компромисса, избежать ложных
срабатываний и слишком большого разрастания базы (например, похожий список
http://hosts-file.net содержит более 300 тысяч записей).

Список постоянно обновляется, поэтому для поддержания /etc/hosts в актуальном
состоянии предлагается специальный скрипт updateHostsFile.py, который можно
прописать в crontab, а можно время от времени запускать вручную.

После обновления /etc/hosts следует перезапустить службу резолвинга:

Debian/Ubuntu 
   
   sudo /etc/rc.d/init.d/nscd restart

Fedora Linux, Arch Linux, Manjaro:

   sudo systemctl restart NetworkManager.service

Другие Linux с systemd: 

   sudo systemctl restart network.service

OS X:

   sudo dscacheutil -flushcache
   sudo killall -HUP mDNSResponder

Windows:

   ipconfig /flushdns
 
12.02.2016
Ключи: hosts, block, adblock, malware / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Шифрование, PGP

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, dlanter (ok), 00:19, 13/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хмм, ...
     
  • 1.2, Сомнение (?), 06:49, 13/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А службы резолвинга то зачем перезапускать? (Молчу о том как это предлагается сделать, ужс)
     
     
  • 2.6, Аноним (-), 18:21, 13/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы кэш почистить.
     
     
  • 3.7, Сомнение (?), 19:58, 13/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    IMHO hosts должен обрабатываться первым. Допускаю, что браузер может так не думать и использовать какой-то свой кэш, но тогда его и надо перезапускать.
     
     
  • 4.19, Snaut (ok), 10:25, 16/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > IMHO hosts должен обрабатываться первым. Допускаю, что браузер может так не думать
    > и использовать какой-то свой кэш, но тогда его и надо перезапускать.

    Все верно. После изменения hosts необходимо перезапускать браузер

     
  • 2.20, Andrey Mitrofanov (?), 10:47, 16/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А службы резолвинга то зачем перезапускать? (Молчу о том как это предлагается сделать, ужс)

    У вас плохо http://stackoverflow.com/a/11716345 получается молчание. Пытайтесь ещё.

    Вы испугались всего лишь "покрытия" автором статьи множества возможных вариантов конфигураций систем читателей.  Спокойнее, Владимир!  Вы не понимаете - это неприятно, но излечимо.

     

  • 1.3, i_stas (ok), 13:36, 13/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    оооо!!!  как это мило

    0.0.0.0 localhost.localdomain

     
     
  • 2.12, gogo (?), 13:43, 14/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    а в чем проблема-то? это не стандартное имя
     

  • 1.5, _KUL (ok), 16:12, 13/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А если сделать блочное устройство по типу как /dev/urandom, файлик hosts удалить, вместо него оставить символическую ссылку на /dev/hosts. А уже программно обрабатывать stdin и stdout обращения и выдавать результат основываясь на данных из какой-нибудь локальной или удалённой БД. Было бы круто.
     
     
  • 2.13, Аноним (-), 15:57, 14/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    fuse вам в помощь
     
  • 2.26, 07414 (?), 12:08, 22/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    nsswitch.conf
     

  • 1.8, Georges (ok), 20:36, 13/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то напоминает... не проще сделать DNS сервер, который будет для некоторых доменов выдавать 0.0.0.0 ?
     
     
  • 2.16, sergeyb (ok), 01:06, 15/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    adsuck?
     

  • 1.9, Andrey Mitrofanov (?), 20:51, 13/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Проект [[https://github.com/StevenBlack/hosts github.com/StevenBlack/hosts]] предлагает
    > простой подход для блокировки рекламы и вредоносных сайтов, не требующий установки
    > дополнений и работающий в любых операционных системах и браузерах. Суть метода
    > в размещении черного списка с доменами рекламных сетей в файле /etc/hosts.
    > В настоящее время в БД находится более 27 тысяч записей, составленных на основе популярных публичных списков блокировки, в том числе


    > http://pgl.yoyo.org/adservers/

    Гм, как раз сегодня использовал этот список. Добавлял очередные регекспы с рекламой в squid. Поискал, как SSL-помойки блокировать, нашёл https://sfxpt.wordpress.com/2011/02/21/the-best-ad-blocking-method/ с настройками dnsmasq и ссылкой на pgl.yoyo.org/adservers.

    Для моего локального dnsmasq хватило 2ух команд, всё остальное уже было "как надо":

    # wget -O /etc/dnsmasq.d/block.ads.list 'http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsmasq&s
    howintro=0&mimetype=plaintext'
    # service dnsmasq restart

    Я не заморачивался и долго не ковырялся, использовал "как есть".

    Этот список можно получить и в других форматах (hosts, bind и т.п.).

    >>в БД находится более 27 тысяч записей,
    >добиться разумного компромисса, избежать ложных срабатываний и слишком большого разрастания базы (например, похожий список http://hosts-file.net содержит более 300 записей).

    Список для dnsmasq с записями вида
         address=/google-analytics.com/127.0.0.1
    "накрывает" и все поддомены (не знаю, как с этим у hosts). Сегодня в нём 2439 строки.

     
     
  • 2.10, Аноним (-), 03:16, 14/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А какой подход более производительный? Hosts или dnsmasq?
     
     
  • 3.11, Andrey Mitrofanov (?), 12:23, 14/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А какой подход более производительный? Hosts или dnsmasq?

    Наверное, если бы мне надо было отдавать тыщу мильярдов резаных запросов в секунду, я бы не поставил себе первое и самое простое из того, что заработало у меня, провёл бы анализ, сравнение "существующих технологий"ТМ, погонял тесты -- кто ж из претендентов "более производительный".  Но мне не надо  --  я не знаю, кто из них "более".

     

  • 1.14, Алексей (??), 22:31, 14/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто хочет скрестить ужа с ежом: можно гит клон, а потом в DNSMasq добавить через addn-hosts=
     
  • 1.15, DmA (??), 22:53, 14/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ещё можно использовать блокировку целых подсетей с непонятным содержанием через направления роутинга этих сетей за левый шлюз. Например смотрим на каком ip у нас сидит "Вулкан удачи", через whois  выясняем какая подсеть числится за этой компанией и направлением роутинг этой подсети на соседний ipшник , который свободен. Типа route -p add  104.16.75.40 mask 255.255.255.0 192.168.1.13  и досвидания галимын антимашки этих вулканов. Периодически сохранять эту таблицу роутингов,чтобы потом использовать в случае переустановки, да и всё. А ещё лучше не сипользовать шлюз по умолчанию на своём компьютере, а прописать все сети по котором ходишь (их не так уж много) в эту таблицу роутинга и тогда точно вероятность заражения вирусами и атаками из интернета снизится в миллионы раз!
     
     
  • 2.17, nikosd (ok), 12:59, 15/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Если   отключить  все  сетки https://www.cloudflare.com , а еще   акамай  и  google, то интернет просто превратится в удачную номепаге.
    И если  мне  не изменяет склероз
    route -p add  104.16.75.40 mask 255.255.255.0 192.168.1.13 -  как то виндово и не верно .
    правильней  бы  писать  адрес сети 104.16.75.0
    ну  и кроме   того,  даже  в винде  можно  отправить роут в null, а не рисковать что  сработает next hub
     
     
  • 3.18, неведомая фигня (?), 18:08, 15/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    next hub = next hop
     
     
  • 4.24, nikosd (ok), 00:57, 18/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > next hub = next hop

    угу, виноват. но смысл остался:)

     
  • 3.22, DmA (??), 13:01, 17/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    виндово, но верно!
    Пример, который выводит команда route в Винде
    route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
            узел^      ^маска      ^шлюз     метрика^    ^
                                                        интерфейс^
    Метрика не обязательна. Поэтому мой вариант верен!
    Тут же не только сидят пользователи, но и админы,в том числе и админы Windows! Поэтому  и написал виндовый вариант!
     
     
  • 4.23, nikosd (ok), 00:57, 18/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >   ^маска      ^шлюз  
    >   метрика^    ^
    >            
    >            
    >            
    >            
    >        интерфейс^
    > Метрика не обязательна. Поэтому мой вариант верен!
    > Тут же не только сидят пользователи, но и админы,в том числе и
    > админы Windows! Поэтому  и написал виндовый вариант!

    прошу  заметить что в команде  именно адрес сети, а не один из ее хостов ( ставить винду чтобы  проверить  а кушает ли они вместо сети один их IP  диапазона - лень,  я недавно снес win10 c компа, когда победил работу с NEF2 файлами в darktable).


     

  • 1.21, Аноним (-), 18:46, 16/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Про netctl и другие etcnet автор не слышал?
     
  • 1.25, Аноним (-), 02:10, 21/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опять IPv6 забыли добавить в "простое решение" (в https://github.com/StevenBlack/hosts/issues/47 предлагается удвоить этот список для шестой версии).
     
  • 1.27, Аноним (-), 10:23, 24/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >При попытке загрузки

    рекламного блока имя связанного с ним домена резолвится в несуществующий адрес
    0.0.0.0 и реклама не отображается из-за недоступности сервера.

    Дальше не читал.

     
  • 1.28, gogo (?), 03:21, 25/02/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лажа какая-то...
    Что в этом списке, что в упомянутом в комментариях выше http://pgl.yoyo.org/adservers/, многие домены упомянуть просто как domain.com, без субдоменов и без www.
    Соответственно, в hosts это не работает и смысла не имеет никакого, т.к. большинство рекламного контента идет таки с поддоменов.
     
     
  • 2.29, Andrey Mitrofanov (?), 10:58, 25/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Я писал, что в dnsmasq всё дерево накрывается Сейчас проверил hosts и его у... большой текст свёрнут, показать
     
     
  • 3.30, gogo (?), 19:31, 25/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    О чем ты, дорогой? Причем здесь dnsmasq и нули?

    Заголовок статьи видел? Там именно про /etc/hosts говорится.

    Этот список не работает через /etc/hosts в принципе.

     
     
  • 4.31, Andrey Mitrofanov (?), 07:50, 26/02/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > О чем ты, дорогой? Причем здесь dnsmasq и нули?

    *>>>> Что в этом списке, что в упомянутом в комментариях выше http://pgl.yoyo.org/adservers/
    *>> Я писал, что в dnsmasq всё дерево "накрывается".

    Ну, ты ж про мой комментарий помянул? Я там писал про dnsmasq.

    Не заметил?

    > Этот список не работает через /etc/hosts в принципе.

    Дарахой, я вполне с тобой согласен:

    *>>проверил: hosts [,,,] не "накрывает"

    Извини, что так непонятно и длинно _согласился_.   Я ж не знал!!1111!!!!!!111

     

  • 1.32, DmA (??), 22:11, 01/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    для тора всё равно работать не будет, так как он использует днс серверы в тор-сети
     
  • 1.33, DmA (??), 07:57, 06/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неплохо бы файл этот большой файл hosts загнать в unbound как приблизительно прописано здесь http://forum.zyxmon.org/topic848-unbound-rekursivnyi-rezolver-adblock.html
     
  • 1.34, DmA (??), 08:32, 06/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://github.com/jodrell/unbound-block-hosts
     


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




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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