Набор простых консольных утилит для операторов связи.
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
— Ресурс не блокируется