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

Исходное сообщение
"Раздел полезных советов: Блокировка рекламы и вредоносных са..."

Отправлено auto_tips , 13-Фев-16 00:19 
Проект [[https://github.com/StevenBlack/hosts github.com/StevenBlack/hosts]] предлагает простой подход для блокировки рекламы и вредоносных сайтов, не требующий установки дополнений и работающий в любых операционных системах и браузерах. Суть метода в размещении черного списка с доменами рекламных сетей в файле /etc/hosts. При попытке загрузки рекламного блока имя связанного с ним домена резолвится в несуществующий адрес 0.0.0.0 и реклама не отображается из-за недоступности сервера.

Адрес 0.0.0.0 используется вместо обычно практикуемого 127.0.0.1 так как попытка соединения с ним сразу возвращает ошибку без ожидании истечения таймаута. В настоящее время в БД находится более 27 тысяч записей, составленных на основе популярных публичных списков блокировки, в том числе  [[http://adaway.org/hosts.txt adaway.org]], [[http://winhelp2002.mvps.org/hosts.htm mvps.org]],
[[http://www.malwaredomainlist.com/ malwaredomains.com]], [[http://someonewhocares.org/hosts/ someonewhocares.org]] и [[http://pgl.yoyo.org/adservers/ 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


URL:
Обсуждается: http://www.opennet.me/tips/info/2938.shtml


Содержание

Сообщения в этом обсуждении
"Блокировка рекламы через /etc/hosts"
Отправлено dlanter , 13-Фев-16 00:19 
хмм, ...

"Блокировка рекламы через /etc/hosts"
Отправлено Сомнение , 13-Фев-16 06:49 
А службы резолвинга то зачем перезапускать? (Молчу о том как это предлагается сделать, ужс)

"Блокировка рекламы через /etc/hosts"
Отправлено Аноним , 13-Фев-16 18:21 
Чтобы кэш почистить.

"Блокировка рекламы через /etc/hosts"
Отправлено Сомнение , 13-Фев-16 19:58 
IMHO hosts должен обрабатываться первым. Допускаю, что браузер может так не думать и использовать какой-то свой кэш, но тогда его и надо перезапускать.

"Блокировка рекламы через /etc/hosts"
Отправлено Snaut , 16-Фев-16 10:25 
> IMHO hosts должен обрабатываться первым. Допускаю, что браузер может так не думать
> и использовать какой-то свой кэш, но тогда его и надо перезапускать.

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


"Блокировка рекламы через /etc/hosts"
Отправлено Andrey Mitrofanov , 16-Фев-16 10:47 
> А службы резолвинга то зачем перезапускать? (Молчу о том как это предлагается сделать, ужс)

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

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


"Блокировка рекламы через /etc/hosts"
Отправлено i_stas , 13-Фев-16 13:36 
оооо!!!  как это мило

0.0.0.0 localhost.localdomain


"Блокировка рекламы через /etc/hosts"
Отправлено gogo , 14-Фев-16 13:43 
а в чем проблема-то? это не стандартное имя

"Блокировка рекламы через /etc/hosts"
Отправлено _KUL , 13-Фев-16 16:12 
А если сделать блочное устройство по типу как /dev/urandom, файлик hosts удалить, вместо него оставить символическую ссылку на /dev/hosts. А уже программно обрабатывать stdin и stdout обращения и выдавать результат основываясь на данных из какой-нибудь локальной или удалённой БД. Было бы круто.

"Блокировка рекламы через /etc/hosts"
Отправлено Аноним , 14-Фев-16 15:57 
fuse вам в помощь

"Блокировка рекламы через /etc/hosts"
Отправлено 07414 , 22-Фев-16 12:08 
nsswitch.conf

"Блокировка рекламы через /etc/hosts"
Отправлено Georges , 13-Фев-16 20:36 
Что-то напоминает... не проще сделать DNS сервер, который будет для некоторых доменов выдавать 0.0.0.0 ?

"Блокировка рекламы через /etc/hosts"
Отправлено sergeyb , 15-Фев-16 01:06 
adsuck?

"Раздел полезных советов: Блокировка рекламы и вредоносных са..."
Отправлено Andrey Mitrofanov , 13-Фев-16 20:51 
> Проект [[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-.../ с настройками dnsmasq и ссылкой на pgl.yoyo.org/adservers.

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

# wget -O /etc/dnsmasq.d/block.ads.list 'http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsm...
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 строки.


"Раздел полезных советов: Блокировка рекламы и вредоносных са..."
Отправлено Аноним , 14-Фев-16 03:16 
А какой подход более производительный? Hosts или dnsmasq?

"Раздел полезных советов: Блокировка рекламы и вредоносных са..."
Отправлено Andrey Mitrofanov , 14-Фев-16 12:23 
> А какой подход более производительный? Hosts или dnsmasq?

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


"Блокировка рекламы через /etc/hosts"
Отправлено Алексей , 14-Фев-16 22:31 
Кто хочет скрестить ужа с ежом: можно гит клон, а потом в DNSMasq добавить через addn-hosts=

"Блокировка рекламы через /etc/hosts"
Отправлено DmA , 14-Фев-16 22:53 
ещё можно использовать блокировку целых подсетей с непонятным содержанием через направления роутинга этих сетей за левый шлюз. Например смотрим на каком ip у нас сидит "Вулкан удачи", через whois  выясняем какая подсеть числится за этой компанией и направлением роутинг этой подсети на соседний ipшник , который свободен. Типа route -p add  104.16.75.40 mask 255.255.255.0 192.168.1.13  и досвидания галимын антимашки этих вулканов. Периодически сохранять эту таблицу роутингов,чтобы потом использовать в случае переустановки, да и всё. А ещё лучше не сипользовать шлюз по умолчанию на своём компьютере, а прописать все сети по котором ходишь (их не так уж много) в эту таблицу роутинга и тогда точно вероятность заражения вирусами и атаками из интернета снизится в миллионы раз!

"Блокировка рекламы через /etc/hosts"
Отправлено nikosd , 15-Фев-16 12:59 
Если   отключить  все  сетки 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

"Блокировка рекламы через /etc/hosts"
Отправлено неведомая фигня , 15-Фев-16 18:08 
next hub = next hop

"Блокировка рекламы через /etc/hosts"
Отправлено nikosd , 18-Фев-16 00:57 
> next hub = next hop

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


"Блокировка рекламы через /etc/hosts"
Отправлено DmA , 17-Фев-16 13:01 
виндово, но верно!
Пример, который выводит команда route в Винде
route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
        узел^      ^маска      ^шлюз     метрика^    ^
                                                    интерфейс^
Метрика не обязательна. Поэтому мой вариант верен!
Тут же не только сидят пользователи, но и админы,в том числе и админы Windows! Поэтому  и написал виндовый вариант!

"Блокировка рекламы через /etc/hosts"
Отправлено nikosd , 18-Фев-16 00:57 
>[оверквотинг удален]
>   ^маска      ^шлюз  
>   метрика^    ^
>            
>            
>            
>            
>        интерфейс^
> Метрика не обязательна. Поэтому мой вариант верен!
> Тут же не только сидят пользователи, но и админы,в том числе и
> админы Windows! Поэтому  и написал виндовый вариант!

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



"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено Аноним , 16-Фев-16 18:46 
Про netctl и другие etcnet автор не слышал?

" "
Отправлено Аноним , 21-Фев-16 02:10 
Опять IPv6 забыли добавить в "простое решение" (в https://github.com/StevenBlack/hosts/issues/47 предлагается удвоить этот список для шестой версии).

"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено Аноним , 24-Фев-16 10:23 
>При попытке загрузки

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

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


"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено gogo , 25-Фев-16 03:21 
Лажа какая-то...
Что в этом списке, что в упомянутом в комментариях выше http://pgl.yoyo.org/adservers/, многие домены упомянуть просто как domain.com, без субдоменов и без www.
Соответственно, в hosts это не работает и смысла не имеет никакого, т.к. большинство рекламного контента идет таки с поддоменов.

"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено Andrey Mitrofanov , 25-Фев-16 10:58 
> Лажа какая-то...
> Что в этом списке, что в упомянутом в комментариях выше http://pgl.yoyo.org/adservers/,
> многие домены упомянуть просто как domain.com, без субдоменов и без www.
> Соответственно, в hosts это не работает и смысла не имеет никакого, т.к.
> большинство рекламного контента идет таки с поддоменов.

Я писал, что в dnsmasq всё дерево "накрывается". Сейчас проверил: hosts (и его у меня dnsmasq читает) не "накрывает";  <<правильный>> адрес из 4 нулей в dnsmasq работатет.

=== Протокол:

До теста:

$ host blacklist.localdomain.com
blacklist.localdomain.com has address 98.124.199.21

+++
Тест№1: "0.0.0.0 blacklist.localdomain.com" в /etc/hosts.

$ host blacklist.localdomain.com
blacklist.localdomain.com has address 0.0.0.0
$ host -t NS blacklist.localdomain.com
blacklist.localdomain.com has no NS record
$ host -t NS localdomain.com
localdomain.com name server dns4.name-services.com.
localdomain.com name server dns5.name-services.com.
localdomain.com name server dns1.name-services.com.
localdomain.com name server dns2.name-services.com.
localdomain.com name server dns3.name-services.com.
$ host -t NS x.x.x.blacklist.localdomain.com
x.x.x.blacklist.localdomain.com has no NS record
$ time host -t NS x.x.x.blacklist.localdomain.com
x.x.x.blacklist.localdomain.com has no NS record

real    0m0.013s
user    0m0.008s
sys     0m0.000s
$ time host x.x.x.blacklist.localdomain.com
x.x.x.blacklist.localdomain.com has address 98.124.199.21

real    0m0.451s
user    0m0.008s
sys     0m0.000s
$ _


+++
Тест№2: "address=/localdomain.com/0.0.0.0" в dnsmasq.

$ host blacklist.localdomain.com
blacklist.localdomain.com has address 0.0.0.0
$ host -t NS blacklist.localdomain.com
blacklist.localdomain.com has no NS record
$ host -t NS localdomain.com
localdomain.com has no NS record
$ time host -t NS x.x.x.blacklist.localdomain.com
x.x.x.blacklist.localdomain.com has no NS record

real    0m0.012s
user    0m0.008s
sys     0m0.000s
$ time host x.x.x.blacklist.localdomain.com
x.x.x.blacklist.localdomain.com has address 0.0.0.0

real    0m0.012s
user    0m0.008s
sys     0m0.000s
$ _

PS: 2Maxim Chirkov: Таг [CUT/] (читайте под катом...[+]) || [SPOILER]+[/SPOILER] || [+]...[/+] для сворачивания части/хвоста длинного комментария? Ну не класть же логи %) вторым комментарием в ответ на первый, в самомм деле?


"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено gogo , 25-Фев-16 19:31 
О чем ты, дорогой? Причем здесь dnsmasq и нули?

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

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


"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено Andrey Mitrofanov , 26-Фев-16 07:50 
> О чем ты, дорогой? Причем здесь dnsmasq и нули?

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

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

Не заметил?

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

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

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

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


"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено DmA , 01-Мрт-16 22:11 
для тора всё равно работать не будет, так как он использует днс серверы в тор-сети

"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено DmA , 06-Мрт-16 07:57 
Неплохо бы файл этот большой файл hosts загнать в unbound как приблизительно прописано здесь http://forum.zyxmon.org/topic848-unbound-rekursivnyi-rezolve...

"Блокировка рекламы и вредоносных сайтов через /etc/hosts"
Отправлено DmA , 06-Мрт-16 08:32 
https://github.com/jodrell/unbound-block-hosts