Набор простых консольных утилит для операторов связи.
rkn-load.py— осуществление выгрузки реестра запрещённых сайтовrkn-parse.py— парсинг выгрузки и заполнение таблиц локальной БД SQLiterkn-check.py— проверка качества блокировокrkn-status— API для получения информации о выгрузках и проверках с сервера, на котором развёрнуто данное программное обеспечение
© 2015–2020 ООО «Оргтехсервис» (Илья Аверков, Маргарита Кособокова, Михаил Соломатин)
Сначала необходимо сгенерировать deb-пакеты.
git clone https://github.com/orgtechservice/roskomtools.git
cd roskomtools
./build.shЗатем — установить зависимости и сгенерированные deb-пакеты
sudo apt install python3 python3-requests python3-suds python3-lxml
sudo dpkg -i rkn-load.deb
sudo dpkg -i rkn-parse.deb
sudo dpkg -i rkn-check.deb- Подкидываем файлы запроса и подписи в
/etc/roskom/request.xmlи/etc/roskom/request.xml.signсоответственно - Запускаем
rkn-load.py. Будет произведена автоматическая выгрузка и в текущем каталоге появится файлdump.xml. - Запускаем
rkn-parse.py. Содержимое файла dump.xml из текущего каталога будет обработано и закешировано в базу данных SQLite, путь к которой указан в/etc/roskom/parse.ini. Повторный запуск скрипта приведёт к обновлению содержимого базы данных. - Редактируем
/etc/roskom/check.ini, задаём строку для поиска. По наличию этой подстроки скрипт проверок будет автоматически определять то, что сайт блокируется успешно. - Запускаем
rkn-check.py. Будет сформирован файлresult.txt, содержащий список ссылок, по которым имеются проблемы с блокировками, и отметки времени UNIX, когда данная ссылка открылась. В процессе проверки данные также отображаются в реальном времени в стандартном потоке вывода. Прервать проверку можно нажатием ctrl-c. Данные для проверки берутся в БД, построенной при помощи утилитыrkn-parse.py.
blocked— Ресурс успешно блокируется, получена страница-заглушкаfailure— Ресурс успешно блокируется, произошла ошибка TCPlocal-ip— Ресурс резолвится в локальный IPavailable— Ресурс не блокируется