Вот скрипт который удаляет IP из файла /root/output.txt, в файле belyi-spisok.txt находятся ip из белого списка которые нужно удалить.Скрипт поддерживает IPv4 и IPv6 и маску подсети - вот такие IP 127.0.0.1/8 2002::/16 ! Не оставляйте пустые строки иначе будет ошибка.
В белый список можно добавить ip поисковых систем.
Диапазоны IP-адресов, используемых Яндексом.Диапазоны IP-адресов, используемых Google.
belyi-spisok.py
import ipaddress# Чтение списка подсетей из файла belyi-spisok.txtsubnets = []with open('/root/belyi-spisok.txt', 'r') as f: for line in f: subnet_str = line.strip() subnet = ipaddress.ip_network(subnet_str, strict=False) subnets.append(subnet)# Удаление дубликатов IP-адресов из файла output.txtunique_ips = set()with open('/root/output.txt', 'r') as f: for line in f: ip_str = line.strip() ip = ipaddress.ip_address(ip_str) # Проверка наличия IP-адреса в любой из подсетей из списка subnets if not any(ip in subnet for subnet in subnets): unique_ips.add(ip)# Запись уникальных IP-адресов в файл output.txtwith open('/root/output.txt', 'w') as f: for ip in unique_ips: f.write(str(ip) + '\n')
Велосипед не изобретал. Написал PHP-скрипт, в котором использую APCu. Решает все задачи блокировки.
Там сначала на Nginx идёт очень большая нагрузка - 1 процесс Nginx ест 50% процессора.
Диапазоны IP-адресов, используемых Яндексом
Диапазоны IP-адресов, используемых Google.
А я адепт гугла и он тоже бесплатный:
ail2ban+nginx
Да, а что делать с теми кто не такой резвый и не превышает 5 запросов в секунду. А делает от 4 запросов в секунду до 20 запросов в минуту с одного ip и таких пару сотен ip? Тут fail2ban уже бесполезен!
Нет не от этого.
Я вычислил это вот эта ссылка в письме.
lst.to/zpcck
https://photos.app.goo.gl/4va1eox4C4gHB1JGA
Я ставил Адсенс и ждал 3 года пока 100$ набежит, а потом бац письмо от них - нарушение чего то там и всё!
Ок! С форума такие интересные письма приходят - красные! Здесь тоже не всё ок!
https://photos.app.goo.gl/exQkKtzASjx9RxqD6