Страница 1 из 1

фильтры для adblock

Добавлено: 15 мар 2025, 13:30
ya

Re: фильтры для adblock

Добавлено: 27 мар 2025, 22:48
ya
Фильтры adblock для прокси-сервера squid
Пакеты для установки:

Код: Выделить всё

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
для идентификации рекламного контента в ява-скриптах, установить и настроить privoxy

для доступа через браузер на сокет5

Код: Выделить всё

sudo apt install privoxy
Добавить в конфиг или разкомментировать /etc/privoxy/config

Код: Выделить всё

forward-socks5 / 127.0.0.1:9050 .

Код: Выделить всё

sudo systemctl restart privoxy
для доступа через squid
/etc/privoxy/config

Код: Выделить всё

forward-socks5t / localhost:8118 .
/etc/squid/squid.conf

Код: Выделить всё

cache_peer localhost parent 8118 0 no-query default
never_direct allow all
перечитает конфиг без перезапуска

Код: Выделить всё

sudo systemctl force-reload privoxy
sudo squid -k reconfigure

Re: фильтры для adblock

Добавлено: 27 мар 2025, 23:10
ya
Настройка SquidGuard

/etc/squidguard/squidGuard.conf

Код: Выделить всё

dbhome /var/lib/squidguard/db
logdir /var/log/squidguard
Найдите и измените/добавьте секцию для создания списков для блокировки. Например, создайте раздел с запрещёнными URL:

Код: Выделить всё

acl {
    default {
        pass none
    }

    blockeddomains {
        # Примеры адресов доменов для блокировки
        domainlist blockeddomains/domains
        urllist blockeddomains/urls
        redirect http://example.com/blocked.html
    }
}
Создайте каталог для базы данных SquidGuard:

Код: Выделить всё

sudo mkdir -p /var/lib/squidguard/db
Создайте категории, которые вы хотите заблокировать, например:

Код: Выделить всё

sudo mkdir -p /var/lib/squidguard/db/blockeddomains
Создайте файл для доменов, которые вы хотите заблокировать: Запишите в этот файл адреса доменов (по одному на строку), которые вы хотите заблокировать.

Код: Выделить всё

sudo mcedit /var/lib/squidguard/db/blockeddomains/domains
Создайте файл для URL: Запишите URL, которые вы хотите заблокировать.

Код: Выделить всё

sudo mcedit /var/lib/squidguard/db/blockeddomains/urls
для обновления базы данных SquidGuard:

Код: Выделить всё

sudo squidGuard -C all
sudo squid -k reconfigure
Проверьте журналы SquidGuard, чтобы убедиться, что запросы обрабатываются правильно. Журналы обычно находятся в /var/log/squidguard/squidGuard.log

Код: Выделить всё

tail -f /var/log/squidguard/squidGuard.log