Отсеваем адалтовые

Сегодня встала необходимость «проверить безопасность сайта для детей». Проще говоря, отсеять порнуху из списка доменов.

Первая мысль: использовать общедоступные базы. Но проблема в том, что большой актуальный список или API бесплатно найти практически невозможно.

Но есть и другой вариант блокировки таких сайтов: «безопасные DNS», их и будем использовать. Я взял серверы от яндекса, вполне подходит для моих задач. А клиентом у нас будет линуксовая утилита dig.

Приступаем.

Для начала проведем эталонный тест:

[[email protected] ~]# dig @8.8.8.8 xvideos.com +short
185.88.181.13
185.88.181.14
185.88.181.15
185.88.181.16
185.88.181.17
185.88.181.18
185.88.181.2
185.88.181.3
185.88.181.4
185.88.181.5
185.88.181.6
185.88.181.7
185.88.181.8
185.88.181.9
185.88.181.10
185.88.181.11
185.88.181.12

В данном примере запрашиваем IP адрес сайта xvideos.com с гугловского открытого ДНС сервера с сокращением ответа (опция +short ). В ответе — большой список ип. Запомнили.

Теперь нужно понять какие адреса выдает наш «безопасный сервер».

[[email protected] ~]# dig @77.88.8.7 xvideos.com +short
93.158.134.250

В данном примере запрашиваем адреса с яндекса 77.88.8.7. В ответ — всего один адрес. На него значит и заворачивает.

Пишем bash-скрипт.

#!/bin/sh
FILE=/root/list.txt
while read line; do
YAND="$(dig @77.88.8.7 $line +short)"
echo $line::$YAND >> out.txt
done < $FILE

В /root/list.txt закидываем список доменов, вывод ловим в out.txt. Далее, чтобы отсортировать адалт-неадалт можно использовать grep или виндовые утилиты.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *