неділю, 2 жовтня 2016 р.

ADB знищую нав'язливу рекламу

Джерело Adb (звичайний переклад для себе)

Встановлення

На маршрутизаторі прошивка OpenWRT .
Виникло бажання позбутися реклами, перекрити джерело її надходження. В переглядачах Інтернет, все просто поставили додатокADB і на тому все, — прощавай реклама. З мобільними пристроями на Android дещо складніша ситуація. Так само є додаток ADB але це проксі сервер, після встановлення якого перестають діяти деякі додатки, наприклад Google Play. Простіше кажучи все складно.
Позбуваюсь реклами просто на маршрутизаторі, Йду за посиланням бачу перелік з 5 файлів:
  1. README.md
  2. adblock.sh
  3. black.list
  4. sysupgrade.conf
  5. white.list
Перший уважно читаю, другий третій та п'ятий, копіюю собі на комп'ютер. Четвертий sysupgrade.confвідкриваю, копіюю чотири останніх рядочки, та вставляю їх у файл sysupgrade.conf
ssh root@192.168.1.1
nano /etc/sysupgrade.conf
/etc/sysupgrade.conf
## This file contains files and directories that should
## be preserved during an upgrade.
/etc/passwd
/etc/shadow
 
# /etc/example.conf
# /etc/openvpn/
 
# ADBlock
/etc/adblock.sh
/etc/white.list
/etc/block.hosts
/etc/black.list
Зберіг файл закрив. тепер треба скопіювати три файли: adblock.sh, black.list, white.list. З комп'ютера виконую три команди:
scp adblock.sh root@192.168.1.1:/etc/adblock.sh
scp black.list root@192.168.1.1:/etc/black.list
scp white.list root@192.168.1.1:/etc/white.list
Скопіював, треба зробити файл adblock.sh щоб його можна було виконувати :-) execute. Для цього під'єднуюсь до маршрутизатора:
ssh root@192.168.1.1
chmod +x /etc/adblock.sh

Налаштування

У файлі adblock.sh є секція з опціями
adblock.sh
#### CONFIG SECTION ####
 
# Only block wireless ads? Y/N
ONLY_WIRELESS="N" # Блокувати тільки Wi-Fi? Я залишив N
 
# IPv6 support? Y/N
IPV6="N" # Блокувати IPv6 я змінив на Y
 
# Need SSL websites?
SSL="N" # Я змінив на Y
 
# Try to transparently serve pixel response?
#   If enabled, understand the consequences and mechanics of this setup
TRANS="N" # Замінити порожні банери прозорими пікселями, я залишив N
 
# Exempt an ip range
EXEMPT="N"
START_RANGE="192.168.1.0"
END_RANGE="192.168.1.255"
 
# Redirect endpoint
ENDPOINT_IP4="0.0.0.0"
ENDPOINT_IP6="::"
 
#Change the cron command to what is comfortable, or leave as is
CRON="0 4 * * 0,3 sh /etc/adblock.sh"
 
#### END CONFIG ####

Використання

Перший запуск скрипту відбувається:
sh /etc/adblock.sh -f

Чорний та білий переліки

Файли block.hosts white.list можна редагувати під себе, відповідно чорний та білий списки. Сценарій (це наш файл adblock.sh) підтримує визначення білого списку URL. Тобто, адрес, які будуть відфільтровані з завантажених Blocklists. До білого списку URL-адрес, пишемо перелік (по одному в рядку) в /etc/white.list.
Аналогічним чином, сценарій підтримує визначення блокуються URL-адреси, які будуть додані до вашого Blocklists. До чорного списку URL-адрес, пишемо перелік (по одному в рядку) в/etc/black.list.
Примітка: Білий список підтримується досить складно, так що не чекайте Smart Filtering (розумного фільтрування) (наприклад, екстраполяцію на домен).

Просунуте використання

Вмикання і вимикання. Для перемикання, увімкнене — вимкнене, використовуйте ключ -t:
# sh /etc/adblock.sh -t
Примітка: Це не оновлює чорний або білий список.
Щоб вручну оновити чорний список, запустити сценарій без ключів:
# sh /etc/adblock.sh
Повне перевстановлення. Для повного перевстановлення, після зміни деяких налаштувань, або ще по якийсь причині використовую ключ -r:
# sh /etc/adblock.sh -r
Конфігурація
Розділ конфігурації скрипта має деякі змінні, які змінюють поведінку скрипта.
Наприклад, якщо змінити:
ONLY_WIRELESS="N"
на
ONLY_WIRELESS="Y"
Тоді тільки бездротовий інтерфейс маршрутизатора буде фільтруватись від реклами.
Щоб змінити конфігурацію вже активного скрипту, Я спочатку зупиняю скрипт, роблю зміни в налаштуваннях, Потім знов вмикаю скрипт, для фільтрації реклами. Приблизно так,
# sh /etc/adblock.sh -t # turn off
...роблю зміни...
# sh /etc/adblock.sh -t # turn on
Проте, деякі змінні після заміни значень, потребують повторного оновлення чорного списку, тому що значення перенаправлення були змінені. Інші змінні вимагають повного перезапуску, тому що вони повинні встановити або перевірити залежності.
Змінні що налаштовуються:
  • ONLY_WIRELESS (Y/N): Фільтрує тільки радіо мережу Wi-Fi 
  • EXEMPT# (Y/N): Звільнений діапазон IP від фільтрації (між START_ RANGE та END_RANGE)
  • IPV6 *: (Y/N): Додати IPv6 підтримку 
  • SSL# (Y/N): Встановить Wget з підтримкою SSL (потрібний тільки для вебсайтів з ssl)
  • TRANS#: (Y/N): Маршрутизатор замінить заблоковані банери, на прозорі пікселі
  • ENDPOINT_IP4/IP6 *: На яки IP будуть змінені заблоковані адреси. (IPv4 та IPv6)
  • CRON: cron в який час буде виконуватись оновлення переліків adblock
* : Потребує тільки blocklist оновлення. sh /etc/adblock.sh
# : Потребує повного перевстановлення sh /etc/adblock.sh -r
P.S. Звичайно повністю від реклами я не звільнився, але її стало на багато менше, приємної роботи, без реклами!

Немає коментарів:

Дописати коментар