orgtechservice / roskomtools

Набор утилит для работы с Роскомнадзором

Home Page:http://mkpnet.ru

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

roskomtools

Набор простых консольных утилит для операторов связи.

  • rkn-load.py — осуществление выгрузки реестра запрещённых сайтов
  • rkn-parse.py — парсинг выгрузки и заполнение таблиц локальной БД SQLite
  • rkn-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 — Ресурс успешно блокируется, произошла ошибка TCP
  • local-ip — Ресурс резолвится в локальный IP
  • available — Ресурс не блокируется

About

Набор утилит для работы с Роскомнадзором

http://mkpnet.ru

License:MIT License


Languages

Language:Python 97.8%Language:Shell 2.2%