Описание
Chomper – это инструмент с открытым исходным кодом, используемый для создания списка веб-сайтов, которые должны быть занесены в черный список или включены в белый список во время сеанса просмотра пользователей.
Chomper – это управляемый терминалом инструмент, написанный на Python.
Это означает, что он полностью работает от терминала.
Мотив его создания – помочь людям избежать отвлечения внимания на Интернет и сосредоточиться на посещении продуктивных веб-сайтов в рабочее время, а также помогает временно блокировать сайты на вашем рдесктопе Linux.
Chomper также может использоваться в качестве средства родительского контроля – например, чтобы ограничить посещаемые сайты детьми.
Как работает Chomper
В отличие от других блокировщиков, которые используют файл хостов Linux для фильтрации IP-адресов и доменных имен, Chomper вместо этого фильтрует исходящие запросы через прозрачный прокси-сервер.
Это делает Chomper идеальным для фильтрации веб-контента на уровне URL.
То, что вам нужно сделать, это просто заполнить список того, что блокировать, а что касается белого списка, Chomper сделает все за вас.
Установка Chomper на Linux
Единственный способ установить Chomper на данный момент – это собрать его из исходного кода.
Одной из предпосылок для этого является установка git, make и cmake.
Поскольку эта настройка выполняется на Ubuntu 16.04, все найденные deps специфичны для Ubuntu.
# sudo apt-get install git cmake build-essential curl python-pip
Когда это будет сделано, перейдите к установке pyenv.
Для этого мы избежим ручной установки и вместо этого используем установщик.
# curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2099 100 2099 0 0 2011 0 0:00:01 0:00:01 --:--:-- 2012 Cloning into '/home/jmutai/.pyenv' .....
Загрузите pyenv автоматически, изменив файл ~ / .bash_profile:
И добавьте:
export PATH=”/home/jmutai/.pyenv/bin:$PATH”
eval “$(pyenv init -)”
eval “$(pyenv virtualenv-init -)”
Чтобы загрузить env вручную, отправьте файл в текущий сеанс.
# source ~/.bash_profile # pyenv versions * system (set by /home/jmutai/.pyenv/version)
Клонируем репозиторий:
# git clone https://github.com/aniketpanjwani/chomper.git # cd chomper # make init
Команда make init будет загружать пакеты и готовить среду.
Если вы решите установить CPython 3.6, для завершения настройки может потребоваться несколько минут.
Затем вы должны увидеть:
To activate this project’s virtualenv, run the following:
# pipenv shell ....
И зайдите в шелл:
# pipenv shell # mitmdump # mitmdump Proxy server listening at http://*:8080
После того, как mitmdump стартанет в первый раз, выйдите из него с помощью комбинации клавиш – [Ctrl + C Ctrl + C].
Будет создано несколько файлов сертификатов.
# ls ~/.mitmproxy mitmproxy-ca-cert.cer mitmproxy-ca-cert.pem mitmproxy-ca.pem mitmproxy-ca-cert.p12 mitmproxy-ca.p12 mitmproxy-dhparam.pem
Вам необходимо импортировать сертификат mitmproxy-ca.pem в ваш браузер.
Chrome: выберите «Настройки»> «Дополнительные настройки»> «Управление сертификатами»> «Авторизация.
Нажмите «Импорт», выберите «mitmproxy-ca.pem», отметьте все три поля и нажмите «ОК».
Firefox: выберите «Настройки»> «Конфиденциальность и безопасность»> «Сертификаты»> «Просмотреть сертификаты»> «Авторизация». Нажмите «Импорт», выберите «mitmproxy-ca.pem», отметьте все три поля и нажмите «ОК».
Следующее, что нужно сделать, это включить переадресацию IP-адресов.
# vim /etc/sysctl.d/99-sysctl.conf
Добавьте:
net.ipv4.ip_forward=1
net.ipv6.conf.all_forwarding=1
Сохраните и затем запустите:
# sysctl -p
Использование Chomper
- Первый уровень определяет имена правил.
- Второй уровень определяет, является ли правило черным списком или «белым списком».
- Третий уровень определяет адреса, используемые в правиле.
Ниже представлен простой конфигурационный файл с несколькими черными списками и «белыми списками»
# cat data/rules.yaml work_allow: - block_type: - whitelist - addresses: - linoxide.com - stackoverflow.com work_block: - block_type: - blacklist - addresses: - facebook.com - twitter.com - youtube.com
При запуске приложения chomper, расположенного в каталоге bin, требуются два аргумента:
- Название правила
- Время блока в минутах
Например, чтобы запустить правило work_block в течение 20 минут, я выполню:
# cd bin # ./chomper work_block 20 New block in effect until 2018-02-20 23:34:08.
Эти правила блокируют определенные веб-сайты. Попробуйте получить доступ к любому из перечисленных сайтов. Вы должны получить сообщение с баннером, в котором говорится: «Сайт заблокирован Chomper!».
Заключение
Мы рассмотрели все ключевые моменты, с которыми вам нужно начать с использования Chomper.
Этот инструмент выглядит интересным.
Он еще свежий, но активно развивается.
Текущая версия работает только для Linux-систем, но разработчик стремится предоставить для нее версию для MacOS и GUI.
Наслаждайтесь использованием Chomper.