BSpiski — автоматизированный скрипт для Linux (iptables/ipset), предназначенный для сбора, фильтрации и объединения баз IP-адресов из различных источников. Он подготавливает белые списки разрешенных («хороших») и заблокированных («плохих») сетей для организации бесплатной защиты веб-сайта от DDoS-атак L7 HTTP Flood L3/L4 на уровне ядра Linux.
Скрипт работает локально и идеально подходит для серверов с минимальной конфигурацией (1 CPU и 1 ГБ RAM).
BSpiski is an automated script for Linux (iptables/ipset) designed to aggregate, filter, and merge IP address databases from various sources. It prepares optimized lists of allowed ("good") and blocked ("bad") networks to set up free, kernel-level website protection against L7 DDoS attacks (HTTP Flood).
The script runs locally and is perfectly optimized for entry-level server configurations (1 CPU and 1 GB RAM).
- Сбор баз: Скрипт собирает подсети выбранной страны (GeoIP), актуальные спам/DDoS-базы, списки плохих ASN и верифицированных поисковых ботов (Google, Яндекс и др.).
- Генерация списков: На выходе в папке
bspiskiсоздаются готовые компактные файлы:- Белый список (
ipv4.txt/ipv6.txt) — целевая страна + доверенные боты. - Чёрный drop-список (
drop_ipv4.txt/drop_ipv6.txt) — спам-базы и плохие сети.
- Белый список (
- Защита на сервере: Управляющий скрипт
bs.shзагружает списки вipset. Трафик из белого списка на порты 80/443 пропускается без ограничений, а весь остальной международный трафик и флуд попадают под жесткие лимиты L7 Anti-Flood (ограничение соединений, автобан агрессивных гостей и блокировка drop-списков).
- Database Aggregation: The script collects subnets of the selected country (GeoIP), active spam/DDoS intelligence feeds, bad ASNs lists, and verified search engine bots (Google, Yandex, etc.).
- List Generation: It outputs production-ready files into the
bspiskifolder:- White List (
ipv4.txt/ipv6.txt) — target country subnets + trusted search crawlers. - Black Drop-List (
drop_ipv4.txt/drop_ipv6.txt) — active spam feeds and malicious networks.
- White List (
- Server-Side Protection: The management script
bs.shimports these lists intoipset. Traffic from the whitelist to ports 80/443 passes seamlessly without restrictions, while all other global traffic and flood signatures hit strict L7 Anti-Flood kernel-level rules (rate-limiting per second, automated temporary banning of aggressive guests, and instant drop-actions for the blocklist).
🇷🇺 Подробный разбор того, как установить скрипт, настроить конфигурацию и посмотреть финальные результаты защиты, детально описан в блоге:
👉 Белые списки по странам: бесплатная защита сайта от DDoS-атак L7 HTTP Flood
🇬🇧 A comprehensive guide on how to install, configure the script, and analyze the live defense results is fully detailed in the blog post:
👉 Country Whitelists: Free Protection Against L7 HTTP Flood DDoS Attacks
Полные руководства по детальной настройке и развертыванию доступны в отдельных файлах:
Comprehensive setup and deployment manuals are available in separate files:
- 🇷🇺 Читать документацию на русском языке (README_Russian.txt)
- 🇬🇧 Read the documentation in English (README_English.txt)
p.s Надеюсь решение будет кому то полезным ^_^ Telegram: @ebyebots_support