фильтры для adblock
Re: фильтры для adblock
Фильтры adblock для прокси-сервера squid
Пакеты для установки:
для идентификации рекламного контента по источнику назначения
adblock2squid.py
Использование:
для идентификации рекламного контента в ява-скриптах, установить и настроить privoxy
для доступа через браузер на сокет5
Добавить в конфиг или разкомментировать /etc/privoxy/config
для доступа через squid
/etc/privoxy/config
/etc/squid/squid.conf
перечитает конфиг без перезапуска
Пакеты для установки:
Код: Выделить всё
sudo apt install python3 squidguard c-icap
adblock2squid.py
Код: Выделить всё
'''
SQUID Конфигурация:
acl adblock url_regex "/etc/squid/adblock.acl"
http_access deny adblock
Использование:
sudo python3 adblock2squid.py > /etc/squid/adblock.acl
'''
import urllib.request
import re
import os
def addrules(url):
#html = urllib.request.urlopen(url,timeout=160).read().decode('utf-8').splitlines()
# Создаем запрос с заголовком User-Agent
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'})
response = urllib.request.urlopen(req, timeout=60)
html = response.read().decode('utf-8').splitlines()
for line in html:
line = line.strip()
if line == '': continue
if '$' in line: continue
if '#' in line: continue
if '@@' in line: continue
if '[]' in line: continue
if line.startswith('!'): continue
if line.startswith('['): continue
line=line.replace('.','\.')
line=line.replace('^','.')
line=line.replace('|http','http')
line=line.replace('||','')
line=line.replace('*','.*')
line=line.replace('?','\?')
line=line.replace('|','')
print(line)
if __name__ == '__main__':
addrules("https://easylist-downloads.adblockplus.org/easylistchina.txt")
addrules("https://easylist-downloads.adblockplus.org/easylist.txt")
addrules("https://secure.fanboy.co.nz/fanboy-cookiemonster.txt")
addrules("https://easylist.to/easylist/easylist.txt")
addrules("https://easylist.to/easylist/easyprivacy.txt")
addrules("https://secure.fanboy.co.nz/fanboy-annoyance.txt")
addrules("https://easylist.to/easylist/fanboy-social.txt")
Код: Выделить всё
sudo python3 adblock2squid.py > /etc/squid/adblock.acl
sudo squid -k reconfigure
для доступа через браузер на сокет5
Код: Выделить всё
sudo apt install privoxy
Код: Выделить всё
forward-socks5 / 127.0.0.1:9050 .
Код: Выделить всё
sudo systemctl restart privoxy
/etc/privoxy/config
Код: Выделить всё
forward-socks5t / localhost:8118 .
Код: Выделить всё
cache_peer localhost parent 8118 0 no-query default
never_direct allow all
Код: Выделить всё
sudo systemctl force-reload privoxy
sudo squid -k reconfigure
Re: фильтры для adblock
Настройка SquidGuard
/etc/squidguard/squidGuard.conf
Найдите и измените/добавьте секцию для создания списков для блокировки. Например, создайте раздел с запрещёнными URL:
Создайте каталог для базы данных SquidGuard:
Создайте категории, которые вы хотите заблокировать, например:
Создайте файл для доменов, которые вы хотите заблокировать: Запишите в этот файл адреса доменов (по одному на строку), которые вы хотите заблокировать.
Создайте файл для URL: Запишите URL, которые вы хотите заблокировать.
для обновления базы данных SquidGuard:
Проверьте журналы SquidGuard, чтобы убедиться, что запросы обрабатываются правильно. Журналы обычно находятся в /var/log/squidguard/squidGuard.log
/etc/squidguard/squidGuard.conf
Код: Выделить всё
dbhome /var/lib/squidguard/db
logdir /var/log/squidguard
Код: Выделить всё
acl {
default {
pass none
}
blockeddomains {
# Примеры адресов доменов для блокировки
domainlist blockeddomains/domains
urllist blockeddomains/urls
redirect http://example.com/blocked.html
}
}
Код: Выделить всё
sudo mkdir -p /var/lib/squidguard/db
Код: Выделить всё
sudo mkdir -p /var/lib/squidguard/db/blockeddomains
Код: Выделить всё
sudo mcedit /var/lib/squidguard/db/blockeddomains/domains
Код: Выделить всё
sudo mcedit /var/lib/squidguard/db/blockeddomains/urls
Код: Выделить всё
sudo squidGuard -C all
sudo squid -k reconfigure
Код: Выделить всё
tail -f /var/log/squidguard/squidGuard.log