• Главная
  • Карта сайта
Не найдено

Боремося з рекламою в браузері і Skype за допомогою Mikrotik - asp24.ru

  1. налаштовуємо MikroTik
  2. Конвертуємо файл хостів
  3. Імпортуємо в MikroTik
  4. Автоматизація
  5. бонус

Набридла нав'язлива реклама в Skype? Для власників Mikrotik є зручний трюк, за допомогою якого можна відключити рекламу в Skype відразу на всіх ваших пристроях. І все пара рядків :)

/ Ip firewall address- list add address = rad.msn.com list = ads_skype add address = apps.skype.com list = ads_skype / ip firewall filter add action = reject chain = forward comment = "DROP Skype ADS" dst-address- list = ads_skype log = no reject-with = icmp-network-unreachable

Не забудьте підняти забороняє правило вище дозволяють. Після перезапуску Skype, реклама більше вас не потривожить. З мінусів слід зазначити той факт, що "головна сторінка" Skype стане недоступною.

У деяких реклама при цьому не відключається. У такому випадку потрібно досвідченим шляхом підібрати один з наступних доменів, з яких може здійснюватися подгрузка рекламного контента.

add address = adriver.ru list = ads_skype add address = api.skype.com list = ads_skype add address = static .skypeassets.com list = ads_skype add address = devads.skypeassets.net list = ads_skype add address = devapps.skype.net list = ads_skype add address = qawww.skypeassets.net list = ads_skype add address = qaapi.skype.net list = ads_skype add address = preads.skypeassets.net list = ads_skype add address = preapps.skype.net list = ads_skype add address = ads1.msads.net list = ads_skype add address = flex.msn.com list = ads_skype

Чистимо інтернет від настирливої ​​реклами (AD Blocker для MikroTik)

Набридла нав'язлива реклама в Skype

Переадресовуючи клієнта при запиті «рекламного» домену, наприклад, на loopback (127.0.0.1 - 127.255.255.255), замість котента реклами клієнт отримає благодатний «нічого» (зрозуміло, за умови, що у нас не працює локальний веб-сервер який слухає локалхост ). Механізм фільтрації досить старий і не позбавлений недоліків. Наприклад, не можна вказати маски хостів (* .ad-domain.tld) ​​або «вирізати» рекламу, банери якої хостятся на запитуваних ресурсах. Але зате не прив'язаний до якогось або протоколу і досить простий в експлуатації. Більш того, якщо його використовувати, наприклад, на домашньому або офісному маршрутизаторі, який використовується в якості DNS сервера, реклама успішно поріжеться на всіх гаджетах, де IP нашої залізяки прописаний першим в якості DNS сервера.

Але що якщо у нас замість роутера з кастомной прошивкою використовується ... MikroTik (RouterOS), функціонал якого накладає деякі обмеження? Під катом ви дізнаєтеся яким чином вдалося успішно "конвертувати" файл хостів в придатний для нього формат, як автоматизувати цю справу і що для хабралюдей як бонус був створений невеликий сервіс якраз для автоматизації цього процесу (маленький, абсолютно безкоштовний і з відкритим кодом) .

налаштовуємо MikroTik

Налаштування самої залізяки навряд чи викличе будь-які труднощі. Зазначимо IP маршрутизатора в якості першого DNS сервера в DHCP - «IP» → «DHCP Server» → «Networks» →% default config%. Першим прописуємо IP самого MikroTik-а, натискаємо «OK»:

Першим прописуємо IP самого MikroTik-а, натискаємо «OK»:

DNS сервер працює «з коробки», і можна навіть не міняти його стокові настройки:

DNS сервер працює «з коробки», і можна навіть не міняти його стокові настройки:

Єдина цікава для нас кнопка - «Static» ( «Статичні маршрути»), в яких ми повинні прописати «рекламні» домени, вказавши куди такі запити перенаправляти.

Конвертуємо файл хостів

Файл хостів має формат:

127.0.0.1 localhost 127.0.0.1 domain-a.tld 127.0.0.1 domain-b.tld

Формат скрипта для MikroTik, який використовує статичні DNS маршрути:

/ Ip dns static add address = 127.0.0.1 name = localhost add address = 127.0.0.1 name = domain-a.tld add address = 127.0.0.1 name = domain-b.tld

Для отримання актуальних списків першого і перетворення їх в другій ми виконаємо прості команди в короби на, наприклад, робочому столі (bash):

  1. Викачуємо списки і акуратно складаємо їх під іменами ./hosts_list.1, ./hosts_list.2 і т.д .:
    $ Src = ( 'http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext' 'https://adaway.org/hosts.txt'); i = 0; for file in $ {src [*]}; do i = $ ((i + 1)); wget --no-check-certificate -O "./hosts_list. $ i" "$ file"; done;
  2. Грепан все що починається на '127.0.0.1', видаляємо коменти, залишаємо тільки імена доменів, прибираємо дублікати, прибираємо порожні рядки і оформляємо кожен домен у вигляді команди для імпорту:
    $ In = "./ hosts_list. *" && out = "./adblock_dns.rsc" && host = '127.0.0.1'; echo "/ ip dns static"> $ out && grep '127.0.0.1' $ in | grep -v '^ #' | cut -d '' -f 2 | sort -u | grep. | sed "s / ^ / add address = $ host name = /" >> $ out && rm -f $ in; wc -l $ out;
    Так, треба б використовувати регулярку і взагалі все переробити, але найголовніше - я передав тобі свою думку, далі справа за тобою

На виході у нас вийде файл adblock_dns.rsc, який не зайвим буде додатково перевірити на коректність вмісту.

Імпортуємо в MikroTik

  1. Викачуємо списки і акуратно складаємо їх під іменами ./hosts_list.1, ./hosts_list.2 і т.д .:
    $ Src = ( 'http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext' 'https://adaway.org/hosts.txt'); i = 0; for file in $ {src [*]}; do i = $ ((i + 1)); wget --no-check-certificate -O "./hosts_list. $ i" "$ file"; done;
  2. Грепан все що починається на '127.0.0.1', видаляємо коменти, залишаємо тільки імена доменів, прибираємо дублікати, прибираємо порожні рядки і оформляємо кожен домен у вигляді команди для імпорту:
    $ In = "./ hosts_list. *" && out = "./adblock_dns.rsc" && host = '127.0.0.1'; echo "/ ip dns static"> $ out && grep '127.0.0.1' $ in | grep -v '^ #' | cut -d '' -f 2 | sort -u | grep. | sed "s / ^ / add address = $ host name = /" >> $ out && rm -f $ in; wc -l $ out;
    Так, треба б використовувати регулярку і взагалі все переробити, але найголовніше - я передав тобі свою думку, далі справа за тобою

Імпортуємо в MikroTik

Для того, щоб імпортувати отриманий файл, ми чіпляємося до маршрутизатора по ftp, заливаємо adblock_dns.rsc, після чого чіпляємося за ssh або відкриваємо термінал, в якому виконуємо:

  1. Робимо резервну копію (отриманий бекап краще зберегти у себе на машині):
  2. Якщо у тебе в таблиці немає важливих маршрутів, то можемо грохнути всі наявні записи:
    / Ip dns static remove [/ ip dns static find]
  3. Імпортуємо долучення:
  4. Прибираємо за собою:
    / File remove adblock_dns.rsc

Тепер можеш (опціонально) перезавантажити MikroTik, перевірити коректність отримання адрес DNS серверів по DHCP і спробувати відкрити будь-якої ресурс, який раніше був затоплений рекламою - її має стати відчутно менше.

Емпірично доведено що при імпортуванні ~ 5500 записів Mikrotik hAP lite (650MHz @ RAM 32 Mb) встає майже колом при спробі в GUI відкрити таблицю статичних маршрутів.перезавантаження допомагає

Автоматизація

Один з найпростіших варіантів автоматизації - скрипт на баші, який по крону підтримує в актуальному стані adblock_dns.rsc, що знаходиться у відкритому доступі по, скажімо, ftp. Його основа була вже описана вище, залишилося тільки оформити його на твою розсуд (необхідна окрема машина).

Ще один варіант - це використання MetaRouter на самому або сусідньому MikroTik-е, на якому встановлений той же OpenWRT (позбавляємося від необхідності в окремій машині; цей варіант не розписаний детально через брак гідного MikroTik-а під руками).

Другий скрипт (на MikroTik) забирає його (adblock_dns.rsc), робить бекап і, якщо і файл Завантажити успішно, і бекап зберігся успішно, його імпортує, попередньо (увага) грюкнувши всі наявні маршрути:

: Local hostScriptUrl "ftp: // user: login @ ftp_host: 21 / adblock_dns.rsc"; : Local scriptName "adblock_dns.rsc"; : Local backupFileName "before_stopad"; : Local log Prefix "[StopAD]"; do {/ tool fetch mode = ftp url = $ hostScriptUrl dst-path = ( "./". $ scriptName); : If ([: len [/ file find name = $ scriptName]]> 0) do = {/ system backup save name = $ backupFileName; : Delay 1s; : If ([: len [/ file find name = ($ backupFileName. ". Backup")]]> 0) do = {/ ip dns static remove [/ ip dns static find]; / Import file-name = $ scriptName; / File remove $ scriptName; : Log info "$ logPrefix AD block script imported, backup file (\" $ backupFileName .backup \ ") created"; } Else = {: log warning "$ logPrefix Backup file not created, importing AD block script stopped"; }} Else = {: log warning "$ logPrefix Backup file not downloaded, script stopped"; }} On-error = {: log warning "$ logPrefix AD block script download FAILED"; };

бонус

А що робити, якщо у тебе вдома / офісі / гаражі стоїть MikroTik і хочеться або просто порізати рекламу, або автоматизувати оновлення хостів, не піднімаючи ніякі метароутери і хости з файлами по ftp, от щоб просто і без проблем?
Правильно, потрібно щоб це підняв хто то за тебе. І як бонус - така штука вже піднята.

Сенс полягає в наступному - тобі достатньо перейти на потрібну сторінку, вказати свої настройки і отримати URL, за яким буде доступний скрипт з зазначеними тобою настройками. Там же буде надано і исходник готового скрипта для тебе. Можливості, які реалізовані на даний момент:

  • Вибір зі списку публічних файлів-хостів (спасибі AdAway для Android);
  • Хочеться зазначити свої джерела? Без проблем! (Можна, наприклад, вказати три публічних хост-файлу і два своїх, розташованих на тому-ж gist.github.com , Отримавши таким чином задоволене зручний засіб управління статичними маршрутами на підопічних маршрутизаторах);
  • Настроюється адреса (IP v4) перенаправлення;
  • Вказівка обмеження (ліміту) кількості записів в підсумковому скрипті (для того щоб «випадково» не покласти «слабку» залізяку);
  • Вказівка своїх маршрутів (будуть просто додані першими в генерований скрипт);
  • Можливість вказівки виключень - потрібні домени ніколи не будуть «заблоковані»;
  • Досить зручна генерація готового скрипта для MikroTik;

Парсер написаний на PHP (зажадає php5-curl), ліцензія MIT, вихідні коди доступні за посиланням mikrotik-hosts-parser. Скільки сервіс проживе - не беруся загадувати, але сподіваюся що досить довго.

ссилочку:

Адреса: stopad.cgood.ru
Резервна майданчик: stopad.kplus.pro

матеріали: один і два

Php?
Php?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью