Этот программный пакет состоит из скриптов, автоматизирующих процесс загрузки, фильтрации и кодирования данных о доменах из различных списков. Вот что он делает:
1. Назначение программы: #
Основная цель программы — получение и обработка списков доменов из различных категорий (универсальные, фейковые новости, азартные игры, порнография, социальные сети). После загрузки эти домены фильтруются и кодируются в формате Base64.
2. Основные этапы работы: #
Шаг 1: Загрузка файлов #
Скрипт download_lists.py
отвечает за загрузку списков доменов с предопределенных URL-адресов, используя библиотеку requests
. Для каждой категории создается отдельный файл с расширением .lst
.
Список URL-адресов:
- Universal: Общий список.
- Fakenews: Доменные адреса, связанные с фейковыми новостями.
- Gambling: Сайты, связанные с азартными играми.
- Porn: Сайты с порнографическим контентом.
- Social: Доменные адреса социальных сетей.
Каждый загруженный список сохраняется локально под соответствующими именами: universal.lst
, fakenews.lst
и т. д.
Шаг 2: Фильтрация уникальных поддоменов #
Скрипт make_base_opt.sh
вызывает программу prefilter_app
, которая выполняет предварительную фильтрацию загруженных файлов, удаляя дубликаты и ненужные записи.
Отфильтрованные результаты сохраняются во временные файлы .tmp
(например, universal.tmp
).
Если на этом этапе происходит ошибка, выполнение скрипта прерывается с соответствующим сообщением.
Шаг 3: Кодирование в Base64 #
Затем отфильтрованные данные из временных файлов кодируются в формат Base64 с помощью base64coder_app
.
Закодированные результаты сохраняются в файлах .blst
(например, universal.blst
).
Это обеспечивает удобное представление данных для передачи и хранения в различных системах.
Шаг 4: Очистка временных файлов #
После успешного выполнения скрипта временные файлы .tmp
и исходные .lst
удаляются, освобождая место на диске.
3. Назначение компонентов: #
make_base_opt.sh
– основной управляющий скрипт, который оркестрирует последовательность обработки данных.download_lists.py
– отвечает за загрузку исходных файлов.prefilter_app
– выполняет очистку данных, удаляя ненужные или дублирующиеся поддомены.base64coder_app
– кодирует отфильтрованные данные в формате Base64.
4. Типичные сценарии использования: #
- Блокировка доменов: Закодированные списки могут использоваться для фильтрации и блокировки вредоносных сайтов в системе.
- Анализ: Подготовленные данные можно загружать в системы IDS/IPS для мониторинга сетевого трафика на предмет подозрительных доменов.
- Кибербезопасность: Полезно для межсетевых экранов, DNS-серверов и прокси-серверов, чтобы блокировать нежелательные категории трафика (фейковые новости, азартные игры и т. д.).
5. Важные моменты и возможные проблемы: #
- Скрипт останавливает выполнение при любой ошибке (например, при сбое загрузки или фильтрации).
- Внешние программы
prefilter_app
иbase64coder_app
должны быть предварительно скомпилированы и находиться в той же директории, чтобы процесс работал корректно.
Заключение: #
Программа автоматизирует цикл загрузки, фильтрации и кодирования списков доменов из различных категорий, создавая удобные для использования списки в формате Base64.